天天看點

【C語言進階剖析】6、分支語句

if 語句根據條件選擇執行語句

else 語句不能獨立存在且總是與它最近的 if 相比對(else 前面最近的 if)

else 語句後面可以連接配接其他 if 語句

【C語言進階剖析】6、分支語句

if 語句中零值比較的注意點

bool 型變量應該直接出現在條件中,不要進行比較

變量和 0 值比較時,0 值應該出現在比較符号左邊

float 型變量不能直接進行 0 值比較,需要定義精度

【C語言進階剖析】6、分支語句
說明: bool 變量的零值比較也可以寫成 0 == b,這樣增加了步驟 為什麼變量和 0 值比較,0 應該寫在左邊,因為寫 0 == i 時,兩個等于号可能忘記一個,寫成 0 = i,這樣編譯器就會報錯,如果 0 寫在右邊,編譯器不會報錯,這樣的 bug 很難調試 由于 float 類型是不精确的類型,如果直接讓 f == 0,該條件可能永遠為 false

switch 語句對應單個條件多個分值的情況

case 語句分支必須要有 break,否則會導緻分支重疊

default 語句有必要加上,以處理特殊情況

【C語言進階剖析】6、分支語句
說明:可以預測到的情況都應該寫在 case 中,default 用于處理不可預料的情況。default 必須要加,因為在實際使用場景中的有些情況是模拟不出來,根本無法預測到的,為了避免這種錯誤,加上 default 語句。

case 語句中的值隻能是整形或字元型(寫 case : 1.1 是不合法的)

case 語句中的排列順序:(1)按照字母或者數字的順序排列,(2)正常情況放在前面,異常放在後面,(3)dafault 隻用來處理預設情況

1、if 和 switch 使用示例

【C語言進階剖析】6、分支語句

2、if 和 switch 互換使用

運作結果和上面的一樣。

1、if 語句适用于複雜的邏輯判斷

2、switch 适用于對離散值進行判斷的情況

3、if 語句和 switch 語句在功能上可以互相替換

4、if 語句對于“按片”分支判斷的情況更加簡潔

5、switch 語句對于多分支判斷的情況更加簡潔