第七讲
Begin:
第五章循环结构程序设计
continue 语句和 break 语句
循环的嵌套
goto语句
1、continue语句
格式:continue ;
功能:结束本次循环,使程序回行到循环条件,判断是否提前进入下一次循环。
continue语句只用于循环结构的内部,常与if语句联合起来使用,以便在满足条件时提前结束本次循环。
continue语句和break语句
例对除5的倍数以外的1~100的数求和。
main( )
{int i,s;
s=0;
for(i=1;i<=100;i++)
{if (! (i%5))
continue;
s+=i;
printf(“%d,%d\n”,i,s);
} }
如果if判断语句为真,则跳出本次循环,回到循环条件,判断是否进行下一次循环
此处,当i为5的倍数时,!(i%5)为真,跳出本次循环,不执行continue下面的语句,直接进入下一次循环,即执行for语句
运行序列如下:
i if(!(i%5)) s+=i
1 假 s=0+1=1
2 假 s=1+2=3
3 假 s=3+3=6
4 假 s=6+4=10
5 真不执行
6 假 s=10+6=16
………………
continue语句和break语句
main()
{int n,s;
for (n=1,s=0;n<=20;n=n+1)
{ if (n%3==0) continue;
printf("%d\t",n);
s=s+1;
}
printf("\ntotal:%d\n",s);
}
例统计1~50之间不能被3整除的数的个数并输出这些数。
运行结果:
2 4 5 7 8 10 11 13 14 16 17 19 20
total: 14
continue语句和break语句
格式: break;
功能:循环体中遇见break语句,立即结束循环,跳到循环体外,执行循环结构后面的语句。
2、break语句
在循环体中break语句常与if语句搭配使用,并且break语句只能用在switch语句和循环语句中。
break只能跳出一层循环(或者一层switch语句结构)
continue语句和break语句
例统计输入的字符个数,并输出它们,以“!”终止。
main( )
{char chr;
int s;
for( s=0; ; s++)
{chr=getchar( );
if (chr==‘!’)
break;
else printf(“%c”,chr);}
printf(“s=%d\n”,s);
}
如果if判断语句为真,则结束循环,执行循环结构后面的语句
此处,当输入字符为“!”时,chr==‘!’为真,结束for循环,执行循环结构后面的语句,即执行printf (“s=%d\n”,s)语句
运行序列如下:
输入 if(chr==‘!’) 输出
a 假 a
5 假 5
$ 假$
B 假 B
! 真 4
continue语句和break语句
例计算半径r=1到r=10时圆的面积,直到面积area大于100为止。
#define pi
main( )
{ int r;
float area;
for( r=1;r<=10 ; r++)
{area=pi*r*r;
if (area>100) break;
printf(“%f\n”,area);
}
}
continue语句和break语句
一个循环体内又包含另一个完整的循环结构,称为循环的嵌套,内嵌的循环中还可以嵌套循环即为多层循环。
说明:
⑴嵌套的原则: 不允许交叉
⑵循环与分支可以相互嵌套但不允许交叉。
循环的嵌套
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
输出图形:
for(i=1;i<=4;i++)
{ printf(“* * * * * * * *”);
printf(“\n”);
}
循环的嵌套
其中语句:printf(“* * * * * * * *”);
等价于
for(j=1;j<=8;j++) printf(“*”);
于是构成了二重循环语句:
for(i=1;i<=4;i++)
{for(j=1;j<=8;j++) printf(“*”);
printf(“\n”);
}
循环的嵌套
C课件第07讲 来自淘豆网m.daumloan.com转载请标明出处.