第5章C語言迴圈結構程式設計

2022-05-22 13:09:04 字數 2836 閱讀 7165

本章要求:

1.熟練掌握for迴圈結構

2.熟練掌握while和do while迴圈結構

語句和break語句

4.迴圈的巢狀

概述迴圈結構是程式中一種很重要的結構。其特點是,在給定條件成立時,反覆執行某程式段,直到條件不成立為止。給定的條件稱為迴圈條件,反覆執行的程式段稱為迴圈體。

c語言提供了多種迴圈語句,可以組成各種不同形式的迴圈結構。

1) 用goto語句和if語句構成迴圈;(只要了解)

2) 用while語句;

3) 用do-while語句;

4) 用for語句;

1. for語句

在c語言中,for語句使用最為靈活!

語句格式:

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

迴圈體語句;

例如: for(i=1;i<=100;i++)

表示式1:

通常用來給迴圈變數賦初值,一般是賦值表示式,也允許在for語句外給迴圈變數賦初值,此時可以省掉該表示式。

表示式2:

通常是迴圈條件,一般是關係表示式或邏輯表示式。

表示式3:

通常可以用來修改迴圈變數的值,一般是賦值語句

注意: 這三個表示式都是任選項,都可以省掉,語句格式中的語句就是迴圈體語句,可以是一條語句,也可以是一條復合語句。

for語句的執行過程:

(1) 先求解表示式1;

(2) 求解表示式2,如果值為真,則執行(3),否則執行(6);

(3) 執行「語句」部分;

(4) 求解表示式3;

(5) 返回(2);

(6) 執行for語句下面的一條語句;

執行過程如下圖:

for語句的說明

1. for語句中的表示式1可以省掉,但應在迴圈之前給出迴圈控制變數的值。

如: int i=1;

for(;i<=100;i++)

語句;2. 如果表示式2省掉了,就不判斷迴圈條件,構成死迴圈。

3. 表示式3可以省掉,但應該另有語句保證迴圈結束。

如: for(i=1;i<=100;)

4. 可以同時省掉表示式1和表示式3,只保留表示式2,即只給出迴圈條件。

如: int i=1;

for(;i<=100;)

5. 三個表示式都可以省掉。

如: for(;;) 構成死迴圈,這時應該在迴圈體內設法結束迴圈。

例:求1+2+3+…..+100=?

main()

本程式執行過程是:

1) 給i賦初值為0;

2) 判斷i是否是超過100,如果沒有超過100,執行3);否則執行5);

3) 執行sum=sum+1;

4) 返回2);

5)輸出sum的值;

6)程式結束;

2. while語句結構

語句格式是:

while(表示式)

語句;執行過程是:

1)計算表示式的值;

2)判斷表示式的值,當值為真時,執行迴圈體語句3);否則執行5);

3)執行迴圈體;

4)返回2);

5)程式結束。

執行過程如下圖所示;

例如:輸入0~100間的偶數

main()

}while語句的說明:

是c語言的關鍵字;

後一對圓括號中的表示式,可以是c語言中任意合法的表示式,由它來控制迴圈體是否執行,一般是關係表示式或邏輯表示式;只要表示式的值是真,則繼續迴圈

3.在語法上,要求迴圈體可以是一條簡單的可以執行的語句,若迴圈體內需要多個語句時,則應該用一對花括號把它們括起來,組成一條復合語句;

4.應該注意迴圈的選擇,避免死迴圈;

5.允許while語句的雙重迴圈;

語句語句格式:

do 語句;

while(表示式);

其中語句是迴圈體,表示式是迴圈條件.

說明:是c語言的關鍵字,必須和while聯合使用;

迴圈由do開始,用while 結束,在while(表示式)後面的分號不能丟失,它表示該迴圈語句的結束.

do-while語句的執行過程:

while語句和do-while語句的區別:

do-while語句是先執行後判斷,因此,do-while語句至少要執行迴圈體一次;而while語句是先判斷後執行,如果條件不滿足的話,則一次迴圈也不執行。

4.迴圈的巢狀

在乙個迴圈體內又完整的包含了另乙個迴圈,叫做迴圈巢狀!

例如: 程式設計求解「百雞百錢」問題

公雞5元乙隻,母雞3元乙隻,小雞1元3只,求一百元買一百隻雞的方法?

#include <>

main()

5. break語句和continue語句

break語句

介紹:一, break語句只能用在switch語句和迴圈語句中

二, 當出現在switch語句中時,表示跳出該switch語句;當break語句出現在迴圈體語句中時,表示跳出本層迴圈體。

例如:main()

}程式的輸出結果是:

s=1s=3

continue語句

介紹:continue語句只能用在迴圈體中,

格式: continue ;

意義: 結束本次迴圈,即不再執行迴圈體中,continue語句之後的語句,轉入下一次迴圈條件的判斷與執行,注意的是,本語句只結束本層的本次迴圈,並不跳出迴圈;

例如:輸入100以內能被9整除的數。

main()

}例題: 求100至200間的全部素數。

#include<>

main()

if(n%n==0)printf(「\n」);

}printf(「\n」);}

C語言 第5章迴圈結構程式設計

一 單項選擇題 1 在c語言中,下列說法中正確的是 a do while語句構成的迴圈不能用其它語句構成的迴圈來代替。b do while語句構成的迴圈只能用break語句退出。c do while語句構成的迴圈在while後的表示式非零時結束迴圈。d do while語句構成的迴圈,在while後...

第5章迴圈結構程式設計

程式的三種基本結構 順序結構 用來描述依次執行的操作。選擇結構 對判定性問題的處理。迴圈結構 對有規律的重複性的事務的處理。5 1 迴圈結構概述 1 用goto語句和if語句構成迴圈 2 用while語句 3 用do while語句 4 用for語句。5 2 while語句 其一般形式如下 whil...

VB課件第5章迴圈結構程式設計

如果這樣計算 s 1s s 2 s s 2 s s 2 很顯然,這不是解決問題的方法.在程式設計中要解決此問題,就需使用迴圈結構語句 vb提供三種不同風格的迴圈結構,包括 當迴圈 while wend迴圈 do迴圈 do loop迴圈 for迴圈 for next 迴圈 其中for迴圈按規定的次數執...