C Primer Plus學習筆記(七)- C 控制語句:分支和跳轉
-
if 語句:
if 語句被稱為分支語句(branching statement)或選擇語句(selection statement)
if 語句的通用形式:
if (expression) statement
如果 expression 為真,則執行 statement;否則,跳過 statement
與 while 循環一樣,statement 可以是一條簡單的語句也可以是復合語句
if 語句 和 while語句的區別:如果滿足條件可執行的話,if 語句只能測試和執行一次,而 while 語句可以測試和執行多次
-
if else語句:
if else 語句的通用形式
if (expression) statement1 else statement2
如果 expression 為真(非 0),則執行 statement1;如果 expression 為假或 0,則執行 else 後面的 statement2
statement1 和 statement2 可以是一條簡單語句或復合語句
如果要在 if 和 else 之間執行多條語句,必須用花括號把這些語句括起來成為一個塊
如果沒有花括號,else 與離它最近的 if 匹配,除非最近的 if 被花括號括起來
if 語句用於選擇是否執行一個行為,而 if else 語句用於在兩個行為之間選擇
多重選擇 else if:
else if 語句的通用形式
if (expression1) statement1 else if (expression2) satement2 else if (expression3) statement3 else statement4
如果 expression1 為真(非0),則執行 statement1;如果 expression2 為真(非0),則執行 statement2;如果 expression3 為真(非0),則執行 statement3;否則執行 statement4
-
關於 _Bool 類型:
如果在程序中包含了 stdbool.h 頭文件,便可用 bool 代替 _Bool 類型,用 true 和 false 分別代替 1 和 0
如果系統不支持 _Bool 類型,可以把 isPrime 的類型改為 int,並用 1 和 0 分別替換程序中的 true 和 false
邏輯運算符:
邏輯運算符 | 含義 |
&& | 與 |
|| | 或 |
! | 非 |
假設 exp1 和 exp2 是兩個簡單的關系表達式:
- 當且僅當 exp1 和 exp2 都為真時,exp1 && exp2 才為真(所有條件為真才為真)
- 如果 exp1 或 exp2 為真,則 exp1 || exp2 為真(有一個條件為真就為真)
- 如果 exp1 為假,則 !exp1 為真;如果 exp1 為真,則 !exp1 為假(條件為假則為真,條件為真則為假)
備選拼寫:iso646.h 頭文件
如果在程序中包含該頭文件,就可以用 and 代替 &&,or 代替 ||,not 代替 !
if (ch != ‘a‘ && ch != ‘b‘) count++; 也可以寫為 if (ch != ‘a‘ and ch != ‘b‘) count++;
優先級
! 運算符的優先級很高,比乘法運算符還高,與遞增運算符的優先級相同,只比圓括號的優先級低
&& 運算符的優先級比 || 運算符高,但是兩者的優先級都比關系運算符低,比賦值運算符高
C Primer Plus學習筆記(七)- C 控制語句:分支和跳轉