1. 程式人生 > >C Primer Plus學習筆記(七)- C 控制語句:分支和跳轉

C Primer Plus學習筆記(七)- C 控制語句:分支和跳轉

prim class wid int 但是 count 跳轉 ++ idt

  • 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 控制語句:分支和跳轉