### C语言关键字浅析系列 ###
### ISO/ANSI C 关键字 ###
break关键字算是最常用的关键字之一了
常见于程序的循环结构和选择结构中
break的作用是:
结束当前循环并跳出本层循环体。
1、循环结构中的break
循环结构中的break经常结合带if的选择结构一起使用
#include <stdio.h>
int main(void)
{
int i;
int sum;
/* 定义一个数组,这种初始化方式只有ANSI C支持 */
int a[10] = {1,4,2,3,6,5,3,6,2,9};
/* for循环中的break,这个例子是数组的查找 */
for(i = 0; i < 10; i++)
{
if(a[i] == 6)
{
printf("6 is found.\n");
break; /* 找到6,可以退出循环 */
}
else
{
printf("Continue to search 6\n");
}
}
/* while或do-while循环中的break,这个例子是满载限制 */
sum = 0;
i = 0;
while(sum < 20)
{
if(a[i] < 0)
{
break; /* 操作数不合法时可退出循环 */
}
sum += a[i++];
}
printf("Sum is %d", sum);
return 0;
}
2、嵌套循环中的break
嵌套结构中的break一次只往外跳出一层嵌套
#include <stdio.h>
int main(void)
{
int i, j, flag;
flag = 0;
/* 定义一个10*10的数组并用函数初始化 */
int a[10][10];
init();
/*
定义:如果一个数据矩阵的一行中有一个负数,那该行无效
下面的循环语句的作用是找有多少行无效
*/
for(i = 0;i < 10; i++)
{
for(j = 0; j < 10; j++)
{
if(a[i][j] < 0)
{
flag++;
break; /* break一次只往上跳出一层嵌套的循环结构 */
}
}
}
return 0;
}
3、switch选择语句中的break
根据switch语句的特性,如果每一个case后的语句没有break,那程序将继续进行下去
当然这个特性有时候会有巧妙的运用
char judgeGrade(char level)
{
/* 通过成绩等级制判断招聘人员资料的审核归类 */
char x;
switch(level)
{
case 'A':
case 'B':
case 'C':x = 'T'; /* T 通过 */
break;
case 'D':x = 'W'; /* W 等待讨论 */
break;
default:x = 'P'; /* P 不通过 */
}
}
——参考《C Primer Plus第五版》
相关文章:C语言关键字浅析-continue