循环

简介

有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

有的时候,循环的次数不是一个常量,那么我们无法将代码重复多遍,必须使用循环。

循环类型

for循环

通过for 循环,编写一个执行特定次数的循环的重复控制结构。

以下是语法:

for ( init; condition; increment )
{
   statement(s);
}
  1. init(初始化) 会首先被执行,且只会执行一次。这一步可以声明并初始化任何循环控制变量。也可以不在这里写任何语句,只要有一个分号出现即可。

  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。如果留空(分号)就永远为真。

  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。用于更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。

  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

while循环

只要给定的条件为真,while 循环语句会重复执行一个目标语句

以下是语法:

while(condition)
{
   statement(s);
}

在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。condition 可以是任意的表达式,当为任意非零值时都为真。当条件为真时执行循环。

当条件为假时,程序流将继续执行紧接着循环的下一条语句。

do...while循环

do
{
   statement(s);

}while( condition );

条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。

如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。

循环控制语句

break语句

C++ 中 break 语句有以下两种用法:

  1. break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。

  2. 它可用于终止 switch 语句中的一个 case。

如果是嵌套循环,break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

break;

continue语句

C++ 中的 continue 语句有点像 break 语句。但它不是强迫终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。

对于 for 循环,continue 语句会导致执行条件测试和循环增量部分。对于 whiledo...while 循环,continue 语句会导致程序控制回到条件测试上

continue;

goto语句

无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。

例子:

#include <iostream>
using namespace std;
 
int main ()
{
 
   for( ; ; )
   {
      printf("This loop will run forever.\n");
   }
 
   return 0;
}

注:通过Ctrl+C来终止这个程序。

Last updated