C++ 中 break 与 continue 语句详解及代码示例

巷口听风
巷口听风
发布时间:2026-10-13| 3人浏览过
原创

在 C++ 编程中,break 和 continue 是控制程序流程的关键语句,分别用于提前终止执行流程和跳过当次迭代。正确使用它们能显著简化逻辑,避免深层嵌套带来的复杂性。

结果与目标

break 语句的主要作用是立即终止最近的封闭循环(for、while、do-while)或 switch 语句块,并将控制权传递给该语句之后的下一条语句。continue 语句则用于循环内部,跳过当前迭代中剩余的代码,直接跳转到循环的条件检查或增量部分,从而开启下一次迭代。

准备条件

  • C++ 开发环境(支持 C++11 及以上标准效果更佳)。
  • 理解基本的循环结构(for、while、do-while)。
  • 理解 switch-case 的穿透机制。

第 1 步:使用 break 终止 for 循环

目的:在特定条件下提前结束遍历过程。

操作:在循环体内设置判断条件,当满足条件时触发 break。

#include <iostream>
using namespace std;

int main()
{
  // 使用普通 for 循环
  for (int i = 1; i < 10; i++)
  {
    cout << i << '\n';
    if (i == 4)
      break; // 当 i 等于 4 时,立即终止循环
  }

  // 使用基于范围的 for 循环 (C++11)
  int nums [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  for (int i : nums) {
    if (i == 4) {
      break; // 遇到 4 停止处理
    }
    cout << i << '\n';
  }
}

完成状态:控制台仅输出 1 到 3,因为 break 阻止了 4 及之后数字的输出。

第 2 步:在 while 和 do-while 中使用 break

目的:防止无限循环或在中间某一刻安全退出。

操作:在条件判断块中加入 break。

#include <iostream>
using namespace std;

int main() {
  int i = 0;

  // while 循环示例
  while (i < 10) {
    if (i == 4) {
      break;
    }
    cout << i << '\n';
    i++;
  }

  // do-while 循环示例
  i = 0;
  do {
    if (i == 4) {
      break;
    }
    cout << i << '\n';
    i++;
  } while (i < 10);
}

完成状态:两个循环均在打印 0, 1, 2, 3 后停止,不会执行到 9。

第 3 步:掌握 switch 中的 break 穿透机制

目的:明确每个 case 分支结束后必须使用 break,否则会发生“穿透”现象。

操作:确保每个需要独立执行的 case 末尾包含 break。

#include <iostream>
using namespace std;

enum Suit { Diamonds, Hearts, Clubs, Spades };

int main() {
  Suit hand = Diamonds; // 假设值为 Diamonds

  // 独立处理模式:每个 case 都有 break
  switch (hand)
  {
  case Diamonds:
    cout << "got Diamonds \n";
    break;
  case Hearts:
    cout << "got Hearts \n";
    break;
  case Clubs:
    cout << "got Clubs \n";
    break;
  case Spades:
    cout << "got Spades \n";
    break;
  default: 
     cout << "didn't get card \n";
  }

  // 合并处理模式:利用穿透机制
  switch (hand)
  {
  case Diamonds:
  case Hearts:
    cout << "got a red card \n"; // Diamonds 匹配后执行此行
    break;
  case Clubs:
  case Spades: 
  default:
    cout << "didn't get a red card \n";
  }
}

注意:若遗漏 break,程序将继续执行下一个 case 内的代码,直到遇到 break 或 switch 结束。这在某些场景下是有用的(如上述红黑牌分组),但在大多数需要互斥处理的场景中会导致逻辑错误。

第 4 步:使用 continue 跳过当前迭代

目的:忽略特定条件下的剩余代码,直接进入下一次循环。

操作:在需要跳过的分支中添加 continue。

#include <stdio.h>
int main()
{
  int i = 0;
  do
  {
    i++;
    printf_s("在继续之前\n");
    continue; // 跳过下方语句,直接进入下一次迭代
    printf("在继续之后,不被输出\n"); // 这行代码永远不会执行
   } while (i < 3);

   printf_s("在do循环之后\n");
}

完成状态:控制台打印三次 “在继续之前”,随后打印 “在do循环之后”。下方的 printf 被 continue 阻断,因此不会被输出。对于 for 循环,continue 会先执行增量表达式(如 i++),再重新判断条件。

简要总结

break 是“彻底离开”,适用于循环或 switch 的全局退出;continue 是“局部跳过”,仅影响当前单次迭代。在实际开发中,应优先优化循环条件以避免过度依赖这两个语句,但在处理复杂跳出逻辑或无效数据处理时,合理使用它们能提升代码的可读性与执行效率。

以上就是 C++ 中 break 和 continue 语句的详细教学内容,更多关于 C++ 编程控制流技巧的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。