C語言小白(4) 迴圈結構

2021-08-14 16:40:04 字數 2124 閱讀 3741

while迴圈的結構:

其中表示式表示迴圈條件,執行**塊為迴圈體。while語句的語義是:計算表示式的值,當值為真(非0)時, 執行迴圈體**塊。其執行過程可用下圖表示:

使用while語句應注意以下幾點:

1、while語句中的表示式一般是關係表達或邏輯表示式,當表示式的值為假時不執行迴圈體,反之則迴圈體一直執行。

2、一定要記著在迴圈體中改變迴圈變數的值,否則會出現死迴圈(無休止的執行)。

3、迴圈體如果包括有乙個以上的語句,則必須用{}括起來,組成復合語句。

do-while迴圈的一般形式:

do-while迴圈語句的語義是:它先執行迴圈中的執行**塊,然後再判斷while中表示式是否為真,如果為真則繼續迴圈;如果為假,則終止迴圈。因此,do-while迴圈至少要執行一次迴圈語句。其執行過程可用下圖表示:

注意:使用do-while結構語句時,while括號後必須有分號。

for迴圈的一般結構為:

它的執行過程如下:

第一步:執行表示式1,對迴圈變數做初始化;

第二步:判斷表示式2,若其值為真(非0),則執行for迴圈體中執行**塊,然後向下執行;若其值為假(0),則結束迴圈;

第三步:執行表示式3;

第四步:執行for迴圈中執行**塊後執行第二步;

第五步:迴圈結束,程式繼續向下執行。

其執行過程可用下圖表示:

注意:for迴圈中的分號一定要寫

在for迴圈中,表示式1是乙個或多個賦值語句,它用來控制變數的初始值;表示式2是乙個關係表示式,它決定什麼時候退出迴圈;表示式3是迴圈變數的步進值,定義控制迴圈變數每迴圈一次後按什麼方式變化。這三部分之間用分號(;)分開。

使用for語句應該注意:

1、for迴圈中的「表示式1、2、3」均可可以預設,但分號(;)不能預設。

2、省略「表示式1(迴圈變數賦初值)」,表示不對迴圈變數賦初始值。

3、省略「表示式2(迴圈條件)」,不做其它處理,迴圈一直執行(死迴圈)。

4、省略「表示式3(迴圈變數增量)」,不做其他處理,迴圈一直執行(死迴圈)。

注:死迴圈可以使用後面即將講到的break解決

5、表示式1可以是設定迴圈變數的初值的賦值表示式,也可以是其他表示式。

6、表示式1和表示式3可以是乙個簡單表示式也可以是多個表示式以逗號分割。

7、表示式2一般是關係表示式或邏輯表示式,但也可是數值表示式或字元表示式,只要其值非零,就執行迴圈體。

8、各表示式中的變數一定要在for迴圈之前定義。

while、do-while和for三種迴圈在具體的使用場合上是有區別的,如下:

1、在知道迴圈次數的情況下更適合使用for迴圈;

2、在不知道迴圈次數的情況下適合使用while或者do-while迴圈,如果有可能一次都不迴圈應考慮使用while迴圈,如果至少迴圈一次應考慮使用do-while迴圈。

但是從本質上講,while,do-while和for迴圈之間是可以相互轉換的,三種迴圈結構輸出的結果是完全一樣的。

多重迴圈就是在迴圈結構的迴圈體中又出現迴圈結構。

在實際開發中一般最多用到三層重迴圈。因為迴圈層數越多,執行時間越長,程式越複雜,所以一般用2-3層多重迴圈就可以了。另外不同迴圈之間也是可以巢狀的。

多重迴圈在執行的過程中,外層迴圈為父迴圈,內層迴圈為子迴圈,父迴圈一次,子迴圈需要全部執行完,直到跳出迴圈。父迴圈再進入下一次,子迴圈繼續執行...

注:乙個父迴圈可以有多個子迴圈

c語言迴圈結構

迴圈結構 1.goto無條件轉移語句 goto 無條件轉移語句 label goto label goto 結合if語句使用 盡量不要使用goto 只能在當前函式內跳轉 int main int argc,const char argv return 0 例項 goto實現1 100相加 inclu...

C語言 迴圈結構

列印7的倍數 while i 100 i 列印個位為7的數 while i 100 i 列印十位為7的數 while i 100 i 列印出不是7的倍數,且不包括7的數 while i 100 else i printf n printf n int j 100 while j 0 else j p...

c語言迴圈結構

for迴圈體語句 表示方法1 for 表示式1 表示式2 表示式3 的意義為 for 表示式1 表示式2 或者 表示方法2 表示式1 for 表示式2 表示式第乙個表示式進行初始化,它在for迴圈開始時執行一次,用於在迴圈開始前為迴圈變數賦初值。第二個表示式是判斷條件,在每次執行迴圈前都要對它進行求...