![C語(yǔ)言b程序b設(shè)計(jì)(5)[學(xué)校資料]_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/87ffc435-12f4-4ddf-a40d-0a5173252148/87ffc435-12f4-4ddf-a40d-0a51732521481.gif)
![C語(yǔ)言b程序b設(shè)計(jì)(5)[學(xué)校資料]_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/87ffc435-12f4-4ddf-a40d-0a5173252148/87ffc435-12f4-4ddf-a40d-0a51732521482.gif)
![C語(yǔ)言b程序b設(shè)計(jì)(5)[學(xué)校資料]_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/87ffc435-12f4-4ddf-a40d-0a5173252148/87ffc435-12f4-4ddf-a40d-0a51732521483.gif)
![C語(yǔ)言b程序b設(shè)計(jì)(5)[學(xué)校資料]_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/87ffc435-12f4-4ddf-a40d-0a5173252148/87ffc435-12f4-4ddf-a40d-0a51732521484.gif)
![C語(yǔ)言b程序b設(shè)計(jì)(5)[學(xué)校資料]_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/14/87ffc435-12f4-4ddf-a40d-0a5173252148/87ffc435-12f4-4ddf-a40d-0a51732521485.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1教育類2參考書(shū)與課時(shí)安排參考書(shū)與課時(shí)安排 參考書(shū)參考書(shū)C C程序設(shè)計(jì)程序設(shè)計(jì)( (第三版第三版) ) 譚浩強(qiáng)譚浩強(qiáng) 清華大學(xué)清華大學(xué)出版社出版社全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程C C語(yǔ)言程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì) 課時(shí)安排課時(shí)安排授課:授課:3636學(xué)時(shí)學(xué)時(shí)上機(jī):上機(jī):2828學(xué)時(shí)學(xué)時(shí)2教育類2 上機(jī)安排上機(jī)安排 上機(jī)地點(diǎn):計(jì)算中心機(jī)房上機(jī)地點(diǎn):計(jì)算中心機(jī)房 上機(jī)實(shí)驗(yàn)題目:上機(jī)實(shí)驗(yàn)題目:隨上課進(jìn)度布置隨上課進(jìn)度布置 要求:要求:上機(jī)實(shí)驗(yàn)題目要上機(jī)實(shí)驗(yàn)題目要事先事先做在紙上做在紙上3教育類2課程要求課程要求 課前做好課前做好預(yù)習(xí)預(yù)習(xí) 保持課堂安靜,認(rèn)真保持課堂安靜,認(rèn)真聽(tīng)講、思考
2、聽(tīng)講、思考 上課、上機(jī)上課、上機(jī)考勤考勤 上機(jī)實(shí)驗(yàn)題目、作業(yè)必須上機(jī)實(shí)驗(yàn)題目、作業(yè)必須獨(dú)立、按時(shí)獨(dú)立、按時(shí)完成,完成,且經(jīng)且經(jīng)上機(jī)調(diào)試上機(jī)調(diào)試 重視上機(jī)實(shí)踐重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間,有效利用寶貴的上機(jī)時(shí)間4教育類2考考 核核期末期末: :全校統(tǒng)一考試、閉卷、筆試全校統(tǒng)一考試、閉卷、筆試平時(shí)平時(shí)成績(jī)成績(jī)10%+實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)成績(jī)10%+期末考試期末考試80%5教育類2第1章 C語(yǔ)言概述v 為什么要學(xué)習(xí)為什么要學(xué)習(xí)C C語(yǔ)言語(yǔ)言v C C語(yǔ)言發(fā)展歷史語(yǔ)言發(fā)展歷史v C C語(yǔ)言特點(diǎn)語(yǔ)言特點(diǎn)v C C程序格式和結(jié)構(gòu)特點(diǎn)(程序格式和結(jié)構(gòu)特點(diǎn)(重點(diǎn))重點(diǎn))v C C程序的開(kāi)發(fā)過(guò)程程序的開(kāi)發(fā)過(guò)程(
3、重點(diǎn))重點(diǎn))6教育類2為什么要學(xué)習(xí)為什么要學(xué)習(xí)C語(yǔ)言語(yǔ)言本課程是向?qū)W習(xí)者介紹結(jié)構(gòu)化(模塊化)程序設(shè)計(jì)本課程是向?qū)W習(xí)者介紹結(jié)構(gòu)化(模塊化)程序設(shè)計(jì)的基本思想和方法,的基本思想和方法,了解用計(jì)算機(jī)解決問(wèn)題的一般方法,了解用計(jì)算機(jī)解決問(wèn)題的一般方法,掌握程序設(shè)計(jì)的思路和基本方法,掌握程序設(shè)計(jì)的思路和基本方法,掌握編寫(xiě)和調(diào)試簡(jiǎn)單應(yīng)用程序的方法,掌握編寫(xiě)和調(diào)試簡(jiǎn)單應(yīng)用程序的方法,使學(xué)習(xí)者養(yǎng)成利用計(jì)算機(jī)解決工作、生活中的實(shí)際使學(xué)習(xí)者養(yǎng)成利用計(jì)算機(jī)解決工作、生活中的實(shí)際問(wèn)題的習(xí)慣,提高計(jì)算機(jī)方面的能力和素質(zhì)。問(wèn)題的習(xí)慣,提高計(jì)算機(jī)方面的能力和素質(zhì)。 7教育類2程序設(shè)計(jì)語(yǔ)言程序設(shè)計(jì)語(yǔ)言C語(yǔ)言是一種程序設(shè)計(jì)語(yǔ)言
4、。語(yǔ)言是一種程序設(shè)計(jì)語(yǔ)言。那么什么是程序設(shè)計(jì)語(yǔ)言?那么什么是程序設(shè)計(jì)語(yǔ)言?是用來(lái)編寫(xiě)計(jì)算機(jī)程序的語(yǔ)言是用來(lái)編寫(xiě)計(jì)算機(jī)程序的語(yǔ)言C語(yǔ)言程序語(yǔ)言程序:#include main( ) float x; x=56+2*sqrt(24)/(85-34); printf(%f ,x); 348524256 算式:算式:舉例舉例8教育類2CPU指令系統(tǒng),由指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成序列構(gòu)成的指令碼組成如:如:10000000 加加 10010000 減減用助記符號(hào)描述的指令系統(tǒng)用助記符號(hào)描述的指令系統(tǒng)如如 ADD A, B面向機(jī)器的語(yǔ)言面向機(jī)器的語(yǔ)言機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言面向過(guò)程面向?qū)ο蟪绦?/p>
5、設(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程程序設(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程1.1 C語(yǔ)言的發(fā)展歷史語(yǔ)言的發(fā)展歷史程序設(shè)計(jì)語(yǔ)言的發(fā)展程序設(shè)計(jì)語(yǔ)言的發(fā)展 9教育類2 產(chǎn)生背景產(chǎn)生背景 產(chǎn)生過(guò)程產(chǎn)生過(guò)程 時(shí)間時(shí)間:19721973 地點(diǎn)地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室美國(guó)貝爾實(shí)驗(yàn)室 目的目的:UNIX操作系統(tǒng)操作系統(tǒng) 設(shè)計(jì)人設(shè)計(jì)人: Ken.Thompson和和Dennis.M.Ritchie C標(biāo)準(zhǔn)標(biāo)準(zhǔn) 標(biāo)準(zhǔn)標(biāo)準(zhǔn)C: K&R合著合著The C Programming Language ANSI C: 1983年年 87 ANSI C: 1987年年 1990年國(guó)際標(biāo)準(zhǔn)的年國(guó)際標(biāo)準(zhǔn)的ANSI C C語(yǔ)言發(fā)展過(guò)程語(yǔ)言發(fā)展過(guò)程10教
6、育類2 語(yǔ)言簡(jiǎn)潔、緊湊、靈活語(yǔ)言簡(jiǎn)潔、緊湊、靈活運(yùn)算符和數(shù)據(jù)類型豐富運(yùn)算符和數(shù)據(jù)類型豐富 程序設(shè)計(jì)結(jié)構(gòu)化、模塊化程序設(shè)計(jì)結(jié)構(gòu)化、模塊化 生成目標(biāo)代碼質(zhì)量高生成目標(biāo)代碼質(zhì)量高 可移植性好可移植性好1.2 C語(yǔ)言特點(diǎn)語(yǔ)言特點(diǎn)11教育類232個(gè)關(guān)鍵字:(auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voi
7、dvolatile while12教育類29種控制語(yǔ)句: if( )else for( ) while( ) dowhile( ) continue break switch goto return13教育類2例例 C語(yǔ)言與語(yǔ)言與Pascal語(yǔ)言比較語(yǔ)言比較C語(yǔ)言語(yǔ)言 Pascal語(yǔ)言語(yǔ)言 含義含義 BEGIN.END 復(fù)合語(yǔ)句復(fù)合語(yǔ)句if(e) s; IF(e) THEN s 條件語(yǔ)句條件語(yǔ)句int i ; VAR i:INTEGER 定義定義i為整型變量為整型變量 int a10; VAR a:ARRAY1.10 OF INTEGER 定義整型數(shù)組定義整型數(shù)組aint f( ); FUNC
8、TION f( ):INTEGER 定義定義f為返值整型的函數(shù)為返值整型的函數(shù)int *p; VAR p: INTEGER 定義定義p為指向整型變量的指針為指向整型變量的指針i+= 2; i=i+2 賦值賦值i+2ii+,+i; i=i+1 i自增值自增值結(jié)論:結(jié)論:C比比 Pascal簡(jiǎn)練,源程序短。簡(jiǎn)練,源程序短。14教育類234種運(yùn)算符:算術(shù)運(yùn)算符:算術(shù)運(yùn)算符:+ - + - * * / % + - / % + -關(guān)系運(yùn)算符:關(guān)系運(yùn)算符: = != = !=邏輯運(yùn)算符:!邏輯運(yùn)算符:! & |& |位運(yùn)算符位運(yùn)算符 : | & | &賦值運(yùn)算符:賦值運(yùn)算符
9、:= = 及其擴(kuò)展及其擴(kuò)展條件運(yùn)算符:條件運(yùn)算符:?:?:逗號(hào)運(yùn)算符:逗號(hào)運(yùn)算符:, ,指針運(yùn)算符:指針運(yùn)算符:* * & &求字節(jié)數(shù)求字節(jié)數(shù) :sizeofsizeof強(qiáng)制類型轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換:( (類型)類型)分量運(yùn)算符:分量運(yùn)算符:. -. -下標(biāo)運(yùn)算符:下標(biāo)運(yùn)算符:其它其它 :( ) -( ) -15教育類2C C數(shù)數(shù)據(jù)據(jù)類類型型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型voidvoid定義類型定義類型typedeftypedef數(shù)值類型字符類型字符類型charchar枚舉類型枚舉類型enumenum整整 型型實(shí)實(shí) 型型單精度型單精度型floatfl
10、oat雙精度型雙精度型doubledouble短整型短整型shortshort長(zhǎng)整型長(zhǎng)整型longlong整型整型intint數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體structstruct共用體共用體unionunion16教育類2結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu):結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu):順序結(jié)構(gòu):按語(yǔ)句的書(shū)寫(xiě)順序依次執(zhí)行順序結(jié)構(gòu):按語(yǔ)句的書(shū)寫(xiě)順序依次執(zhí)行 分支結(jié)構(gòu):根據(jù)條件有選擇地執(zhí)行某部分語(yǔ)句分支結(jié)構(gòu):根據(jù)條件有選擇地執(zhí)行某部分語(yǔ)句循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) :循環(huán)條件:循環(huán)條件+循環(huán)體循環(huán)體程序設(shè)計(jì)結(jié)構(gòu)化、模塊化程序設(shè)計(jì)結(jié)構(gòu)化、模塊化17教育類2例例1.1 第一個(gè)程序,打印第一個(gè)程序,打印 Hello, How
11、do you do!/* example1.1 The first C Program*/#include main( ) printf(Hello,How do you do! );注釋編譯預(yù)處理命令主函數(shù)輸出:輸出:Hello, How do you do!1.3 C C程序格式和結(jié)構(gòu)特點(diǎn)程序格式和結(jié)構(gòu)特點(diǎn)輸出語(yǔ)句18教育類2例例1.2 計(jì)算兩個(gè)數(shù)的和,并在顯示器上輸出結(jié)果計(jì)算兩個(gè)數(shù)的和,并在顯示器上輸出結(jié)果。 #include main( ) float x, y, sum ; /* 定義變量定義變量 */ x=4.6, y=7.85 ; sum=x+y ; printf(x+y=%.2
12、f,sum) ; 注釋編譯預(yù)處理命令主函數(shù)輸出:輸出:x+y=12.45輸出語(yǔ)句賦值語(yǔ)句19教育類2例例1.3/* example1.3 calculate the sum of a and b*/#include /* This is the main program */main( ) int a,b,sum; a=10; b=24; sum=add(a,b); printf(sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);
13、運(yùn)行結(jié)果:運(yùn)行結(jié)果:sum=34函數(shù)編譯預(yù)處理命令語(yǔ)句注釋20教育類2例例1.2 計(jì)算兩個(gè)數(shù)的和,并在顯示器上輸出結(jié)果計(jì)算兩個(gè)數(shù)的和,并在顯示器上輸出結(jié)果。 #include main( ) float x, y, sum ; /* 定義變量定義變量 */ x=4.6, y=7.85 ; sum=x+y ; printf(x+y=%.2f,sum) ; 注釋編譯預(yù)處理命令主函數(shù)輸出:輸出:x+y=12.45輸出語(yǔ)句賦值語(yǔ)句解析:解析: #include預(yù)處理命令 預(yù)處理命令以預(yù)處理命令以“# #”開(kāi)頭開(kāi)頭,一般放在最前面一般放在最前面。 #include s t d i o . h 表 示 標(biāo)
14、 準(zhǔn) 輸 入 輸 出 頭 文 件表 示 標(biāo) 準(zhǔn) 輸 入 輸 出 頭 文 件 (standard input/output header)。 main( )函數(shù)函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成。函數(shù)是程序由一個(gè)或多個(gè)函數(shù)組成。函數(shù)是C程序的基本單位。程序的基本單位。必須有且只能有一個(gè)主函數(shù)必須有且只能有一個(gè)主函數(shù)main( )。程序執(zhí)行從程序執(zhí)行從main開(kāi)始,在開(kāi)始,在main中結(jié)束,其它函數(shù)通過(guò)調(diào)中結(jié)束,其它函數(shù)通過(guò)調(diào)用得以執(zhí)行。用得以執(zhí)行。 語(yǔ)句 C程序由語(yǔ)句組成,每一個(gè)語(yǔ)句用程序由語(yǔ)句組成,每一個(gè)語(yǔ)句用“;”作為終作為終止符。止符。 花括號(hào)花括號(hào) 注釋/* */ 在在“/”和和“*”之間不能
15、有空格,且之間不能有空格,且“/*”和和“*/”必須配對(duì)使用。必須配對(duì)使用。 注釋是供人閱讀的,并不參與編譯和運(yùn)行。注釋是供人閱讀的,并不參與編譯和運(yùn)行。 注釋可以出現(xiàn)在程序的任何地方。一個(gè)較長(zhǎng)的注釋可以單放一行,或注釋可以出現(xiàn)在程序的任何地方。一個(gè)較長(zhǎng)的注釋可以單放一行,或者是多行。者是多行。 添加必要的注釋可以提高程序的可讀性。添加必要的注釋可以提高程序的可讀性。 21教育類2main( ) . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(%dn,sum);
16、格式特點(diǎn)格式特點(diǎn) 習(xí)慣用習(xí)慣用小寫(xiě)小寫(xiě)字母字母,字母字母大小大小寫(xiě)不同寫(xiě)不同。 語(yǔ)句以分號(hào)(語(yǔ)句以分號(hào)(;)結(jié)束。)結(jié)束。 程序的書(shū)寫(xiě)格式靈活。程序的書(shū)寫(xiě)格式靈活。 必須成對(duì)出現(xiàn)必須成對(duì)出現(xiàn) 。 /* 注釋信息注釋信息 */ 常用縮進(jìn)(常用縮進(jìn)(鋸齒形鋸齒形)格式書(shū)寫(xiě)。)格式書(shū)寫(xiě)。22教育類2 結(jié)構(gòu)特點(diǎn)結(jié)構(gòu)特點(diǎn)程序由一個(gè)或多個(gè)函數(shù)組成。程序由一個(gè)或多個(gè)函數(shù)組成。函數(shù)是函數(shù)是C程序的基本單位。程序的基本單位。 必須有且只能有一個(gè)主函數(shù)必須有且只能有一個(gè)主函數(shù)main( )。 程序執(zhí)行從程序執(zhí)行從main開(kāi)始,在開(kāi)始,在main中結(jié)束,其它函數(shù)通過(guò)調(diào)用得中結(jié)束,其它函數(shù)通過(guò)調(diào)用得以執(zhí)行。以執(zhí)行。
17、main函數(shù)可以程序的放在任何函數(shù)可以程序的放在任何位置。位置。23教育類2編輯鏈接編譯執(zhí)行1.4 C C程序的開(kāi)發(fā)過(guò)程程序的開(kāi)發(fā)過(guò)程程序代碼的錄入程序代碼的錄入, ,生成源程序生成源程序* *.c.c語(yǔ)法分析查錯(cuò),翻譯語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序生成目標(biāo)程序* *.obj.obj與其它目標(biāo)程序或庫(kù)與其它目標(biāo)程序或庫(kù)鏈接裝配鏈接裝配, ,生成可執(zhí)行生成可執(zhí)行程序程序* *.exe.exe一、C程序開(kāi)發(fā)步驟 開(kāi)開(kāi) 始始 編編 輯輯 編編 譯譯 連連 接接 執(zhí)執(zhí) 行行 有有 錯(cuò)?錯(cuò)? 結(jié)果正確?結(jié)果正確? 結(jié)結(jié) 束束 有有 源程序源程序File.c目標(biāo)程序目標(biāo)程序file.obj庫(kù)函數(shù)和其庫(kù)函數(shù)
18、和其它目標(biāo)程序它目標(biāo)程序可執(zhí)行可執(zhí)行目標(biāo)程序目標(biāo)程序file.exe無(wú)無(wú) 正確正確 不正確不正確源程序目標(biāo)程序可執(zhí)行程序內(nèi)容程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言機(jī)器語(yǔ)言可執(zhí)行不可以不可以可以文件名后綴.c.obj.exe24教育類2 語(yǔ)法錯(cuò)誤(語(yǔ)法錯(cuò)誤(Syntax ErrorSyntax Error)如何檢測(cè)程序的語(yǔ)法錯(cuò)誤如何檢測(cè)程序的語(yǔ)法錯(cuò)誤: :編譯前瀏覽程序的源代碼看是否有明顯的錯(cuò)誤;編譯前瀏覽程序的源代碼看是否有明顯的錯(cuò)誤;編譯時(shí)編譯時(shí), ,當(dāng)編譯程序發(fā)現(xiàn)語(yǔ)法錯(cuò)誤時(shí),會(huì)把這些錯(cuò)誤當(dāng)編譯程序發(fā)現(xiàn)語(yǔ)法錯(cuò)誤時(shí),會(huì)把這些錯(cuò)誤的位置指出,并告訴您錯(cuò)誤的原因,即可以根據(jù)編譯程的位置指出,并告訴您錯(cuò)誤的原因,即可
19、以根據(jù)編譯程序所給予的信息更正錯(cuò)誤。序所給予的信息更正錯(cuò)誤。二、常見(jiàn)錯(cuò)誤分析25教育類2注意:注意: 某位置上一個(gè)真正的語(yǔ)法錯(cuò)誤可能導(dǎo)致編譯器誤認(rèn)為某位置上一個(gè)真正的語(yǔ)法錯(cuò)誤可能導(dǎo)致編譯器誤認(rèn)為它發(fā)現(xiàn)了其他錯(cuò)誤。它發(fā)現(xiàn)了其他錯(cuò)誤。 例如,示例程序中未能正確聲明例如,示例程序中未能正確聲明n2, n3n2, n3,當(dāng)后面用到這些變量,當(dāng)后面用到這些變量時(shí),編譯器可能會(huì)發(fā)現(xiàn)更多錯(cuò)誤。實(shí)際上不用立刻試圖改正所有發(fā)現(xiàn)時(shí),編譯器可能會(huì)發(fā)現(xiàn)更多錯(cuò)誤。實(shí)際上不用立刻試圖改正所有發(fā)現(xiàn)的錯(cuò)誤,只是修改前一個(gè)或前兩個(gè),然后重新編譯,其余的某些錯(cuò)誤的錯(cuò)誤,只是修改前一個(gè)或前兩個(gè),然后重新編譯,其余的某些錯(cuò)誤就可能會(huì)
20、消失。一直這樣做直到程序能夠運(yùn)行為止。就可能會(huì)消失。一直這樣做直到程序能夠運(yùn)行為止。 發(fā)現(xiàn)的錯(cuò)誤位置比真正的錯(cuò)誤要滯后一行。發(fā)現(xiàn)的錯(cuò)誤位置比真正的錯(cuò)誤要滯后一行。 例如,編譯器要編譯下一行時(shí)才發(fā)現(xiàn)上一行缺少了一個(gè)分號(hào),例如,編譯器要編譯下一行時(shí)才發(fā)現(xiàn)上一行缺少了一個(gè)分號(hào),因此如果編譯器指出某行少了一個(gè)分號(hào)請(qǐng)檢查上一行。因此如果編譯器指出某行少了一個(gè)分號(hào)請(qǐng)檢查上一行。26教育類2語(yǔ)義錯(cuò)誤(語(yǔ)義錯(cuò)誤(Semantic Error) 如何檢測(cè)程序的語(yǔ)義錯(cuò)誤如何檢測(cè)程序的語(yǔ)義錯(cuò)誤: :比較程序?qū)嶋H得到的結(jié)果和你預(yù)期的結(jié)果;比較程序?qū)嶋H得到的結(jié)果和你預(yù)期的結(jié)果;按照程序的執(zhí)行順序通過(guò)手工方式一步一步跟蹤
21、程序,按照程序的執(zhí)行順序通過(guò)手工方式一步一步跟蹤程序,并記錄每個(gè)變量,從而可以監(jiān)視程序狀態(tài)以便發(fā)現(xiàn)是否存在并記錄每個(gè)變量,從而可以監(jiān)視程序狀態(tài)以便發(fā)現(xiàn)是否存在語(yǔ)義錯(cuò)誤,但注意一定要按照你實(shí)際所寫(xiě)的代碼去執(zhí)行而不語(yǔ)義錯(cuò)誤,但注意一定要按照你實(shí)際所寫(xiě)的代碼去執(zhí)行而不要按照你期望的那樣去執(zhí)行。要按照你期望的那樣去執(zhí)行。二、常見(jiàn)錯(cuò)誤分析27教育類2當(dāng)問(wèn)題規(guī)模太大時(shí),當(dāng)問(wèn)題規(guī)模太大時(shí),可以選擇跟蹤其中的一小部分可以選擇跟蹤其中的一小部分在程序的關(guān)鍵處加入額外的在程序的關(guān)鍵處加入額外的printf( )printf( )語(yǔ)句以監(jiān)視所選語(yǔ)句以監(jiān)視所選的變量的值,使用完后再去掉的變量的值,使用完后再去掉pri
22、ntf( )printf( )語(yǔ)句;語(yǔ)句;利用調(diào)試器,調(diào)試器是一種程序,它能夠運(yùn)行另一個(gè)程利用調(diào)試器,調(diào)試器是一種程序,它能夠運(yùn)行另一個(gè)程序并檢查該程序的變量。序并檢查該程序的變量。28教育類2 編譯器的警告消息編譯器的警告消息 警告表明盡管代碼正確,但有可能不是程序員所需要警告表明盡管代碼正確,但有可能不是程序員所需要的。警告不終止編譯。的。警告不終止編譯。二、常見(jiàn)錯(cuò)誤分析29教育類2三、 Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用1.啟動(dòng)啟動(dòng)Visual C+6.0Windows2000(/Windows xp)/開(kāi)始開(kāi)始/程序程序/ Microsoft Visual Studio 6.
23、0/ Microsoft Visual C+ 6.030教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用1.啟動(dòng)啟動(dòng)Visual C+6.0啟動(dòng)后啟動(dòng)后31教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用2. 在指定位置在指定位置D: 創(chuàng)建創(chuàng)建C源程序文件源程序文件文件文件新建新建“文件文件”選項(xiàng)卡選項(xiàng)卡C+ source File xxx.c與目錄與目錄32教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用3.輸入輸入C源程序源程序33教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用4. 編譯,將編譯,將C源程序文件翻譯成目標(biāo)文件源程序文件翻譯成目標(biāo)文件.obj編譯編譯編譯編譯
24、xxx.c34教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用 4. 編譯,將編譯,將C源程序文件翻譯成目標(biāo)文件源程序文件翻譯成目標(biāo)文件.obj 編譯前提示是否創(chuàng)建默認(rèn)的項(xiàng)目工作區(qū)編譯前提示是否創(chuàng)建默認(rèn)的項(xiàng)目工作區(qū)(workspace)?35教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用4. 編譯,將編譯,將C源程序文件翻譯成目標(biāo)文件源程序文件翻譯成目標(biāo)文件.obj每創(chuàng)建一個(gè)每創(chuàng)建一個(gè)c程序程序, VC都會(huì)創(chuàng)建一個(gè)相應(yīng)的工作區(qū)都會(huì)創(chuàng)建一個(gè)相應(yīng)的工作區(qū)(workspace)。所謂所謂“工作區(qū)工作區(qū)”是一種管理是一種管理C程序的方法。一個(gè)程序的方法。一個(gè)C程序通程序通常包含源代碼文件常包
25、含源代碼文件(.c)、工作區(qū)文件、工作區(qū)文件(.dsw)、工作區(qū)配置文、工作區(qū)配置文件件(.opt)等,還有調(diào)試子文件夾等,還有調(diào)試子文件夾(debug) 。程序員通常只需創(chuàng)建源代碼文件,其他文件在編譯期間自程序員通常只需創(chuàng)建源代碼文件,其他文件在編譯期間自動(dòng)生成。動(dòng)生成。36教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用4. 編譯,將編譯,將C源程序文件翻譯成目標(biāo)文件源程序文件翻譯成目標(biāo)文件.obj編譯結(jié)果編譯結(jié)果37教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用4. 編譯,將編譯,將C源程序文件翻譯成目標(biāo)文件源程序文件翻譯成目標(biāo)文件.obj編譯通過(guò)時(shí)編譯通過(guò)時(shí),可以在工作區(qū)視圖
26、中看到目前創(chuàng)建的模塊和文件結(jié)構(gòu)。可以在工作區(qū)視圖中看到目前創(chuàng)建的模塊和文件結(jié)構(gòu)。38教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用 5. 連接連接,將目標(biāo)文件將目標(biāo)文件.obj與系統(tǒng)文件連接成可執(zhí)行文件與系統(tǒng)文件連接成可執(zhí)行文件xxx.exe編譯編譯構(gòu)件構(gòu)件xxx.exe39教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用 6. 執(zhí)行,將可執(zhí)行文件執(zhí)行,將可執(zhí)行文件xxx.exe裝載到內(nèi)存并執(zhí)行裝載到內(nèi)存并執(zhí)行編譯編譯執(zhí)行執(zhí)行xxx.exe40教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用 6. 執(zhí)行,將可執(zhí)行文件執(zhí)行,將可執(zhí)行文件xxx.exe裝載到內(nèi)存并執(zhí)行裝載到內(nèi)存并執(zhí)行
27、執(zhí)行的結(jié)果執(zhí)行的結(jié)果41教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用此時(shí),在位置此時(shí),在位置D:創(chuàng)建了一個(gè)創(chuàng)建了一個(gè)C程序程序debuga.exea.dswa.cD:42教育類2Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用 7. 關(guān)閉工作區(qū),創(chuàng)建下一個(gè)關(guān)閉工作區(qū),創(chuàng)建下一個(gè)C程序。程序。43教育類2debuga.exeb.exea.dswa.cb.dswb.cD:D:Visual C+6.0集成開(kāi)發(fā)環(huán)境及其使用如何運(yùn)行之前創(chuàng)建的如何運(yùn)行之前創(chuàng)建的C程序?程序?文件文件打開(kāi)工作區(qū)打開(kāi)工作區(qū) *.dsw文件文件44教育類2四四、Turbo C集成開(kāi)發(fā)環(huán)境及其使用45教育類2有兩種方法。有兩
28、種方法。n在在WINDOS 下,雙擊我的電腦在下,雙擊我的電腦在c盤(pán)或其它盤(pán)上盤(pán)或其它盤(pán)上找到找到Turbo C或或TC圖標(biāo)并雙擊它,再雙擊圖標(biāo)并雙擊它,再雙擊TC.exe文件。文件。n在在DOS提示符下鍵入:提示符下鍵入:TCF10Turbo C集成開(kāi)發(fā)環(huán)境及其使用46教育類21. 逐個(gè)輸入字符逐個(gè)輸入字符2. 刪除一個(gè)字符:按刪除一個(gè)字符:按delete鍵鍵3. 插入字符插入字符4. 插入一行:插入一行: Ctrl+n 5. 刪除一行:刪除一行: Ctrl+y6. 刪除一個(gè)單詞:刪除一個(gè)單詞:Ctrl+t7. 定義塊首:定義塊首:Ctrl+kb; 定義塊尾:定義塊尾:Ctrl+kk8. 刪
29、除一個(gè)塊:刪除一個(gè)塊:Ctrl+ky9. 復(fù)制一個(gè)塊:復(fù)制一個(gè)塊:Ctrl+kc10. 移動(dòng)一個(gè)塊:移動(dòng)一個(gè)塊:Ctrl+kv47教育類21. 不改文件名:不改文件名:F10FILE Save ( F2 ) 回車(chē)回車(chē)2. 改文件名:改文件名:F10 FILE Write To 回車(chē)回車(chē)輸入輸入新的文件名新的文件名48教育類21. F10FILE Load (F3) 顯示的是上次打開(kāi)的文件名,在其中輸入所顯示的是上次打開(kāi)的文件名,在其中輸入所需的文件名即可。需的文件名即可。2. 選擇文件名選擇文件名 Load(F3) *.c回車(chē)回車(chē)3. 從本次用過(guò)的文件名中查找從本次用過(guò)的文件名中查找 FILE
30、 Pick: 顯示的是本次上機(jī)剛剛調(diào)用過(guò)顯示的是本次上機(jī)剛剛調(diào)用過(guò)的文件名,縮小了查找范圍。的文件名,縮小了查找范圍。4. 不僅輸入文件名,而且搜索所有類型文件。不僅輸入文件名,而且搜索所有類型文件。 *.*49教育類2 F10 File DOS Shell 在在DOS下進(jìn)行文件管理下進(jìn)行文件管理 在在DOS提示符下輸入提示符下輸入exit返回返回Turbo C50教育類2按按 F9 鍵鍵Ctrl + F9Alt + F5(十)(十)程序調(diào)試:程序調(diào)試: F8-Step over F7-Trace into F4-Goto Cursor Ctrl+F7-Add Watch Ctrl+F8-To
31、ggle Breakpoint Ctrl+F2-Program Reset51教育類2TC的使用的演示的使用的演示:小結(jié)小結(jié): C語(yǔ)言歷史語(yǔ)言歷史/ 特點(diǎn)特點(diǎn)/ 格式和結(jié)構(gòu)特點(diǎn)格式和結(jié)構(gòu)特點(diǎn)/ 開(kāi)發(fā)過(guò)程開(kāi)發(fā)過(guò)程52教育類21.5* * 程序設(shè)計(jì)與算法(程序設(shè)計(jì)與算法(選講選講)(一)程序設(shè)計(jì)(一)程序設(shè)計(jì)1. 對(duì)于較小的簡(jiǎn)單問(wèn)題對(duì)于較小的簡(jiǎn)單問(wèn)題, ,一般采用下列步驟進(jìn)行程序設(shè)計(jì):一般采用下列步驟進(jìn)行程序設(shè)計(jì):分析問(wèn)題(已知分析問(wèn)題(已知, ,要解決的問(wèn)題要解決的問(wèn)題, ,解決問(wèn)題的條件)解決問(wèn)題的條件)確定算法確定算法( (一步步解決問(wèn)題的過(guò)程一步步解決問(wèn)題的過(guò)程) ) 編寫(xiě)程序編寫(xiě)程序 5
32、3教育類21.5* * 程序設(shè)計(jì)與算法(程序設(shè)計(jì)與算法(選講選講)例如例如: :計(jì)算矩形的周長(zhǎng)和面積計(jì)算矩形的周長(zhǎng)和面積1.1.分析問(wèn)題:分析問(wèn)題:為了計(jì)算矩形的周長(zhǎng)和面積,需要知道矩形的長(zhǎng)度和寬度,矩形的周長(zhǎng)和面積為了計(jì)算矩形的周長(zhǎng)和面積,需要知道矩形的長(zhǎng)度和寬度,矩形的周長(zhǎng)和面積則由下面的算法給出:則由下面的算法給出: Perimeter=2Perimeter=2* *(length+width)(length+width) Area=length Area=length* *widthwidth2.2. 確定算法確定算法: 輸入矩形的長(zhǎng)度輸入矩形的長(zhǎng)度lengthlength、寬度、寬度
33、widthwidth用下面的算法計(jì)算矩形的周長(zhǎng)和面積用下面的算法計(jì)算矩形的周長(zhǎng)和面積 Perimeter=2Perimeter=2* *(length+width)(length+width) Area=length Area=length* *widthwidth輸出矩形的周長(zhǎng)和面積(輸出矩形的周長(zhǎng)和面積(PerimeterPerimeter和和AreaArea)3.3.編寫(xiě)程序編寫(xiě)程序 :main( )main( ) int length int length,width ,perimeterwidth ,perimeter,area; area; scanf( scanf(%d%d%d%d,&length,&width);,&length,&width); perimeter=2 perimeter=2* *(l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)浴加盟合同范例
- 合肥鋼管出租合同范例
- 代建開(kāi)發(fā)合同范本
- 識(shí)字研究課題申報(bào)書(shū)
- 天津小學(xué)課題申報(bào)書(shū)格式
- 住房公積金優(yōu)化調(diào)整讓民生更加溫暖
- 農(nóng)業(yè)機(jī)具代理合同范本
- 合同范本正版
- 上海樓梯合同范本
- 人力公司墊資合同范本
- 【MOOC】消費(fèi)者行為學(xué)-湖南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 廣東省茂名市高州市五校聯(lián)考2024-2025學(xué)年高一上學(xué)期12月月考化學(xué)試題(含答案)
- 農(nóng)村飲水協(xié)議書(shū)(2篇)
- GB/T 44787-2024靜電控制參數(shù)實(shí)時(shí)監(jiān)控系統(tǒng)通用規(guī)范
- 《女性服裝搭配》課件
- 鐵路施工職業(yè)病預(yù)防
- 《香草天地》課件
- 2024年廣東省公務(wù)員考試《行測(cè)》真題及答案解析
- 皮牽引骨牽引護(hù)理
- 花城版音樂(lè)七年級(jí)下冊(cè)全冊(cè)教案
- 《游園》課件統(tǒng)編版高中語(yǔ)文必修下冊(cè)
評(píng)論
0/150
提交評(píng)論