C++ 速查手冊 V1.00 - 單元 5.1 - if 陳述




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



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


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

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


001 #include <iostream>
002  
003 int main() {
004    char a = 'h';
005    char b = 'h';
006
007    if (a == b) {
008        std::cout << "Welcome to my world!" 
009                  << std::endl
010    }
011
012    return 0;
013 }
014  
015 /* Kaiching Chang 
016    u0501_1.cpp
017    2014-02 */

編譯後執行,結果如下


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

程式的第 7 行


007 if (a == b) {

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


另舉一例如下


001 #include <iostream>
002  
003 int main() {
004    char a = 'h';
005    char b = 'k';
006
007    if (a == b) {
008        std::cout << "Welcome to my world!"
009                  << std::endl
010    }
011    
012    if (a != b) {
013        std::cout << "Free your mind."
014                  << std::endl
015    }
016
017    return 0;
018 }
019  
020 /* Kaiching Chang 
021    u0501_2.cpp
022    2014-02 */

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


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

continue ...

沒有留言: