亲宝软件园·资讯

展开

C++循环语句

Kinght_123 人气:0

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

编程语言提供了允许更为复杂的执行路径的多种控制结构。

循环语句允许我们多次执行一个语句或语句组。

一、循环的类型

1.while循环

当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。

1.1用法

while(condition)
{
   statement(s);
}

例子:

#include <iostream>
using namespace std;

int main ()
{
  int a = 1;

  while( a < 10 )
  {
    cout << "a 的值:" << a << endl;
    a++;
  }

  return 0;
}

输出:

a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9

2.for循环

多次执行一个语句序列,简化管理循环变量的代码。

2.1用法

for ( init; condition; increment )
{
   statement(s);
}

例子:

#include <iostream>
using namespace std;

int main ()
{
  for(int a = 1; a <= 10; a++)
  {
    cout << "a 的值:" << a << endl;
  }

  return 0;
}

输出:

a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10

3.do…while循环

除了它是在循环主体结尾测试条件外,其他与 while 语句类似。

3.1用法

不像 for 和 while 循环,它们是在循环头部测试循环条件。do…while 循环是在循环的尾部检查它的条件。

do…while 循环与 while 循环类似,但是 do…while 循环会确保至少执行一次循环。

do
{
   statement(s);

}while( condition )

例子:

#include <iostream>
using namespace std;

int main ()
{
  int a = 0;

  do
  {
    cout << "a 的值:" << a << endl;
    a = a + 1;
  }while( a < 20 );

  return 0;

}

输出:

a 的值:0
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10
a 的值:11
a 的值:12
a 的值:13
a 的值:14
a 的值:15
a 的值:16
a 的值:17
a 的值:18
a 的值:19

二、循环控制语句

循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。

1.break语句

终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。

1.1用法

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

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

例子:

#include <iostream>
using namespace std;

int main ()
{
  int a = 0;

  do
  {
    cout << "a 的值:" << a << endl;
    a = a + 1;
    if(a > 10)
    {
      break;
    }
  }while( a < 20 );

  return 0;

}

输出:

a 的值:0
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10

2.continue语句

引起循环跳过主体的剩余部分,立即重新开始测试条件。

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

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

例子:

#include <iostream>
using namespace std;

int main ()
{
  for(int a = 1; a <= 10; a++)
  {
    if(a == 8)
    {
      cout << "这是一次跳过" << endl;
      continue;
    }
    cout << "a 的值:" << a << endl;

  }

  return 0;
}

输出:

a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
这是一次跳过
a 的值:9
a 的值:10

3.goto语句

goto 语句允许把控制无条件转移到同一函数内的被标记的语句。

3.1用法

goto label;
..
.
label: statement;

例子:

#include <iostream>
using namespace std;

int main ()
{
  int tag = 1;
  LOOP: for(int a = 1; a <= 15; a++)
  {
        if (a == 8 && tag == 1)
        {
          cout << "这是一次跳过" << endl;
          tag = 0;
          goto LOOP;
        }
        cout << "a 的值:" << a << endl;

  }

  return 0;
}

输出:

a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
这是一次跳过
a 的值:1
a 的值:2
a 的值:3
a 的值:4
a 的值:5
a 的值:6
a 的值:7
a 的值:8
a 的值:9
a 的值:10
a 的值:11
a 的值:12
a 的值:13
a 的值:14
a 的值:15

三、无限循环

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

#include <iostream>
using namespace std;

int main ()
{

  for( ; ; )
  {
    cout << "666" << endl;
  }

  return 0;
}

上面的代码将会无限循环的打印666

加载全部内容

相关教程
猜你喜欢
用户评论