C程序設(shè)計(jì)02-C程序和C編譯器簡介_第1頁
C程序設(shè)計(jì)02-C程序和C編譯器簡介_第2頁
C程序設(shè)計(jì)02-C程序和C編譯器簡介_第3頁
C程序設(shè)計(jì)02-C程序和C編譯器簡介_第4頁
C程序設(shè)計(jì)02-C程序和C編譯器簡介_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2022-4-251第二章第二章 C程序和程序和C編譯器簡介編譯器簡介 C語言及語言及C標(biāo)準(zhǔn)標(biāo)準(zhǔn)*簡單的簡單的C程序設(shè)計(jì)程序設(shè)計(jì) C程序的構(gòu)成程序的構(gòu)成*上機(jī)操作與程序調(diào)試上機(jī)操作與程序調(diào)試2022-4-252第一節(jié)第一節(jié) C語言及語言及 C標(biāo)準(zhǔn)標(biāo)準(zhǔn)C語言的出現(xiàn)及發(fā)展歷程語言的出現(xiàn)及發(fā)展歷程 C語言的特點(diǎn)語言的特點(diǎn) 語言簡潔、緊湊、使用方便語言簡潔、緊湊、使用方便 運(yùn)算符豐富運(yùn)算符豐富 數(shù)據(jù)結(jié)構(gòu)豐富數(shù)據(jù)結(jié)構(gòu)豐富 較接近硬件,可直接進(jìn)行硬件操作較接近硬件,可直接進(jìn)行硬件操作 是結(jié)構(gòu)化語言是結(jié)構(gòu)化語言 生成的目標(biāo)代碼質(zhì)量高生成的目標(biāo)代碼質(zhì)量高 可移植性好可移植性好2022-4-253第一節(jié)第一節(jié)

2、C語言及語言及 C標(biāo)準(zhǔn)標(biāo)準(zhǔn)C語言的三種標(biāo)準(zhǔn)語言的三種標(biāo)準(zhǔn) 1978年,年,B.W.Kernighan和和D.M.Ritchie合著了合著了The C Programming Language一書,該書后來成為一書,該書后來成為C語言的標(biāo)準(zhǔn),稱為標(biāo)準(zhǔn)語言的標(biāo)準(zhǔn),稱為標(biāo)準(zhǔn)C或經(jīng)典或經(jīng)典C。 1983年,年,American National Standards Institute簡簡稱稱ANSI成立了一個(gè)委員會(huì)專門制定成立了一個(gè)委員會(huì)專門制定C的標(biāo)準(zhǔn),稱為的標(biāo)準(zhǔn),稱為ANSI C. 這個(gè)標(biāo)準(zhǔn)這個(gè)標(biāo)準(zhǔn)89年才被批準(zhǔn),所以又稱年才被批準(zhǔn),所以又稱C89 1999年對(duì)年對(duì)C89重新做了修訂,稱為重新做了

3、修訂,稱為C99。但目前完全。但目前完全支持支持C99的編譯器很少。的編譯器很少。2022-4-254常用常用C編譯器編譯器C語言的編譯系統(tǒng)有很多版本,相互間存在著語言的編譯系統(tǒng)有很多版本,相互間存在著差異,較流行的有:差異,較流行的有:Turbo C (必會(huì)必會(huì))Borland C/C+C+ BuilderMicrosoft C/C+Visual C/C+ (必會(huì)必會(huì))CodeBlocks (適當(dāng)掌握適當(dāng)掌握) Borland公司公司微軟公司微軟公司2022-4-255第二節(jié)第二節(jié) 簡單的簡單的 C程序設(shè)計(jì)程序設(shè)計(jì)s 例例2.1:#include int main( ) printf(“Th

4、is is a sample.n”); return 0; s 運(yùn)行結(jié)果運(yùn)行結(jié)果:This is a sample._2022-4-256實(shí)訓(xùn)一實(shí)訓(xùn)一 簡單信息的輸出簡單信息的輸出s編一個(gè)編一個(gè)C程序,輸出程序,輸出“hello world!”s程序框架:程序框架:#include int main( ) return 0;添加自己的代碼2022-4-257s例例2.2: #include int main( ) /*求兩數(shù)之和求兩數(shù)之和*/ int a,b,sum; /*定義變量定義變量*/ a=123; b=456; /*賦值賦值*/ sum=a+b; printf(“Sum is %dn

5、”,sum); /*輸出輸出*/ return 0; s 運(yùn)行結(jié)果運(yùn)行結(jié)果:Sum is 579_2022-4-258實(shí)訓(xùn)二實(shí)訓(xùn)二 簡單的輸入輸出編程簡單的輸入輸出編程s鍵盤輸入兩個(gè)變量的值,輸出它們的和。鍵盤輸入兩個(gè)變量的值,輸出它們的和。 提示:調(diào)用函數(shù)提示:調(diào)用函數(shù)scanf(“%d%d”, &a,&b); 輸入兩個(gè)數(shù)據(jù),調(diào)輸入兩個(gè)數(shù)據(jù),調(diào)用函數(shù)用函數(shù)printf(“%dn”, sum); 輸出結(jié)果。輸出結(jié)果。s程序框架:程序框架:int main( ) /定義變量定義變量 /輸入數(shù)據(jù)輸入數(shù)據(jù) /處理數(shù)據(jù)處理數(shù)據(jù) /輸出結(jié)果輸出結(jié)果 return 0;2022-4-259

6、s例例2.3: #include int main( ) /*主函數(shù)主函數(shù)*/ int a,b,c; /*定義變量定義變量*/ scanf(“%d,%d”,&a,&b); /*輸入變量的值輸入變量的值*/ c=max(a,b); /*調(diào)用函數(shù)調(diào)用函數(shù)max返回值賦給返回值賦給c*/ printf(“max=%dn”,c); /*輸出結(jié)果輸出結(jié)果*/ return 0; int max(x,y) /*定義函數(shù)定義函數(shù)max, 整型整型, 使用兩個(gè)參數(shù)使用兩個(gè)參數(shù)*/ int x,y; /*所使用的參數(shù)所使用的參數(shù)x、y是整型變量是整型變量*/ int z; /*定義變量定義變量z

7、*/ if (xy) z=x; else z=y; return (z); /*將將z的值返回的值返回*/ 2022-4-2510s多文件結(jié)構(gòu)的程序:多文件結(jié)構(gòu)的程序:例例2.3有兩個(gè)函數(shù),可以將兩個(gè)函數(shù)分別存為有兩個(gè)函數(shù),可以將兩個(gè)函數(shù)分別存為兩個(gè)文件,從而形成多文件結(jié)構(gòu)的程序兩個(gè)文件,從而形成多文件結(jié)構(gòu)的程序演示:演示:TC中:中: (課下參看教材課下參看教材2.4.1.6)VC中:中: (課下參看教材課下參看教材2.4.2.1)2022-4-2511第三節(jié)第三節(jié) C程序的構(gòu)成程序的構(gòu)成1、C 程序是由源文件組成的,一個(gè)程序可以程序是由源文件組成的,一個(gè)程序可以存為一個(gè)或幾個(gè)源文件存為一個(gè)

8、或幾個(gè)源文件2、源文件中主要是函數(shù),還有一些命令等、源文件中主要是函數(shù),還有一些命令等 編程序就是編寫函數(shù)編程序就是編寫函數(shù)3、每個(gè)程序必須有、且只能有一個(gè)、每個(gè)程序必須有、且只能有一個(gè)main()函函數(shù),除了數(shù),除了main()函數(shù),還可以有其他函數(shù)函數(shù),還可以有其他函數(shù)其他函數(shù)是被調(diào)用的,用來完成某項(xiàng)功能其他函數(shù)是被調(diào)用的,用來完成某項(xiàng)功能2022-4-25124、程序總是從、程序總是從main()函數(shù)開始執(zhí)行函數(shù)開始執(zhí)行 main()函數(shù)可以放在程序開始,可以放在最后,函數(shù)可以放在程序開始,可以放在最后,也可以放在其他函數(shù)中間。也可以放在其他函數(shù)中間。 如:如: int max( ) .

9、 int main( ) . int min( ) . main()函數(shù)執(zhí)行結(jié)束,整個(gè)程序也就結(jié)束了函數(shù)執(zhí)行結(jié)束,整個(gè)程序也就結(jié)束了2022-4-25135、一個(gè)函數(shù)由兩部分組成:函數(shù)頭和函數(shù)體、一個(gè)函數(shù)由兩部分組成:函數(shù)頭和函數(shù)體 函數(shù)頭:大括號(hào)之前部分函數(shù)頭:大括號(hào)之前部分 包括名稱、類型、屬性、參數(shù)等說明包括名稱、類型、屬性、參數(shù)等說明 int main( ) extern int sum(x, y) int max(int x, int y) int x, y; int z; z=x+y; return (z); 函數(shù)體:大括號(hào)中的內(nèi)容函數(shù)體:大括號(hào)中的內(nèi)容包括聲明、定義部分和執(zhí)行部分

10、包括聲明、定義部分和執(zhí)行部分函數(shù)體可以為空函數(shù)體可以為空 2022-4-25146、C程序書寫格式自由程序書寫格式自由 一行內(nèi)可以寫幾個(gè)語句一行內(nèi)可以寫幾個(gè)語句u x=1;y=2;z=x+y; . 一個(gè)語句可以分寫成數(shù)行一個(gè)語句可以分寫成數(shù)行u if (xy) z=x; .2022-4-25157、每個(gè)語句的最后必須有一個(gè)分號(hào)、每個(gè)語句的最后必須有一個(gè)分號(hào) int x, y, z; /定義變量定義變量 x=1;y=2;z=x+y; /三個(gè)語句三個(gè)語句 8、C程序的輸入輸出需調(diào)用函數(shù)來完成程序的輸入輸出需調(diào)用函數(shù)來完成9、可以用、可以用/*.*/對(duì)程序進(jìn)行注釋對(duì)程序進(jìn)行注釋(有些版本(有些版本還

11、支持使用還支持使用“/”進(jìn)行注釋)進(jìn)行注釋) 1、首先在編譯器(、首先在編譯器(TC、VC或或CB)中編寫源代碼)中編寫源代碼2、對(duì)源代碼進(jìn)行編譯(生成、對(duì)源代碼進(jìn)行編譯(生成.obj文件)文件)3、連接(生成、連接(生成.exe文件)文件)4、運(yùn)行(根據(jù)需要輸入數(shù)據(jù)并回車便可得到結(jié)果)、運(yùn)行(根據(jù)需要輸入數(shù)據(jù)并回車便可得到結(jié)果)說明:以上有些步驟可以合并說明:以上有些步驟可以合并2022-4-2516第四節(jié)第四節(jié) 上機(jī)操作與程序調(diào)試上機(jī)操作與程序調(diào)試abc.cabc.objabc.exe編譯編譯連接連接運(yùn)行運(yùn)行結(jié)果2022-4-2517常用常用 C編譯器的快捷鍵編譯器的快捷鍵TC中常用快捷鍵

12、:中常用快捷鍵:TC中常用快捷鍵:中常用快捷鍵:快捷鍵作 用快捷鍵作 用F2存盤Ctrl+F9編譯、連接并運(yùn)行F3打開已有源程序Alt+F5查看結(jié)果F4運(yùn)行到光標(biāo)所在處暫停Ctrl+F7添加觀察量F5縮放當(dāng)前窗口Home光標(biāo)移動(dòng)到行首F6切換當(dāng)前窗口End光標(biāo)移動(dòng)到行尾F7單步運(yùn)行(進(jìn)入被調(diào)函數(shù))Ctrl+Y刪除一行(光標(biāo)所在行)F8單步運(yùn)行(不進(jìn)入被調(diào)函數(shù))Ctrl+K+B定義塊頭F9編譯Ctrl+K+K定義塊尾F10激活主菜單Ctrl+K+C復(fù)制塊到光標(biāo)處Alt+X退出TCCtrl+K+V移動(dòng)塊到光標(biāo)處2022-4-2518常用常用 C編譯器的快捷鍵編譯器的快捷鍵VC中常用快捷鍵:中常用快

13、捷鍵: (每個(gè)圖標(biāo)的含義及對(duì)應(yīng)的快捷鍵)(每個(gè)圖標(biāo)的含義及對(duì)應(yīng)的快捷鍵)快捷鍵作 用快捷鍵作 用Ctrl+F7編譯當(dāng)前源文件Ctrl+F10運(yùn)行到光標(biāo)所在行F7編譯所有源文件并連接F10單步運(yùn)行(不進(jìn)入被調(diào)函數(shù))Ctrl+F5運(yùn)行F11單步運(yùn)行(進(jìn)入被調(diào)函數(shù))F5運(yùn)行到斷點(diǎn)暫停Shift+F11從被調(diào)函數(shù)跳出(返回)Shift+F5停止調(diào)試F9設(shè)置/取消斷點(diǎn)2022-4-2519實(shí)訓(xùn)三實(shí)訓(xùn)三 程序的單步運(yùn)行與調(diào)試程序的單步運(yùn)行與調(diào)試s單步運(yùn)行實(shí)訓(xùn)二的程序,觀察每個(gè)變量的值單步運(yùn)行實(shí)訓(xùn)二的程序,觀察每個(gè)變量的值的變化(將每個(gè)變量在執(zhí)行本行之后的值標(biāo)的變化(將每個(gè)變量在執(zhí)行本行之后的值標(biāo)在本行后面)在本行后面)s如:如:int main() int a, b=2; /* a= -3107,b= 2 */ a=3; /* a=3,b=2 */ b=a+b; /* a=3,b=5 */ printf(“%d,%dn”, a,b); /* a=3,b=5 */ return 0;習(xí)習(xí) 題題簡述簡述C程序的結(jié)構(gòu)程序的結(jié)構(gòu)什么是數(shù)據(jù)聲明(定義)語句?什么是執(zhí)行語句?什么是數(shù)據(jù)聲明(定義)語句?什么是執(zhí)行語句?簡述簡述C程序上機(jī)的步驟程序上機(jī)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論