【C語(yǔ)言C++編程學(xué)習(xí)筆記】基礎(chǔ)語(yǔ)法,第一個(gè)簡(jiǎn)單的實(shí)例編程入門(mén)教程!

C語(yǔ)言/C++編程學(xué)習(xí):一個(gè)簡(jiǎn)單的實(shí)例

?????? 讓我們來(lái)看一個(gè)簡(jiǎn)單的C語(yǔ)言程序。從下面的程序可以看出編寫(xiě)C語(yǔ)言程序的一些基本特征。

?????? 如果你能知道該程序?qū)?huì)在顯示器上顯示一些內(nèi)容,那說(shuō)明你還是知道一些的!

?????? 確實(shí)如此,但所要顯示的確切內(nèi)容不是顯而易見(jiàn)的,所以請(qǐng)運(yùn)行程序來(lái)觀看結(jié)果。

?????? 首先,用你熟悉的編輯器建立一個(gè)上面這個(gè)樣的程序,然后給這個(gè)程序取一個(gè)名字,并以 .c 作為結(jié)尾以滿足所在系統(tǒng)對(duì)文件名格式的要求。

?????? 例如,你可以把它命名為 helloworld.c。 現(xiàn)在編譯并運(yùn)行該程序 。

?????? 如果一切運(yùn)行正常,其顯示結(jié)果為:


實(shí)例簡(jiǎn)單說(shuō)明

?????? 我們來(lái)將程序的源代碼分析一下:

◆? #include ←包含另一個(gè)文件

?????? 這是程序的第一行。它的作用相當(dāng)于你在文件中的這行所在的位置鍵入了文件 stdio.h 的完整內(nèi)容。實(shí)際上,它是一種剪切和粘貼操作,這樣可以方便地在多個(gè)程序間共享公用的信息。

?????? #include 語(yǔ)句是 C預(yù)處理指令 的一個(gè)例子。通常,C 編譯器在編譯前要對(duì)源代碼做一些準(zhǔn)備工作;這稱為預(yù)處理。

stdio.h 文件作為所有 C編譯包的一部分提供,它包含了有關(guān)輸出輸入函數(shù)的信息以供編譯器使用。這個(gè)名字代表標(biāo)準(zhǔn)輸入輸出頭文件。我們稱之為頭文件,C語(yǔ)言中通常都帶有許多頭文件。

◆? int main () ← 函數(shù)名

?????? 接下來(lái)的這行代碼聲明了一個(gè) main函數(shù)。一個(gè) C語(yǔ)言程序總是從稱為 main()的函數(shù)開(kāi)始執(zhí)行的。

?????? 你可以對(duì)你所用的其他函數(shù)任意命名,但是 main()必須是開(kāi)始的函數(shù),所以說(shuō),main()函數(shù)在程序中是唯一的。

?????? 那么圓括號(hào)的功能呢?它們表明 main()是一個(gè)函數(shù)。以后你將了解到更多的函數(shù)。但現(xiàn)在,請(qǐng)你記住這個(gè)函數(shù)是 C程序的基本模塊。

?????? int 指明了 main()函數(shù)的返回類型。這意味著 main()函數(shù)返回值的類型是整數(shù)。返回到哪里呢?返回給操作系統(tǒng)。

?????? 如果瀏覽老版本的 C代碼,你將發(fā)現(xiàn)程序常常以:

main()

?????? 這種形式開(kāi)始。C90標(biāo)準(zhǔn)勉強(qiáng)允許這種形式,但是 C99標(biāo)準(zhǔn)不允許。因此即使你當(dāng)前的編譯器允許,也不要這么做,請(qǐng)注意規(guī)范。

◆? /* 一個(gè)簡(jiǎn)單的 C程序 */ ←注釋

?????? 包含在 /* */ 之間的部分是程序注釋。使用注釋的目的是使自己和他人更容易理解你的程序。

?????? C語(yǔ)言的注釋的一個(gè)好處就是可以被放在任意的地方,甚至是和它要解釋的語(yǔ)句在同一行。

?????? 一個(gè)較長(zhǎng)的注釋可以單放一行,或者是多行。在/* 和 */之間的所有內(nèi)容都會(huì)被編譯器忽略掉。下面是一些正確和不正確的注釋形式:

?????? 也可以這樣寫(xiě):

?????? C99 增加了另一種風(fēng)格的注釋,它被普遍用在 C++ 和 Java里。這種新形式使用 // 符號(hào),但這種注釋被限制在一行里:

?????? 因?yàn)橐恍械慕Y(jié)尾就標(biāo)志著注釋的結(jié)束,所以這種形式只在注釋的開(kāi)始處需要標(biāo)志符號(hào)。

{ ← 函數(shù)體的開(kāi)始?} ← 函數(shù)體的結(jié)束

{

...

}

?????? 在前面的程序中,花括號(hào)劃定了 main函數(shù)的界線。通常,所有的 C語(yǔ)言函數(shù)都使用花括號(hào)來(lái)表示函數(shù)體的開(kāi)始與結(jié)束。它們的存在是必不可少的,因此不能丟掉它們。僅有花括號(hào) { } 能起到這種作用,小括號(hào)()和中括號(hào) [ ] 都是不可以的。

?????? 花括號(hào)還可以用來(lái)把函數(shù)中的語(yǔ)句聚集到一個(gè)單元或代碼塊中。

◆? int num; ---聲明語(yǔ)句

?????? 這個(gè)語(yǔ)句表明你將使用 num 這個(gè)變量,并且它是 int(整數(shù))類型的。

?????? 程序中的這一行叫做聲明語(yǔ)句 。該聲明語(yǔ)句是 C語(yǔ)言中最重要的功能之一。在 C語(yǔ)言中,所有變量都必須在使用之前定義。

?????? 這句聲明表達(dá)了兩個(gè)意思:

第一,在函數(shù)中你有一個(gè)名為 num 的變量。

第二,int說(shuō)明 num 是一個(gè)整數(shù),也就是說(shuō)這個(gè)數(shù)沒(méi)有小數(shù)點(diǎn)或者小數(shù)部分。編譯器使用這個(gè)信息為變量 num在內(nèi)存中分配一個(gè)合適的存儲(chǔ)空間。句末的;指明了這一行是 C語(yǔ)言的一個(gè)語(yǔ)句或指令。每條語(yǔ)句后面都需要寫(xiě)上;。

?????? 單詞 int 是 C語(yǔ)言的一個(gè)關(guān)鍵字,它代表 C中最基本的一個(gè)數(shù)據(jù)類型。關(guān)鍵字是用來(lái)表達(dá)語(yǔ)言的單詞,你不能將它們用于其他目的。例如,不能把 int 用作一個(gè)函數(shù)或者是變量的名字。

◆? num = 1; ←賦值語(yǔ)句

這行程序是一個(gè)賦值語(yǔ)句。賦值語(yǔ)句是 C語(yǔ)言的基本操作之一。這個(gè)特殊的例子的意思是“把數(shù)值1賦給變量 num”??梢院?jiǎn)單理解為把1給了num,那么num就是1了。注意賦值語(yǔ)句賦值的順序是從右到左。同樣,該語(yǔ)句也用;結(jié)束語(yǔ)句。

◆? printf ("hello world!"); ←一個(gè)函數(shù)調(diào)用語(yǔ)句

printf ("hello world! ");

printf ("這是我學(xué)習(xí)C語(yǔ)言的第%d天! ",num);

?????? 上面兩句話都使用了 C語(yǔ)言的一個(gè)標(biāo)準(zhǔn)函數(shù):printf();。圓括號(hào)表明 printf 是一個(gè)函數(shù)名,程序?qū)⒆R(shí)別 “ ” 之間的內(nèi)容并把它們顯示在屏幕上。

?????? 結(jié)果顯示的結(jié)果應(yīng)該為:

?????? 那么引號(hào)中有字符 ,但并沒(méi)有輸出它們!發(fā)生了什么事情呢? 字符代表一個(gè)稱為換行符的字符,它意味著“在下一行的最左邊開(kāi)始新的一行”。

?????? 換行符是轉(zhuǎn)義字符的一個(gè)例子。轉(zhuǎn)義字符通常用于代表難于表達(dá)的或是無(wú)法鍵入的字符。其他的例子比如 代表 Tab鍵, 代表退格鍵盤(pán)。每個(gè)轉(zhuǎn)義字符都用斜線字符()開(kāi)始。

?????? 另外,輸出最后一行時(shí) %d 起什么作用?回憶一下,這一行的輸出結(jié)果是:

這是我學(xué)習(xí)C語(yǔ)言的第1天!

?????? 當(dāng)這一行輸出時(shí),數(shù)字1被符號(hào)組合%d代替了,而1是變量 num的值。%d是一個(gè)占位符,其作用是指出輸出 num 值的位置。簡(jiǎn)單來(lái)說(shuō) 就是把%d用這行語(yǔ)句后面的num替換。

◆? return 0; --- 返回語(yǔ)句

?????? return 語(yǔ)句也叫返回語(yǔ)句,它是程序的最后一個(gè)語(yǔ)句。在 int main()中 int 表示 main()函數(shù)的返回值應(yīng)該是一個(gè)整數(shù)。

?????? C標(biāo)準(zhǔn)要求 main()這樣做。帶有返回值的 C語(yǔ)言函數(shù)要使用一個(gè) return 語(yǔ)句,該語(yǔ)句包括關(guān)鍵字 return,后面緊跟著要返回的值,然后是一個(gè)分號(hào)。

?????? 對(duì)于 main()函數(shù)來(lái)說(shuō),如果你漏掉了 return語(yǔ)句,則大多數(shù)編譯器將對(duì)你的疏忽提出警告,但仍將編譯該程序。此時(shí),你可以暫時(shí)把 main()中的 return語(yǔ)句看作是保持邏輯連貫性所需的內(nèi)容。

今天的學(xué)習(xí)就到此為止,希望你能有所收獲!

學(xué)C/C++不易,此路應(yīng)攜手前行。

歡迎關(guān)注我的編程公眾號(hào)【草莓味貍貓】!

如果你想跟著小編一起學(xué)編程的話!

可以來(lái)我的C語(yǔ)言C++編程學(xué)習(xí)基地【搜索進(jìn)入】!

↓☆↓

還有(源碼,零基礎(chǔ)教程,項(xiàng)目實(shí)戰(zhàn)教學(xué)視頻)!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容