这是做什么的?尽管这看起来有些困惑,让我们把它一点一点的。
首先,我们声明一个名为iii的循环变量,并为其分配值0。
第二,第三< 10评估,由于iii是0,0 < 10评估为true。因此,语句执行时,它打印0。
第三,语句执行后,评估iii + +,这第三增量为1。然后循环回到第二步。
1 < 10被评估为true,所以再次循环迭代。语句输出1,第三是增加2。2 < 10的求值结果为true,声明打印2和3是增加到3。等等。
最终iii是增加到10、10 < 10的求值结果为false,循环退出。
因此,该程序输出结果:
For循环可以新程序员很难读,然而,经验丰富的程序员爱他们,因为他们是一个非常紧凑的方式循环这种性质的。让我们uncompact上面的for循环转换成while-statement等价:
1
2
3
4
5
6
7
8
|
{ int
iii = 0; while
(iii < 10) { cout
<< iii << "
" ; iii++; } } |
看起来不那么糟糕,不是吗?在这里注意外面的括号是必要的,因为三世超出范围循环结束时(在更新的编译器)。
这里是一个for循环影响的for循环外声明的变量:
1
2
3
4
5
6
7
8
9
|
//
returns the value nBase ^ nExp int
Exponent( int
nBase, int
nExp) { int
nValue = 1; for
( int
iii=0; iii < nExp; iii++) nValue
*= nBase; return
nValue; } |
这个函数返回值nBase ^ nExp(nBase nExp权力)。
这是一个简单的递增for循环,三世循环从0(但不包括)nExp。
如果nExp为0,for循环将执行0次,函数将返回1。
如果nExp 1,for循环将执行一遍,函数将返回1 * nBase。
如果nExp 2,for循环将执行2次,函数将返回1 * nBase * nBase。
尽管大多数for循环增量1的循环变量,我们可以减量