C语言关键字浅析-break

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Johan_Joe_King/article/details/83585649

### 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第五版》

相关文章:

【continue关键字】

https://blog.csdn.net/Johan_Joe_King/article/details/83615137

猜你喜欢

转载自blog.csdn.net/Johan_Joe_King/article/details/83585649