一個循環體內包含另一個完整的循環結構,稱作循環的嵌套。內嵌的循環還可以嵌套循環,這就是多層循環。三種循環(while循環,do-while循環和for循環)可以相互嵌套。
[例65]for循環的多層循環。
#include
voidmain()
{
inti,j,k;printf("ijk\n");
for(i=0;i
voidmain()
{
inti=0;
charc;
while(1)/*設置循環*/
{
c=\0;/*變量賦初值*/
while(c!=13&&c!=27)/*鍵盤接收字符直到按回車鍵或Esc鍵*/
{
c=getch();
printf("%c\n",c);
}
if(c==27)
break;/*判斷若按Esc鍵則退出循環*/
i++;
printf("TheNo.is%d\n",i);
}
printf("Theend");
}
需要注意的是:
(1)break語句對if-else條件語句不起作用。
(2)在多層循環中,一個break隻能向外跳一層,即隻能結束其所在層的循環。
continue語句的作用是跳過本次循環的循環體中剩餘的語句而強行開始執行下一次循環。continue語句隻用在while、do-while和for等循環體中,常與if條件語句一起使用,用來加速循環或者是跳過循環中的某些特殊情況。
continue語句和break語句的區別是:continue語句隻結束本次循環,而不是終止整個循環的執行。而break語句則是結束整個循環過程,不再判斷執行循環的條件是否成立。
[例67]將100~200之間不能被3整除的數輸出。
#include
voidmain()
{
intn;
for(n=100;n
#include
voidmain()
{
doubles=0,x=1;/*初始值*/
longk=1;
intsign=1;
while(fabs(x)>1e-8)/*每項值在比較前要先求絕對值*/