
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 ...
沒有留言:
張貼留言