




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言程序設(shè)計(jì)語言程序設(shè)計(jì)1學(xué)習(xí)這門課程的目標(biāo)學(xué)習(xí)這門課程的目標(biāo)l高層次的追求高層次的追求l低層次的追求低層次的追求l課程過關(guān)課程過關(guān)科研和工程中的科研和工程中的計(jì)算思維能力計(jì)算思維能力工具的開發(fā)者工具的開發(fā)者與軟件人員良好與軟件人員良好交流的能力交流的能力第第1章章 C程序設(shè)計(jì)概述程序設(shè)計(jì)概述5按對(duì)機(jī)器依賴性、按對(duì)機(jī)器依賴性、 接近自然語言的程度、接近自然語言的程度、 語言的發(fā)展過程語言的發(fā)展過程 機(jī)器語言機(jī)器語言 匯編語言匯編語言 高級(jí)語言高級(jí)語言 1.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言用于描述計(jì)算機(jī)程序的符號(hào)系統(tǒng)稱為計(jì)算機(jī)程序設(shè)計(jì)語言。610110000000011000000010111
2、110100 計(jì)算計(jì)算12-5的機(jī)器語言代碼的機(jī)器語言代碼1.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言lCPU能理解且能直接執(zhí)行的指令集合能理解且能直接執(zhí)行的指令集合 l用機(jī)器語言編寫的程序形式:用機(jī)器語言編寫的程序形式: 機(jī)器語言機(jī)器語言71.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言l用機(jī)器語言編寫程序的優(yōu)點(diǎn):用機(jī)器語言編寫程序的優(yōu)點(diǎn):l質(zhì)量高質(zhì)量高l占存儲(chǔ)空間小占存儲(chǔ)空間小l執(zhí)行速度快執(zhí)行速度快l能由計(jì)算機(jī)直接執(zhí)行能由計(jì)算機(jī)直接執(zhí)行l(wèi)用機(jī)器語言編寫程序的缺點(diǎn):用機(jī)器語言編寫程序的缺點(diǎn): l依賴于具體計(jì)算機(jī)依賴于具體計(jì)算機(jī)l難記憶難記憶l易出錯(cuò)易出錯(cuò)l閱讀理解困難閱讀理解困難l編程者需了解特定計(jì)算機(jī)的硬件及
3、指令系統(tǒng)編程者需了解特定計(jì)算機(jī)的硬件及指令系統(tǒng)機(jī)器語言機(jī)器語言8匯編語言匯編語言 MOV AL,12D SUB AL,5D HLT 計(jì)算計(jì)算12-5的匯編語言代碼的匯編語言代碼1.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言l匯編語言是一種符號(hào)化的機(jī)器語言,用助記符匯編語言是一種符號(hào)化的機(jī)器語言,用助記符號(hào)代替指令操作碼、操作數(shù)。號(hào)代替指令操作碼、操作數(shù)。l用匯編語言編寫的程序形式:用匯編語言編寫的程序形式:l匯編語言與機(jī)器語言有相同的特點(diǎn),但要翻譯匯編語言與機(jī)器語言有相同的特點(diǎn),但要翻譯成等價(jià)的指令序列后才能由計(jì)算機(jī)執(zhí)行。成等價(jià)的指令序列后才能由計(jì)算機(jī)執(zhí)行。 9 int main(void) print
4、f(“%dn”,12-5); 計(jì)算計(jì)算12-5的高級(jí)語言代碼的高級(jí)語言代碼1.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言l 接近于自然語言和數(shù)學(xué)語言,在一定程度上與具接近于自然語言和數(shù)學(xué)語言,在一定程度上與具體計(jì)算機(jī)無關(guān)的符號(hào)化語言。體計(jì)算機(jī)無關(guān)的符號(hào)化語言。l用高級(jí)語言編寫的程序形式(以語言為例):用高級(jí)語言編寫的程序形式(以語言為例):高級(jí)語言高級(jí)語言101.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言l用高級(jí)語言編寫程序的優(yōu)點(diǎn):用高級(jí)語言編寫程序的優(yōu)點(diǎn): l易學(xué)易用、代碼易理解易學(xué)易用、代碼易理解l易調(diào)試、修改和移植與機(jī)器無關(guān)易調(diào)試、修改和移植與機(jī)器無關(guān)l用高級(jí)語言編寫程序的缺點(diǎn):用高級(jí)語言編寫程序的缺點(diǎn):l
5、不支持對(duì)硬件的直接操作不支持對(duì)硬件的直接操作l代碼需要翻譯指令序列后才能執(zhí)行代碼需要翻譯指令序列后才能執(zhí)行高級(jí)語言高級(jí)語言111.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言高級(jí)語言的翻譯高級(jí)語言的翻譯方式方式l解釋方式(解釋方式(Interpreter 解釋程序)解釋程序)l逐句掃描,逐句翻譯,逐句執(zhí)行,直接獲得結(jié)果。不逐句掃描,逐句翻譯,逐句執(zhí)行,直接獲得結(jié)果。不產(chǎn)生等價(jià)的機(jī)器語言程序產(chǎn)生等價(jià)的機(jī)器語言程序高級(jí)語言高級(jí)語言高級(jí)語言源程序高級(jí)語言源程序 結(jié)果結(jié)果121.1.1 程序設(shè)計(jì)語言程序設(shè)計(jì)語言高級(jí)語言高級(jí)語言庫(kù)文件庫(kù)文件編譯程序編譯程序連接程序連接程序執(zhí)行執(zhí)行源程序源程序目標(biāo)程序目標(biāo)程序可執(zhí)行程
6、序可執(zhí)行程序數(shù)據(jù)數(shù)據(jù)結(jié)果結(jié)果h編譯:編譯:Compiling 將高級(jí)語言源程序翻譯成為功能等價(jià)的低級(jí)(機(jī)器)語言目標(biāo)程序的過程。h編譯程序:編譯程序:Compiler 完成編譯工作的專門程序。h對(duì)不同的程序設(shè)計(jì)語言需要配備不同的編譯程序。h對(duì)使用不同機(jī)器語言的機(jī)器需要配備不同的編譯程序。131.1.1程序設(shè)計(jì)語言程序設(shè)計(jì)語言程序設(shè)計(jì)語言的基本語言成分程序設(shè)計(jì)語言的基本語言成分 l 數(shù)據(jù)成分?jǐn)?shù)據(jù)成分l刻畫程序所處理的數(shù)據(jù)對(duì)象的值、存儲(chǔ)刻畫程序所處理的數(shù)據(jù)對(duì)象的值、存儲(chǔ) l 運(yùn)算成分運(yùn)算成分 l算術(shù)、邏輯、集合等運(yùn)算算術(shù)、邏輯、集合等運(yùn)算l 控制成分控制成分 l控制程序的執(zhí)行流程控制程序的執(zhí)行流程
7、l 傳輸成分傳輸成分l數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出141.1.2 程序程序程序概念程序概念l日常生活中程序概念日常生活中程序概念 l “程序程序”是完成事情的先后次序是完成事情的先后次序l計(jì)算機(jī)中的程序概念計(jì)算機(jī)中的程序概念 l按特定的算法,用某種計(jì)算機(jī)語言描述的完成指定按特定的算法,用某種計(jì)算機(jī)語言描述的完成指定任務(wù)的處理過程任務(wù)的處理過程 151.1.2 程序程序l從內(nèi)容上看從內(nèi)容上看 l包含算法描述和數(shù)據(jù)描述兩個(gè)方面包含算法描述和數(shù)據(jù)描述兩個(gè)方面,是數(shù)據(jù)與算法是數(shù)據(jù)與算法的結(jié)合的結(jié)合 程序算法數(shù)據(jù)結(jié)構(gòu)程序算法數(shù)據(jù)結(jié)構(gòu) l從存儲(chǔ)的角度看從存儲(chǔ)的角度看l寫在紙上或存儲(chǔ)在外部存儲(chǔ)介質(zhì)上的一個(gè)靜
8、態(tài)實(shí)體寫在紙上或存儲(chǔ)在外部存儲(chǔ)介質(zhì)上的一個(gè)靜態(tài)實(shí)體 l從作用與執(zhí)行的效果角度看從作用與執(zhí)行的效果角度看l 是一個(gè)具有抽象性和動(dòng)態(tài)性的邏輯實(shí)體,只有被是一個(gè)具有抽象性和動(dòng)態(tài)性的邏輯實(shí)體,只有被裝入主存啟動(dòng)執(zhí)行后才起作用裝入主存啟動(dòng)執(zhí)行后才起作用 161.1.3 程序設(shè)計(jì)程序設(shè)計(jì)l設(shè)計(jì)、編制、測(cè)試程序的方法和過程設(shè)計(jì)、編制、測(cè)試程序的方法和過程l程序設(shè)計(jì)的內(nèi)容與內(nèi)涵程序設(shè)計(jì)的內(nèi)容與內(nèi)涵l設(shè)計(jì)設(shè)計(jì)l程序編制程序編制l程序調(diào)試程序調(diào)試l程序測(cè)試程序測(cè)試l程序驗(yàn)證程序驗(yàn)證l程序設(shè)計(jì)風(fēng)格程序設(shè)計(jì)風(fēng)格 l171.1.3 程序設(shè)計(jì)程序設(shè)計(jì)l結(jié)構(gòu)化程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)方法 l一種傳統(tǒng)的程序設(shè)計(jì)方法一種傳統(tǒng)
9、的程序設(shè)計(jì)方法l本質(zhì)是功能設(shè)計(jì)本質(zhì)是功能設(shè)計(jì)l設(shè)計(jì)基本原則設(shè)計(jì)基本原則 :自頂向下,逐步細(xì)化,由抽象到具體:自頂向下,逐步細(xì)化,由抽象到具體的功能分解過程的功能分解過程l結(jié)構(gòu)化程序設(shè)計(jì)過程例結(jié)構(gòu)化程序設(shè)計(jì)過程例 求二次方程求二次方程ax2+bx+c=0的根的根 lS1:輸入系數(shù):輸入系數(shù)a,b,clS2:求根計(jì)算:求根計(jì)算lS3:輸出根:輸出根181.1.3 程序設(shè)計(jì)程序設(shè)計(jì)adisc2|S11:輸入系數(shù):輸入系數(shù)a,b,cS12:判別輸入的:判別輸入的a是否為是否為0,若為,若為0 ,轉(zhuǎn),轉(zhuǎn)S11步重新輸步重新輸入系數(shù)入系數(shù)a,b,c。S31:如果:如果disc,計(jì)算并輸出兩個(gè)相同的根,計(jì)算
10、并輸出兩個(gè)相同的根x1x2uS32:如果:如果disc,計(jì)算并輸出兩個(gè)實(shí)根,計(jì)算并輸出兩個(gè)實(shí)根x1uv ,x2uv S33:如果:如果disc,計(jì)算并輸出一對(duì)共扼復(fù)根,計(jì)算并輸出一對(duì)共扼復(fù)根x1uvi ,x2uvi191.1.3 程序設(shè)計(jì)程序設(shè)計(jì)調(diào)試、測(cè)試、驗(yàn)證程序調(diào)試、測(cè)試、驗(yàn)證程序3個(gè)術(shù)語個(gè)術(shù)語l聯(lián)系:目的都是為了產(chǎn)生沒有錯(cuò)誤的程序聯(lián)系:目的都是為了產(chǎn)生沒有錯(cuò)誤的程序l區(qū)別:含義不同區(qū)別:含義不同l調(diào)試(調(diào)試(debugging)通常是指由程序設(shè)計(jì)者自)通常是指由程序設(shè)計(jì)者自己查找和改正程序中錯(cuò)誤的過程,也稱糾錯(cuò)己查找和改正程序中錯(cuò)誤的過程,也稱糾錯(cuò)或排錯(cuò),目的是確定錯(cuò)誤的性質(zhì)、原因和位或
11、排錯(cuò),目的是確定錯(cuò)誤的性質(zhì)、原因和位置且改正錯(cuò)誤。置且改正錯(cuò)誤。l按開發(fā)程序的過程程序中的錯(cuò)誤分為按開發(fā)程序的過程程序中的錯(cuò)誤分為l編譯期錯(cuò)誤編譯期錯(cuò)誤l連接期錯(cuò)誤連接期錯(cuò)誤l運(yùn)行期錯(cuò)誤運(yùn)行期錯(cuò)誤編譯程序與連接程序編譯程序與連接程序201.1.3 程序設(shè)計(jì)程序設(shè)計(jì)l測(cè)試(測(cè)試(testing)的目的除了發(fā)現(xiàn)程序存在錯(cuò))的目的除了發(fā)現(xiàn)程序存在錯(cuò)誤外,還證實(shí)程序是否達(dá)到規(guī)定的功能,具誤外,還證實(shí)程序是否達(dá)到規(guī)定的功能,具有檢驗(yàn)質(zhì)量及性能評(píng)價(jià)等含義。有檢驗(yàn)質(zhì)量及性能評(píng)價(jià)等含義。 l驗(yàn)證(驗(yàn)證(verification)程序正確性的理想方法)程序正確性的理想方法是理論證明。目前驗(yàn)證程序的方法主要還是是
12、理論證明。目前驗(yàn)證程序的方法主要還是依靠有局限性的測(cè)試技術(shù)。依靠有局限性的測(cè)試技術(shù)。211.1.3 程序設(shè)計(jì)程序設(shè)計(jì)l程序設(shè)計(jì)風(fēng)格指的是編碼風(fēng)格程序設(shè)計(jì)風(fēng)格指的是編碼風(fēng)格(coding style) 即程序設(shè)計(jì)者表達(dá)程序的習(xí)慣方式即程序設(shè)計(jì)者表達(dá)程序的習(xí)慣方式l良好的程序設(shè)計(jì)風(fēng)格基本指導(dǎo)原則良好的程序設(shè)計(jì)風(fēng)格基本指導(dǎo)原則:l 規(guī)范化的源程序書寫格式規(guī)范化的源程序書寫格式l 注釋程序注釋程序 l 選用顧名思義的標(biāo)識(shí)符選用顧名思義的標(biāo)識(shí)符 l 用簡(jiǎn)明的方法表達(dá)算法用簡(jiǎn)明的方法表達(dá)算法 l 提供友善的輸入輸出界面提供友善的輸入輸出界面 221.2 C語言概述語言概述lC語言是在語言是在BCPL和和B
13、語言的基礎(chǔ)上發(fā)展起來的語言的基礎(chǔ)上發(fā)展起來的l與著名的與著名的UNIX操作系統(tǒng)的產(chǎn)生相輔相成的操作系統(tǒng)的產(chǎn)生相輔相成的l最初最初C語言以語言以B.W. Kernighan和和D. M. Ritchie所著的所著的The C Programming Language為標(biāo)準(zhǔn),謂之為標(biāo)準(zhǔn),謂之K&R Cl美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(American National Standard Institute,ANSI)于)于1983年開始為年開始為C語言制定統(tǒng)一標(biāo)語言制定統(tǒng)一標(biāo)準(zhǔn),該標(biāo)準(zhǔn)頒布于準(zhǔn),該標(biāo)準(zhǔn)頒布于1987年,稱之為年,稱之為87 ANSI C。l1989年,年,ISO為為
14、C語言制定了國(guó)際標(biāo)準(zhǔn)語言制定了國(guó)際標(biāo)準(zhǔn)C89。最新的。最新的C語言國(guó)際標(biāo)準(zhǔn)是語言國(guó)際標(biāo)準(zhǔn)是1999年頒布的年頒布的C99。本書按。本書按C99標(biāo)準(zhǔn)標(biāo)準(zhǔn)敘述。敘述。231.2.3 C語言源程序的結(jié)構(gòu)與執(zhí)行語言源程序的結(jié)構(gòu)與執(zhí)行1. C語言源程序的結(jié)構(gòu)語言源程序的結(jié)構(gòu)l一個(gè)一個(gè)C語言源程序由一系列的外部聲明組成。語言源程序由一系列的外部聲明組成。l外部聲明外部聲明l函數(shù)定義性聲明函數(shù)定義性聲明l外部數(shù)據(jù)定義性聲明外部數(shù)據(jù)定義性聲明l函數(shù)引用性聲明函數(shù)引用性聲明l外部數(shù)據(jù)引用性聲明外部數(shù)據(jù)引用性聲明241.2.3 C語言源程序的結(jié)構(gòu)與執(zhí)行語言源程序的結(jié)構(gòu)與執(zhí)行l(wèi)函數(shù)定義性聲明指的是宣布(函數(shù)定義性聲
15、明指的是宣布(announce)函數(shù))函數(shù)的存在。的存在。l函數(shù)的一般定義形式為:函數(shù)的一般定義形式為:存儲(chǔ)類別存儲(chǔ)類別 數(shù)據(jù)類型數(shù)據(jù)類型 函數(shù)名函數(shù)名(形式參數(shù)表形式參數(shù)表)局部數(shù)據(jù)聲明局部數(shù)據(jù)聲明語句序列語句序列1. C語言源程序的結(jié)構(gòu)語言源程序的結(jié)構(gòu)函數(shù)體函數(shù)體函數(shù)頭函數(shù)頭251.2.3 C語言源程序的結(jié)構(gòu)與執(zhí)行語言源程序的結(jié)構(gòu)與執(zhí)行l(wèi)例:例:int max(int a, int b, int c) int m; m=ab?a:b; return (mc?m:c); 1. C語言源程序的結(jié)構(gòu)語言源程序的結(jié)構(gòu)261.2.3 C語言源程序的結(jié)構(gòu)與執(zhí)行語言源程序的結(jié)構(gòu)與執(zhí)行l(wèi)一個(gè)一個(gè)C語言程序
16、必須有且僅有一個(gè)名為語言程序必須有且僅有一個(gè)名為main的函數(shù)的函數(shù)l一個(gè)一個(gè)C語言源程序通常存放在一個(gè)源程序文件中(單語言源程序通常存放在一個(gè)源程序文件中(單文件程序),也可以分別存放在多個(gè)源程序文件中(文件程序),也可以分別存放在多個(gè)源程序文件中(多文件程序)多文件程序)l程序中所有函數(shù)(包括程序中所有函數(shù)(包括main函數(shù))在源程序文件中函數(shù))在源程序文件中安排的位置和順序是任意的安排的位置和順序是任意的l一個(gè)函數(shù)必須完整地包含在一個(gè)文件中,不允許跨文一個(gè)函數(shù)必須完整地包含在一個(gè)文件中,不允許跨文件存放件存放l不同的不同的C編譯系統(tǒng)對(duì)源程序文件的擴(kuò)展名要求不同,編譯系統(tǒng)對(duì)源程序文件的擴(kuò)展
17、名要求不同,例如例如TC2.0的源程序文件必須以的源程序文件必須以“.C”作為后綴。作為后綴。l一個(gè)一個(gè)C源程序文件是源程序文件是C源程序的一個(gè)程序模塊,源程序的一個(gè)程序模塊,C編編譯程序總是以源程序文件為單位編譯。譯程序總是以源程序文件為單位編譯。1. C語言源程序的結(jié)構(gòu)語言源程序的結(jié)構(gòu)271.2.3 C語言源程序的結(jié)構(gòu)與執(zhí)行語言源程序的結(jié)構(gòu)與執(zhí)行l(wèi)外部數(shù)據(jù)定義性聲明,顧名思義即在函數(shù)外部外部數(shù)據(jù)定義性聲明,顧名思義即在函數(shù)外部定義數(shù)據(jù)對(duì)象。定義數(shù)據(jù)對(duì)象。l函數(shù)及外部數(shù)據(jù)引用性聲明即聲明要引用本程序中函數(shù)及外部數(shù)據(jù)引用性聲明即聲明要引用本程序中已經(jīng)定義的函數(shù)或外部數(shù)據(jù)對(duì)象。已經(jīng)定義的函數(shù)或外
18、部數(shù)據(jù)對(duì)象。l在函數(shù)外定義的數(shù)據(jù)對(duì)象可被程序中的諸函數(shù)公用在函數(shù)外定義的數(shù)據(jù)對(duì)象可被程序中的諸函數(shù)公用,因此這類數(shù)據(jù)對(duì)象也稱為,因此這類數(shù)據(jù)對(duì)象也稱為“全局全局”數(shù)據(jù)對(duì)象。數(shù)據(jù)對(duì)象。l區(qū)別的區(qū)別的“定義性聲明定義性聲明”與與“引用性聲明引用性聲明” :l“定義性聲明定義性聲明”建立函數(shù)與外部數(shù)據(jù),需要對(duì)定義建立函數(shù)與外部數(shù)據(jù),需要對(duì)定義的外部數(shù)據(jù)分配存儲(chǔ)空間;的外部數(shù)據(jù)分配存儲(chǔ)空間;l“引用性聲明引用性聲明”則指出要引用程序中其他地方定義則指出要引用程序中其他地方定義的函數(shù)或外部數(shù)據(jù),并不為欲引用的外部數(shù)據(jù)分配的函數(shù)或外部數(shù)據(jù),并不為欲引用的外部數(shù)據(jù)分配存儲(chǔ)空間。存儲(chǔ)空間。1. C語言源程序的
19、結(jié)構(gòu)語言源程序的結(jié)構(gòu)281.2.3 C語言源程序的結(jié)構(gòu)與執(zhí)行語言源程序的結(jié)構(gòu)與執(zhí)行l(wèi)C語言程序總是從語言程序總是從main函數(shù)的第一條語句開始函數(shù)的第一條語句開始執(zhí)行執(zhí)行 lC語言程序中所有其他函數(shù)都可以相互調(diào)用語言程序中所有其他函數(shù)都可以相互調(diào)用l一個(gè)函數(shù)也允許自己調(diào)用自己一個(gè)函數(shù)也允許自己調(diào)用自己l可以調(diào)用由可以調(diào)用由C編譯系統(tǒng)定義的庫(kù)函數(shù)及用戶自己定編譯系統(tǒng)定義的庫(kù)函數(shù)及用戶自己定義的庫(kù)函數(shù)。義的庫(kù)函數(shù)。l整個(gè)程序的執(zhí)行結(jié)束整個(gè)程序的執(zhí)行結(jié)束l在正常情況下,在正常情況下,main函數(shù)執(zhí)行完畢函數(shù)執(zhí)行完畢l執(zhí)行過程中發(fā)生各種錯(cuò)誤,提前結(jié)束程序運(yùn)行執(zhí)行過程中發(fā)生各種錯(cuò)誤,提前結(jié)束程序運(yùn)行2.
20、 C語言源程序的執(zhí)行語言源程序的執(zhí)行291.2.4 C語言程序例語言程序例l例例1.1 一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的C程序。程序。l該程序只由一個(gè)函數(shù)組成。該例的程序代碼存儲(chǔ)在該程序只由一個(gè)函數(shù)組成。該例的程序代碼存儲(chǔ)在myprog1.c源程序文件中,文件內(nèi)容如下:源程序文件中,文件內(nèi)容如下:#include int main(void)int number; printf(“books=”);scanf(“%d”, &number);printf(“I have %d books.n” , number);301.2.4 C語言程序例語言程序例l例例1.2 輸入輸入3個(gè)正整數(shù),求它們的最小值
21、(設(shè)該最小值為個(gè)正整數(shù),求它們的最小值(設(shè)該最小值為n),并計(jì)算),并計(jì)算1+2+n之和。之和。l該程序由兩個(gè)函數(shù)組成。程序代碼存儲(chǔ)在該程序由兩個(gè)函數(shù)組成。程序代碼存儲(chǔ)在myprog2.c源程序文件中,源程序文件中,文件內(nèi)容如下:文件內(nèi)容如下:/* This is an example */#include int min(int a, int b, int c); /* 調(diào)用自定義函數(shù)調(diào)用自定義函數(shù)min 的引用性聲明的引用性聲明 */int main ( void) unsigned n1 , n2 , n3 , n,i,sum=0; /* 聲明程序中使用的存放正整數(shù)的聲明程序中使用的存放
22、正整數(shù)的6個(gè)變量個(gè)變量 */ printf(“Input 3 positive integer:”); scanf(“%u%u%u”, &n1, &n2, &n3); /*輸入輸入3個(gè)正整數(shù),分別存入個(gè)正整數(shù),分別存入n1 , n2 , n3*/ 311.2.4 C語言程序例語言程序例 n=min(n1, n2, n3); /* 調(diào)用自定義函數(shù)調(diào)用自定義函數(shù)min,求,求3個(gè)正整數(shù)的最小個(gè)正整數(shù)的最小值值 */ for(i=1;i=n;i+) sum=sum+i; printf(“Minimum=%un1+2+.+%u=%un”, n,n, sum); int min(
23、int a, int b, int c) /* 求求3個(gè)整數(shù)的最小值的函數(shù)定義個(gè)整數(shù)的最小值的函數(shù)定義 */ if(a=b&a= c) return a; else if(b=a&b=c) return b; else return c;321.2.4 C語言程序例語言程序例lC語言程序中注釋的一般表示形式是:語言程序中注釋的一般表示形式是:l /* 注釋內(nèi)容注釋內(nèi)容 */l 注釋內(nèi)容可以占用若干書寫行,只要以注釋內(nèi)容可以占用若干書寫行,只要以“/*”開頭、用開頭、用“*/”結(jié)束。結(jié)束。C89或或C99都規(guī)定都規(guī)定C語言的注釋不能嵌套。如語言的注釋不能嵌套。如: /* void
24、 func (void) printf(“This is a functionn”); /* nested comment ,這種嵌套的注釋是錯(cuò)誤的!,這種嵌套的注釋是錯(cuò)誤的!*/ */l這樣的注釋是錯(cuò)誤的。這樣的注釋是錯(cuò)誤的。lC99中還允許使用以連續(xù)兩個(gè)斜杠字符(中還允許使用以連續(xù)兩個(gè)斜杠字符(/)開頭的注釋)開頭的注釋形式。即形式。即“/ 注釋內(nèi)容注釋內(nèi)容”。但是這種注釋被限制。但是這種注釋被限制在一行內(nèi)。在一行內(nèi)。 331.2.5 C語言源程序的書寫語言源程序的書寫l C語言源程序一般也都按小寫字母書寫。語言源程序一般也都按小寫字母書寫。l 用用#define定義的宏名通常用大寫字母表
25、示(定義的宏名通常用大寫字母表示(當(dāng)然也可以用小寫字母表示)。當(dāng)然也可以用小寫字母表示)。l 每個(gè)語句占用一書寫行。每個(gè)語句占用一書寫行。l 用縮進(jìn)對(duì)齊的寫法反映程序的不同的結(jié)構(gòu)層用縮進(jìn)對(duì)齊的寫法反映程序的不同的結(jié)構(gòu)層次。次。l 編譯預(yù)處理命令行、外部數(shù)據(jù)定義、函數(shù)定編譯預(yù)處理命令行、外部數(shù)據(jù)定義、函數(shù)定義之間、函數(shù)體內(nèi)的義之間、函數(shù)體內(nèi)的“數(shù)據(jù)聲明數(shù)據(jù)聲明” 部分和部分和“語語句序列句序列”部分空一行書寫。部分空一行書寫。341.2.5 C語言源程序的書寫語言源程序的書寫l 括住函數(shù)體的大括號(hào),其左大括號(hào)應(yīng)位于函數(shù)頭括住函數(shù)體的大括號(hào),其左大括號(hào)應(yīng)位于函數(shù)頭部第一個(gè)字符的下方,對(duì)應(yīng)的右大括號(hào)亦單獨(dú)占用一部第一個(gè)字符的下方,對(duì)應(yīng)的右大括號(hào)亦單獨(dú)占用一行,且與左大括號(hào)位置對(duì)齊。行,且與左大括號(hào)位置
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 哈爾濱醫(yī)科大學(xué)《書畫裝裱》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東工程職業(yè)技術(shù)學(xué)院《工程招投標(biāo)與概預(yù)算》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇航運(yùn)職業(yè)技術(shù)學(xué)院《中學(xué)語文教學(xué)設(shè)計(jì)與技能訓(xùn)練(二)》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江司法警官職業(yè)學(xué)院《模擬電子技術(shù)課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東司法警官職業(yè)學(xué)院《數(shù)字特效合成》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津工藝美術(shù)職業(yè)學(xué)院《衛(wèi)生檢驗(yàn)綜合技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 東莞職業(yè)技術(shù)學(xué)院《計(jì)算機(jī)與操作系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢工程科技學(xué)院《外國(guó)文學(xué)名篇》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025三年級(jí)湘教版語文下學(xué)期期末知識(shí)點(diǎn)歸納復(fù)習(xí)周末練習(xí)單
- PROMIS-評(píng)分量表-使用版
- 勞務(wù)合同協(xié)議書書
- 白城2025年吉林大安市事業(yè)單位面向上半年應(yīng)征入伍高校畢業(yè)生招聘5人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年市婦聯(lián)執(zhí)委會(huì)議上的工作報(bào)告
- 2025年菏澤醫(yī)學(xué)??茖W(xué)校高職單招數(shù)學(xué)歷年(2016-2024)頻考點(diǎn)試題含答案解析
- 安全生產(chǎn)事故調(diào)查與案例分析(第3版)課件 呂淑然 第5、6章 事故案例評(píng)析、相關(guān)法律法規(guī)
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)下冊(cè)第二單元百分?jǐn)?shù)(二)(含答案)
- 2024年西安電力高等專科學(xué)校高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年湖南鐵路科技職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫(kù)含答案解析
- 祖沖之的平生與貢獻(xiàn)
- 2025年版護(hù)理法律法規(guī)
- 房屋市政工程生產(chǎn)安全重大事故隱患排查表(2024版)
評(píng)論
0/150
提交評(píng)論