1.break语句
break语句作为中断处理语句,存在于while、for、do...while语句(循环结构)和swtich语句(多分支结构)中。其作用是中断语句的执行,使程序立即退出该语句结构。
执行:用于终止(某层循环)的执行。
例题:编程求10个数的和,如果在某次计算后结果值(累加和)超过1000,则结束处理。
#include<stdio.h>
void main()
{
int x,sum=0,n;
for (n=1;n<=10;n++)
{
scanf("%d",&x);
sum=sum+x;
printf("x=%d,sum=%d\n",x,sum);
if(sum>1000)
break;
}
printf("the sum is %d\n",sum);
return 0;
}
2.例题5-11 编写程序,输出1000以内的所有素数(质数)。
#include<stdio.h>
int main()
{
int i,j,sign;
for(i=2;i<=1000;i++)
{
sign=1; /*sign=1时是素数*/
for(j=2;j<i;j++)
if(i%j==0)
sign=0;
if(sign==1)
printf("%d,",i);
}
return 0;
}
break语句改写
#include<stdio.h>
int main()
{
int i,j;
for(i=2;i<=1000;i++)
{
for(j=2;j<i;j++)
if(i%j==0)
break; /*存在因子,不是素数*/
if(j==i)
printf("%d,",i); /*素数*/
}
return 0;
}
3.continue语句
continue语句仅能作用于循环结构中,作用是终止循环体的本次执行,返回循环首部。
例5-12 编写程序,输入一名学生的7门课程成绩,如果输入的成绩范围为0~100,对成绩求和,否则重新输入该成绩。
#include<stdio.h>
int main()
{
int i=1;
double sum=0,x;
while(i<=7)
{
scanf("%1f",&x);
if(x<0||x>100) /*判断输入数据的有效性*/
{
printf("数据输入有误,请重新输入:\n");
continue;
}
sum=sum+x;
i++;
}
printf("sum=%6.11f\n",sum);
return 0;
}
课堂例题:输入一组数据,统计其中正数的个数(输入0时结束).
#include<stdio.h>
int main()
{
int x,n,count=0;
scanf("%d",&x);
while(x!=0)
{
if(x<0)
continue;
else
count++;
scanf("%d",&x);
}
printf("count is %d\n",count);
return 0;
}