3.1 布林型態

程式做決策需要一種方式表達「真」和「假」。在 C++ 中,我們用 bool(布林)型態來表示這兩個值。

bool flag = true;   // 宣告一個布林變數,值為「真」
bool result = false; // 宣告一個布林變數,值為「假」

bool 只有兩種可能值:

  • true:真(1)
  • false:假(0)

當我們用 cout 輸出布林值時,預設會輸出 10

#include <iostream>
using namespace std;

int main() {
    bool is_pass = true;
    bool is_fail = false;

    cout << is_pass << endl;  // 輸出:1
    cout << is_fail << endl;  // 輸出:0

    return 0;
}

執行結果

1
0

用 boolalpha 輸出 true/false

布林值預設印成 1 / 0,解題時這樣就夠了——題目要你輸出的都是它指定的文字或數字,幾乎不會是 true / false 這幾個字。不過在「學習、觀察布林值」的階段,把結果印成 true / false 會好讀得多。做法是在輸出前先加一行 cout << boolalpha;

#include <iostream>
using namespace std;

int main() {
    bool is_pass = true;
    bool is_fail = false;

    cout << boolalpha;  // 這行不印東西,只是在設定 cout
    cout << is_pass << endl;  // 輸出:true
    cout << is_fail << endl;  // 輸出:false

    return 0;
}

執行結果

true
false

動手試試看

寫一個程式,宣告三個布林變數 morningafternoonevening,分別代表「是否是上午」「是否是下午」「是否是晚上」。用 boolalpha 輸出它們。