C++ 速查手冊

5.1 - if 陳述

C++ 最簡單的選擇結構 (selection structure) 為單一個 if 陳述,在關鍵字 if 後接一個小括弧,該小括弧內的運算式即為條件。形式如下

若運算式的結果為 true , 也就是條件為真,其後用大括弧圍起來的程式區塊 (block) 便會執行,而若運算式的結果為 false ,這樣一來條件就為假,程式會跳過大括弧,尋找右大括號 } 後的第一個陳述執行。

如果不用大括號圍住 if 陳述後作為分流的程式碼,通常編譯器只接受一行,因此為避免程式執行的歧異,或非預期的錯誤,養成使用大括弧會是好習慣。

以下程式示範使用單一的 if 陳述

#include <iostream>

int main() {
    char a = 'h';
    char b = 'h';
    
    if (a == b) {
        std::cout << "Welcome to my world!" << std::endl; 
    }
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
   https://kaiching.org/
   檔名:u0501_1.cpp
   功能:示範 C++ 的 if 陳述
   作者:張凱慶*/

編譯後執行,結果如下

$ g++ u0501_1.cpp
$ ./a.out
Welcome to my world!
$

程式的第 7 行

if (a == b) {

由於變數 a 及變數 b 裡頭所儲存的值都是小寫字母 h 的位元編碼,所以條件為真, if 陳述後頭大括弧的陳述便會執行。

另舉一例如下

#include <iostream>
int main() {
    char a = 'h';
    char b = 'k';
    
    if (a == b) {
        std::cout << "Welcome to my world!" << std::endl; 
    }
    
    if (a != b) {
        std::cout << "Free your mind." << std::endl; 
    }
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
   https://kaiching.org/
   檔名:u0501_2.cpp
   功能:示範 C++ 的 if 陳述
   作者:張凱慶*/

此例是將兩種情況 a == ba != b 分開處理,編譯執行結果如下

$ g++ u0501_2.cpp
$ ./a.out
Free your mind.
$

上一頁 單元 5 - 控制結構
回 C++ 速查手冊首頁
下一頁 5.2 - else 陳述