學習程式語言的第一件事,就是先學會如何在主控台(Console)上顯示文字,也就是純文字模式的顯示,這很枯燥,不若一些視窗化的開發環境寫起來有成就感,但主控台可以讓程式設計人員專心於程式邏輯的開發,因而對初學者來說,是紮實學習語言的一個方式。
來看看如何使用 C 來撰寫一個簡單的程式,將指定的文字輸出於主控台上,C 的副檔名為 *.c,你可以使用任一種純文字編輯程式來編輯 C 程式 :
#include <stdio.h>
int main(void) {
printf("Hello! World!\n");
printf("哈囉!C 語言!\n");
return 0;
}
首先看到程式的第一行:
#include <stdio.h>
#include
是巨集(Macro)前置處理器指令(Preprocessor directive),它告訴編譯器(Compiler)這個程式會用到 stdio.h 這個標頭檔(Header file)定義的函式(Function),以便正確地編譯程式中使用到的程式庫函式,被含括的標頭檔內容,會被插入 #include
的位置,然後再進行編譯。
簡單地說,主控台的輸入輸出功能就定義在這個檔案中,這之後還會詳細說明,現在請先記得,要在主控台進行輸入輸出,這一行一定要寫。
接下來看主函式(Main function)的部份,在 C 程式中,程式的進入點(Entry point)是 main()
這個函式:
int main() {
....
return 0;
}
其中 int
表示這個程式執行完畢後會傳回整數(Integer),括號的位置可設置參數列,之後會學到,在執行程式時,可同時將相關引數傳遞給程式。目前並不需要傳遞引數,因此括號中可設定 void
,表示程式不接收任何引數。
程式的最後一行是 return 0
,也就是程式結束後傳回 0,在不成文的規定中,程式結束會傳回一個數值,通常 0 表示程式正常結束,你可以讓其他程式或 shell 來取得程式的傳回值,以進行進一步的處理。
不過,在 C99/C11 之後,如果沒有在最後撰寫 return 0
,預設就是傳回 0 了,你可以省去這個動作。
再來看 main()
中的兩行陳述:
printf("Hello! World!\n");
printf("哈囉!C 語言!\n");
在 C 程式中,每一個陳述(Statement)結束都必須使用分號(;
),printf()
是 C 提供的標準輸出函式,如果要輸出文字至螢幕上,可以使用雙引號包括文字並寫至 printf
的括號之間,簡單地說,若要將文字顯示於螢幕上,可以使用這樣的寫法:
printf("文字");
若在欲顯示文字的後面加上 '\n'
,表示要進行換行,否則的話,下一段文字會直接顯示於同一行文字之後。
要輸出的字串是使用雙引號 ""
來包括,如果要顯示雙引號,必須先告訴編譯這件事,也就是使用跳脫字元 \"
,例如:
printf("我是\"良葛格\"!");
這段文字會文字模式下顯示:我是"良葛格”。
接下來可以使用編譯器來編譯程式了,我是使用 MinGW-w64,GNU 編譯器版本是 8.1.0,執行之後,就可以看到主控台上出現這兩段文字:
$ gcc hello.c
$ ./a.out
Hello! World!
哈囉!C 語言!