一、最簡 C++ 程式
int main() // 最簡C++程式
{
} Code language: JavaScript (javascript)
- 這段程式定義一個僅有
main的函式,無傳入參數、不執行任何邏輯。 - 左大括號{代表main函式主體的開頭,右大括號}代表函式主體結束,所有要執行的程式碼都需放置在一對大括號之間。
- 雙斜線
//為單行註解,從//到該行末尾的內容僅供人閱讀,編譯器會直接忽略註解內容; - 任何完整的 C++ 程式有且僅能有一個全域
main()函式,程式執行時會從main開始運行。 int代表此函式會回傳整數;函式內回傳0代表程式正常結束,回傳非0數值則代表執行發生錯誤。- 第5點提到的回傳值,Unix/Linux 作業系統會讀取該數值,多數 Windows 程式則不會使用。
二、標準輸出 Hello World 完整範例
#include <iostream>
int main()
{
std::cout << "Hello, World!\n";
}Code language: C++ (cpp)
#include <iostream>:告知編譯器匯入標準輸入輸出串流函式庫的宣告。若缺少這一行,編譯器無法辨識std::cout輸出語法;
iostream就是前面所說的標準函式庫之一,屬於編譯器內建、以C++預先寫好的程式碼,可用來處理輸入與輸出操作,例如在主控台列印一行文字。
<<輸出運算子:將右側內容寫入左側輸出物件std::cout。本範例會將字串"Hello, World!\n"輸出(非實體印表機列印,指畫面輸出)至標準主控台(CMD終端)。- “Hello, World!\n” 為字串常值:以雙引號包覆的文字;跳脫字元
\n代表換行符號,輸出後游標會自動移至下一行。 std:::命名空間限定符,代表cout是標準函式庫std底下的元件。後續會介紹using namespace std;,可省略std::前綴,直接使用cout。
命名空間限定符的用途是避免名稱衝突,替函式庫加上專屬前綴作區分。舉例:同一班級有兩位同名學生,老師會加上標籤區分,像是Jason一號、Jason二號,這個標籤的作用就等同這裡的std。
完整範例
下方範例定義兩個自訂函式,在main函式呼叫其中一個函式,該函式再呼叫另一個函式。功能為計算圓面積:輸入半徑數值,並印出對應的圓面積。
#include <iostream>
using namespace std; // 引入std命名空間後,後續可省略std前綴
// 計算圓面積
double circle_area(double x)
{
return 3.14 * x * x;
}
// 印出圓面積
void print_circle_area(double r)
{
cout << "The area of circle with radius " << r << " is " << circle_area(r) << "\n";
}
int main()
{
print_circle_area(2.0); // 半徑為2,輸出圓面積
return 0;
}Code language: C++ (cpp)
執行結果
The area of circle with radius 2 is 12.56Code language: JavaScript (javascript)
cout 可串接多個 << 連續輸出多段內容,若未加上 \n 則所有內容會顯示在同一行。除了字串常值,也能輸入各種變數,範例中的r即為double型別變數直接輸出。
語法 void print_circle_area(double r) 小括號內的(double r)即為傳入參數。所謂傳入參數,代表變數r的值由外部呼叫時傳遞進函式內部。當main執行 print_circle_area(2.0); 時,數值2.0會傳入函式,函式內r的值即為2.0。接續cout會依序輸出文字、變數r,再呼叫 circle_area(r);呼叫時r的數值2.0會傳給 double circle_area(double x) 的參數x,函式內x等於2.0,接著計算3.14 * 2 * 2得到12.56,透過return將結果傳回呼叫處,等同下方程式邏輯:
cout << "The area of circle with radius " << r << " is " << 12.56 << "\n";Code language: C++ (cpp)
輸出完成後,右大括號結束print_circle_area函式,程式流程回到main函式。

Previous: C++語言特性