C語(yǔ)言程序設(shè)計(jì)教程第2版課件_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程第2版課件_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程第2版課件_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程第2版課件_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程第2版課件_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)教程第2版1 第第1章章 C語(yǔ)言概述語(yǔ)言概述 本章要點(diǎn)本章要點(diǎn): C語(yǔ)言的發(fā)展史語(yǔ)言的發(fā)展史 C語(yǔ)言的特點(diǎn)語(yǔ)言的特點(diǎn) C語(yǔ)言程序的基本構(gòu)成語(yǔ)言程序的基本構(gòu)成 C語(yǔ)言程序的編譯過(guò)程語(yǔ)言程序的編譯過(guò)程 C語(yǔ)言程序上機(jī)常用菜單介紹語(yǔ)言程序上機(jī)常用菜單介紹 C語(yǔ)言程序設(shè)計(jì)教程第2版2 1.1 C語(yǔ)言的發(fā)展史語(yǔ)言的發(fā)展史 C語(yǔ)言由語(yǔ)言由Dennis Ritchie設(shè)計(jì)設(shè)計(jì) ,是由一種早期的編程語(yǔ)言,是由一種早期的編程語(yǔ)言 BCPL發(fā)展演變而來(lái)的發(fā)展演變而來(lái)的 。 美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)為美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)為C語(yǔ)言制定了一套語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn),成為標(biāo)準(zhǔn),成為 先行的先行的 C語(yǔ)言標(biāo)準(zhǔn)。語(yǔ)言標(biāo)

2、準(zhǔn)。 1977年出現(xiàn)了不依賴于具體機(jī)器的年出現(xiàn)了不依賴于具體機(jī)器的C語(yǔ)言編譯文本語(yǔ)言編譯文本可可 移植移植C語(yǔ)言編譯程序語(yǔ)言編譯程序,使,使C移植到其它機(jī)器時(shí)所做工移植到其它機(jī)器時(shí)所做工 作大大簡(jiǎn)化作大大簡(jiǎn)化 。 在電腦上廣泛使用的在電腦上廣泛使用的C語(yǔ)言編譯系統(tǒng)有語(yǔ)言編譯系統(tǒng)有Microsoft C, Turbo C, Borland C等等 。 C語(yǔ)言程序設(shè)計(jì)教程第2版3 C語(yǔ)言的主要特點(diǎn)如下:語(yǔ)言的主要特點(diǎn)如下: 1.語(yǔ)言描述簡(jiǎn)潔、靈活、高效語(yǔ)言描述簡(jiǎn)潔、靈活、高效 i+=1 (i-); if (a) b ; 2.有豐富的數(shù)據(jù)類型有豐富的數(shù)據(jù)類型 4種最基本的數(shù)據(jù)類型(種最基本的數(shù)據(jù)類型

3、(char,int,float,double),), 多種組合類型(數(shù)組,結(jié)構(gòu)和枚舉等)多種組合類型(數(shù)組,結(jié)構(gòu)和枚舉等) 3.運(yùn)算符豐富運(yùn)算符豐富 45種標(biāo)準(zhǔn)的運(yùn)算符和與地址相關(guān)的指針運(yùn)算符種標(biāo)準(zhǔn)的運(yùn)算符和與地址相關(guān)的指針運(yùn)算符 4. C語(yǔ)言具有固定的標(biāo)識(shí)符語(yǔ)言具有固定的標(biāo)識(shí)符 共有共有32個(gè)例如個(gè)例如: int,,double,const,static, continue等等 5.提供了功能齊全的函數(shù)庫(kù)提供了功能齊全的函數(shù)庫(kù) 例如例如:串,數(shù)組,結(jié)構(gòu)乃至圖形的處理等串,數(shù)組,結(jié)構(gòu)乃至圖形的處理等 6.具有結(jié)構(gòu)化的控制語(yǔ)句具有結(jié)構(gòu)化的控制語(yǔ)句 3種結(jié)構(gòu)(順序,分支和循環(huán)結(jié)構(gòu))。如:種結(jié)構(gòu)(順

4、序,分支和循環(huán)結(jié)構(gòu))。如:if-else, while,switch,for等。等。 7.具有良好的通用性和程序的移植性具有良好的通用性和程序的移植性 8.生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高 i+=2 (i=i+2); 9.語(yǔ)法限制不嚴(yán)格語(yǔ)法限制不嚴(yán)格 (可寫系統(tǒng)軟件如(可寫系統(tǒng)軟件如:UNIX及應(yīng)用軟件)及應(yīng)用軟件) 另另:C:C語(yǔ)言的其他優(yōu)點(diǎn)語(yǔ)言的其他優(yōu)點(diǎn), ,同學(xué)們可在以后學(xué)習(xí)和實(shí)踐中體會(huì)同學(xué)們可在以后學(xué)習(xí)和實(shí)踐中體會(huì) 1.2 C語(yǔ)言的特點(diǎn)語(yǔ)言的特點(diǎn) C語(yǔ)言程序設(shè)計(jì)教程第2版4 1.3 C語(yǔ)言程序組成語(yǔ)言程序組成 先看幾個(gè)程序:先看幾個(gè)程序: 例例1.1

5、顯示:顯示:“What is your name?”。 main( ) printf(“What is your name?”); 程序的運(yùn)行結(jié)果程序的運(yùn)行結(jié)果: What is your name? C語(yǔ)言程序設(shè)計(jì)教程第2版5 例例1.2 計(jì)算兩個(gè)給定整數(shù)的和計(jì)算兩個(gè)給定整數(shù)的和 main( ) int a,b,sum; /* 這是定義變量這是定義變量 */ a=8; b=10; /* 以下以下3行為行為C語(yǔ)句語(yǔ)句 */ sum=a+b; printf (“ Sum is %d n”,sum); 程序的運(yùn)行結(jié)果程序的運(yùn)行結(jié)果: Sum is 18 C語(yǔ)言程序設(shè)計(jì)教程第2版6 例例1.3:從鍵

6、盤輸入兩個(gè)整數(shù)從鍵盤輸入兩個(gè)整數(shù),并將最大的數(shù)顯示出來(lái)。并將最大的數(shù)顯示出來(lái)。 #include /*包含預(yù)處理語(yǔ)句包含預(yù)處理語(yǔ)句*/ int max(int x,int y) int z; if(xy) z=x; else z=y; return(z ); main( ) int a,b,c; printf(“Please input two integers:n”) ; scanf(“%d,%d” , c=max(a,b); printf(“max=%dn”, c); 程序運(yùn)行情況: Please input two integers: 8,5 max=8 C語(yǔ)言程序設(shè)計(jì)教程第2版7 通過(guò)

7、以上例子可以看出:通過(guò)以上例子可以看出: 1.C程序至少要有一個(gè)程序至少要有一個(gè)main函數(shù),用戶也可以自己根據(jù)需要設(shè)函數(shù),用戶也可以自己根據(jù)需要設(shè) 計(jì)自己的函數(shù),像上面的計(jì)自己的函數(shù),像上面的max()函數(shù)。函數(shù)。 2.一個(gè)可執(zhí)行的一個(gè)可執(zhí)行的C語(yǔ)言程序總是從語(yǔ)言程序總是從main函數(shù)開始執(zhí)行,而不論函數(shù)開始執(zhí)行,而不論 其在整個(gè)程序中的位置如何。其在整個(gè)程序中的位置如何。 3.每條語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào)每條語(yǔ)句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào)(;)。 說(shuō)明:說(shuō)明:在以下三種情況下不允許有分號(hào):在以下三種情況下不允許有分號(hào): a.所定義的函數(shù)的名稱后面不使用分號(hào);所定義的函數(shù)的名稱

8、后面不使用分號(hào); b.在右花括號(hào)在右花括號(hào)“”后面不使用分號(hào);后面不使用分號(hào); c.預(yù)處理語(yǔ)句后面不使用分號(hào)。預(yù)處理語(yǔ)句后面不使用分號(hào)。 C語(yǔ)言程序設(shè)計(jì)教程第2版8 max( ) ; while(i=100) i+; s=s+i; ; #include ; 4. C語(yǔ)言中沒(méi)有專門的輸入,輸出語(yǔ)句。輸入輸出是通過(guò)語(yǔ)言中沒(méi)有專門的輸入,輸出語(yǔ)句。輸入輸出是通過(guò)scanf 和和printf 兩個(gè)庫(kù)函數(shù)實(shí)現(xiàn)的。兩個(gè)庫(kù)函數(shù)實(shí)現(xiàn)的。 5.C程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可 以分寫在多行上。以分寫在多行上。 6.可用可用/*/對(duì)對(duì)C程序

9、中的任何部分作注釋,注釋可以寫在程程序中的任何部分作注釋,注釋可以寫在程 序的任何位置上,序的任何位置上,“/*”與與“*/”也可不在同一行上。也可不在同一行上。 7.在在C語(yǔ)言中,大小寫字母是有區(qū)分的語(yǔ)言中,大小寫字母是有區(qū)分的(即大小寫敏感即大小寫敏感)。(。(C語(yǔ)語(yǔ) 言一般用小寫字母)言一般用小寫字母) C語(yǔ)言程序設(shè)計(jì)教程第2版9 得出一般得出一般C語(yǔ)言程序的構(gòu)成如下:語(yǔ)言程序的構(gòu)成如下: 函數(shù)類型函數(shù)類型 函數(shù)名(參數(shù)類型函數(shù)名(參數(shù)類型 參數(shù)名)參數(shù)名) /*自定義函數(shù)自定義函數(shù)*/ 函數(shù)體;函數(shù)體; main() 變量定義部分;變量定義部分; 語(yǔ)句執(zhí)行部分;語(yǔ)句執(zhí)行部分; /*語(yǔ)句

10、執(zhí)行部分包括調(diào)用自己定義的函數(shù)語(yǔ)句執(zhí)行部分包括調(diào)用自己定義的函數(shù)*/ C語(yǔ)言程序設(shè)計(jì)教程第2版10 1.4 C程序的執(zhí)行過(guò)程程序的執(zhí)行過(guò)程 1.1.編輯:選擇適當(dāng)?shù)木庉嫵绦蚓庉嫞哼x擇適當(dāng)?shù)木庉嫵绦? ,將將C C語(yǔ)言源程序通過(guò)鍵盤輸入到語(yǔ)言源程序通過(guò)鍵盤輸入到 計(jì)算機(jī)中計(jì)算機(jī)中, ,并以文件的形式存入到磁盤中(并以文件的形式存入到磁盤中(.C.C) 2.2.編譯:即將源程序翻譯成機(jī)器語(yǔ)言程序的過(guò)程。編譯出來(lái)的編譯:即將源程序翻譯成機(jī)器語(yǔ)言程序的過(guò)程。編譯出來(lái)的 程序稱為目標(biāo)程序(程序稱為目標(biāo)程序(.OBJ.OBJ) 3.3.連接:編譯后生成的目標(biāo)文件經(jīng)過(guò)連接后生成最終的可執(zhí)行連接:編譯后生成的

11、目標(biāo)文件經(jīng)過(guò)連接后生成最終的可執(zhí)行 程序(程序(.EXE.EXE) 4.4.運(yùn)行:運(yùn)行是將可執(zhí)行的目標(biāo)程序投入運(yùn)行,以獲取程序的運(yùn)行:運(yùn)行是將可執(zhí)行的目標(biāo)程序投入運(yùn)行,以獲取程序的 運(yùn)行結(jié)果;在操作系統(tǒng)中可以直接執(zhí)行擴(kuò)展名為運(yùn)行結(jié)果;在操作系統(tǒng)中可以直接執(zhí)行擴(kuò)展名為 (.EXE)(.EXE)的文件的文件 C語(yǔ)言程序設(shè)計(jì)教程第2版11 編 輯 編 譯 出 錯(cuò)? 連 接 出 錯(cuò)? 執(zhí) 行 結(jié)果正確? .C 源程序 .OBJ 目標(biāo)程序 .EXE 可執(zhí)行 程序 開始 結(jié)束 Y Y N Y N N 庫(kù)函數(shù)和其 它目標(biāo)程序 C語(yǔ)言程序設(shè)計(jì)教程第2版12 在在Turbo C 運(yùn)行運(yùn)行C程序的步驟程序的步驟:

12、 1.安裝安裝TC編譯器:編譯器: 將:將:將將tc的壓縮包的的壓縮包的tc.rar文件夾復(fù)制到文件夾復(fù)制到D盤,盤, 并解壓縮并解壓縮. 2.運(yùn)行運(yùn)行TC . 進(jìn)入解壓縮后的進(jìn)入解壓縮后的tc文件夾,雙擊文件夾,雙擊tc.exe ( d:tc ) C語(yǔ)言程序設(shè)計(jì)教程第2版13 Turboc2.0 常用采單命令介紹常用采單命令介紹 New: 打開一個(gè)新的窗口,用于建立一個(gè)新的文件。打開一個(gè)新的窗口,用于建立一個(gè)新的文件。 Open: 打開已存盤的文件或用于選擇要編輯的文件。打開已存盤的文件或用于選擇要編輯的文件。 Save: 對(duì)當(dāng)前活動(dòng)窗口的文件進(jìn)行存盤。對(duì)當(dāng)前活動(dòng)窗口的文件進(jìn)行存盤。 Sav

13、e all: 將所有編輯窗口的文件進(jìn)行存盤。將所有編輯窗口的文件進(jìn)行存盤。 Change dir: 設(shè)置當(dāng)前的工作目錄。設(shè)置當(dāng)前的工作目錄。 Os shell: 臨時(shí)退出編輯窗口,進(jìn)入臨時(shí)退出編輯窗口,進(jìn)入DOS狀態(tài);要返回編狀態(tài);要返回編 輯窗口,鍵入命令即可。輯窗口,鍵入命令即可。 Quit:退出退出Turboc。 1.文件菜單(文件菜單(File) C語(yǔ)言程序設(shè)計(jì)教程第2版14 Run: 運(yùn)行程序。運(yùn)行程序。 Program reset: 撤消當(dāng)前的調(diào)式操作,釋放分配給被調(diào)試撤消當(dāng)前的調(diào)式操作,釋放分配給被調(diào)試 程序的內(nèi)存空間,關(guān)閉所有被調(diào)試程序已打開的所以程序的內(nèi)存空間,關(guān)閉所有被調(diào)試

14、程序已打開的所以 文件。文件。 Go to cursor: 不設(shè)置永久斷點(diǎn),使程序運(yùn)行至光標(biāo)所在不設(shè)置永久斷點(diǎn),使程序運(yùn)行至光標(biāo)所在 行。行。 Trace into: 逐條語(yǔ)句執(zhí)行。并跟蹤進(jìn)入調(diào)用函數(shù)內(nèi)部。逐條語(yǔ)句執(zhí)行。并跟蹤進(jìn)入調(diào)用函數(shù)內(nèi)部。 Step over: 逐條語(yǔ)句執(zhí)行,不跟蹤進(jìn)入調(diào)用函數(shù)內(nèi)部。逐條語(yǔ)句執(zhí)行,不跟蹤進(jìn)入調(diào)用函數(shù)內(nèi)部。 User screen: 看屏幕信息??雌聊恍畔ⅰ?2.運(yùn)行菜單(運(yùn)行菜單(Run) C語(yǔ)言程序設(shè)計(jì)教程第2版15 Compile: 將當(dāng)前活動(dòng)窗口編輯內(nèi)的文字編譯為目標(biāo)文件,將當(dāng)前活動(dòng)窗口編輯內(nèi)的文字編譯為目標(biāo)文件, 但不連接。但不連接。 Make:

15、將以保存的文件或當(dāng)前活動(dòng)編輯窗口內(nèi)的文件的將以保存的文件或當(dāng)前活動(dòng)編輯窗口內(nèi)的文件的 源程序編譯并連接為源程序編譯并連接為EXE文件。文件。 Link: 將文件連同必要的庫(kù)文件進(jìn)行連接得到將文件連同必要的庫(kù)文件進(jìn)行連接得到EXE文件。文件。 Build all: 編譯并連接所以的文件。編譯并連接所以的文件。 3.編輯菜單編輯菜單(Compile) C語(yǔ)言程序設(shè)計(jì)教程第2版16 1.5 本章小結(jié)本章小結(jié) (1) C語(yǔ)言由語(yǔ)言由Dennis Ritchie設(shè)計(jì)設(shè)計(jì) ,是由一種早期的編程語(yǔ)言,是由一種早期的編程語(yǔ)言BCPL發(fā)展演發(fā)展演 變而來(lái)的變而來(lái)的 。 (2)C語(yǔ)言是一種理想的結(jié)構(gòu)化語(yǔ)言。語(yǔ)言是一種理想的結(jié)構(gòu)化語(yǔ)言。 其特點(diǎn)是:其特點(diǎn)是: 程序簡(jiǎn)潔、靈活、高效程序簡(jiǎn)潔、靈活、高效 運(yùn)算符和數(shù)據(jù)結(jié)構(gòu)豐富運(yùn)算符和數(shù)據(jù)結(jié)構(gòu)豐富 生成代碼質(zhì)量高生成代碼質(zhì)量高 C語(yǔ)言具有固定的標(biāo)識(shí)符提供功能齊全的庫(kù)函數(shù)語(yǔ)言具有固定的標(biāo)識(shí)符提供功能齊全的庫(kù)函數(shù) 允許訪問(wèn)內(nèi)存,有低級(jí)語(yǔ)言的特點(diǎn)允許訪問(wèn)內(nèi)存,有低級(jí)語(yǔ)言的特點(diǎn) 具有良好的通用性和程序的可移植性具有良好的通用性和程序的可移植性 生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高 語(yǔ)法限制不嚴(yán)格語(yǔ)法限制不嚴(yán)格 (

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論