侧边栏壁纸
博主头像
编程之家 博主等级

行动起来,活在当下

  • 累计撰写 37 篇文章
  • 累计创建 3 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

C语言程序设计:12.break和 continue循环控制语句

李航
2025-12-02 / 0 评论 / 3 点赞 / 72 阅读 / 0 字

C语言程序设计:breakcontinue 循环控制语句

1. 引入

在 C 语言中,循环控制语句 breakcontinue 用来改变循环的执行流程。它们是循环语句中非常常见的控制工具,能够帮助我们在特定情况下提前结束循环或跳过某次循环的迭代。了解如何合理使用 breakcontinue 是编写高效代码的基础。

2. break 语句

break 语句用于立即终止当前循环或 switch 语句块的执行。当 break 语句被执行时,程序会跳出当前的循环,不再执行后续的循环体代码,直接继续执行循环之后的代码。

break 的语法格式:
break;
  • 作用:当程序执行到 break 时,会跳出当前的循环,不再继续执行循环体中的后续代码。
break 示例

我们来看一个例子,使用 break 跳出 while 循环:

代码示例

#include <stdio.h>

int main() {
    int i = 1;

    while (i <= 10) {
        if (i == 6) {
            break;  // 当 i 等于 6 时,跳出循环
        }
        printf("%d ", i);
        i++;
    }

    printf("\n循环结束\n");

    return 0;
}

解释

  • 在这个例子中,while 循环打印 1 到 10 的数字。当 i 等于 6 时,执行 break,跳出循环,不再执行后续的循环迭代。

输出示例

1 2 3 4 5
循环结束

3. continue 语句

continue 语句用于跳过当前循环中的某次迭代,立即开始下一次迭代的判断。当 continue 被执行时,程序会跳过当前循环体中的剩余部分,直接进入下一次循环的条件判断。

continue 的语法格式:
continue;
  • 作用:跳过当前循环中的其余部分,直接进入下一次循环的判断。
continue 示例

我们来看一个例子,使用 continue 跳过偶数,只打印奇数:

代码示例

#include <stdio.h>

int main() {
    int i = 1;

    while (i <= 10) {
        if (i % 2 == 0) {
            i++;
            continue;  // 如果是偶数,跳过当前循环
        }
        printf("%d ", i);
        i++;
    }

    return 0;
}

解释

  • 在这个例子中,我们用 continue 来跳过偶数的打印,只打印奇数。
  • i 是偶数时,执行 continue,跳过当前循环迭代,直接进行下一次循环。

输出示例

1 3 5 7 9

4. 代码说明

  • break 语句:用于提前结束循环,在某些条件下跳出循环。例如,在查找一个目标时,一旦目标被找到,就可以使用 break 来跳出循环,避免不必要的计算。
  • continue 语句:用于跳过当前循环的剩余部分,进入下一次循环的判断。适用于某些条件下需要跳过特定迭代的情况。

5. 练习题

  1. 题目:编写一个程序,使用 break 语句,当输入的数字为 0 时,退出循环并打印 "循环结束"。

    答案

    #include <stdio.h>
    
    int main() {
        int num;
    
        while (1) {  // 无限循环
            printf("请输入一个数字(输入 0 退出):");
            scanf("%d", &num);
    
            if (num == 0) {
                break;  // 输入 0 时跳出循环
            }
            printf("你输入的数字是:%d\n", num);
        }
    
        printf("循环结束\n");
    
        return 0;
    }
    
  2. 题目:编写一个程序,使用 continue 语句,跳过所有负数,只输出正数和零。

    答案

    #include <stdio.h>
    
    int main() {
        int num;
    
        while (1) {
            printf("请输入一个数字(输入 0 退出):");
            scanf("%d", &num);
    
            if (num < 0) {
                continue;  // 如果是负数,跳过本次循环
            }
    
            if (num == 0) {
                break;  // 输入 0 时退出循环
            }
    
            printf("你输入的正数是:%d\n", num);
        }
    
        return 0;
    }
    
  3. 题目:编写一个程序,打印从 1 到 20 的所有奇数和偶数,使用 breakcontinue

    答案

    #include <stdio.h>
    
    int main() {
        int i;
    
        printf("奇数:");
        for (i = 1; i <= 20; i++) {
            if (i % 2 == 0) {
                continue;  // 跳过偶数
            }
            printf("%d ", i);
        }
    
        printf("\n偶数:");
        for (i = 1; i <= 20; i++) {
            if (i % 2 != 0) {
                continue;  // 跳过奇数
            }
            printf("%d ", i);
        }
    
        return 0;
    }
    
  4. 题目:编写一个程序,使用 break 语句找到 1 到 100 内第一个能被 7 整除的数字,并打印出来。

    答案

    #include <stdio.h>
    
    int main() {
        int i;
    
        for (i = 1; i <= 100; i++) {
            if (i % 7 == 0) {
                printf("第一个能被 7 整除的数字是:%d\n", i);
                break;  // 找到第一个能被 7 整除的数字,跳出循环
            }
        }
    
        return 0;
    }
    

总结

  • break 语句用于提前退出循环或 switch 语句,常用于满足特定条件时终止循环,避免不必要的迭代。
  • continue 语句用于跳过当前循环的剩余部分,立即开始下一次循环。它在某些条件下非常有用,比如在循环中跳过某些无效或不需要处理的情况。
  • 合理使用 breakcontinue 可以提高代码的效率,减少不必要的计算,增强程序的可读性和可维护性。
3

评论区