C++ break 和 continue 的区别2024年8月28日 | 阅读 8 分钟 在C++中,用于终止循环的循环控制语句称为break。一旦在循环内部遇到break语句,循环迭代就会结束,控制权会立即从循环转移到循环后的第一个语句。 Break语句通常在我们不确定精确的循环迭代次数,或者希望根据条件结束循环时使用。 在这里,我们将探讨如何在三种不同的循环类型中使用break语句
现在让我们来看看上述三种循环类型中基于break语句的示例。 简单循环中的break考虑一个我们需要在数组中查找特定元素的情况。使用循环从第一个索引开始遍历数组,然后将数组成员与提供的键进行比较来完成此操作。 示例 输出 Element found at position: 3 …………………………………………… Process executed in 1.11 seconds Press any key to continue. 说明 上述代码顺利执行。然而,上述代码效率低下。即使找到元素,上述代码仍然会完成所有迭代。如果数组包含1000个元素,并且要搜索的键位于第一个位置,则上述技术将运行999次不必要的迭代。 我们可以在程序中利用break语句来避免这些无意义的迭代。一旦满足条件,break语句就会使控制权从循环返回。因此,如下所示,我们将把break语句与将键与数组元素进行比较的if条件结合起来。 示例 输出 Element found at position: 3 .................................................. Process executed in 1.11 seconds Press any key to continue. 嵌套循环中的break在处理嵌套循环时,如果最内层循环包含break语句,break语句也是一个选项。只有最内层循环会释放控制权。 输出 *** *** *** *** *** …………………….. Process executed in 1.11 seconds Press any key to continue. 说明 从上面的代码中我们可以看到,内部循环设置为运行10次迭代。然而,一旦j的值超过3,内部循环就会停止运行,将内部循环的迭代次数限制为仅3次。但是,外部循环迭代不受影响。因此,break只影响它所在的循环。 无限循环中的break为了结束无限循环的执行,break语句可以与条件结合使用。 示例 输出 Execution timed out .................................. Process executed in 1.11 seconds Press any key to continue. 说明 上述程序中的循环条件(它决定何时结束循环)始终为真。这会导致循环无限期地运行。 注意:请不要在您的编译器中运行上述程序,因为它处于无限循环中,可能需要您强制退出编译器才能结束程序。通过使用break语句,如下所示,我们可以解决这个问题。 输出 1 2 3 4 5 6 7 8 9 10 ................................ Process executed in 1.11 seconds Press any key to continue. 说明 上述代码将循环迭代限制为十次。除此之外,Switch case语句也可以使用break。 C语言中的continue语句C语言的continue语句充当跳转语句,将程序控制转移到循环的开头。while循环、for循环或do while循环都可以使用continue语句来改变程序的正常运行方式。与break不同,它不能与C switch case一起使用。 使用时,C语言continue语句将程序控制返回到循环的开头。因此,控制权转移到循环的下一次迭代并跳过当前迭代。continue语句之后的循环中的语句不会执行。 只需将continue关键字放置在循环体中我们希望的任何位置即可构成continue语法。 C语言中continue的使用C语言中的每种循环类型都可以通过使用continue语句跳过当前迭代。它可以应用于C语言中的以下几种循环类型
在无限循环中使用continue没有用,因为当迭代次数是无限的时,跳过当前迭代不会有什么区别。 C语言中continue的示例示例1:C语言中使用单个循环和continue语句的程序。 for、while和do-while循环都支持continue语句。 输出 1 2 3 5 6 7 8 1 2 3 5 6 7 8 ......................... Process executed in 1. 11 seconds Press any key to continue. 示例2:一个在C语言中利用嵌套循环继续的程序。 continue语句一次只能处理一个循环。为了在使用嵌套循环时跳过内层循环的当前迭代,我们可以使用continue语句。 输出 0 1 2 4 0 1 2 4 0 1 2 4 ............. Process executed in 1.11 seconds Press any key to continue. 说明 当在上述程序中使用continue语句时,它会跳过当前的内层循环迭代。因此,内层循环更新表达式管理程序。通过这种方式,输出中永远不会出现3。 continue语句的操作如下
尽管break和continue语句都用于明确改变程序的正常流程,但它们之间存在一些差异。 break和continue语句之间区别的示例。 输出 The loop with break produces output as: 1 2 The loop with continue produces output as: 1 2 4 5 …………………………………………………………………….. Process executed in 0.1 seconds Press any key to continue. 说明 解释:在上面的程序中,第一个循环将显示I的值直到3,然后停止,因为当I等于3时使用了break语句。当i等于3时,第二个for循环将继续运行而不打印i的结果。 下一个主题C++ 布尔类型 |
在 C++ 编程世界中,开发人员经常面临管理数据并确保其符合特定边界的任务。这时 C++ 标准库中的 'clamp' 函数就派上用场了。'Clamp' 是一个多功能且有用的工具,它允许...
7 分钟阅读
在大学里,对大量数据进行分析,并将结果用于组织管理。大学管理部门会及时更新学院列表及其不同的专业,以及负责考试和结果的部门……
阅读 13 分钟
在本文中,您将了解 C++ 中的五规则及其语法和示例。五规则指出,如果您的类需要以下任何一项,那么它可能需要所有项:析构函数:用于避免资源泄漏,当一个...
阅读 10 分钟
std::unary_negate() 是一个函数对象包装器。它返回其包含的一元条件的反值。函数包装器是软件库或计算机程序中的一个过程,旨在调用第二个子程序或系统调用,而只需很少或不……
阅读 3 分钟
编程中使用的两种流行的字符编码系统是 ASCII 和 Unicode。Unicode 可以表示超过 100,000 个字符,使用从 0 到 0x10FFFF 的码点,而 ASCII 只能表示 128 个字符,使用 7 位。当处理或显示 ASCII 中不存在的字符时...
5 分钟阅读
在本教程中,我们将编写一个 C++ 程序来查找四个数字中的最大值。例如 a = 10, b = 50, c = 20, d = 25 最大数字是 b 50 a = 35, b = 50, c = 99, d = 2 最大数字……
阅读 4 分钟
在本文中,我们将讨论以及它们的特性和示例。在 C++ 语言中,关联数组将引用将键和值关联起来的数据结构。它们对于根据相应的键存储和检索值非常有效。这些关联数组是通过各种……实现的
阅读 4 分钟
在本文中,您将通过示例和应用了解。拟合货架问题 在仓库管理或室内设计等现实情况中,拟合货架问题是计算机科学中一个著名的优化问题。以最少的空间浪费并确保没有...
阅读 4 分钟
当我们处理可能只有一个数据类型作为返回类型的函数时,我们可能需要返回多种数据类型。为了解决这个问题,我们正在学习返回各种值的概念……
阅读 4 分钟
无序映射(unordered_map)是一种关联容器,它保存通过融合映射值和键值而创建的元素。元素由其键值唯一标识,映射值是与键相关联的内容。键和值都可以是...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India