在论break:
-break能够强制结束当前结构,组织程序向下执行
-switch分支选择结构,break立即结束switch;
-循环结构,break立即结束循环(忽略循环条件的真假)
举例:
#include <stdio.h>
int main()
{
int sum = 0;
int i = 1;
while(1)
{
sum = sum + i;
if(i==100)
break;
i = i + 1;
}
printf("sum = %d\n",sum);
printf("i = %d\n",i);
return 0;
}
问题:循环和switch互相嵌套时,break如何执行,跳出循环还是跳出switch?
原则:最近匹配
-break总是与离他最近的对应关键字匹配
#include <stdio.h>
int main()
{
int i = 0;
for( i=1;i<=10;i++ )
{
switch(i%2)
{
case 0:
printf("%d is even number \n",i);
break;
case 1:
printf("%d is odd number \n",i);
break;
}
}
return 0;
}
break 和continue
continue立即结束当前循环体,直接进入下一轮循环判断,continue并不会结束整个循环
练习:
打印1000以下能被7整除的整数,并统计数量
#include <stdio.h>
int main()
{
int i = 0;
int n = 0;
for( i=1;i<=100;i++ )
{
if(i%7)
continue;
printf("%d ",i);
n++;
}
printf("\nn= %d\n",n);
return 0;
}