关键字 for构成C++ 中回圈的一种,常用于有确定重复次数的回圈,同时for后面接着小括弧即囊括三项基本任务,形式如下
三者用分号隔开,各自是一个运算式。下例计算1到100所有整数的和,示范for回圈的简单使用
#include <iostream>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {sum += i;}std::cout << "1 + ... + 100 = " << sum << std::endl;return 0;
}
编译后执行,结果如下
$ g++ u0504_1.cpp
$./a.out 复制代码
1 + ... + 100 = 5050
$
回圈也可以是巢状的,所谓巢状的回圈是指回圈中包含其他的回圈,由于我们利用程式码缩排的方式,使该段程式码凹陷进去,看似巢的样子,故称巢状。
下例中的程式印出九九乘法表,就是利用两个for回圈,一个for回圈之中包含另一个for回圈
#include <iostream>int main() {int i, j;for (i = 1; i <= 9; i++) {for (j = 1; j <= 9; j++) {std::cout << i * j << " ";}std::cout << std::endl;}return 0;
}
编译后执行,结果如下
$ g++ u0504_2.cpp
$./a.out 复制代码
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
$
for回圈也可利用while回圈来取代,反之亦然。
C++11 中,for回圈增加一种新的写法,可以直接利用暂存变数走访内含多笔资料的物件(object) ,举例如下
#include <iostream>int main() {int array[] = {1, 2, 3, 4, 5};for (int i: array) {std::cout << i << std::endl;}return 0;
}
编译后执行,结果如下
$ g++ u0504_3.cpp -std=c++0x
$./a.out 复制代码
1
2
3
4
5
$
for的小括弧有暂存资料的变数i,其后接冒号,冒号后则是要走访的物件,此例为整数阵列
for (int i: array) {