A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 恭贺 中级黑马   /  2015-10-21 21:19  /  992 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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行。

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

3 个回复

倒序浏览
好细致,已收藏
回复 使用道具 举报
收藏了 谢谢
回复 使用道具 举报
挺好的!挺你!挺细的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马