在不少實(shí)際問題中有許多具有規(guī)律性的重復(fù)操作, 因此在程序中就需要重復(fù)執(zhí)行某些語句。 一組被重復(fù)執(zhí)行的語句稱之為循環(huán)體,能否繼續(xù)重復(fù),決定循環(huán)的終止條件。循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某段程序的流程結(jié)構(gòu),被反復(fù)執(zhí)行的程序被稱為循環(huán)體。循環(huán)語句是由循環(huán)體及循環(huán)的終止條件兩部分組成的
while循環(huán)語句
While(循環(huán)條件判斷a)
{
執(zhí)行代碼b;
}
執(zhí)行流程:(1)第一次進(jìn)入while循環(huán)執(zhí)行b前,先判斷a。
(2)根據(jù)條件判斷是否執(zhí)行b和c,如果條件判斷a為真(true),繼續(xù)執(zhí)行循環(huán)主
體;若條件判斷值a為假(false),則跳出循環(huán)不再執(zhí)行b 代碼。繼續(xù)執(zhí)行循
環(huán)后面的代碼
(3)執(zhí)行完b 后,繼續(xù)判斷a是否滿足條件。由于while循環(huán)不會(huì)自行更改循環(huán)控制
變量的內(nèi)容,所以while循環(huán)中為循環(huán)控制變量賦值的工作要由設(shè)計(jì)者自己來做,
完成后再回到步驟(2)重新判斷是否繼續(xù)執(zhí)行循環(huán)。
while循環(huán)例子
例子:計(jì)算1到100之間所有整數(shù)的值(包含1和100)
#include <stdio.h>
int main(void){
int i = 0; int sum=0;
while(i<=100){
sum=sum+i;
i++;
}
printf("%d\n",sum);
return 0;
}
do-while語句
當(dāng)一個(gè)一個(gè)循環(huán)至少需要執(zhí)行一次的時(shí)候,可以使用do.while循環(huán)進(jìn)行控制
do{
語句a;
}while(表達(dá)式c);
執(zhí)行步驟:
(1)執(zhí)行語句a和跳出循環(huán)條件b,轉(zhuǎn)(2)
(2)計(jì)算while后面括號(hào)里表達(dá)式的值,若其結(jié)果非0,則轉(zhuǎn)入(1),否則轉(zhuǎn)(3)
(3)退出循環(huán),執(zhí)行循環(huán)體下面的語句。
注意:do……while語句最后的分號(hào)(;)不可少,否則提示出錯(cuò)。循環(huán)體至少執(zhí)行一次
for語句
for語句是循環(huán)控制結(jié)構(gòu)中使用最廣泛的一種循環(huán)控制語句,特別適合已知循環(huán)次數(shù)的情況。結(jié)構(gòu)如下:
for ( [表達(dá)式 1]; [表達(dá)式 2 ]; [表達(dá)式3] ){語句4}
表達(dá)式1:一般為賦值表達(dá)式,給控制變量賦初值;
表達(dá)式2:關(guān)系表達(dá)式或邏輯表達(dá)式,循環(huán)控制條件;
表達(dá)式3:一般為賦值表達(dá)式,給控制變量增量或減量
注意:跳出循環(huán)用break 或者continue
for(int x = 0; x <10;x++){
if(2 ==x ){continue;}
printf("%d ", x);}
一個(gè)循環(huán)體語句中又包含另一個(gè)循環(huán)語句,稱為循環(huán)嵌套
無限循環(huán)
沒有跳出循環(huán)的條件,讓循環(huán)一直執(zhí)行下去
while(1);
do{語句1}while(1);
for(;1;);
三種循環(huán)語句的比較
同一個(gè)問題,往往既可以用 while語句解決,也可以用 do-while或者for語句來解決,但在實(shí)際應(yīng)用中,應(yīng)根據(jù)具體情況來選用不同的循環(huán)語句。選用的一般原則是:
(1) 如果循環(huán)次數(shù)在執(zhí)行循環(huán)體之前就已確定,一般用 for語句。如果循環(huán)次數(shù)是由循環(huán)體的執(zhí)行情況確定的,一般用 while語句或者do- while語句。
(2) 當(dāng)循環(huán)體至少執(zhí)行一次時(shí),用 do-while語句,反之,如果循環(huán)體可能一次也不執(zhí)行,則選用while語句。
C++/C循環(huán)語句中,for語句使用頻率最高,while語句其次,do語句很少用。
三種循環(huán)語句for、while、do-while可以互相嵌套自由組合。但要注意的是,各循環(huán)必須完整,相互之間絕不允許交叉。
聯(lián)系客服