C break 语句

C break 基本使用

在 C 语言中,我们可以使用 break 语句来退出 “本层” 循环(每一层可以包含多次循环),也就是直接退出整一个循环。break 语句只能用于以下 2 个地方,而不能用于其他地方:

示例 1:在循环语句中使用 break

#include <stdio.h>

int main(void)
{
    while (1)
    {
        printf("绿叶网");
        break;
    }
    return 0;
}

运行结果如下。

绿叶网

分析:

这里的 while 本身是一个死循环,本来应该会不断重复执行 printf("绿叶网")。但是由于我们加上了 break。执行完了一次 printf() 之后,遇到 break 就会直接退出 while 循环了。

示例 2:在 switch 语句中使用 break

#include <stdio.h>

int main(void)
{
    int season = 2;

    switch (season)
    {
        case 1:
            printf("春");
            break;
        case 2:
            printf("夏");
            break;
        case 3:
            printf("秋");
            break;
        case 4:
            printf("冬");
            break;
        default:
            printf("季节不正确");
            break;
    }

    return 0;
}

运行结果如下。

分析:

在 switch 语句 中,C 语言会从第 1 个 case 开始判断,直到找到满足条件的 case 就会退出,然后后面的 case 就不会执行了。

深入了解 C break 语句

在 C 语言中,对于循环中的 break 语句,前面一般有一个 if 判断条件,然后当满足某个条件之后,就会退出循环,请看下面例子。

示例 3:单层循环中使用 break

#include <stdio.h>

int main(void)
{
    int n = 5;

    for (int i = 1; i <= 10; i++)
    {
        if (i == n)
        {
            break;
        }
        printf("%d\n", i);
    }

    return 0;
}

运行结果如下。

1
2
3
4

分析:

由于 i <= 10,本来循环应该执行 10 次才对。但是当执行第 5 次循环时,i 的值为 5,此时判断条件 i == n 返回真,然后就会执行 break 语句,此时就会直接退出整个循环了,并且也不会执行当次循环后面的 printf("%d\n", i);。

需要注意的是,如果有多层循环(即嵌套循环),那么 break 语句只会退出本层循环,而不是退出所有层的循环,请看下面的示例。

示例 4:多层循环中使用 break

#include <stdio.h>

int main(void)
{
    int n = 2;

    for (int i = 1; i <= 3; i++)
    {
        for (int j = 1; j <= 3; j++)
        {
            if (i == n)
            {
                break;
            }
            printf("%d\n", i);
        }
    }

    return 0;
}

运行结果如下。

1
1
1
3
3
3

分析:

n 的值为 2,i 和 j 的取值范围都是 1 ~ 3,具体分析如下。

  • 当 i = 1 时,由于 j 循环了 3 次,并且 i == n 返回 False,并不会执行 break 语句,此时输出为:1、1、1。
  • 当 i = 2 时,由于 i == n 返回 True,然后会执行 break 语句,直接退出内层的 for 循环(关于 j 的循环),没有任何输出。
  • 当 i = 3 时,由于 j 循环了 3 次,并且 i == n 返回 False,并不会执行 break 语句,此时输出为:3、3、3。

提示: 在 C 语言中,break 和 continue 这两种语句也叫 “中断语句”,专门用来控制循环执行时的中断。

C break 注意事项

在使用 break 语句时,小伙伴们需要特别注意以下 2 点。

  • break 语句只能用于循环语句和 switch 语句,而不能用于其他语句(如 if 语句或函数中)。
  • 如果嵌套了多层循环,那么 break 语句只会退出最内层循环。

可能有些小伙伴会问:“在示例 3 中,break 不就是放在 if 的大括号里吗?” 实际上,break 语句本身不能直接用于跳出普通的 if 代码块(除非该 if 位于循环或 switch 内部)。它服务的对象始终是包裹它的最近一层 “循环语句” 或 “switch 语句”。

上一篇: C for 循环

下一篇: C continue 语句

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号