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 = 3、b = 5,輸出結果是:
a = 3, b = 5
特殊符號:
| 符號 | 意思 | 例子 |
|---|---|---|
endl |
換行 | cout << "line 1" << endl; |
" " |
空格 | cout << a << " " << b; |
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 = 5、b = 3:
寫在同一行,中間一個空格:
5 3
寫在同一行,中間多個空格:
5 3
分成兩行輸入:
5
3
簡單說:數字之間只要有空白(空格或換行)隔開就好,幾個都沒關係。
¶>> 和 << 的方向怎麼記?
初學很容易把 cin >> 和 cout << 的箭頭方向搞混。兩個好用的記法:
- 漏斗記法:把
>>、<<想成漏斗——資料從開口大的一端,流向開口小的一端。cin >> a是資料從cin流進變數a;cout << a是資料從變數a流出到cout。 - 箭頭指向資料要去的地方:
cin >> a的箭頭指向a(資料進變數)、cout << a的箭頭指向cout(資料交給輸出)。
寫錯方向(例如 cin << a)會是編譯錯誤,看到就回來想想漏斗。
¶完整範例
#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
動手試試看:
- 寫一個程式,讀入三個數字,再照順序把它們印出來(除法、平均第二單元才教,這裡先練「讀入」和「輸出」)
- 試試看輸入的時候用空格分隔和換行分隔,都試試