生活札記 首頁 生活札記
提供一個可以讓大家無拘無束的討論園地
 
相簿相簿   常見問題常見問題   搜尋搜尋   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 


C語言系列課程 NO.10 if條件敘述簡介

 
發表新主題   回覆主題    生活札記 首頁 -> C/C++
上一篇主題 :: 下一篇主題  
發表人 內容
luckyhoo



註冊時間: 2006-07-19
文章: 447

發表發表於: 星期三 八月 16, 2006 5:18 pm    文章主題: C語言系列課程 NO.10 if條件敘述簡介 引言回覆

if條件敘述主要有三種類型,有何不同呢?主要在思考判斷上是否嚴密的差別而已。
類型一的if條件敘述,只能針對許許多多種狀況的其中一種作處理。
類型二的if條件敘述,就能針對二種不同的狀況作處理。
類型三的if條件敘述,能處理的狀況則更多。
不過待會看完說明後,會發現無論是「類型二」或是「類型三」的條件敘述,它們在思考的邏輯上是相同的,都是由「類型一」的條件敘述所衍生出來的。


類型一
代碼:
if(判斷式集合)
{
  第一組程式碼或是程式區塊;
}

有時用條件敘述式判斷時,僅需針對判斷結果為true或是false時某一種結果作處理時,就可使用此種較簡易的寫法。
程式設計的書當提到所謂的「判斷結果」這部分的內容時,對於判斷結果表示的方式不太一樣,列出以便參考:
代碼:
true - 真 - 是
false - 假 - 否

至於if括號裡頭為何不是只寫「判斷式」,而是「判斷式集合」,這是因為裡頭可以寫一組以上的判斷式,然後再依據判斷式的真假,以及判斷式之間所用到的條件運算子,最後再判斷這整個式子的真假值,比如說:
代碼:
if(X>0 && X<50)

就包含了二個判斷式與一個條件運算子。


類型二
代碼:
if(判斷式集合)
{
  第一組程式碼或是程式區塊;
}
else
{
  第二組程式碼或是程式區塊;
}

若是「類型一」的條件敘述會了之後,這個部份就很簡單,會根據判斷式最後的結果是true或是false,來決定所要執行的程式:
若是true,就執行第一組程式碼或是程式區塊。
若是false,就執行第二組程式碼或是程式區塊。


類型三
代碼:
if(判斷式集合1)
{
  第一組程式碼或是程式區塊;
}
else if(判斷式集合2)
{
  第二組程式碼或是程式區塊;
}



else if(判斷式集合n)
{
  第n組程式碼或是程式區塊;
}
[else
{
 第n+1組程式碼或是程式區塊;
}]

「類型三」的if-else條件敘述是用在什麼情形下呢?以剛剛的數字判斷為例,以前二種類型的條件敘述去判斷,頂多也只能知道它是正數或是負數,根本無法知道數字為何,要想知道實際的數字大小,就必須一邊比對一邊慢慢縮小範圍,直到找出適合的數字,這是最簡單的方式。
最後一組第n+1組程式碼或是程式區塊,也就是最後else以下的程式碼,按照之前所提到if條件敘述來看可以知道就形式上來說是可有可無的,所以說若是沒有else {‧‧‧}這部分的程式碼程式一樣可以執行,只不過有這一部份的程式碼,可以在之前判斷都是false的情形下,做一個錯誤或是提示訊息的輸出,不至於使程式因比對不到適當判斷式就無聲無息的結束。
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    生活札記 首頁 -> C/C++ 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作