有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。
编程语言提供了允许更为复杂的执行路径的多种控制结构。
循环语句允许我们多次执行一个语句或语句组。
一、循环的类型
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
以上就是C++入门到精通之循环语句的使用教程的详细内容,更多关于C++循环语句的资料请关注编程网其它相关文章!