Hello! World!


學習程式語言的第一件事,就是得先學會在控制台(Console)上顯示文字,也就是純文字模式的顯示,初學者往往必須先從控制台開始學習程式的撰寫與執行程式,這很枯燥,不若一些視窗化的開發環境撰寫起來有成就感,但主控台程式設計可以讓開發者專心於程式邏輯的開發,因而對初學者來說也是學習語言的一個好方式。

來看看如何使用 C++ 來撰寫一個簡單的程式,將您指定的文字輸出於主控台上,C++ 的副檔名為 *.cpp,可以使用任一種純文字編輯程式來編輯 C++ 程式:

#include <iostream>     
using namespace std; 

int main() { 
    cout << "Hello! World!\n"; 
    cout << "哈囉! C++!\n";

    return 0; 
}

首先看到程式的這兩行:

#include <iostream>
using namespace std;

#include 是巨集(Macro)前置處理器指令(Preprocessor directive)(詳情之後會介紹),它告訴編譯器(Compiler)這個程式必須使用到 iostream 這個表頭檔(Header file)中的函式(Function)與類別(Class)定義。

using 指令表示使用 std 名稱空間(Namespace)下的名稱,例如 cout,不包括該行的話,就必須寫為 std::cout,這之後還會詳細說明,現在請先記得,要在主控台進行輸入輸出,這兩行一定要寫。

接下來看主函式(Main function)的部份,在 C++ 程式中,程式進入點(Entry point)是 main 函式:

int main() {
    ....
    return 0;
}

其中 int 表示函式執行完畢後會傳回整數(Integer),括號的位置可設置參數列,之後會看到,在執行程式的時候,可同時將程式的相關引數傳遞給程式,目前並不需要傳遞引數,括號中不設定任何參數,表示程式不接收任何引數。

程式的最後一行是 return 0,也就是程式結束後傳回 0,在不成文的規定中,如果程式結束會傳回一個數值,通常 0 表示程式正常結束,可以讓其它程式或 shell 來取得程式的傳回值,以進行進一步的處理;一個簡單的例子是,在程式結束後鍵入 echo \$? 看看程式傳回的值是否為 0,在標準 C++ 中,如果沒有指定 returnmain 也會傳回 0。

再來看 main 中的兩行陳述(Statement):

cout << "Hello! World!\n";
cout << "Hello! C++!\n";

C++ 每個陳述結束都必須使用分號(;),cout(發音 see-out)是 C++ 開啟的輸出串流(istream) 物件,而 << 是輸出運算子(Operator),串流與運算子的觀念在之後才會介紹,簡單地說,如果要將文字顯示於螢幕上,可以使用這樣的寫法:

cout << "文字";

'\n' 是換行字元,因此文字輸出會換行。

字串使用雙引號 "" 來包括,如果要顯示雙引號,必須使用對 " 轉義(Escape),也就是使用 \",例如:

cout << "我是\"良葛格\"!";

這段會文字模式下顯示:

我是"良葛格"。

接下來可以使用編譯器來編譯程式了,我是使用 MinGW-w64,GNU 編譯器版本是 8.1.0,執行之後,就可以看到主控台上出現這兩段文字:

Hello! World!
哈囉! C++!