




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)基礎(chǔ)學(xué)習(xí)郵箱:學(xué)習(xí)郵箱:c_ 密碼:密碼:cisfun2022-4-12信息工程系12022-4-12信息工程系2編寫一個(gè)簡(jiǎn)單的編寫一個(gè)簡(jiǎn)單的C程序程序/*A first program in C */#include main( ) printf( To C, or not to C: that is the question!n);2022-4-12信息工程系3程序的執(zhí)行過程程序的執(zhí)行過程l預(yù)處理預(yù)處理l編譯編譯l鏈接鏈接l運(yùn)行運(yùn)行2022-4-12信息工程系4簡(jiǎn)單簡(jiǎn)單C程序的通用形式程序的通用形式指令指令main( ) 語(yǔ)句語(yǔ)句2022-4-12信息工程系5P1-1/
2、*A program for 1+2*/#include main() printf(“%dn”, 1+2);實(shí)驗(yàn)實(shí)驗(yàn)1:計(jì)算:計(jì)算3+4的值的值實(shí)驗(yàn)實(shí)驗(yàn)2:計(jì)算:計(jì)算56的值的值實(shí)驗(yàn)實(shí)驗(yàn)3:計(jì)算:計(jì)算84的值的值實(shí)驗(yàn)實(shí)驗(yàn)4:計(jì)算:計(jì)算85的值的值2022-4-12信息工程系6P1_1#include main() printf(“%dn”, 8/5);printf(“%.1lfn”, 8.0/5.0);實(shí)驗(yàn)實(shí)驗(yàn)5:將將%.1lf修改為修改為%.2lf、%lf實(shí)驗(yàn)實(shí)驗(yàn)6:將將8.0/5.0修改修改為為8/5實(shí)驗(yàn)實(shí)驗(yàn)7:將:將%.lf修改為修改為%d2022-4-12信息工程系7P1_1告訴我們
3、什么?告訴我們什么?lC程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)lC語(yǔ)言中的數(shù)據(jù)處理語(yǔ)言中的數(shù)據(jù)處理2022-4-12信息工程系8 p1_1中中main( ) 表示表示“主函數(shù)主函數(shù)”。每一每一個(gè)個(gè)C程序都必須有一個(gè)程序都必須有一個(gè)main 函數(shù)函數(shù)。函數(shù)。函數(shù)體由大括號(hào)體由大括號(hào) 括起來括起來. 本例中主函數(shù)只有一條語(yǔ)句,本例中主函數(shù)只有一條語(yǔ)句,printf( )是是C語(yǔ)言中的輸出函數(shù)語(yǔ)言中的輸出函數(shù)。雙引號(hào)內(nèi)的。雙引號(hào)內(nèi)的n是是換行符。即在輸出計(jì)算結(jié)果后回車換行。換行符。即在輸出計(jì)算結(jié)果后回車換行。 每條語(yǔ)句必須以分號(hào)結(jié)尾每條語(yǔ)句必須以分號(hào)結(jié)尾。觀其大略觀其大略2022-4-12信息工程系9l超級(jí)無
4、敵考考你:超級(jí)無敵考考你:如何把如何把“hello”和和“world” 分別打印在兩分別打印在兩行?行?2022-4-12信息工程系10P1_2 任意輸入兩個(gè)整數(shù),求其和任意輸入兩個(gè)整數(shù),求其和/*求任意兩個(gè)整數(shù)的和求任意兩個(gè)整數(shù)的和*/main( ) int a, b; scanf(“%d%d”, &a, &b); printf(“%dn”, a+b);若刪除若刪除“&”會(huì)怎么樣?會(huì)怎么樣?變量定義語(yǔ)句變量定義語(yǔ)句2022-4-12信息工程系11C語(yǔ)言中的數(shù)據(jù)語(yǔ)言中的數(shù)據(jù)l整數(shù)整數(shù)l實(shí)數(shù)實(shí)數(shù)- 嚴(yán)格講稱:浮點(diǎn)數(shù)嚴(yán)格講稱:浮點(diǎn)數(shù)%d %lf %f2022-4-12信息工程系12P1-3 求圓柱
5、體的表面積:輸入底面半徑求圓柱體的表面積:輸入底面半徑和高,輸出表面積,保留和高,輸出表面積,保留3位小數(shù),位小數(shù),格式如下:格式如下: 輸入:輸入:3.5 9 輸出:輸出:Area= 274.8892022-4-12信息工程系13/*輸入底面半徑和高,求圓柱體的表面積輸入底面半徑和高,求圓柱體的表面積*/#include main( ) double r, h , s1 , s2 , area; double pi = 3.141526; scanf (“%lf %lf”, &r, &h); s1 = r * r * r; s2 = 2 * pi * r * h; area = 2 * s1
6、 + s2; printf(“Area = %.3lfn”, area );3.141526s2 = 2 * PI * r * h;2022-4-12信息工程系14P1_4 輸入一個(gè)三位數(shù),分離出輸入一個(gè)三位數(shù),分離出其百、十、個(gè)位,反轉(zhuǎn)后輸出。其百、十、個(gè)位,反轉(zhuǎn)后輸出。l樣例:樣例:輸入:輸入:123輸出:輸出:3212022-4-12信息工程系15#include main( ) int n; scanf(“%d”, &n); printf(“%d%d%dn”, n%10, n/10%10, n/100);若輸入了兩位數(shù)若輸入了兩位數(shù) 25,會(huì)怎樣?,會(huì)怎樣?若輸入了三位數(shù)若輸入了三位數(shù)
7、 250,會(huì)怎樣?,會(huì)怎樣?2022-4-12信息工程系16P1_5 輸入兩個(gè)整數(shù),交換二者輸入兩個(gè)整數(shù),交換二者的值,然后輸出。的值,然后輸出。l樣例:樣例:l輸入輸入 824 16l輸出輸出 16 8242022-4-12信息工程系17/*輸入兩個(gè)整數(shù),交換二者的值,然后輸出*/#include main( ) int a, b ,t; scanf(“%d%d”, &a, &b); t = a; a = b; b = t; printf(“%d ,%dn”,a,b);2022-4-12信息工程系18代碼風(fēng)格代碼風(fēng)格2022-4-12信息工程系19沒有代碼風(fēng)格沒有代碼風(fēng)格#include m
8、ain()int fahr,celsius;int lower,upper,step;lower=0;upper=300;step=20;fahr=lower;while (fahr=upper)celsius=5*(fahr-32)/9;printf(%dt%dn,fahr,celsius);fahr=fahr+step;2022-4-12信息工程系20本程序中的本程序中的/*/表示注釋部分表示注釋部分.第四行是聲明部分第四行是聲明部分,定義變量定義變量 a 和和 b ,指定指定 a 和和b 為整型變量為整型變量.第五、六行是兩個(gè)賦值語(yǔ)句第五、六行是兩個(gè)賦值語(yǔ)句,使使 a 和和 b 的值分別
9、為的值分別為123 和和 456 .第七行使第七行使 sum的值為的值為a+b. 輸出一行信息為:輸出一行信息為: sum is 579例例:求兩個(gè)整數(shù)求兩個(gè)整數(shù)a 和和 b之和之和 ./*求兩個(gè)整數(shù)之和求兩個(gè)整數(shù)之和*/#include main( ) int a, b, sum; a = 123; b = 456; sum = a+b; printf (“sum is %dn”,sum);2022-4-12信息工程系21函數(shù)函數(shù)l前面使用了系統(tǒng)提供的函數(shù):前面使用了系統(tǒng)提供的函數(shù):printf,scanfl使用函數(shù)時(shí),我們不用知道這個(gè)函數(shù)內(nèi)部是如何使用函數(shù)時(shí),我們不用知道這個(gè)函數(shù)內(nèi)部是如何
10、運(yùn)作的,只需按照我們的需要和它的參數(shù)形式調(diào)運(yùn)作的,只需按照我們的需要和它的參數(shù)形式調(diào)用它即可用它即可l我們也可以定義自己的函數(shù)我們也可以定義自己的函數(shù)l“一個(gè)程序應(yīng)該是輕靈自由的,它的函數(shù)就象串一個(gè)程序應(yīng)該是輕靈自由的,它的函數(shù)就象串在一根線上的珍珠。在一根線上的珍珠?!保ň幊讨溃ň幊讨溃?022-4-12信息工程系22本程序包括兩個(gè)函數(shù):主函數(shù)本程序包括兩個(gè)函數(shù):主函數(shù)main 和被調(diào)用的函數(shù)和被調(diào)用的函數(shù)max。max 函數(shù)函數(shù)的作用是將的作用是將x和和 y 中較大中較大者的值賦給變量者的值賦給變量z。 return 語(yǔ)句將語(yǔ)句將z的值返回給主調(diào)函數(shù)的值返回給主調(diào)函數(shù)main。返回值
11、是通過函數(shù)名返回值是通過函數(shù)名max帶回到主帶回到主函數(shù)函數(shù)max的調(diào)用處。的調(diào)用處。例例:求兩個(gè)整數(shù)的最大值求兩個(gè)整數(shù)的最大值#include int max(int x, int y) /*max函數(shù)用于求兩整數(shù)的最大值函數(shù)用于求兩整數(shù)的最大值*/ int z; if (xy) z=x; else z=y ; return (z); /*返回最大值返回最大值*/ main() int a,b,c; scanf (“%d,%d”,&a,&b); c=max (a,b); /*調(diào)用調(diào)用max函數(shù)函數(shù)*/ printf (“max =%d”,c); 2022-4-12信息工程系23例例:求兩個(gè)整
12、數(shù)的最大公約數(shù)和最小公倍數(shù)求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)#include int gy(int m, int n) /*gy函數(shù)用于求兩整數(shù)的最大公約數(shù)函數(shù)用于求兩整數(shù)的最大公約數(shù)*/ int x, r; if (m n) x = m; m = n ; n = x; r= m% n; while( r!=0) m = n; n=r; r = m%n; return n; /*返回最大公約數(shù)返回最大公約數(shù)*/ void main() int a, b, t; printf(“input 2 numbers:n”); scanf (“%d%d”,&a,&b); t=gy (a,b); /*調(diào)用
13、調(diào)用gy函數(shù)函數(shù)*/ printf (“max common divisor is%d”, t ); printf (“min common multiple is%d”, a*b/t ); 2022-4-12信息工程系24通過以上幾個(gè)例子通過以上幾個(gè)例子,可以看到可以看到: (1)C程序是由函數(shù)構(gòu)成的程序是由函數(shù)構(gòu)成的.一個(gè)一個(gè)C源程序至少包含一個(gè)源程序至少包含一個(gè)main函函數(shù)數(shù),也可以包含一個(gè)也可以包含一個(gè)main函數(shù)和若干個(gè)其他函數(shù)。函數(shù)和若干個(gè)其他函數(shù)。因此,因此,函數(shù)是函數(shù)是C程程序的基本單位序的基本單位。 C的這種特點(diǎn)使得容易實(shí)現(xiàn)程序的模塊化。的這種特點(diǎn)使得容易實(shí)現(xiàn)程序的模塊化。
14、 (2)一個(gè)函數(shù)有兩部分組成:一個(gè)函數(shù)有兩部分組成: 1函數(shù)首部函數(shù)首部,即函數(shù)的第一行即函數(shù)的第一行.包括函數(shù)名包括函數(shù)名,函數(shù)類型函數(shù)類型,函數(shù)屬性函數(shù)屬性,函函數(shù)參數(shù)名數(shù)參數(shù)名,參數(shù)類型參數(shù)類型. 例如例如, max函數(shù)的首部為函數(shù)的首部為 int max (int x, int y ) 函數(shù)類型函數(shù)類型 函數(shù)名函數(shù)名 函數(shù)參數(shù)類型函數(shù)參數(shù)類型函數(shù)參數(shù)類型函數(shù)參數(shù)類型 函數(shù)參數(shù)名函數(shù)參數(shù)名一個(gè)函數(shù)名后面必須跟一個(gè)圓括弧,函數(shù)參數(shù)可以沒有,如一個(gè)函數(shù)名后面必須跟一個(gè)圓括弧,函數(shù)參數(shù)可以沒有,如main()函數(shù)參數(shù)名函數(shù)參數(shù)名2022-4-12信息工程系25 2函數(shù)體,即函數(shù)首部下面的大括弧
15、內(nèi)的部分函數(shù)體,即函數(shù)首部下面的大括弧內(nèi)的部分函數(shù)體一般包含:函數(shù)體一般包含: .聲明部分聲明部分:在這部分中定義所用到的變量和函數(shù)聲明. .執(zhí)行部分執(zhí)行部分:由若干個(gè)語(yǔ)句組成. (3)一個(gè)一個(gè)C程序總是從程序總是從main函數(shù)開始執(zhí)行的函數(shù)開始執(zhí)行的,而不論而不論main函數(shù)在整函數(shù)在整個(gè)程序中的位置如何個(gè)程序中的位置如何. (4)C程序書寫格式自由程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語(yǔ)句一行內(nèi)可以寫幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以分一個(gè)語(yǔ)句可以分寫在多行上寫在多行上. (5)每個(gè)語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào)。每個(gè)語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào)。分號(hào)是分號(hào)是C語(yǔ)句的必要組成部分。語(yǔ)句的必要組成
16、部分。 (6)C語(yǔ)言本身沒有輸入輸出語(yǔ)句。語(yǔ)言本身沒有輸入輸出語(yǔ)句。輸入和輸出的操作是由庫(kù)函輸入和輸出的操作是由庫(kù)函數(shù)數(shù)scanf和和printf等函數(shù)來完成的。等函數(shù)來完成的。 (7)可以用可以用/*/對(duì)對(duì)C程序中的任何部分作注釋程序中的任何部分作注釋。一個(gè)。一個(gè)好的,有使用價(jià)值的源程序都應(yīng)當(dāng)加上必要的注釋,以增加程序的好的,有使用價(jià)值的源程序都應(yīng)當(dāng)加上必要的注釋,以增加程序的可讀性可讀性。2022-4-12信息工程系26C程序的開發(fā)環(huán)境及執(zhí)行過程程序的開發(fā)環(huán)境及執(zhí)行過程 計(jì)算機(jī)只能識(shí)別和執(zhí)行由計(jì)算機(jī)只能識(shí)別和執(zhí)行由0和和1組成的二進(jìn)制的指令,而組成的二進(jìn)制的指令,而不能識(shí)別和執(zhí)行用高級(jí)語(yǔ)言
17、寫的指令。為了使計(jì)算機(jī)能執(zhí)不能識(shí)別和執(zhí)行用高級(jí)語(yǔ)言寫的指令。為了使計(jì)算機(jī)能執(zhí)行高級(jí)語(yǔ)言源程序,必須先用一種稱為行高級(jí)語(yǔ)言源程序,必須先用一種稱為“編譯程序編譯程序”地軟地軟件件,把源程序翻譯成二進(jìn)制形式的把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序目標(biāo)程序”,然后將,然后將該目標(biāo)程序與系統(tǒng)的函數(shù)庫(kù)和其他目標(biāo)程序連接起來,形該目標(biāo)程序與系統(tǒng)的函數(shù)庫(kù)和其他目標(biāo)程序連接起來,形成可執(zhí)行的目標(biāo)程序。成可執(zhí)行的目標(biāo)程序。上機(jī)輸入與上機(jī)輸入與編輯編輯源程序源程序 ;對(duì)源程序進(jìn)行對(duì)源程序進(jìn)行編譯編譯 ;與庫(kù)函數(shù)與庫(kù)函數(shù)連接連接 ;運(yùn)行運(yùn)行目標(biāo)程序目標(biāo)程序2022-4-12信息工程系27有無正確可執(zhí)行目標(biāo)程序f.ex
18、e開始編輯編譯有錯(cuò)?執(zhí)行連接結(jié)果 正確?結(jié)束不正確源程序f.c目標(biāo)程序f.obj庫(kù)函數(shù)和其他目標(biāo)程序2022-4-12信息工程系282022-4-12信息工程系292022-4-12信息工程系302022-4-12信息工程系312022-4-12信息工程系32C語(yǔ)言中使用的詞匯分為:語(yǔ)言中使用的詞匯分為:標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符、常量、注釋符等標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符、常量、注釋符等(1 1)標(biāo)識(shí)符)標(biāo)識(shí)符 v在程序中使用的變量名、函數(shù)名、標(biāo)號(hào)等在程序中使用的變量名、函數(shù)名、標(biāo)號(hào)等統(tǒng)稱為標(biāo)識(shí)符。統(tǒng)稱為標(biāo)識(shí)符。v標(biāo)識(shí)符只能是字母、數(shù)字、下劃線組成的標(biāo)識(shí)符只能是字母、數(shù)字、下劃線組成的字符串,并且其第
19、一個(gè)字符必須是字母或字符串,并且其第一個(gè)字符必須是字母或下劃線。下劃線。 2022-4-12信息工程系33使用標(biāo)識(shí)符時(shí)需注意:使用標(biāo)識(shí)符時(shí)需注意:v 字母的大小寫有區(qū)別。字母的大小寫有區(qū)別。 如:如:BOOK BOOK 與與 bookbook是兩個(gè)不同的標(biāo)識(shí)符是兩個(gè)不同的標(biāo)識(shí)符 v 為便于使用,標(biāo)識(shí)符的命名應(yīng)盡量有相應(yīng)為便于使用,標(biāo)識(shí)符的命名應(yīng)盡量有相應(yīng)意義。意義。 2022-4-12信息工程系34下劃線和大小寫通常用來增強(qiáng)可讀性下劃線和大小寫通常用來增強(qiáng)可讀性 variablename variable_name、VARIABLE_NAME VariableNamev 某些功能的變量采用習(xí)慣命名某些功能的變量采用習(xí)慣命名 如:如:for語(yǔ)句所采用的循環(huán)變量習(xí)慣用語(yǔ)句所采用的循環(huán)變量習(xí)慣用i, j, k2022-4-12信息工程系35(2 2)關(guān)鍵字)關(guān)鍵字 又稱為保留字,又稱為保留字,C C語(yǔ)言中預(yù)先規(guī)定的具語(yǔ)言中預(yù)先規(guī)定的具有固定含義的一些單詞有固定含義的一些單詞. . 用戶定義的標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同,用戶定義的標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同,關(guān)鍵字分為如下幾類:關(guān)鍵字分為如下幾類: 類型說
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合肥臨時(shí)酒店管理辦法
- 深度學(xué)習(xí)視角下非結(jié)構(gòu)化檔案資源智能分類與主題標(biāo)引研究探索
- 人工智能時(shí)代下的大學(xué)教學(xué)創(chuàng)新與突破
- 船舶網(wǎng)絡(luò)安全管理制度
- 2025年?;肥鹿拾咐?/a>
- 化妝品生產(chǎn)企業(yè)質(zhì)量安全責(zé)任制的構(gòu)建與實(shí)施
- 倉(cāng)庫(kù)6S管理實(shí)踐與規(guī)范
- 供應(yīng)鏈網(wǎng)絡(luò)位置對(duì)企業(yè)數(shù)字鴻溝的作用機(jī)制研究
- 信息安全管理體系制度
- 安全事故黨紀(jì)責(zé)任追究
- 2024年天津市公安局濱海分局招聘警務(wù)輔助人員考試真題
- 報(bào)廢汽車回收拆解前景
- 2025年廣東省中考生物試卷真題(含答案解析)
- 第10課+遼夏金元的統(tǒng)治(大概念教學(xué)課件)2024-2025學(xué)年高一歷史上冊(cè)教學(xué)課件(統(tǒng)編版2019)
- 裝置保運(yùn)方案(3篇)
- 中國(guó)聚丙烯酰胺行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資研究報(bào)告2025-2028版
- 青年教師教學(xué)工作坊組織計(jì)劃
- 駐非洲員工管理制度
- 工程內(nèi)業(yè)資料管理制度
- 摩托車協(xié)議過戶協(xié)議書
- 四川省德陽(yáng)市2025年七年級(jí)下學(xué)期語(yǔ)文期末試卷及答案
評(píng)論
0/150
提交評(píng)論