循环
C++ 编程语言提供了以下几种循环类型。
while
用法:
while(条件)
{
代码块;
}
for
用法:
for ( init; condition; increment )
{
statement(s);
}
注意for()内用的是分号;来分隔三个部分
流程图:
1.初始条件:init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
2.判断条件:接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
3.增量:在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
4.条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
例:
#include <iostream>
using namespace std;
int main ()
{
// for 循环执行
for( int a = 10; a < 20; a = a + 1 )
{
cout << "a 的值:" << a << endl;
}
return 0;
}
输出:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
C++11 基于范围的for循环
for 语句允许简单的范围迭代,下例基于数组范围高级写法:
#include <iostream>
using namespace std;
int main()
{
int a[] = {
1,2,3,4,5 };
for (int &i : a)
{
i *= 2;
cout << i << endl;
}
cout << a<<endl;//注意cout只能输出字符数组的内容,对于整型数组只能输出16进制地址,要想输出全部内容得用循环,见第三个for
for (auto i : a