内容正文:
YCF
(中职)计算机程序设计(C语言)第五章第5节教学课件工信版
1
第五章 循环结构程序设计
5.5 辅助语句break和continue
5.5.1 break语句
break语句大家已经熟悉了,在前面学习switch语句时,用来跳出switch结构的。实际上,break语句还可以用在循环结构中,使程序提前跳出循环体,结束循环。
【例5.5】从键盘输入5个整数,求出它们的求和,当和超过50就不再累加。
程序设计:
#include <stdio.h>
main()
{
int x,i,s=0;
for(i=1;i<=5;i++) // 循环5次,求和
{ scanf(“%d”,&x);
s=s+x;
if(s>50) break; // 循环正常结束前,当和超过50,则提前结束循环
}
printf(“s=%d”,s);
}
5.5.1 break语句应用举例
【例5.5】从键盘输入5个整数,求出它们的求和,当和超过50就不再累加。
5.5.1 break语句应用举例
程序运行结果:
一种情况:当输入4,21,1,3,5 这五个数时,循环正常结束
4 21 1 3 5
S=34
另一种情况:当输入21,23,34,23,12这五个数时,结果值显示只是前三个数的和,后两个数没有加上去,为什么?可以看出前三个数的和已超过50了,所循环累加提前结束。
21 23 34 23 12
S=78
注意:break语句只适用于3种循环结构(while、 do-while、for)语句和switch语句中,其他语句中都不可以用。
拓展练习
通过上面的学习,我们能够了解在循环体内部也可以通过特殊的条件来终止循环,那么在此基础上,我们可以求解如下的问题:
例如:求不同半径的圆柱体的体积,半径取值范围是[1,10]整数值,只计算体积不超过100的圆柱体。
拓展练习
通过上面的学习,我们能够了解在循环体内部也可以通过特殊的条件来终止循环,那么在此基础上,我们可以求解如下的问题:
例如:求不同半径的圆柱体的体积,半径取值范围是[1,10]整数值,只计算体积不超过100的圆柱体。
程序设计:
#include <stdio.h>
#define pi 3.1415926
main()
{ int r;
float v,h;
scanf(“%f”,&h);
for(r=1;r<=10;r++) // 半径取值范围是【1,10】,循环实现取不同半径
{ v=pi*r*r*h; // 求圆柱体体积公式
if(v>100) break;
// 当求出的圆柱体体积大于100就不用再求,用break语句退出循环体
printf(“r=%d,h=%f,v=%f”,r,h,v);
}
说明:本题就是在循环正常进行(半径从1到10变化)的过程中,遇到特殊条件(所求的圆柱体体积要超过100)时要退出循环体,要用break实现。
5.5 辅助语句break和continue
5.5.2 continue语句
continue语句的功能是:程序跳出当前次循环体语句的执行,下一轮循环继续。
continue语句相较break语句,它是只跳出本次循环,其余循环继续进行,而后者是跳出整个循环体,循环结束。
【例5.6】找出100以内能被3和5同时整除的整数。
5.5.2 continue语句应用举例
程序设计:
#include <stdio.h>
main()
{ int i;
for( i=1;i<100;i++) // 循环从1到100
{
if(i%3||i%5) continue;
// 顺次找 i 除3和5时有一个不能整除的就不对,继续找下一个
printf(“%d ”,i);
}
}
程序运行结果:
15 30 45 60 75 90
说明:由上面的程序可以看出,当在一组数据中找出符合条件的数值时,可以用continue语句来实现。
通过continue语句的学习、应用,还可以解决如下一类问题:
拓展练习
例如:某班有40个人进行一次单元测试,老师将对成绩进行统计,找出其中不及格的学生人数。
程序设计:
#include <stdio.h>
main()
{ int i,n=0;
float cj;
for (i=1;i<=40;i++)
{ scanf(“%f”,&cj); // 循环40次,读40个人成绩