2011-10-09


第三章:判斷與決策(if & switch)

1.if判斷式,語法如下:

if (條件式)
{
   
程式碼
}

當電腦讀到這幾行時,會先判斷括弧內的條件式,如果符合,就會執行大括弧的
程式碼

然而要寫出判斷式中的判斷條件,就要好好利用”邏輯運算子”以及”關係運算子”

關係運算子
  • 等於「= =」 
  • 小於「<」
  • 大於「>」
  • 不等於「!=」
  • 大於或等於「>=」
  •  小於或等於「<=」
注意:若要表示等於卻只打成“=” 電腦會無法編譯
邏輯運算子
而且(and)&& 或(or)|| 否定(not)!

來個例題:



2.if-else,語法如下:

if (條件式) {

   
程式碼
}
else{
程式碼
}

電腦讀到此行時,當條件式符合輸入時,就會執行if大括弧內的程式碼,如果不符合,才會執行else大括弧內的程式碼

例題:





3.else if,語法如下:

if (條件式一)
   
陳述一;
else if(
條件式二)
   
陳述句二;
else if(
條件式三)
   
陳述句三;
else
   
陳述句四;

陳述句四會在條件式一、二、三都不成立時執行;下面這個程式是個簡單的例子,處理學生的成績等級問題:



4. switch
switch是C++提供的條件判斷陳述式,它只能比較數值或字元,不過別以為這樣它就比if 來得沒用,使用適當的話,它可比if判斷式來得有效率;switch的語法架構如下:
switch (變數名稱或運算式) {
    case
符合數字或字元:
       
陳述句一;
        break;
    case
符合數字或字元:
       
陳述句二;
        break;
    default:
       
陳述三;
}
首先看看switch的括號,當中置放您要取出數值的變數,取出數值之後,程式會開始與case中所設定的數字或字元作比對,如果符合就執行以下的陳述句,直到遇到break後離開switch區塊,如果沒有符合的數值或字元,則會執行default後的陳述句,default不一定需要,您可以省去這個部份。
來看看上一個範例的成績等級比對如何使用switch來改寫: 

 

功課:寫一個程式能判斷輸入的三個邊長L1 L2 L3能否組成一個三角形
         (利用兩邊合大於第三邊)

沒有留言: