天天看點

C語言之Hello World

對于任何一門語言,hello_world 估計是知名度最高的程式了,

C語言自然也有自己的 hello_world程式。

它的實作代碼應該是這個樣子:

hello.c

複制代碼

1 #include <stdio.h>

2

3 int main( )

4 {

5 printf(“Hello World!\n”);

6

7 return 0;

8 }

複制代碼

對于任何一個人來說,實作hello_worl隻是1分鐘的事情,但這個簡單的程式也涉及了C語言的許多技術。

逐行做個大概的論述:

第一行:#include <stdio.h>

對于新手來說,了解這行代碼也許是件難事,确實這裡涉及很多。

stdio.h 這是個頭檔案(head file),它在預編譯(什麼是預編譯?)時候由編譯器(什麼是編譯器?)引入hello.c檔案;

上述代碼改為#include “stdio.h”,你可以發現程式運作的效果沒有差别,但<>與“”有沒有差别?答案是有差别。一般<>用于引用标準庫檔案而“”則應用使用者自定義的頭檔案。

第三~八 行:

這是這個程式的主體,對于所有C語言程式來說,main函數都是必須。在函數名前面有 int 這樣的類型辨別符,用于指明函數的傳回類型(可能你會看到有用void替換int的寫法,這是錯誤的,這點無需置疑),main函數的傳回類型是int。

代碼第五行,用于在控制台終端顯示“Hello World!”字樣。 printf 是 标準庫函數(什麼是标準庫?),用于将字元串(什麼是字元串,C語言有字元串嗎?)按指定格式輸出到終端。這裡涉及标準庫函數的調用,如果我們将第一行代碼 #include <stdio.h>删除,會發現程式無法執行,原因在于stdio.h檔案提供了printf函數的接口。需要注意的是,printf不是C語言擁有的,隻是用C語言實作的标準庫函數,除此之外和C語言本身毫無關系。

代碼第七行:

return 0; 許多人對此表示疑問,如果删除這行,代碼也能順利運作。的确如此,很多編譯器在你删除後,編譯時又會給你填上return 0;這條語句。 這條語句有什麼用?簡單講:就是用于告知調用mian函數的使用者它正确執行了,由此可以看出 main 的傳回類型必須是int,而不是void(因為 0 是 int)。