像大多数编程语言一样,C ++提供内置的工具,允许开发人员在数组中的每个元素上检查和重复操作,直到满足条件。

在本文中,我们将介绍三种类型的C ++循环,在您可能希望在C ++中使用循环时,每次触摸使用案例。

哪些循环在C ++中有哪些?

所有C ++循环让我们遍历几个元素 - 在原始值阵列中索引 - 并调用函数或使用每个元素执行一系列操作。也就是说,C ++开发人员可以随意使用各种类型的循环,具体取决于情况,可能会更适合另一个。

for-loop

在所有环中,FOR-LOOP是最广为人知和使用的。编译器通过包含语句(或多个语句)的代码块来循环,基于循环的条件,递增或递减循环的每次通过,次数为一定次数。由于它检查条件是否为真,请在执行循环的代码块之前,如果未满足该条件,则不会运行它。

循环循环

另一种广泛使用的循环类型是循环。与FOR-LOOP一样,只要满足给定条件,它就会通过一组指令循环,在执行循环体之前测试条件。for-loop与循环之间的主要区别是如何调用它们:在声明(变量,条件和递增/递增时)时,for-loop包含三个语句,而调用循环仅包含条件的循环仅包含条件其他地方寻址的变量和增量/递减。

做的循环

我们在Do-While循环中使用的语法与循环中的循环中的差异非常相似,差异在于循环测试循环结构末尾的条件。这意味着即使不满足适用条件,也会至少运行一次循环。

如何使用C ++循环

为了更好地了解上述循环,让我们来探索一些示例代码来实现三种中的每一个。

for-loop

For-Loop的三个构建块由迭代器组成,后跟必须满足循环块的条件运行,然后是定义迭代器如何增加或减少的增量。

在以下代码中,i是迭代器 - 随着循环的每次通过,将增加(或减少)的变量。For the for loop to run, the condition that must be met is i <= n, and the iterating statement is i++, which means that every time the loop’s code block runs, i increases by 1. (We could also write i + 1.) Here we declare the iterator i before the for-loop, but we can just as well declare the iterator and initialize it to zero inside the for-loop:

代码块本身当然可以包括各种各样的语句。在此示例中,我们只需打印“count:”这个词,然后是我从当前通过的值。当我达到6时,循环终止,因为在那时,我<= 5证明了假。

循环循环

与for-循环不同,while循环仅在括号内包含一个组件,稍后介绍关键字:若干值为true或false的条件,并确定循环是否会运行。假设我们希望与上面的For-Loop相同的条件,即迭代器必须为循环运行5或更小。在这种情况下,我们将根据(I <6)写入此条件。

尽管括号中缺少初始化和递增/递减语句,但它们在循环中的循环中同样必不可少。我们必须在循环开始之前初始化递增变量I,并且循环代码块中的增量/递减应发生:

#include
使用命名空间std;

仔细观察上面的代码。我们的循环什么时候停止运行?答案永远不会!这是因为我们用每个通行证递减我,并且条件声明代码将只能运行,只要我创建无限循环。当我们忘记在循环的主体中递增或递减我们的代码时,会发生无限循环,因此请注意最终将逻辑纳入逻辑,该逻辑将使条件语句返回false并终止循环。

那么,我们如何修复它以获取与for-循环相同的输出?一种方法是调整迭代器以初始化为0,然后递增而不是递减:

我们可以替代地保持减少并改变条件,以便我必须始终是一个正整数:

这将使我们与for-loop相同的输出,但以相反的顺序(从5开始,以0结束)。

做的循环

最后,让我们跳过Do-while循环。您可能从名称中猜测,此循环与WHIS循环非常相似,但具有一个键区别:条件在后面进行评估语句块,不是在之前。

与我们的计数示例保持一致,这是我们所拥有的:

除了在一个情况下,这将产生与我们的常规相同的输出完全相同的输出。如果我们将其状况更改为(I <0),我们的输出将计数:0。这是因为编译器才会在我们的语句运行后才能评估条件。如果条件为false,则会移动到下一行代码。如果为true,它会再次通过DO语句循环。

在接下来的几个部分中,我们将探索何时使用这些循环以及不使用它们的时间。

何时在C ++中使用循环

在上面的示例中,我们在循环的每次通过时打印出计数。循环的其他用例包括在每个迭代中添加一个数字到越来越多的和变量,或者以更广泛的意义,以某种方式更改任何其他变量。这是什么样子:

我们的总和将打印10,在for循环结束之后,每个我加在一起的每个我加入的累积。

在所有这些示例中,我们每次循环运行时都需要做一些事情。在代码块运行后持续的任何内容被称为副作用,因此循环的常用情况恰恰是每当我们需要这种副作用。

对于C ++循环的另一个常用用例是您需要等待直到发生的事情。例如,如果您正在等待用户输入或网络数据包,则可能使用运行的循环,直到满足该条件。

何时避免在C ++中使用循环

与许多其他语言一样,C ++包含像这样的功能地图并减少可以迭代数组,对每个元素执行一些功能。例如,在例如,我们需要从数组或向量中聚合数据的情况下,最好使用这些其他工具而不是诉诸循环。这增加了程序可读性并降低了错误的可能性。

另一个循环可以且应该避免的实例是当您具有更高级别的函数时。例如,我们可以使用读取字符串std :: getline.而不是循环字符串,通过字符通过Word或字符收集输入字。

C ++中的嵌套和无限循环

最后,让我们来看看C ++中的循环的一些高级用例。您可能已经看到了嵌套循环的引用,并奇异于它们是什么。嵌套环是循环内部的环;它们不仅可能,而且很常见。

这是嵌套循环可能看的:

虽然这不是一个实用的例子,但它向您展示了嵌套循环的工作原理。尝试它,看看你得到什么输出!

也可以组合不同的环。例如,DO-WISH循环可以嵌套在循环内,并且可以在循环内部嵌套FOR循环。嵌套循环可以乱七步看,因此如果您确实需要在嵌套时使用不同类型的循环,我们建议您保持尽可能干净的东西。

在使用嵌套循环似乎方便时,在可能的良好编程原则的名称中可以最好地避免这种做法。如果标准库中有一个功能,请执行从头划痕的解决方案是适得其反的。

此外,利用来自标准库的更强大的代码可能会导致更稳定的程序;它们的功能在不同的场景中进行了战斗,包括不太明显的边缘案例。

最后,在使用两个指数的条件时,解释每个索引的目的是至关重要的,以允许其他人阅读和理解您的代码。当您使用方便函数时,代码往往更可读。

迈出下一步

我们相信这篇文章给了你有价值的见解C ++开发人员如何使用循环。如果您已经有了编程基础,请考虑通过我们的专业知识锐化您的C ++技能C ++188金宝搏安不安全纳迪格节目。您将完成五个现实世界项目,并获得个性化的反馈,以使自己在工作市场中取得成功。

开始学习