c語言筆記2--控制流
總論:
程式語言中的控制流語句用於控制各計算操作執行的次序。
if - else 語句
if - else 用於條件判定。 如:
if(表示式)
else
其中else部分是可選的。
該語句執行時,先計算表示式的值,如果其值為真(即表示式的值為非0),則執行表示式1;
如果其值為假(即表示式的是為0),並且該語句包含else部分,則執行語句2。 注:
因為if - else語句的else部分是可選的,所以在巢狀的 if 語句中省略它的 else 部分將導致歧義。
解決的方法是將每個 else 與最近的前乙個沒有 else 配對的 if 進行匹配。良好的程式**的縮排結構可以體現出來。
else - if 語句
下面if 語句結構,是編寫多路判定最常用的方法。如:
if(表示式)
else if(表示式)
else if(表示式)
else
其中的各表示式將被一次求值,一旦某個表示式結果為真(即表示式值為非0),則執行與之相關的語句,並終止整個語句序列的執行。注:
最後else 是可選的,用於處理 「上述條件均不成立」 的情況或缺省情況,該部分也可以用來檢查錯誤,以捕獲「不可能」的條件。
switch 語句
switch 語句是一種多路判定的語句,它測試表示式是否與一些常量整數值中的某乙個匹配,並執行相應的分支動作。如:
switch 語句,先計算表示式的值, 並逐個與其後的常量表示式值相比較(每個分支都由乙個或多個整數值常量或常量表示式標記),當表示式的值與某個常量表示式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。
switch (nsqlid)
注:
在switch 語句中,case的作用只是乙個標記。因此,某乙個分支中的**執行完後,程式將進入下一分支繼續執行,除非在程式中顯示的跳轉break;
在case後的各常量表示式的值不能相同,否則會出現錯誤。
在case後,允許有多個語句,可以不用{}括起來。
各case和default子句的先後順序可以變動,而不會影響程式執行結果。
不要忘記最後那個default分支。即使程式真的不需要default處理,也應該保留語句 default : break; 這樣做並非多此一舉,而是為了防止別人誤以為你忘了default處理。(default子句可以省略不用)
break語句將導致程式的執行立即從switch語句中退出,正常情況下每個分支後都加乙個break語句結束,否則將導致多個分支重疊(除非有意使多個分支重疊)。
while迴圈 與 for 迴圈
while 迴圈語句,如:
while(表示式)
首先求表示式的值,如果其值為真(非0),則執行語句序列,並再次求該表示式的值,這一迴圈過程一直進行下去,直到該表示式的值為假(0)為止,隨後繼續執行語句後面的部分。
for 迴圈語句,如:
for(表示式1; 表示式2 ;表示式3)
它等價於下列whlie語句:
表示式1;
while( 表示式2 )
注:
for 迴圈語句的3個組成部分都是表示式,最常見的情況是,表示式1與表示式3是賦值表示式或函式呼叫,表示式2是關係表示式。
這3個組成部分中的任何部分都可以省略,但分號必須保留。
如果在for語句中省略表示式1和表示式3,它就退化成了while迴圈語句。如果省略測試條件,即表示式2,則認為其值永遠是真值,需要借助其他手段(如break語句或return語句)才能終止執行。
do - while 語句
do - while 語句的語法形式,如:
do
while(表示式);
首先執行迴圈體中的語句部分,然後再求表示式的值,如果表示式的值為真(非0),則再次執行語句,依此類推; 當表示式的值變為假(0),則迴圈終止。
注:do - while 迴圈則在迴圈體執行後測試終止條件,這樣迴圈體至少被執行一次。
break 語句與continue 語句
break 語句可用於從for、while與do - while 等迴圈體中提前退出,就如同從switch 語句中提前退出一樣。如:
int trim(const s)
}s[n + 1] = '\0';
return n;
}
continue 語句用於使for、while與do - while語句開始下一次迴圈的執行,
continue 語句只用於 迴圈語句,不用於switch語句。
注: 在while與do - while語句中,continue 語句的執行意味著立即執行測試部分;
在for 迴圈中,則意味著使控制轉移到遞增迴圈變數部分。
goto 語句
c語言提供了可隨意濫用的goto語句以及標記跳轉位置的標號。
注:標號的命名同變數命名的形式相同,標號的後面要緊跟乙個冒號。
標號可以位於對應的goto語句所在函式的任何語句的前面。
標號的作用域是整個函式。c語言筆記2--控制流
C語言控制流
if else語句 include intmain if else語句,先判斷括號內語句,再執行對應內容 switch語句 include intmain return0 for迴圈 include intmain for 表示式1,表示式2,表示式3 等價於while 表示式2 while先計算表...
C語言 控制流
0715 一 三大控制結構簡介 順序結構 選擇結構 if if else if else if else if else switch case 迴圈結構 while do while for 二 語句和塊 每乙個語句都是以 結束,獨佔一行。空語句 語句塊 用 包圍的部分。三 選擇結構 注意 if....
C語言 控制流
1.if else語句 if 表示式 語句1else 語句22.else if語句 if 表示式 語句1else if 表示式 語句2else 語句33.switch語句 多路判定語句 switch 表示式 break語句會導致程式從switch語句中退出。4.while迴圈與for迴圈 while...