黑馬程式設計師 C語言的控制流

2021-06-26 06:52:51 字數 2214 閱讀 2025

c語言的控制流

程式語言中的控制流語句用於控制各計算操作的執行次序。

1.if-else語句

if-else語句用於條件判定。語法如下:

if(表示式)

語句1else 

語句2其中else語句是可選語句,該語句執行時,先計算表示式的值,如果其值為真,則執行語句1;如果其為假,並且該語句包含else部分,則執行語句2。

2.else-if

在c語言中,我們經常遇到一下結構:

if(表示式)

語句else if(表示式)

語句else if(表示式)

語句else if(表示式)

語句else

語句這種if語句序列是編寫多路判定最常用的辦法。其中的各表示式將被依次求值,一旦某個表示式結果為真,則執行與之相關的語句,並終止整個語句序列額執行。最後乙個else部分用於處理「上述條件均不成立」的情況或缺省情況,也就是當上面的各種條件都不滿足時的情況。

3.switch語句

switch語句是一種多路判定語句,它測試表示式是否與一些常量整數值中的某乙個值匹配,並執行相應的分支動作。

switch(表示式)

{case 常量表示式:語句序列

case 常量表示式:語句序列

default:語句序列

}每乙個分支都是由乙個或者多個整數值常量或者常量表示式標記。如果謀個分支與表示式的值匹配,則從該分支開始執行。各分支表示式必須不同。如果沒有那一分支能支配匹配的表示式,則執行標記為default的分支。default分支是可選的。如果沒有default分支也沒有其他分支與表示式的值匹配,則該switch語句不執行任何動作。在switch語句中有break語句。程式中存在break語句,則將導致程式的執行立即從switch語句中推出。在switch語句中,case的作用只是乙個標號,因此,某個分支的**執行完成後,程式將進入下個分支繼續執行,除非在程式中顯式的跳轉,跳出switch語句最常用的方法是用break語句與return語句。

4.while迴圈與for迴圈

while迴圈語句

while(表示式)

語句在while迴圈中,首先求表示式額值。如果其值為真非0,則執行語句,並再次求該表示式的值。這以迴圈過程一直進行下去,知道該表示式的值為假(0)為止,隨後執行語句後面的部分。

for迴圈語句

for(表示式1;表示式2;表示式3)

語句它等價與下列while語句:

表示式1;

while(表示式2){

語句表示式3;

}但當while或者for迴圈語句中包含continue語句時,上述二者之間就不一定等價了。

從語法角度看,for迴圈語句的是那個組成部分都是表示式。最常見的情況是,表示式1與表示式3是賦值表示式活函式呼叫,表示式2是關係表示式。

在程式設計時到底選用while語句還是for語句主要取決於程式設計師的個人偏好。但如果語句中需要執行簡單的初始化和變數遞增,使用for迴圈語句更加自然一些。

逗號運算子「,」也是c語言中優先順序最低的運算子,在for語句中經常遇到它。被逗號分隔的一對表示式將按照從左至右額順序進行求值,各表示式右邊的運算元的型別和值即為其結構的型別和值。這樣,在for迴圈語句中,可以將多個表示式放在各個語句成分中,比如同時處理兩個迴圈控制變數。

5.do-while迴圈

在c語言中while和for迴圈語句都是在迴圈體執行前對終止條件進行測試,而do-while迴圈則在迴圈體執行後測試終止條件,這樣迴圈體最少被執行一次。

do-while迴圈語句

do表示式

while(表示式);

在這一結構中,先執行迴圈體語句中的部分,然後再求表示式的值。如果表示式的值為真,則再次執行語句,以此類推。當表示式的值為假,則迴圈終止。一般情況下,do-while迴圈比while和for迴圈用的少,但在一些情況下,do-while迴圈還是很有用。

6.goto語句

c語言提供了可隨意濫用的goto語句以及標記跳轉位置的標號。從理論上來講,goto語句是沒有必要的。但在一些場合goto語句還是用的著。最常見的用法是終止程式在某些深度巢狀的結構中的處理過程,例如一次跳出乙個或多個迴圈,這種情況下break語句是不能達到目的的,它只能從內層迴圈退出到上層迴圈。舉例:

for(...)

for(...)

...error:

處理錯誤情況

在這個例子中錯誤可能出現在多個地方,使用goto語句將會比較方便。

我目前所了解的控制流就是這些,在這些控制流中,for迴圈是我最喜歡的控制流結構。

黑馬程式設計師 C語言 流程控制

asp.net android ios開發 net培訓 期待與您交流!流程控制 順序結構 選擇結構 迴圈結構 順序結構 預設流程結構,依次執行每條語句 選擇結構 對給定條件進行判斷,根據判定結果執行相應 迴圈結構 在指定條件下,反覆執行相應 知道條件不成立 選擇結構 if if結構有3種寫法 if ...

《黑馬程式設計師》 流程控制 C語言

流程控制主要有 順序結構 預設的流程結構。按照書寫順序執行每一條語句。選擇結構 對給定的條件進行判斷,再根據判斷結果來決定執行哪一段 迴圈結構 在給定條件成立的情況下,反覆執行某一段 選擇結if語句 第一種結構 if 語句一 第二種結構 if 語句一 else 第三種結構 if 語句一 else i...

黑馬程式設計師 IO流

asp.net unity開發 net培訓 期待與您交流!io流可以按流向分為輸入流,輸出流。按讀取資料的型別可分為位元組流和字元流。字元流 輸出字元流 writer 字元寫入流的抽象 filewriter 字元寫入流 bufferedwriter 字元寫入流緩衝區 outputstreamwrit...