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指令表示使用名稱空間(Namespace)std下的名稱,這之後還會詳細說明,現在 請先記得,要在主控台進行輸入輸出,這兩行一定要寫。

C++過去的舊式表頭檔寫法在現在也是可以使用的,您也可以使用下面這行來取代上面兩行:
#include <iostream.h>

這種表頭檔的include寫法,在許多舊程式上還很常見。C++標準表頭檔沒有副檔名,因為副檔名的命名規則隨各編譯器而有所不同。

如果您學過C語言,在C語言中常用的一些函式庫,在C++中也可以使用,只要將*.h去掉,並於前頭上c即可,例如math.h改為cmath, string.h改為cstring,當然這種C/C++函式庫混用的情況是不被建議的。

接下來看主函式(Main function)的部份,在C++程式中,程式的進入點(Entry point)是main()這個函式:
int main() {
    ....
    return 0;
}

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

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

再來看main()中的兩行陳述:
cout << "Hello! World!\n";
cout << "Hello! C++!\n";

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

如果您在卻 顯示文字的後面加上'\n',這是換行字元,表示文字輸出之後顯示換行字元,否則的話,下一段 文字會直接顯示於同一行文字之後。

注意您要輸出的字串是使用雙引號" "來包括,如果您要顯示雙引號,就會使得編譯器在語法上混淆,所以您必須先告訴編譯這件事,使用跳脫字元\",也就是說,您告訴編譯器,在\之後的"是要 顯示的字元,例如:
cout << "我是\"良葛格\"!";

這段文字會文字模式下顯示:我是"良葛格"。

接下來您可以使用您的編譯器來編譯程式了,您可以使用商業軟體Visual C++,或是免費軟體Dev C++等程式來編譯程式並輸出執行檔,執行之後,就可以看到主控台上出現這兩段文字:
Hello! World!
哈囉! C++!