首页 > 编程笔记 > C语言笔记 阅读:55

C语言break和continue的用法(非常详细)

breakcontinue 是 C 语言中两个非常重要的流程控制语句,它们用于改变循环或条件语句的执行流程。

学习 break 和 continue 之前,相信读者已经掌握了 C 语言中 while、do-while 和 for 循环语句的用法。break 和 continue 的主要作用是在循环中控制代码的跳转。简单来说:


本教程将从定义、用法、实际案例以及注意事项等方面,详细讲解 break 和 continue。

C语言break语句

break 语句的作用是立即终止当前所在的循环或 switch 语句,并将程序控制权转移到循环或 switch 之后的下一条语句。

break 语句的语法格式如下:

break;

是的,就是这么简单!break 是一个单独的关键字,后面直接跟分号,不需要任何参数。
 

break 通常出现在以下结构中:


在循环中,break 会直接跳出整个循环;在 switch 中,它会跳出整个 switch 块,避免后续 case 的执行。
 

让我们通过一个例子来看看 break 的实际效果。假设我们要找出一个数组中第一个大于 10 的数字,并立即停止搜索。

#include <stdio.h>

int main() {
    int arr[] = {5, 8, 12, 15, 20};
    int i;

    for (i = 0; i < 5; i++) {
        if (arr[i] > 10) {
            printf("找到第一个大于 10 的数:%d\n", arr[i]);
            break; // 找到后立即退出循环
        }
        printf("当前数字:%d\n", arr[i]);
    }
    printf("循环结束\n");
    return 0;
}

输出结果:

当前数字:5
当前数字:8
找到第一个大于 10 的数:12
循环结束

在这个例子中,当程序发现 arr[2](值为 12)大于 10 时,break 立刻终止了 for 循环,后续的 15 和 20 不再被检查。这就是 break 的“跳出”效果。

注意事项

C语言continue语句

continue 语句的作用是跳过当前循环的剩余代码,直接进入下一次循环。

break 不同,它不会终止整个循环,而是“继续”执行下一次迭代。它的典型用途是过滤掉某些不符合条件的循环次数。


continue 语句的语法格式如下:
continue;

break 一样,continue 也是一个单独的关键字,后面直接跟分号。
 

continue 适用于以下循环结构:


需要注意的是,continue 不用于 switch 语句,因为它的设计初衷是针对循环。
 

假设我们要打印 1 到 10 中所有的奇数,跳过偶数,就可以用 continue 来实现。

#include <stdio.h>

int main() {
    int i;

    for (i = 1; i <= 10; i++) {
        if (i % 2 == 0) { // 如果是偶数
            continue; // 跳过本次循环
        }
        printf("%d 是奇数\n", i);
    }
    return 0;
}

输出结果:

1 是奇数
3 是奇数
5 是奇数
7 是奇数
9 是奇数

在这个例子中,当 i 是偶数时,continue 会跳过 printf 语句,直接进入下一次循环(i 自增后继续判断)。因此,只有奇数会被打印。

注意事项

break和continue的对比

为了更直观地理解两者的区别,我们可以用一个表格来总结:
 

特性 break continue
作用 终止整个循环 跳过当前循环的剩余部分
适用范围 循环和 switch 仅循环
执行后跳转位置 循环或 switch 后的语句 下一次循环的开始

综合示例

让我们通过一个更复杂的例子,看看如何同时使用 breakcontinue

假设我们要从 1 到 20 中打印所有不是 3 的倍数的数字,但如果遇到 15,就提前结束循环。

#include <stdio.h>

int main() {
    int i;

    for (i = 1; i <= 20; i++) {
        if (i == 15) {
            printf("遇到 15,提前结束\n");
            break;
        }
        if (i % 3 == 0) {
            continue; // 跳过 3 的倍数
        }
        printf("%d\n", i);
    }
    return 0;
}

输出结果:

1
2
4
5
7
8
10
11
13
14
遇到 15,提前结束

在这个例子中,continue 跳过了 3、6、9、12 等数字,而 breaki 达到 15 时终止了整个循环。

总结

breakcontinue 是 C语言里常用的循环控制语句,能够灵活地控制循环的执行流程。

阅读完本文,相信你已经掌握了 breakcontinue 的用法。建议你在实际编程中多加练习,比如尝试用 break 实现查找功能,或用 continue 过滤数据,真正将知识转化为技能。

相关文章