1
2
|
for
(
int
iii=0; iii < 10; iii++)
cout << iii <<
" "
;
|
这是什么做的?虽然这看起来有些混乱,让我们一块一块的。
首先,我们声明了一个变量名为三环路,并赋予它值0。
第二,第三<10的评价,因为III是0,0<10为真。因此,该语句执行,打印0。
第三,该语句执行后,Ⅲ+ +进行了评价,其增量III 1。然后循环回到第二步。
1<10的值为true,那么循环再。报表打印1,和III是递增到2。2<10的值为true,报表打印2,和III是递增到3。等等。
最终,三是递增10,10<10为false,和循环退出。
因此,该程序打印结果:
0 1 2 3 4 5 6 7 8 9
循环可以为新的程序员阅读——不过是困难的,有经验的程序员喜欢它是因为它是一个非常紧凑的方式来做这一自然循环。让我们uncompact上述循环转换为它的等效语句:
1
2
3
4
5
6
7
8
|
{
int
iii = 0;
while
(iii < 10)
{
cout << iii <<
" "
;
iii++;
}
}
|
这并不那么坏,是吗?注意,这里的外支架是必要的,因为三超出范围时,循环结束(在新的编译器)。
这里是一个循环的影响变量声明外环路:
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功率)。
这是一个简单的递增的循环,第三次循环从0到(但不包括)NEXP。
如果NEXP是0,这个循环将执行0次,和函数会返回1。
如果NEXP是1,这个循环会执行1次,和函数会返回1×NBASE。
如果NEXP是2,这个循环将执行2次,和函数会返回1×NBASE * NBASE。
虽然大多数的循环增量的1循环变量,我们可以减少为好:
1
2
|
for
(
int
iii = 9; iii >= 0; iii--)
cout << iii <<
" "
;
|
这种打印结果:
9 8 7 6 5 4 3 2 1 0
或者,我们可以通过超过1的每一次迭代循环变量的值的变化:
1
2
|
for
(
int
iii = 9; iii >= 0; iii -= 2)
|