二、循環(huán)控制
(一)、break語句
break語句通常用在循環(huán)語句和開關(guān)語句中。當(dāng)break用于開關(guān)語句switch中時(shí),可使程序跳出switch而執(zhí)行switch以后的語句;如果沒有break語句,則將成為一個(gè)死循環(huán)而無法退出。break在switch中的用法已在前面介紹開關(guān)語句時(shí)的例子中碰到,這里不再舉例。
當(dāng)break語句用于do-while、for、while循環(huán)語句中時(shí),可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語句,通常break語句總是與if語句聯(lián)在一起。即滿足條件時(shí)便跳出循環(huán)。
例如:
main()
{
int sn=0,i;
for(i=1;i<=100;i++)
{
if(i==51) break; /*如果i等于51,則跳出循環(huán)*/
sn+=i; /*1+2+……+50*/
}
printf(%d\n,sn);
}
可以看出,最終的結(jié)果是1+2+……+50。因?yàn)樵趇等于51的時(shí)候,就跳出循環(huán)了。自己寫寫怎樣在while和do--while循環(huán)中增加break語句。
注意:
1. break語句對(duì)if-else的條件語句不起作用。
2. 在多層循環(huán)中,一個(gè)break語句只向外跳一層。
例如:
main()
{
int i,j;
printf(i j\n);
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
if(j==2) break;
printf(%d %d\n,i,j);
}
}
輸出結(jié)果為:
i j
0 0
0 1
1 0
1 1
當(dāng)i==0,j==2時(shí),執(zhí)行break語句,跳出到外層的循環(huán),i變?yōu)?。
(二)、continue語句
continue語句的作用是跳過循環(huán)本中剩余的語句而強(qiáng)行執(zhí)行下一次循環(huán)。
continue語句只用在for、while、do-while等循環(huán)體中, 常與if條件語句一起使用,用來加速循環(huán)。
例如:
main()
{
int sn=0,i;
for(i=1;i<=100;i++)
{
if(i==51) continue; /*如果i等于51,則結(jié)束本次循環(huán)*/
sn+=i; /*1+2+……+50+52+……+100*/
}
printf(%d\n,sn);
}
從程序中可以看出,continue語句只是當(dāng)前的值沒有執(zhí)行,也就是說當(dāng)前的值跳過去了,接著執(zhí)行下次循環(huán)。
main()
{
int i,j;
printf(i j\n);
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{
if(j==1) continue;
printf(%d %d\n,i,j);
}
}
輸出結(jié)果為:
i j
0 0
0 2
1 0
1 2
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)C語言教程匯總計(jì)算機(jī)等級(jí)考試二級(jí)C語言常見知識(shí)點(diǎn)總結(jié)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |