C语言入门教程100讲(18)break 与 continue

1. 什么是 break 和 continue?

breakcontinue 是 C 语言中用于控制循环执行流程的关键字:

  • break:用于立即退出当前循环。
  • continue:用于跳过当前循环的剩余代码,直接进入下一次循环。

2. break 的使用

2.1 在循环中使用 break

break 通常用于在满足某个条件时提前退出循环。例如:

for (int i = 1; i <= 10; i++) {
    if (i == 5) {
        break;  // 当 i 等于 5 时退出循环
    }
    printf("%d ", i);
}

输出结果:

1 2 3 4
2.2 在 switch 语句中使用 break

break 也用于 switch 语句中,防止代码“贯穿”到下一个 case。例如:

int day = 3;
switch (day) {
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    default:
        printf("无效的日期\n");
}

3. continue 的使用

continue 用于跳过当前循环的剩余代码,直接进入下一次循环。例如:

for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) {
        continue;  // 跳过偶数
    }
    printf("%d ", i);
}

输出结果:

1 3 5 7 9

4. break 和 continue 的区别

特性breakcontinue
作用立即退出当前循环跳过当前循环的剩余代码,进入下一次循环
适用场景循环和 switch 语句仅用于循环
示例for (int i = 1; i <= 10; i++) { if (i == 5) break; }for (int i = 1; i <= 10; i++) { if (i % 2 == 0) continue; }

5. 示例代码

以下是一个使用 breakcontinue 的示例程序:

#include <stdio.h>

int main() {
    // 使用 break 退出循环
    printf("使用 break 退出循环:\n");
    for (int i = 1; i <= 10; i++) {
        if (i == 5) {
            break;  // 当 i 等于 5 时退出循环
        }
        printf("%d ", i);
    }
    printf("\n");

    // 使用 continue 跳过偶数
    printf("使用 continue 跳过偶数:\n");
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            continue;  // 跳过偶数
        }
        printf("%d ", i);
    }
    printf("\n");

    return 0;
}
代码解析:
  1. 使用 break 退出循环

    • i 等于 5 时,使用 break 退出循环。
  2. 使用 continue 跳过偶数

    • i 为偶数时,使用 continue 跳过当前循环的剩余代码。
输出结果:
使用 break 退出循环:
1 2 3 4 
使用 continue 跳过偶数:
1 3 5 7 9 

6. 常见问题

问题 1:break 可以用于嵌套循环吗?
  • 可以。break 只会退出当前所在的循环,不会影响外层循环。
问题 2:continue 可以用于嵌套循环吗?
  • 可以。continue 只会跳过当前循环的剩余代码,不会影响外层循环。
问题 3:breakcontinue 可以用于 whiledo-while 循环吗?
  • 可以。breakcontinue 适用于所有循环结构(forwhiledo-while)。

7. 扩展练习

  1. 修改程序,使用 break 在找到第一个满足条件的数时退出循环。
  2. 编写一个程序,使用 continue 跳过所有能被 3 整除的数。
  3. 尝试在嵌套循环中使用 breakcontinue,观察其行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值