正文

for循环、字符串与数组(3)

通过游戏编程实战教新手学C++编程 作者:(美)Michael Dawson


3.1.4  for循环的嵌套

可以将for循环置于另一个for循环中来实现嵌套,如接下来的代码所示,它计算出网格的元素。外层循环的初始语句如下:

for (int i = 0; i < ROWS; ++i)

该循环仅执行循环体ROWS(5)次。但恰好循环中还有另外一个for循环:

for (int j=0; j<COLUMNS; ++j)

结果,对于外层循环的每次迭代,内层循环都完整地执行一遍。在本例中,这意味着对于外层循环ROWS(5)次迭代的每一次,内层循环都执行COLUMNS(3)次,总共15次。具体过程如下:

(1) 外层for循环声明i并将其初始化为0。因为i小于ROWS(5),所以程序进入其循环体。

(2) 内层for循环声明j并将其初始化为0。因为j小于COLUMNS(3),所以程序进入其循环体,将i和j值发送给cout,显示0, 0。

(3) 程序到达内层循环的循环体终点,并把j加至1。因为j仍然小于COLUMNS(3),所以程序再次执行内层循环的循环体,显示0, 1。

(4) 程序到达内层循环的循环体终点,并把j加至2。因为j仍然小于COLUMNS(3),所以程序再次执行内层循环的循环体,显示0, 2。

(5) 程序到达内层循环的循环体终点,并把j加至3。这时,j不再小于COLUMNS(3),内层循环终止。

(6) 程序发送endl给cout,完成了外层循环的第一次迭代,结束第一行。

(7) 程序到达外层循环的循环体终点,并把i加至1。因为i小于ROWS(5),程序再次进入外层循环的循环体。

(8) 程序到达内层循环。内层循环从头开始声明和初始化j为0。程序执行上面描述的步骤(2)~(7),并显示网格的第二行。该过程一直执行,直到显示了所有5行。

再次强调,要记住的重点在于,对于外层循环的每次迭代,内层循环都完整地执行一遍。


上一章目录下一章

Copyright © 读书网 www.dushu.com 2005-2020, All Rights Reserved.
鄂ICP备15019699号 鄂公网安备 42010302001612号