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 == b 及 a != b 分開處理,編譯執行結果如下
$ g++ u0501_2.cpp |
$ ./a.out |
Free your mind. |
$ |
continue ...
沒有留言:
張貼留言