如何使用C中的循环

C语言的for,while和do-while循环简介

C为我们提供了三种执行循环的方法:for循环while循环做while循环。它们都允许您迭代数组,但有一些差异。让我们详细了解它们。

对于循环

执行循环的第一种方法(可能是最常见的方法)是for循环

使用for关键字,我们可以定义规则循环,然后提供将要重复执行的块。

像这样:

for (int i = 0; i <= 10; i++) {
  /* instructions to be repeated */
}

(int i = 0; i <= 10; i++)块包含3部分循环详细信息:

  • 初始条件(int i = 0
  • 考试 (i <= 10
  • 增量(i++

我们首先定义一个循环变量,在本例中为ii是用于循环的通用变量名,以及j用于嵌套循环(另一个循环内的一个循环)。这只是一个约定。

将该变量初始化为0值,并完成第一次迭代。然后按照增量部分的说明递增(i++在这种情况下,增加1),然后所有循环重复进行,直到达到数字10。

在循环主块中,我们可以访问变量i知道我们在哪一次迭代。该程序应打印0 1 2 3 4 5 5 6 7 8 9 10

for (int i = 0; i <= 10; i++) {
  /* instructions to be repeated */
  printf("%u ", i);
}

循环也可以从较高的数字开始,而从较低的数字开始,如下所示:

for (int i = 10; i > 0; i--) {
  /* instructions to be repeated */
}

您还可以将循环变量增加2或另一个值:

for (int i = 0; i < 1000; i = i + 30) {
  /* instructions to be repeated */
}

While循环

While循环比写一个简单for循环,因为这需要您做更多的工作。

而不是像您在循环中那样在开始循环时就先定义所有循环数据。for循环,使用while您只需要检查条件:

while (i < 10) {

}

假设i已经定义并使用值初始化。

这个循环将是无限循环除非您增加i变量在循环内的某个点上。无限循环是不好的,因为它将阻塞程序,其他任何事情都不会发生。

这是“正确”的while循环所需要的:

int i = 0;

while (i < 10) { /* do something */

i++; }

对此有一个例外,我们将在一分钟内看到它。以前,让我介绍一下do while

做while循环

虽然循环很棒,但是有时候您需要做一件事:您总是要执行一个块,然后可能是重复。

这是通过使用do while关键字,其方式与while循环,但略有不同:

int i = 0;

do { /* do something */

i++; } while (i < 10);

包含/* do something */注释始终至少执行一次,而不管底部的条件检查如何。

然后,直到i小于10,我们将重复执行该代码块。

打破循环使用break

在所有C循环,无论循环设置的条件如何,我们都可以在任何时间点立即退出循环。

这是通过使用break关键词。

在许多情况下这很有用。您可能要检查变量的值,例如:

for (int i = 0; i <= 10; i++) {
  if (i == 4 && someVariable == 10) {
    break;
  }
}

拥有此选项可以突围而出对于以下人员特别有意思while循环(和do while),因为我们可以创建看似无限的循环,当条件发生时结束,并在循环块中定义此循环:

int i = 0;
while (1) {
  /* do something */

i++; if (i == 10) break; }

在C中有这种循环是很常见的。

免费下载我的C手册


更多clang教程: