包郵 C語(yǔ)言程序設(shè)計(jì)案例教程
預(yù)估到手價(jià)是按參與促銷活動(dòng)、以最優(yōu)惠的購(gòu)買方案計(jì)算出的價(jià)格(不含優(yōu)惠券部分),僅供參考,未必等同于實(shí)際到手價(jià)。
-
>
全國(guó)計(jì)算機(jī)等級(jí)考試最新真考題庫(kù)模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
C語(yǔ)言程序設(shè)計(jì)案例教程 版權(quán)信息
- ISBN:9787568044714
- 條形碼:9787568044714 ; 978-7-5680-4471-4
- 裝幀:書寫紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>
C語(yǔ)言程序設(shè)計(jì)案例教程 本書特色
C語(yǔ)言產(chǎn)生于20世紀(jì)70年代,經(jīng)過(guò)40多年的發(fā)展,其不斷被完善和標(biāo)準(zhǔn)化,它因靈活、高效、運(yùn)算符和數(shù)據(jù)類型豐富、可移植性好、跨平臺(tái)性好等特點(diǎn)深受廣大程序愛(ài)好者喜愛(ài)。C語(yǔ)言既可以編寫系統(tǒng)軟件,又能編寫應(yīng)用軟件,目前廣泛應(yīng)用于電子、計(jì)算機(jī)、通信、人工智能、嵌入式等領(lǐng)域,C語(yǔ)言在市場(chǎng)上處于優(yōu)越的地位,各大高校也都將C語(yǔ)言作為程序設(shè)計(jì)的基礎(chǔ)語(yǔ)言。 本教材采用項(xiàng)目驅(qū)動(dòng)、案例教學(xué)方法編寫,將一個(gè)“校園一卡通”管理系統(tǒng)項(xiàng)目劃分成8個(gè)組成部分,每部分都會(huì)涉及一些C語(yǔ)言的知識(shí)點(diǎn),每個(gè)部分作為一個(gè)教學(xué)案例放在相應(yīng)章節(jié)作為教學(xué)引例,引出本章知識(shí)點(diǎn),章節(jié)中詳細(xì)介紹案例所需知識(shí)點(diǎn)和相關(guān)知識(shí)點(diǎn),在教學(xué)資源中附有案例源程序代碼。 本書中的源程序運(yùn)行環(huán)境全部采用Visual C++ 6.0。Visual C++ 6.0是一款C++程序開發(fā)的編譯器,能夠在目前主流的計(jì)算機(jī)平臺(tái)上安裝,在各類運(yùn)行C++程序的環(huán)境中市場(chǎng)占有率高。該編譯器界面友好,易于操作,運(yùn)行穩(wěn)定。 為了方便教學(xué),本書還配有電子課件等教學(xué)資源包,任課教師和學(xué)生可以登錄“我們愛(ài)讀書”網(wǎng)(www.ibook4us.com)免費(fèi)注冊(cè)并瀏覽,或者發(fā)郵件至hustpeiit@163.com索取。
C語(yǔ)言程序設(shè)計(jì)案例教程 內(nèi)容簡(jiǎn)介
本書共分為C語(yǔ)言概述 ; 順序結(jié)構(gòu) ; 選擇結(jié)構(gòu) ; 循環(huán)結(jié)構(gòu) ; 數(shù)組 ; 函數(shù) ; 指針 ; 結(jié)構(gòu)體 ; 文件九章, 其主要內(nèi)容包括: 計(jì)算機(jī)語(yǔ)言 ; C語(yǔ)言及其特點(diǎn) ; 簡(jiǎn)單的C語(yǔ)言程序 ; 運(yùn)行C語(yǔ)言程序的步驟與方法等。
C語(yǔ)言程序設(shè)計(jì)案例教程 目錄
1.1計(jì)算機(jī)語(yǔ)言1
1.2C語(yǔ)言及其特點(diǎn)3
1.3簡(jiǎn)單的C語(yǔ)言程序4
1.4運(yùn)行C語(yǔ)言程序的步驟與方法7
1.5算法12
1.6結(jié)構(gòu)化程序設(shè)計(jì)方法16
習(xí)題1 18
上機(jī)練習(xí)1 19
第2章順序結(jié)構(gòu)20
2.1數(shù)據(jù)類型21
2.2常量和變量21
2.3整型數(shù)據(jù)23
2.4實(shí)型數(shù)據(jù)27
2.5字符型數(shù)據(jù)29
2.6運(yùn)算符和表達(dá)式32
2.7輸入和輸出函數(shù)42
習(xí)題2 48
上機(jī)練習(xí)2 51
第3章選擇結(jié)構(gòu)52
3.1簡(jiǎn)單的選擇結(jié)構(gòu)程序53
3.2if語(yǔ)句55
3.3用條件表達(dá)式實(shí)現(xiàn)選擇結(jié)構(gòu)65
3.4switch語(yǔ)句67
3.5選擇結(jié)構(gòu)程序綜合舉例70
習(xí)題3 73
上機(jī)練習(xí)3 76
第4章循環(huán)結(jié)構(gòu)78
4.1循環(huán)結(jié)構(gòu)簡(jiǎn)介79
4.2while語(yǔ)句80
4.3dowhile語(yǔ)句82
4.4for語(yǔ)句85
4.5goto語(yǔ)句和if語(yǔ)句構(gòu)成循環(huán)結(jié)構(gòu)88
4.6幾種循環(huán)的比較89
4.7循環(huán)的嵌套89
4.8break語(yǔ)句和continue語(yǔ)句91
4.9循環(huán)結(jié)構(gòu)程序綜合舉例93
習(xí)題4 99
上機(jī)練習(xí)4 101
第5章數(shù)組102
5.1什么是數(shù)組103
5.2一維數(shù)組103
5.3二維數(shù)組109
5.4字符數(shù)組114
習(xí)題5 124
上機(jī)練習(xí)5 127
第6章函數(shù)128
6.1什么是函數(shù)130
6.2函數(shù)的定義131
6.3函數(shù)的調(diào)用133
6.4函數(shù)的嵌套調(diào)用135
6.5函數(shù)的遞歸調(diào)用136
6.6函數(shù)應(yīng)用程序綜合舉例140
6.7變量的作用域和生存期145
習(xí)題6 153
上機(jī)練習(xí)6 157
第7章指針158
7.1指針與指針變量160
7.2指針變量引用數(shù)組164
7.3指針變量引用字符串170
7.4指針變量作為函數(shù)參數(shù)174
習(xí)題7 179
上機(jī)練習(xí)7 183
第8章結(jié)構(gòu)體184
8.1結(jié)構(gòu)體的定義和使用185
8.2結(jié)構(gòu)體數(shù)組的定義和使用191
8.3結(jié)構(gòu)體指針193
8.4用指針處理鏈表195
8.5枚舉類型205
習(xí)題8 210
上機(jī)練習(xí)8 214
第9章文件215
9.1C文件概述216
9.2文件指針217
9.3文件的打開與關(guān)閉217
9.4文件的讀寫219
9.5文件的隨機(jī)讀寫228
9.6文件檢測(cè)函數(shù)230
9.7C語(yǔ)言庫(kù)文件230
習(xí)題9 232
上機(jī)練習(xí)9 239
附錄A 常用字符與ASCII碼對(duì)照表241
附錄B C語(yǔ)言中的關(guān)鍵字244
附錄C 運(yùn)算符和結(jié)合性245
附錄D C語(yǔ)言常用語(yǔ)法提要247
附錄E C語(yǔ)言常用的庫(kù)函數(shù)251
C語(yǔ)言程序設(shè)計(jì)案例教程 節(jié)選
第1章C語(yǔ)言概述第1章C語(yǔ)言概述 1.1計(jì)算機(jī)語(yǔ)言 計(jì)算機(jī)語(yǔ)言是指用于人類與計(jì)算機(jī)之間通信的語(yǔ)言。計(jì)算機(jī)的工作過(guò)程主要是執(zhí)行機(jī)器指令的過(guò)程,為了能使計(jì)算機(jī)能夠進(jìn)行各種工作,就需要有一套指令的集合即程序。程序是為求解某個(gè)特定問(wèn)題而設(shè)計(jì)的指令序列,程序中的一條指令規(guī)定機(jī)器完成一組基本操作。 計(jì)算機(jī)語(yǔ)言的發(fā)展是隨著計(jì)算機(jī)硬件的發(fā)展而發(fā)展的,其大致可分為兩個(gè)階段:低級(jí)語(yǔ)言階段和高級(jí)語(yǔ)言階段。其中,低級(jí)語(yǔ)言階段主要有機(jī)器語(yǔ)言和匯編語(yǔ)言,高級(jí)語(yǔ)言階段主要有FORTRAN語(yǔ)言、C語(yǔ)言、C++語(yǔ)言和Java語(yǔ)言等。 計(jì)算機(jī)語(yǔ)言低級(jí)語(yǔ)言機(jī)器語(yǔ)言 匯編語(yǔ)言 高級(jí)語(yǔ)言FORTRAN語(yǔ)言 C語(yǔ)言 C++語(yǔ)言 Java語(yǔ)言 1.機(jī)器語(yǔ)言 早期的計(jì)算機(jī)使用的是機(jī)器語(yǔ)言,機(jī)器語(yǔ)言是由二進(jìn)制串組成的,直接操作機(jī)器硬件,計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行。 但其缺點(diǎn)諸多: ● 可讀性差,它的書面形式全是“密碼”,不便于交流和記憶。 ● 程序員編寫程序需要記住全部“密碼”形式的指令系統(tǒng),編寫程序既難又繁,容易出錯(cuò),因而所編出的程序可靠性差,且開發(fā)周期長(zhǎng)。同時(shí),程序調(diào)試和修改難度巨大,不容易掌握和使用。 ● 機(jī)器語(yǔ)言直接依賴于中央處理器,所以用某種機(jī)器語(yǔ)言編寫的程序只能在相應(yīng)的計(jì)算機(jī)上執(zhí)行,無(wú)法在其他型號(hào)的計(jì)算機(jī)上執(zhí)行,所以可移植性差。 ● 這些弊端造成機(jī)器語(yǔ)言難以被人們掌握和使用。 2.匯編語(yǔ)言 為了彌補(bǔ)使用機(jī)器語(yǔ)言編程的諸多不足,20世紀(jì)50年代初,出現(xiàn)了匯編語(yǔ)言。匯編語(yǔ)言用比較容易識(shí)別、記憶的助記符替代特定的二進(jìn)制串,例如使用ADD 來(lái)替代加法的二進(jìn)制指令,通過(guò)這種助記符,人們就能較容易地讀懂程序,調(diào)試和維護(hù)程序也更方便了。但這些助記符是計(jì)算機(jī)無(wú)法識(shí)別的,需要一個(gè)專門的程序?qū)⑵浞g成機(jī)器語(yǔ)言,這種翻譯程序被稱為匯編程序。匯編語(yǔ)言保留機(jī)器語(yǔ)言的特點(diǎn),能夠?qū)C(jī)器硬件進(jìn)行精確控制,占用資源少,程序執(zhí)行效率高。盡管匯編語(yǔ)言比機(jī)器語(yǔ)言方便,但匯編語(yǔ)言仍然具有許多不便之處: ● 程序編寫的效率不高,遠(yuǎn)遠(yuǎn)不能滿足需要。 ● 匯編語(yǔ)言直接操作硬件,因此匯編語(yǔ)言只針對(duì)特定的計(jì)算機(jī)處理器,幾乎沒(méi)有可移植性。 3.高級(jí)語(yǔ)言 高級(jí)語(yǔ)言與人類的語(yǔ)言相當(dāng)接近,易懂,可讀性好,而且不依賴于計(jì)算機(jī)型號(hào),通用性較好,可移植性好。高級(jí)語(yǔ)言的使用,大大提高了程序編寫的效率和程序的可讀性。1954年,第1個(gè)高級(jí)語(yǔ)言FORTRAN問(wèn)世了,之后陸續(xù)出現(xiàn)了許多高級(jí)語(yǔ)言,如Basic語(yǔ)言、C語(yǔ)言等,這些語(yǔ)言又被稱為面向過(guò)程的高級(jí)語(yǔ)言。近年來(lái)又出現(xiàn)了一些面向?qū)ο蟮母呒?jí)語(yǔ)言,如C++語(yǔ)言、Java語(yǔ)言等。 與匯編語(yǔ)言一樣,計(jì)算機(jī)無(wú)法直接識(shí)別和執(zhí)行高級(jí)語(yǔ)言,必須翻譯成等價(jià)的機(jī)器語(yǔ)言程序(稱為目標(biāo)程序)才能執(zhí)行。高級(jí)語(yǔ)言源程序翻譯成機(jī)器語(yǔ)言程序的方法有“解釋”和“編譯”兩種。解釋方法采用邊解釋邊執(zhí)行的方法。編譯方法采用相應(yīng)語(yǔ)言的編譯程序,先把源程序編譯成指定機(jī)型的機(jī)器語(yǔ)言目標(biāo)程序,然后再把目標(biāo)程序和各種標(biāo)準(zhǔn)庫(kù)函數(shù)連接裝配成完整的目標(biāo)程序,在相應(yīng)的機(jī)型上執(zhí)行。 1)結(jié)構(gòu)化高級(jí)語(yǔ)言 結(jié)構(gòu)化程序設(shè)計(jì)是一種程序設(shè)計(jì)的原則和方法。它主要側(cè)重對(duì)解決問(wèn)題的方法和過(guò)程進(jìn)行描述,即算法描述,它討論了如何避免使用GOTO語(yǔ)句,如何將大規(guī)模、復(fù)雜的流程圖轉(zhuǎn)換成一種標(biāo)準(zhǔn)的形式,使得它們能夠用幾種標(biāo)準(zhǔn)的控制結(jié)構(gòu)(順序、分支和循環(huán))通過(guò)重復(fù)和嵌套來(lái)表示。C語(yǔ)言就是一種結(jié)構(gòu)化語(yǔ)言。一般來(lái)說(shuō),計(jì)算機(jī)語(yǔ)言要處理兩個(gè)概念——數(shù)據(jù)和算法(程序=數(shù)據(jù)+算法)。數(shù)據(jù)是程序使用和處理的信息,而算法是程序使用的方法。C語(yǔ)言是過(guò)程性語(yǔ)言,這意味著它強(qiáng)調(diào)的是編程的算法方面。 但是,到了20世紀(jì)70年代末期,隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷擴(kuò)大,對(duì)軟件技術(shù)的要求越來(lái)越高,結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言和結(jié)構(gòu)化程序設(shè)計(jì)方法又無(wú)法滿足用戶需求的變化了,其缺點(diǎn)也日益顯露出來(lái): ● 代碼的可重用性差。 ● 可維護(hù)性差。 ● 穩(wěn)定性差。 ● 難以實(shí)現(xiàn)編寫大型應(yīng)用軟件。 2)面向?qū)ο蟮母呒?jí)語(yǔ)言 結(jié)構(gòu)化程序設(shè)計(jì)方法與語(yǔ)言是面向過(guò)程的,存在較多的缺點(diǎn),同時(shí)程序的執(zhí)行是流水線式的,在一個(gè)模塊被執(zhí)行完成前,不能干別的事,也無(wú)法動(dòng)態(tài)地改變程序的執(zhí)行方向。這和人們?nèi)粘UJ(rèn)識(shí)、處理事物的方式不一致。人們認(rèn)為客觀世界是由各種各樣的對(duì)象(或稱實(shí)體、事物)組成的,每個(gè)對(duì)象都有自己的內(nèi)部狀態(tài)和運(yùn)動(dòng)規(guī)律,不同對(duì)象間的相互聯(lián)系和相互作用構(gòu)成了各種不同的系統(tǒng),進(jìn)而構(gòu)成整個(gè)客觀世界;計(jì)算機(jī)軟件主要就是為了模擬現(xiàn)實(shí)世界中的不同系統(tǒng),如物流系統(tǒng)、銀行系統(tǒng)、圖書管理系統(tǒng)、教學(xué)管理系統(tǒng)等。因此,計(jì)算機(jī)軟件可以認(rèn)為是,現(xiàn)實(shí)世界中相互聯(lián)系的對(duì)象所組成的系統(tǒng),在計(jì)算機(jī)中的模擬實(shí)現(xiàn)。 為了使計(jì)算機(jī)更易于模擬現(xiàn)實(shí)世界,1967年挪威科學(xué)家開發(fā)出了Simula 67語(yǔ)言,它提供了比子程序更高一級(jí)的抽象和封裝,引入了數(shù)據(jù)抽象和類的概念,被認(rèn)為是第1個(gè)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。它對(duì)后來(lái)出現(xiàn)的面向?qū)ο笳Z(yǔ)言,如C++、Java、C#產(chǎn)生了深遠(yuǎn)的影響。 隨著面向?qū)ο笳Z(yǔ)言的出現(xiàn),面向?qū)ο蟪绦蛟O(shè)計(jì)方法也應(yīng)運(yùn)而生且得到迅速發(fā)展,面向?qū)ο蟮乃枷胍膊粩嘞蚱渌矫鏉B透。1980年Grady Booch提出了面向?qū)ο笤O(shè)計(jì)的概念,之后面向?qū)ο蠓治龅母拍钜脖惶岢觥C嫦驅(qū)ο蟪绦蛟O(shè)計(jì)在軟件開發(fā)領(lǐng)域掀起了巨大的變革,極大地提高了軟件開發(fā)效率。 程序語(yǔ)言越低級(jí),對(duì)過(guò)程的描述越具體,指令也就越接近機(jī)器的硬件邏輯。相反,程序語(yǔ)言越高級(jí),就越接近對(duì)問(wèn)題的描述與表達(dá),因而更直觀,更容易被人們所理解。 1.2C語(yǔ)言及其特點(diǎn) 1.2.1C語(yǔ)言的發(fā)展過(guò)程 C語(yǔ)言初的原型是ALGOL 60語(yǔ)言,1963年,劍橋大學(xué)將ALGOL 60語(yǔ)言發(fā)展成為CPL(combined programming language)語(yǔ)言。1967年,劍橋大學(xué)的Matin Richards 對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,由此產(chǎn)生了BCPL語(yǔ)言。1970年,美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson對(duì)BCPL進(jìn)行了修改,并取名為“B語(yǔ)言”,他用B語(yǔ)言寫了第1個(gè)UNIX操作系統(tǒng)。1973年,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了一種新的語(yǔ)言,他取了BCPL的第二個(gè)字母作為這種語(yǔ)言的名字,就是C語(yǔ)言。1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語(yǔ)言成為目前世界上流行非常廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。1988年,隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多C語(yǔ)言版本。沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種狀況,美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)ANSI為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn)。 早期的C語(yǔ)言主要用于UNIX系統(tǒng)。由于C語(yǔ)言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們所認(rèn)識(shí),到了19世紀(jì)80年代,C語(yǔ)言開始進(jìn)入其他操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上廣泛使用。 1.2.2C語(yǔ)言的特點(diǎn) C語(yǔ)言能夠發(fā)展迅速,并且成為受歡迎的語(yǔ)言之一,主要因?yàn)樗哂袕?qiáng)大的功能。C語(yǔ)言具有豐富的數(shù)據(jù)類型,并引入了指針概念,可直接操作內(nèi)存,程序的執(zhí)行速度快而且高效;此外,C語(yǔ)言運(yùn)算符豐富,能夠進(jìn)行各種運(yùn)算等。C語(yǔ)言的特點(diǎn)歸納如下: (1)C語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。ANSI C一共有32個(gè)關(guān)鍵字: autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedstaticsizeofstructswitchtypedefunionunsignedvoidvolatilewhile注意:在C語(yǔ)言中,關(guān)鍵字都是小寫的。(2)運(yùn)算符豐富,共34種。C語(yǔ)言把括號(hào)、賦值、逗號(hào)等都作為運(yùn)算符處理,從而使C語(yǔ)言的運(yùn)算類型極為豐富,可以實(shí)現(xiàn)其他高級(jí)語(yǔ)言難以實(shí)現(xiàn)的運(yùn)算。C語(yǔ)言運(yùn)算符見附錄C。 (3)數(shù)據(jù)類型豐富。C語(yǔ)言的數(shù)據(jù)類型有整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等,能實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型運(yùn)算。C語(yǔ)言引入了指針概念,使程序效率更高。另外,C語(yǔ)言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器,且計(jì)算功能、邏輯判斷功能強(qiáng)大。 (4)具有結(jié)構(gòu)化的控制語(yǔ)句。C語(yǔ)言中有9種控制語(yǔ)句,程序書寫自由,主要用小寫字母表示,壓縮了一切不必要的成分。 (5)語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán)格,能夠檢查出幾乎所有的語(yǔ)法錯(cuò)誤。而C語(yǔ)言允許程序編寫者有較大的自由度。 (6)C語(yǔ)言允許直接訪問(wèn)物理地址,能進(jìn)行位(bit)操作,可以直接對(duì)硬件進(jìn)行操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能。因?yàn)镃語(yǔ)言既具有高級(jí)語(yǔ)言的特點(diǎn),又具有低級(jí)語(yǔ)言的許多功能,所以有人把它稱為高級(jí)語(yǔ)言中的低級(jí)語(yǔ)言。 (7)生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。 (8)使用C語(yǔ)言編寫的程序可移植性好。 (9)C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn),就是適合于多種操作系統(tǒng),如DOS、UNIX,且適用于多種機(jī)型。 1.3簡(jiǎn)單的C語(yǔ)言程序 為了說(shuō)明C語(yǔ)言源程序結(jié)構(gòu)的特點(diǎn),先看以下兩個(gè)程序。這兩個(gè)程序由簡(jiǎn)到難,表現(xiàn)了C語(yǔ)言源程序在組成結(jié)構(gòu)上的特點(diǎn)。雖然有關(guān)內(nèi)容還未介紹,但可從這些例子中了解到組成一個(gè)C語(yǔ)言源程序的基本部分和書寫格式。 例1.1簡(jiǎn)單的信息輸出。 #include int main()/*主函數(shù)*/ { printf("Hello C!\\n");/*輸出信息*/ return 0; } 運(yùn)行結(jié)果: Hello C! 說(shuō)明: ● main是主函數(shù)名,是程序執(zhí)行的開始處,每一個(gè)C語(yǔ)言源程序都必須有且只能有一個(gè)主函數(shù)main。 ● printf函數(shù)的功能是把要輸出的內(nèi)容送到顯示器上顯示輸出。printf函數(shù)是一個(gè)由系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù),可在程序中直接調(diào)用。 ● #include:include稱為文件包含命令,擴(kuò)展名為.h的文件稱為頭文件,本句功能是將文件“stdio.h”包含到當(dāng)前程序中來(lái),目的是想使用其中的一些函數(shù),如printf函數(shù)。 例1.2求兩個(gè)數(shù)的大值。 #include void main()/*主函數(shù)*/ { int x,y,z;/*變量說(shuō)明*/ int max(int a,int b);/*函數(shù)原形聲明*/ printf("input two numbers:\\n"); scanf("%d%d",&x,&y);/*輸入x,y值*/ z=max(x,y);/*調(diào)用max函數(shù)*/ printf("maxmum=%d\\n",z);/*輸出結(jié)果*/ } int max(int a,int b)/*定義max函數(shù)*/ { if(a>b) return a; else return b;/*把結(jié)果返回主調(diào)函數(shù)*/ } 運(yùn)行結(jié)果: input two numbers: 35↙ maxmum=5 例1.2所示程序的功能是由用戶輸入兩個(gè)整數(shù),程序執(zhí)行后輸出其中較大的數(shù)。 例1.2中程序的執(zhí)行過(guò)程是:首先在屏幕上顯示提示信息,請(qǐng)用戶輸入兩個(gè)數(shù),回車后由scanf函數(shù)語(yǔ)句接收這兩個(gè)數(shù)并送入變量x,y中;然后調(diào)用max函數(shù),并把x,y的值傳送給max函數(shù)的參數(shù)a,b,在max函數(shù)中比較a,b的大小,把大者返回給主函數(shù)的變量z;后在屏幕上輸出z的值。 說(shuō)明: ● 本程序由兩個(gè)函數(shù)組成,即主函數(shù)和max函數(shù)。 ● 函數(shù)之間是并列關(guān)系。可從主函數(shù)中調(diào)用其他函數(shù)。max 函數(shù)的功能是比較兩個(gè)數(shù),然后把較大的數(shù)返回給主函數(shù)。 ● max函數(shù)是一個(gè)用戶自定義函數(shù),因此在主函數(shù)中要給出函數(shù)原形聲明。可見,在程序的說(shuō)明部分中,不僅可以有變量說(shuō)明,還可以有函數(shù)說(shuō)明。關(guān)于函數(shù)的詳細(xì)內(nèi)容將在后面的章節(jié)中介紹。 ● 在程序的每行后用/*和*/括起來(lái)的內(nèi)容為注釋部分,程序不執(zhí)行注釋部分。 1.3.1C語(yǔ)言程序的構(gòu)成 (1)一個(gè)C語(yǔ)言源程序可以由一個(gè)或多個(gè)源文件組成。 (2)每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成。 (3)一個(gè)源程序不論由多少個(gè)文件組成,都有一個(gè)且只能有一個(gè)main函數(shù),即主函數(shù)。 (4)一個(gè)函數(shù)由兩部分構(gòu)成:函數(shù)首部和函數(shù)體。 函數(shù)首部即函數(shù)的第1行,包括函數(shù)名、函數(shù)類型、函數(shù)參數(shù)(形式參數(shù))名和參數(shù)類型。例如: int max(int a,int b) 一個(gè)函數(shù)也可以沒(méi)有形式參數(shù),例如: int main( ) 函數(shù)體是在函數(shù)頭部后面用一對(duì)大括號(hào)括起來(lái)的部分。函數(shù)體一般包括聲明部分和執(zhí)行部分。聲明部分是對(duì)有關(guān)變量和函數(shù)的聲明,例如: int x,y,z; int max(int a,int b); 執(zhí)行部分是一些C語(yǔ)言的執(zhí)行語(yǔ)句,例如: printf("input two numbers:\\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmum=%d",z); 一些特殊的函數(shù)可以沒(méi)有函數(shù)體,例如: void fun( ){} 這是一個(gè)空函數(shù),什么也不做,有時(shí)在編寫程序時(shí)暫時(shí)沒(méi)想好如何實(shí)現(xiàn)函數(shù)的功能,可以先寫一個(gè)空函數(shù),待以后進(jìn)行擴(kuò)充。 ● 源程序中可以有預(yù)處理命令“#include”,預(yù)處理命令通常應(yīng)放在源文件或源程序的前面。 ● C語(yǔ)言中每一個(gè)語(yǔ)句都必須以分號(hào)結(jié)尾。但預(yù)處理命令、函數(shù)首部和花括號(hào)“}”之后不能加分號(hào)。 ● C語(yǔ)言中沒(méi)有輸入、輸出語(yǔ)句,它的輸入、輸出操作是由庫(kù)函數(shù)scanf和printf等函數(shù)實(shí)現(xiàn)的。
- >
我與地壇
- >
月亮虎
- >
名家?guī)阕x魯迅:故事新編
- >
羅庸西南聯(lián)大授課錄
- >
詩(shī)經(jīng)-先民的歌唱
- >
經(jīng)典常談
- >
史學(xué)評(píng)論
- >
山海經(jīng)