




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)學習郵箱:學習郵箱:c_ 密碼:密碼:cisfun2022-4-12信息工程系12022-4-12信息工程系2編寫一個簡單的編寫一個簡單的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運行運行2022-4-12信息工程系4簡單簡單C程序的通用形式程序的通用形式指令指令main( ) 語句語句2022-4-12信息工程系5P1-1/
2、*A program for 1+2*/#include main() printf(“%dn”, 1+2);實驗實驗1:計算:計算3+4的值的值實驗實驗2:計算:計算56的值的值實驗實驗3:計算:計算84的值的值實驗實驗4:計算:計算85的值的值2022-4-12信息工程系6P1_1#include main() printf(“%dn”, 8/5);printf(“%.1lfn”, 8.0/5.0);實驗實驗5:將將%.1lf修改為修改為%.2lf、%lf實驗實驗6:將將8.0/5.0修改修改為為8/5實驗實驗7:將:將%.lf修改為修改為%d2022-4-12信息工程系7P1_1告訴我們
3、什么?告訴我們什么?lC程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)lC語言中的數(shù)據(jù)處理語言中的數(shù)據(jù)處理2022-4-12信息工程系8 p1_1中中main( ) 表示表示“主函數(shù)主函數(shù)”。每一每一個個C程序都必須有一個程序都必須有一個main 函數(shù)函數(shù)。函數(shù)。函數(shù)體由大括號體由大括號 括起來括起來. 本例中主函數(shù)只有一條語句,本例中主函數(shù)只有一條語句,printf( )是是C語言中的輸出函數(shù)語言中的輸出函數(shù)。雙引號內(nèi)的。雙引號內(nèi)的n是是換行符。即在輸出計算結(jié)果后回車換行。換行符。即在輸出計算結(jié)果后回車換行。 每條語句必須以分號結(jié)尾每條語句必須以分號結(jié)尾。觀其大略觀其大略2022-4-12信息工程系9l超級無
4、敵考考你:超級無敵考考你:如何把如何把“hello”和和“world” 分別打印在兩分別打印在兩行?行?2022-4-12信息工程系10P1_2 任意輸入兩個整數(shù),求其和任意輸入兩個整數(shù),求其和/*求任意兩個整數(shù)的和求任意兩個整數(shù)的和*/main( ) int a, b; scanf(“%d%d”, &a, &b); printf(“%dn”, a+b);若刪除若刪除“&”會怎么樣?會怎么樣?變量定義語句變量定義語句2022-4-12信息工程系11C語言中的數(shù)據(jù)語言中的數(shù)據(jù)l整數(shù)整數(shù)l實數(shù)實數(shù)- 嚴格講稱:浮點數(shù)嚴格講稱:浮點數(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 輸入一個三位數(shù),分離出輸入一個三位數(shù),分離出其百、十、個位,反轉(zhuǎn)后輸出。其百、十、個位,反轉(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,會怎樣?,會怎樣?若輸入了三位數(shù)若輸入了三位數(shù)
7、 250,會怎樣?,會怎樣?2022-4-12信息工程系16P1_5 輸入兩個整數(shù),交換二者輸入兩個整數(shù),交換二者的值,然后輸出。的值,然后輸出。l樣例:樣例:l輸入輸入 824 16l輸出輸出 16 8242022-4-12信息工程系17/*輸入兩個整數(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代碼風格代碼風格2022-4-12信息工程系19沒有代碼風格沒有代碼風格#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 為整型變量為整型變量.第五、六行是兩個賦值語句第五、六行是兩個賦值語句,使使 a 和和 b 的值分別
9、為的值分別為123 和和 456 .第七行使第七行使 sum的值為的值為a+b. 輸出一行信息為:輸出一行信息為: sum is 579例例:求兩個整數(shù)求兩個整數(shù)a 和和 b之和之和 ./*求兩個整數(shù)之和求兩個整數(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ù)內(nèi)部是如何使用函數(shù)時,我們不用知道這個函數(shù)內(nèi)部是如何
10、運作的,只需按照我們的需要和它的參數(shù)形式調(diào)運作的,只需按照我們的需要和它的參數(shù)形式調(diào)用它即可用它即可l我們也可以定義自己的函數(shù)我們也可以定義自己的函數(shù)l“一個程序應(yīng)該是輕靈自由的,它的函數(shù)就象串一個程序應(yīng)該是輕靈自由的,它的函數(shù)就象串在一根線上的珍珠。在一根線上的珍珠。”(編程之道)(編程之道)2022-4-12信息工程系22本程序包括兩個函數(shù):主函數(shù)本程序包括兩個函數(shù):主函數(shù)main 和被調(diào)用的函數(shù)和被調(diào)用的函數(shù)max。max 函數(shù)函數(shù)的作用是將的作用是將x和和 y 中較大中較大者的值賦給變量者的值賦給變量z。 return 語句將語句將z的值返回給主調(diào)函數(shù)的值返回給主調(diào)函數(shù)main。返回值
11、是通過函數(shù)名返回值是通過函數(shù)名max帶回到主帶回到主函數(shù)函數(shù)max的調(diào)用處。的調(diào)用處。例例:求兩個整數(shù)的最大值求兩個整數(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例例:求兩個整
12、數(shù)的最大公約數(shù)和最小公倍數(shù)求兩個整數(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通過以上幾個例子通過以上幾個例子,可以看到可以看到: (1)C程序是由函數(shù)構(gòu)成的程序是由函數(shù)構(gòu)成的.一個一個C源程序至少包含一個源程序至少包含一個main函函數(shù)數(shù),也可以包含一個也可以包含一個main函數(shù)和若干個其他函數(shù)。函數(shù)和若干個其他函數(shù)。因此,因此,函數(shù)是函數(shù)是C程程序的基本單位序的基本單位。 C的這種特點使得容易實現(xiàn)程序的模塊化。的這種特點使得容易實現(xiàn)程序的模塊化。
14、 (2)一個函數(shù)有兩部分組成:一個函數(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ù)名一個函數(shù)名后面必須跟一個圓括弧,函數(shù)參數(shù)可以沒有,如一個函數(shù)名后面必須跟一個圓括弧,函數(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í)行部分:由若干個語句組成. (3)一個一個C程序總是從程序總是從main函數(shù)開始執(zhí)行的函數(shù)開始執(zhí)行的,而不論而不論main函數(shù)在整函數(shù)在整個程序中的位置如何個程序中的位置如何. (4)C程序書寫格式自由程序書寫格式自由,一行內(nèi)可以寫幾個語句一行內(nèi)可以寫幾個語句,一個語句可以分一個語句可以分寫在多行上寫在多行上. (5)每個語句和數(shù)據(jù)定義的最后必須有一個分號。每個語句和數(shù)據(jù)定義的最后必須有一個分號。分號是分號是C語句的必要組成部分。語句的必要組成
16、部分。 (6)C語言本身沒有輸入輸出語句。語言本身沒有輸入輸出語句。輸入和輸出的操作是由庫函輸入和輸出的操作是由庫函數(shù)數(shù)scanf和和printf等函數(shù)來完成的。等函數(shù)來完成的。 (7)可以用可以用/*/對對C程序中的任何部分作注釋程序中的任何部分作注釋。一個。一個好的,有使用價值的源程序都應(yīng)當加上必要的注釋,以增加程序的好的,有使用價值的源程序都應(yīng)當加上必要的注釋,以增加程序的可讀性可讀性。2022-4-12信息工程系26C程序的開發(fā)環(huán)境及執(zhí)行過程程序的開發(fā)環(huán)境及執(zhí)行過程 計算機只能識別和執(zhí)行由計算機只能識別和執(zhí)行由0和和1組成的二進制的指令,而組成的二進制的指令,而不能識別和執(zhí)行用高級語言
17、寫的指令。為了使計算機能執(zhí)不能識別和執(zhí)行用高級語言寫的指令。為了使計算機能執(zhí)行高級語言源程序,必須先用一種稱為行高級語言源程序,必須先用一種稱為“編譯程序編譯程序”地軟地軟件件,把源程序翻譯成二進制形式的把源程序翻譯成二進制形式的“目標程序目標程序”,然后將,然后將該目標程序與系統(tǒng)的函數(shù)庫和其他目標程序連接起來,形該目標程序與系統(tǒng)的函數(shù)庫和其他目標程序連接起來,形成可執(zhí)行的目標程序。成可執(zhí)行的目標程序。上機輸入與上機輸入與編輯編輯源程序源程序 ;對源程序進行對源程序進行編譯編譯 ;與庫函數(shù)與庫函數(shù)連接連接 ;運行運行目標程序目標程序2022-4-12信息工程系27有無正確可執(zhí)行目標程序f.ex
18、e開始編輯編譯有錯?執(zhí)行連接結(jié)果 正確?結(jié)束不正確源程序f.c目標程序f.obj庫函數(shù)和其他目標程序2022-4-12信息工程系282022-4-12信息工程系292022-4-12信息工程系302022-4-12信息工程系312022-4-12信息工程系32C語言中使用的詞匯分為:語言中使用的詞匯分為:標識符、關(guān)鍵字、運算符、常量、注釋符等標識符、關(guān)鍵字、運算符、常量、注釋符等(1 1)標識符)標識符 v在程序中使用的變量名、函數(shù)名、標號等在程序中使用的變量名、函數(shù)名、標號等統(tǒng)稱為標識符。統(tǒng)稱為標識符。v標識符只能是字母、數(shù)字、下劃線組成的標識符只能是字母、數(shù)字、下劃線組成的字符串,并且其第
19、一個字符必須是字母或字符串,并且其第一個字符必須是字母或下劃線。下劃線。 2022-4-12信息工程系33使用標識符時需注意:使用標識符時需注意:v 字母的大小寫有區(qū)別。字母的大小寫有區(qū)別。 如:如:BOOK BOOK 與與 bookbook是兩個不同的標識符是兩個不同的標識符 v 為便于使用,標識符的命名應(yīng)盡量有相應(yīng)為便于使用,標識符的命名應(yīng)盡量有相應(yīng)意義。意義。 2022-4-12信息工程系34下劃線和大小寫通常用來增強可讀性下劃線和大小寫通常用來增強可讀性 variablename variable_name、VARIABLE_NAME VariableNamev 某些功能的變量采用習慣命名某些功能的變量采用習慣命名 如:如:for語句所采用的循環(huán)變量習慣用語句所采用的循環(huán)變量習慣用i, j, k2022-4-12信息工程系35(2 2)關(guān)鍵字)關(guān)鍵字 又稱為保留字,又稱為保留字,C C語言中預(yù)先規(guī)定的具語言中預(yù)先規(guī)定的具有固定含義的一些單詞有固定含義的一些單詞. . 用戶定義的標識符不應(yīng)與關(guān)鍵字相同,用戶定義的標識符不應(yīng)與關(guān)鍵字相同,關(guān)鍵字分為如下幾類:關(guān)鍵字分為如下幾類: 類型說
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能設(shè)備與數(shù)據(jù)驅(qū)動農(nóng)業(yè)生產(chǎn)的協(xié)同效應(yīng)
- 2025至2030年中國水性紙張復(fù)膜膠行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國毛氈板行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國植物根尖縱切片行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國柔性燈箱行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國有粘結(jié)預(yù)應(yīng)力鋼絞線行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國絲絨毯行業(yè)投資前景及策略咨詢報告
- 2025年春新青島版1年級數(shù)學下冊全冊教學課件
- 回收網(wǎng)點建設(shè)與運營中的環(huán)境影響評估與管理
- 2026版大一輪高考數(shù)學-第一章 必刷小題1 集合、常用邏輯用語、不等式
- GB/T 19668.7-2022信息技術(shù)服務(wù)監(jiān)理第7部分:監(jiān)理工作量度量要求
- GB/T 9115-2010對焊鋼制管法蘭
- GB/T 5478-2008塑料滾動磨損試驗方法
- GB/T 1095-2003平鍵鍵槽的剖面尺寸
- 農(nóng)民工安全考試試卷試題
- 現(xiàn)代藝術(shù)野獸派-中外美術(shù)史-課件
- 雙曲線齒輪幾何設(shè)計
- 大型養(yǎng)路機械綜合講義
- 高分子材料完整版課件
- GB∕T 37456-2019 海洋平臺電驅(qū)動齒輪齒條升降裝置
- 空間解析幾何教案
評論
0/150
提交評論