語法書 / AA 競程語法書 上冊 / 第一單元 / cin 與 cout 的使用

1.8 cin 與 cout 的使用

幾乎所有程式都需要和使用者互動:讀入資料(cin)、印出結果(cout)。學會這個,你就能寫互動式程式了。

cout:輸出到螢幕

基本用法:

cout << 想輸出的內容;

範例:

cout << 5;              // 印出數字 5
cout << "Hello";        // 印出文字 "Hello"
cout << a;              // 印出變數 a 的值
cout << a + b;          // 印出運算結果

多個內容一起輸出:用 << 串連

cout << "a = " << a << ", b = " << b << endl;

如果 a = 3b = 5,輸出結果是:

a = 3, b = 5

特殊符號:

符號 意思 例子
endl 換行,並清除緩衝 cout << "line 1" << endl;
"\n" 換行,不清除緩衝(更快) cout << "line 1\n";
" " 空格 cout << a << " " << b;

「清除緩衝」是比較進階的概念,現在你只要記得:endl"\n" 都能換行,初學階段用哪個都行。

Endline 範例:

cout << "A" << endl;
cout << "B" << endl;

輸出:

A
B

cin:從鍵盤讀入

基本用法:

cin >> 變數名;

範例:

int a;
cin >> a;           // 讀入一個整數到 a

程式執行時會停下來等待你輸入。你輸入「5」後,a 就會被設定為 5。

讀入多個資料:用 >> 串連

int a, b;
cin >> a >> b;      // 讀入兩個整數

cin >> 在讀數字時,會自動跳過數字之間的空白——不管你打幾個空格、還是換行,它都當成「分隔」。所以下面這幾種輸入,cin 都會讀成 a = 5b = 3

  • 5 3(中間一個空格)
  • 5 3(中間好幾個空格,照樣可以)
  • 5 按 Enter 再打 3(用換行隔開也行)

簡單說:數字之間只要有空白(空格或換行)隔開就好,幾個都沒關係。

完整範例

#include <iostream>
using namespace std;

int main() {
    int a, b;

    cout << "Enter two numbers (space-separated): ";  // 提示訊息
    cin >> a >> b;                              // 讀入 a 和 b

    int sum = a + b;                           // 計算

    cout << a << " + " << b << " = " << sum << endl;  // 輸出

    return 0;
}

執行例:

Enter two numbers (space-separated): 7 8
7 + 8 = 15

動手試試看

  1. 寫一個程式,讀入三個數字,再照順序把它們印出來(除法、平均第二單元才教,這裡先練「讀入」和「輸出」)
  2. 試試看輸入的時候用空格分隔和換行分隔,都試試