對于任何一門語言,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)。