書(shū)名: 零基礎(chǔ)學(xué)C語(yǔ)言(升級(jí)版)作者名: 明日科技編著本章字?jǐn)?shù): 1727字更新時(shí)間: 2024-05-14 10:37:58
1.4 一個(gè)簡(jiǎn)單的C程序

視頻講解:資源包\Video\01\1.4一個(gè)簡(jiǎn)單的C程序.mp4
先通過(guò)一個(gè)簡(jiǎn)單的程序來(lái)了解C語(yǔ)言的編寫(xiě)特點(diǎn)。
實(shí)例01 輸出“Hello,world!I’m coming!”
實(shí)例位置:資源包\Code\SL\01\01
視頻位置:資源包\Video\01\
本實(shí)例程序?qū)崿F(xiàn)的功能是輸出一條信息“Hello,world!I’m coming!”。這個(gè)簡(jiǎn)單的C程序雖然只有7行,但充分說(shuō)明了C程序是由什么位置開(kāi)始、什么位置結(jié)束的。具體代碼如下:

運(yùn)行程序(快捷鍵<Ctrl+F5>),結(jié)果如圖1.25所示。

圖1.25 簡(jiǎn)單程序運(yùn)行結(jié)果

編程之美源于發(fā)現(xiàn)
做完上面這個(gè)程序后,是不是感覺(jué)太簡(jiǎn)單,不過(guò)癮?掃描上面右側(cè)的“發(fā)現(xiàn)”二維碼,一起走進(jìn)C語(yǔ)言編程的深度探險(xiǎn)之旅。開(kāi)動(dòng)腦筋,尋找靈感,激活根植于你內(nèi)心的發(fā)現(xiàn)基因,不斷突破C語(yǔ)言編程的種種局限和不可能,創(chuàng)造和分享C語(yǔ)言編寫(xiě)的各種成果。只有想不到,沒(méi)有做不到,如圖1.26所示,就是利用輸出語(yǔ)句實(shí)現(xiàn)的各種字符畫(huà)。

圖1.26 形形色色的字符畫(huà)
從實(shí)例01的實(shí)現(xiàn)代碼中可以看出,一個(gè)簡(jiǎn)單的C程序是由以下幾部分內(nèi)容組成的。
1.#include指令
實(shí)例01實(shí)現(xiàn)代碼中的第1行代碼如下:

這個(gè)語(yǔ)句的功能是進(jìn)行有關(guān)的預(yù)處理操作。其中“#”表示預(yù)處理命令,#include是使用頭文件的指令;而stdio.h是一個(gè)函數(shù)庫(kù),它被稱為頭部文件或首文件。
2.空行和空格
實(shí)例01實(shí)現(xiàn)代碼中的第2行是一個(gè)空行。目的是讓代碼之間層次更清晰。
由于C語(yǔ)言是一門(mén)較靈活的語(yǔ)言,因此格式并不是固定不變、拘于一格的。也就是說(shuō),加空行或空格一般不會(huì)影響程序。合理、恰當(dāng)?shù)厥褂每招泻涂崭瘢梢允咕帉?xiě)出來(lái)的程序更加規(guī)范,更便于日后的閱讀和整理。
注意
不是所有的空格都是可有可無(wú)的,如在兩個(gè)關(guān)鍵字之間必須用空格隔開(kāi)(例如else if),在這種情況下,如果將空格去掉,程序就不能通過(guò)編譯。
3.main()主函數(shù)聲明
實(shí)例01實(shí)現(xiàn)代碼中的第3行如下:

這行代碼的作用是聲明main()主函數(shù),其返回值為整型數(shù)據(jù)。其中的“int”稱為關(guān)鍵字,代表數(shù)據(jù)類(lèi)型是整型。
在函數(shù)中,這一部分被稱為函數(shù)頭部分。在每一個(gè)程序中都會(huì)有一個(gè)main()主函數(shù),main()主函數(shù)就是一個(gè)程序的入口部分。也就是說(shuō),程序都是從main()主函數(shù)頭開(kāi)始執(zhí)行的,然后進(jìn)入main()主函數(shù)中,執(zhí)行main()主函數(shù)中的內(nèi)容。
4.函數(shù)體
在介紹main()主函數(shù)時(shí),提到了一個(gè)名詞——函數(shù)頭。一個(gè)函數(shù)可分為兩個(gè)部分:一部分是函數(shù)頭,另一部分是函數(shù)體。
實(shí)例01實(shí)現(xiàn)代碼中的第4行和第7行代碼的兩個(gè)大括號(hào)就構(gòu)成了函數(shù)體,代碼如下:

函數(shù)體也可以稱為函數(shù)的語(yǔ)句塊。在函數(shù)體中,第5行和第6行就是函數(shù)體中要執(zhí)行的內(nèi)容。
5.執(zhí)行語(yǔ)句
實(shí)例01實(shí)現(xiàn)代碼的第5行代碼就是函數(shù)體中的執(zhí)行語(yǔ)句,代碼如下:

執(zhí)行語(yǔ)句就是函數(shù)體中要執(zhí)行的內(nèi)容。printf()函數(shù)是產(chǎn)生格式化輸出的函數(shù),可以簡(jiǎn)單地理解為向控制臺(tái)輸出文字或符號(hào)。括號(hào)中的內(nèi)容被稱為函數(shù)的參數(shù),在括號(hào)內(nèi)可以看到輸出的字符串“Hello,world!I’m coming!”,其中“\n”稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符的內(nèi)容將會(huì)在本書(shū)第3章中進(jìn)行介紹。
6.return語(yǔ)句
實(shí)例01實(shí)現(xiàn)代碼中的第6行代碼同樣也是函數(shù)體中的執(zhí)行語(yǔ)句,代碼如下:

這行語(yǔ)句的作用是使main()主函數(shù)終止運(yùn)行,并向操作系統(tǒng)返回一個(gè)整型常量0。在介紹main()主函數(shù)時(shí),說(shuō)過(guò)返回一個(gè)整型返回值,此時(shí)0就是要返回的整型值。在此處可以將return理解成main()主函數(shù)的結(jié)束標(biāo)志。
7.代碼的注釋
在程序的第5行和第6行后面都可以看到一段關(guān)于該行代碼的文字描述,語(yǔ)句如下:

這兩行對(duì)代碼的解釋內(nèi)容被稱為代碼的注釋。代碼注釋的作用就是對(duì)代碼進(jìn)行解釋說(shuō)明,便于以后自己閱讀或者他人閱讀源程序時(shí),容易理解程序代碼的含義和設(shè)計(jì)思想。
C語(yǔ)言中主要有兩種常見(jiàn)的注釋形式,即單行注釋和多行注釋。單行注釋符號(hào)使用“//”,作用范圍就是從符號(hào)“//”開(kāi)始到本行結(jié)束;多行注釋符號(hào)使用“/**/”,作用范圍是“/*”與“*/”之間的內(nèi)容。語(yǔ)法如下:

注釋的原則是有助于對(duì)程序的閱讀理解,注釋不宜太多,也不能太少,太多會(huì)對(duì)閱讀產(chǎn)生干擾,太少則不利于對(duì)代碼的理解。因此只在必要的地方才加注釋,而且注釋要準(zhǔn)確、易懂、盡可能簡(jiǎn)潔。
說(shuō)明
雖然沒(méi)有強(qiáng)行規(guī)定程序中一定要寫(xiě)注釋,但是為便于以后查看代碼,或者如果程序交給別人看,他人便可以快速地掌握程序的基本信息(如版權(quán)說(shuō)明、生成日期、內(nèi)容、功能等)與代碼作用。因此,編寫(xiě)良好的代碼格式規(guī)范和添加適當(dāng)?shù)淖⑨專且粋€(gè)優(yōu)秀程序員應(yīng)該具備的好習(xí)慣。
訓(xùn)練一
試著在控制臺(tái)輸出“Welcome to MingRi”。(資源包\Code\Try\01\01)
- Learning Microsoft Windows Server 2012 Dynamic Access Control
- Node.js Design Patterns
- 微服務(wù)與事件驅(qū)動(dòng)架構(gòu)
- PHP 從入門(mén)到項(xiàng)目實(shí)踐(超值版)
- AngularJS Web Application Development Blueprints
- 認(rèn)識(shí)編程:以Python語(yǔ)言講透編程的本質(zhì)
- 數(shù)據(jù)結(jié)構(gòu)(Java語(yǔ)言描述)
- 從0到1:HTML+CSS快速上手
- INSTANT Passbook App Development for iOS How-to
- Java Web開(kāi)發(fā)實(shí)例大全(基礎(chǔ)卷) (軟件工程師開(kāi)發(fā)大系)
- PHP 8從入門(mén)到精通(視頻教學(xué)版)
- Oracle 12c從入門(mén)到精通(視頻教學(xué)超值版)
- 安卓工程師教你玩轉(zhuǎn)Android
- Getting Started with JUCE
- 例說(shuō)FPGA:可直接用于工程項(xiàng)目的第一手經(jīng)驗(yàn)