計算機概論:C/C++程式設計
|
第3章. 讓程式選擇與決定:流程控制 |
|
|
授課教師:陳慶瀚 WWW : http://www.miat.ee.isu.edu.tw/cpp E-mail : pierre@isu.edu.tw |
|
3.4巢狀if-else陳述(Nested
if-else)
巢狀if-else陳述指的是一個if陳述中包含了至少又一個if陳述。來看下面例子:
if(vel
> 60) if(vel<100) cout<<"標準的車速!"; else
cout<<"太慢了!";
在第一個條件(vel>60)滿足時,程式將執行第二個條件陳述if(vel<100),若判斷式為TRUE,則輸出"標準的車速!";如果第一個條件為FALSE,則其將不會執行第二個條件陳述,就算第二個條件的判斷式為TRUE也沒有作用,程式會直接跳至else的執行陳述。 雖然上述的語法是正確的,但是程式的寫作風格並不理想,因為一旦改變上例的排版方式如下(這種情形隨時都可能發生): if(vel > 60) if(vel<100) cout<<"標準的車速!"; else cout<<"太慢了!";
則我們一不小心就會以為else是接第2行的if(vel<100)而產生程式邏輯的誤判。有兩種改善的方法,第一種方法是使用大括符{}明顯區隔: if(vel > 60) { if(vel<100) cout<<"標準的車速!";
} else { cout<<"太慢了!";
} 另一種方法是將兩個條件陳述結合成為一個複合條件判斷的if陳述: if((vel > 60) && (vel<100)) cout<<"標準的車速!"; else 課堂練習3-4 寫一個C++程式,讓使用者輸入身高,如果身高小於150,則輸出「你不適合打籃球!身高不符。」,否則再讓使用者輸入體重,若體重大於100,則程式輸出「你不適合打籃球! 體重太重了!」, 否則輸出「恭喜你通過籃球隊員甄選!」。
|
||
計算機概論:C/C++程式設計 義守大學電機系 陳慶瀚 |