![C語言程序相關(guān)設(shè)計基本概念v_第1頁](http://file4.renrendoc.com/view/04f6929cb2c9c2f5b98857d4a286305e/04f6929cb2c9c2f5b98857d4a286305e1.gif)
![C語言程序相關(guān)設(shè)計基本概念v_第2頁](http://file4.renrendoc.com/view/04f6929cb2c9c2f5b98857d4a286305e/04f6929cb2c9c2f5b98857d4a286305e2.gif)
![C語言程序相關(guān)設(shè)計基本概念v_第3頁](http://file4.renrendoc.com/view/04f6929cb2c9c2f5b98857d4a286305e/04f6929cb2c9c2f5b98857d4a286305e3.gif)
![C語言程序相關(guān)設(shè)計基本概念v_第4頁](http://file4.renrendoc.com/view/04f6929cb2c9c2f5b98857d4a286305e/04f6929cb2c9c2f5b98857d4a286305e4.gif)
![C語言程序相關(guān)設(shè)計基本概念v_第5頁](http://file4.renrendoc.com/view/04f6929cb2c9c2f5b98857d4a286305e/04f6929cb2c9c2f5b98857d4a286305e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序相關(guān)設(shè)計基本概念v學(xué)習(xí)目標(biāo)了解C語言的歷史和特點熟悉計算機(jī)語言的不同類型了解C語言的結(jié)構(gòu)理解C程序的開發(fā)過程了解結(jié)構(gòu)化程序設(shè)計方法2主要內(nèi)容C語言的發(fā)展歷史以及特點程序設(shè)計語言簡單的C程序?qū)嵗鼵語言程序的結(jié)構(gòu)C程序的編輯、編譯和執(zhí)行算法結(jié)構(gòu)化程序設(shè)計方法課堂練習(xí)
3C語言的發(fā)展歷史歷史悠久,戰(zhàn)勛卓著誕生于上世紀(jì)70年代初,成熟于80年代“ANSIC”標(biāo)準(zhǔn)的發(fā)布是C語言成熟的標(biāo)志很多重量級軟件都是用C寫的上天入地,無所不能幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)4C語言特點語言簡潔緊湊,使用靈活方便
32個關(guān)鍵字,9種控制語句介于高級語言和低級語言之間的語言。從C++,到Java,再到C#運(yùn)算符豐富
34種運(yùn)算符
+、-、*、\、%、++、->等可以實現(xiàn)其他高級語言難以實現(xiàn)的運(yùn)算5數(shù)據(jù)結(jié)構(gòu)類型豐富標(biāo)準(zhǔn)數(shù)據(jù)類型:整型、實型和字符型;構(gòu)造類型:數(shù)組、結(jié)構(gòu)體、共同體、指針生成的代碼質(zhì)量高可移植性強(qiáng)結(jié)構(gòu)化語言主要結(jié)構(gòu)——函數(shù),實現(xiàn)模塊化設(shè)計
結(jié)構(gòu)化的控制語句,支持多種循環(huán)結(jié)構(gòu)
C語言特點6程序設(shè)計語言程序設(shè)計語言
——人與計算機(jī)進(jìn)行信息交流的工具。大致可分為三類機(jī)器語言匯編語言高級語言7程序設(shè)計語言機(jī)器語言
1、計算機(jī)硬件的設(shè)計密切相關(guān)
2、計算機(jī)能直接識別的語言
3、由一組二進(jìn)制0和1序列構(gòu)成
例如,計算4+8取數(shù)1011000000000100將4送累加器加00000100000010008與累加器中的4相加停機(jī)11110100繁瑣的,難記、難讀、難寫無移植性8程序設(shè)計語言匯編語言
1、計算機(jī)硬件的設(shè)計密切相關(guān)
2、計算機(jī)是不能直接識別,
3、計算機(jī)基本操作的采用英語縮寫編寫程序
例如,計算4+8MOVEAL,4將4送累加器ADDAL,88與累加器中的4相加HLT停機(jī)
9程序設(shè)計語言
匯編程序:將匯編語言程序轉(zhuǎn)換為計算機(jī)能識機(jī)器語言,1110程序設(shè)計語言高級語言基本與計算機(jī)的硬件設(shè)備無關(guān)
例如計算4+8(C語言編寫)
Sum=4+8;編譯器:
高級語言轉(zhuǎn)換為機(jī)器語言的翻譯程序1211簡單的C程序?qū)嵗纠?-1】
//第一個C程序#include<stdio.h>main(){printf("WelcometoCprogramming\n");return0;}執(zhí)行結(jié)果:屏幕上顯示W(wǎng)elcometocprogramming行注釋頭文件主函數(shù)
編譯系統(tǒng)提供的輸出函數(shù)
程序結(jié)束返回函數(shù)
12簡單的C程序?qū)嵗纠?-2】編寫求三數(shù)中最大值問題的程序#include<stdio.h>intmax_value(inta,intb,intc){intmax;if(a>b)max=a;elsemax=b;if(max<c)max=c;return(max);}main(){intx,y,z,maxx;scanf("%d%d%d",&x,&y,&z);maxx=max_value(x,y,z);printf(“最大值
max=%d\n",maxx);return0;}13★C語言程序的結(jié)構(gòu)C語言是由函數(shù)構(gòu)成的,至少有一個且僅有一個main的函數(shù),稱主函數(shù)。除main函數(shù)外,其它函數(shù)都是在執(zhí)行main函數(shù)時被調(diào)用執(zhí)行的。#include<stdio.h>intmax_value(inta,intb,intc){intmax;if(a>b)max=a;elsemax=b;if(max<c)max=c;return(max);}main(){intx,y,z,maxx;scanf("%d%d%d",&x,&y,&z);maxx=max_value(x,y,z);printf(“最大值
max=%d\n",maxx);return0;}
在程序中main()函數(shù)的位置可以任意。
在調(diào)用庫函數(shù)之前必須將相應(yīng)的頭文件包含在本程序中。通常放在源程序或源文件的最前面。#include<stdio.h>intmax_value(inta,intb,intc);main(){intx,y,z,maxx;scanf("%d%d%d",&x,&y,&z);maxx=max_value(x,y,z);printf(“最大值
max=%d\n",maxx);return0;}intmax_value(inta,intb,intc){intmax;if(a>b)max=a;elsemax=b;if(max<c)max=c;return(max);}14★C語言程序的結(jié)構(gòu)//求三個數(shù)中最大值
#include<stdio.h>intmax_value(inta,intb,intc){intmax;if(a>b)max=a;elsemax=b;if(max<c)max=c;return(max);}main(){intx,y,z,maxx;scanf("%d%d%d",&x,&y,&z);maxx=max_value(x,y,z);printf(“最大值
max=%d\n",maxx);return0;}
嚴(yán)格區(qū)分大小寫英文字母。習(xí)慣使用小寫字母。;為語句的終止符。{}表示程序的結(jié)構(gòu)層次范圍,必須配對使用。注釋格式
//注釋內(nèi)容行注釋
/*注釋內(nèi)容*/15★C程序的編輯、編譯和執(zhí)行編輯:利用編輯器,通過鍵盤將C源程序輸入到計算機(jī),并以文件形成存入到磁盤上。編譯:利用編譯器,將C源程序編譯成目標(biāo)程序。連接:利用連接器,將C已編譯的目標(biāo)程序和庫函數(shù)連接之后,生成可執(zhí)行文件,并以文件形成存入到磁盤上,文件擴(kuò)展名為.exe。運(yùn)行:在操作系統(tǒng)下運(yùn)行可執(zhí)行文件。16算法算法——解決問題的流程必須具備以下五個特性
有窮性確定性
有效性
(可行性)沒有輸入或有多個輸入
有一個或多個輸出17算法算法的描述自然語言偽碼流程圖N-S圖例1:求三個數(shù)中最大值問題18算法自然語言:日常使用的語言
先將a,b兩個數(shù)進(jìn)行比較,找出其中的大數(shù),然后再把它和第三個數(shù)c進(jìn)行比較,如果它比c大,則它就是最大數(shù),否則c是最大數(shù)。偽碼:介于自然語言和計算機(jī)語言之間的文字和符號進(jìn)行描述IFa>bTHENmax=aELASmax=bIFmax>cTHEN輸出maxELSE輸出c19算法流程圖:
圖語言表示法
ANSI規(guī)定了一些常用的流程圖符號:流程圖起止框輸入輸出框判斷框處理框流程線連接圈20算法三個數(shù)中最大值問題的流程圖圖1-421算法N-S圖:圖語言表示法
三個數(shù)中最大值問題的N-S圖22算法算法僅僅提供了解決某類問題可采用的方法和步驟,還必須使用某種計算機(jī)程序設(shè)計語言根據(jù)算法的描述去實現(xiàn),即編程。//求三個數(shù)中最大值
#include<stdio.h>intmax_value(inta,intb,intc){intmax;if(a>b)max=a;elsemax=b;if(max<c)max=c;return(max);}main(){intx,y,z,maxx;scanf("%d%d%d",&x,&y,&z);maxx=max_value(x,y,z);printf(“最大值
max=%d\n",maxx);return0;}23算法例2:求解兩個自然整數(shù)的最大公約數(shù)采用“歐幾里得算法”,又稱輾轉(zhuǎn)相除法1、自然語言描述
S1:輸入兩個正整數(shù)M和N;S2:比較M和N,如果M小于N,則兩數(shù)交換,保證M是大數(shù);S3:求M除以N的余數(shù)R;S4:使M=N,即用N代替M;S5:使N=R,即用R代替N,S6:如果N≠0,轉(zhuǎn)向S3;S7:如果N=0,轉(zhuǎn)向S8;S8:輸出M,M為M和N的最大公約數(shù)。24算法2、偽代碼描述:INPUTM,NIFM>NTHEN交換M和NWHILEN≠0DOR=MOD(M,N)M=NN=RENDDO輸出
M其中M除以N的余數(shù)用符號MOD(M,N)表示。25算法3、流程圖描述26算法4、N-S圖描述
27結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計的基本方法:自頂向下,逐步求精復(fù)雜問題分解為若干的獨(dú)立的小問題(小模塊)
例:求解兩個數(shù)的平均值1、分解:問題分解為三個模塊
S1:輸入兩個數(shù)a,bS2:求兩個數(shù)的平均值賦給averS3:輸出平均值
28結(jié)構(gòu)化程序設(shè)計方法2、實現(xiàn)方法,算法細(xì)化
S1:調(diào)用輸入函數(shù),完成輸入S2:設(shè)計一個求解平均值的函數(shù)averge()S3:調(diào)用輸出函數(shù),完成輸出
3、C語言實現(xiàn)主函數(shù)的編程//求兩個數(shù)的平均值
main()//主函數(shù){floata,b,ave;//聲明a、b和ave為實型變量
scanf(“%f%f”,&a,&b);//輸入a、b兩個數(shù)的值
ave=average(a,b);//調(diào)用average函數(shù)求平均值,printf(“average=%f\n”,ave);//輸出ave的值
return0;}29結(jié)構(gòu)化程序設(shè)計方法4、逐步求精:設(shè)計averag()函數(shù)的算法。設(shè)兩個參數(shù)為floatx,floaty。S2.1:把x加y的和除2的值送給averS2.2:把a(bǔ)ver的值返回給主函數(shù)。5、C語言實現(xiàn)averag()函數(shù)的編程#include<stdio.h>floataverage(floatx,floaty)//求兩個數(shù)的平均值{floatz,aver;//聲明aver為實型變量
aver=(x+y)/2;//計算兩個數(shù)的平均值賦給averreturn(aver);//aver的值作為函數(shù)的的返回值}30結(jié)構(gòu)化程序設(shè)計方法6、兩模塊連接成一個完整的求解程序#include<stdio.h>floataverage(floatx,floaty)//求兩個數(shù)的平均值{floatz,aver;//聲明aver為實型變量
aver=(x+y)/2;//計算兩個數(shù)的平均值賦給averreturn(aver);//aver的值作為函數(shù)的的返回值}main()//主函數(shù){floata,b,ave;//聲明a、b和ave為實型變量
scanf(“%f%f”,&a,&b);//輸入a、b兩個數(shù)的值
ave=average(a,b);//調(diào)用average函數(shù)求平均值,printf(“average=%f\n”,ave);//輸出ave的值
return0;}31結(jié)構(gòu)化程序設(shè)計方法★結(jié)構(gòu)化程序設(shè)計三種基本控制結(jié)構(gòu):順序結(jié)構(gòu)選擇結(jié)構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 60670-1:2024 EN-FR Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 1: General requirements
- 水泥路面施工承包合同
- 辦公樓裝修合同合同
- 委托招聘合同協(xié)議
- 招標(biāo)信息合作協(xié)議書
- 出版業(yè)數(shù)字化出版與版權(quán)保護(hù)管理方案
- 建筑原材料采購合同
- 樓房租賃合同
- 傳統(tǒng)行業(yè)數(shù)字化轉(zhuǎn)型路徑選擇及實施方案研究項目
- 電子行業(yè)電子設(shè)備保修協(xié)議
- 數(shù)字媒體藝術(shù)概論數(shù)字媒體藝術(shù)理論概述
- 企業(yè)開展防震減災(zāi)知識講座
- 中石油反恐風(fēng)險評估報告
- 110kV全封閉組合開關(guān)電器GIS擴(kuò)建及改造項目技術(shù)規(guī)范書專用部分
- 工程質(zhì)量管理體系及保證措施
- 辦公室壓力緩解方法
- 銷售序列學(xué)習(xí)成長地圖2021
- 我的家鄉(xiāng)湖北荊門介紹
- 遮瑕(美容化妝技術(shù)課件)
- 不銹鋼金屬邊框施工方案
- 民企與央企合作協(xié)議
評論
0/150
提交評論