C 教材:hello, world

以下是我們用 C 語言寫的第一個程式:


#include <stdio.h>

/* 第一個 C 程式  (hello.c) */
main() {
   printf("hello, world\n");
}

請照樣抄寫或剪貼到您的編輯器內。您可以隨便取個檔案名。 在底下,我叫它 hello.c

請您將前述程式寫好之後,存檔。然後編譯:

gcc hello.c
如果沒有看到任何訊息,而操作介面的提示號就出現了,表示編譯完成。 現在,您可以 ls 看看目前資料夾內的檔案。 應該可以看到,多出來一個 a.out 檔案。

a.out 應該是個可執行檔。現在,您可以下指令

a.out
來執行它。如果看到 Command not found. 的錯誤訊息, 可能是因為您目前的資料夾不在執行路徑上。 如果是這樣,您可以下指令
./a.out
來執行。並且詢問一個有經驗的使用者,要如何將目前的資料夾放在執行路徑上。

如果看到 Permission denied. 這樣的錯誤訊息, 可能您剛才的編譯行動沒有成功,請檢查原始碼看看有什麼問題。 如果還是不行,那我就不知道如何幫你了,請就近詢問當地的管理者、助教、 教授或其他使用者。

不論原始碼的檔案叫做什麼名字, 編譯出來的可執行檔一律叫做 a.out。 如果您想要改變這個程式的名字,可以用 mv 指令將它換個名字,例如

mv a.out hello
然後就說
hello
來執行這個程式。 或者,您可以在編譯的時候下參數
gcc -o hello hello.c
來規定產生的檔案 (output file) 叫做 hello

不論如何,前面那個程式的執行結果,應該是在螢幕上看到一列文字:

hello, world
而操作介面的提示號應該出現在下一列。

為什麼要輸出 hello, world? 是為了簡單嗎?不見得。如果要簡單,我大可以說個 Hi 就好了。 真正的原因是---如果您接受這是一個原因的話---這是一個傳統。 雖然 C 的歷史至今只有三十年,但是這句 hello, world 已經成為經典。

習題

  1. 無論如何,請務必完成本節中敘述的過程,並且務必確定所得的結果正確。
  2. 刪除前面那個程式中 \n 兩個字元。存檔,重新編譯,再執行。 結果有何不同?
[BCC16-C]
單維彰 (2000/03/23) ---
[Prev] [Next] [Up]