正文

for循環(huán)、字符串與數(shù)組(3)

通過游戲編程實(shí)戰(zhàn)教新手學(xué)C++編程 作者:(美)Michael Dawson


3.1.4  for循環(huán)的嵌套

可以將for循環(huán)置于另一個(gè)for循環(huán)中來實(shí)現(xiàn)嵌套,如接下來的代碼所示,它計(jì)算出網(wǎng)格的元素。外層循環(huán)的初始語句如下:

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

該循環(huán)僅執(zhí)行循環(huán)體ROWS(5)次。但恰好循環(huán)中還有另外一個(gè)for循環(huán):

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

結(jié)果,對于外層循環(huán)的每次迭代,內(nèi)層循環(huán)都完整地執(zhí)行一遍。在本例中,這意味著對于外層循環(huán)ROWS(5)次迭代的每一次,內(nèi)層循環(huán)都執(zhí)行COLUMNS(3)次,總共15次。具體過程如下:

(1) 外層for循環(huán)聲明i并將其初始化為0。因?yàn)閕小于ROWS(5),所以程序進(jìn)入其循環(huán)體。

(2) 內(nèi)層for循環(huán)聲明j并將其初始化為0。因?yàn)閖小于COLUMNS(3),所以程序進(jìn)入其循環(huán)體,將i和j值發(fā)送給cout,顯示0, 0。

(3) 程序到達(dá)內(nèi)層循環(huán)的循環(huán)體終點(diǎn),并把j加至1。因?yàn)閖仍然小于COLUMNS(3),所以程序再次執(zhí)行內(nèi)層循環(huán)的循環(huán)體,顯示0, 1。

(4) 程序到達(dá)內(nèi)層循環(huán)的循環(huán)體終點(diǎn),并把j加至2。因?yàn)閖仍然小于COLUMNS(3),所以程序再次執(zhí)行內(nèi)層循環(huán)的循環(huán)體,顯示0, 2。

(5) 程序到達(dá)內(nèi)層循環(huán)的循環(huán)體終點(diǎn),并把j加至3。這時(shí),j不再小于COLUMNS(3),內(nèi)層循環(huán)終止。

(6) 程序發(fā)送endl給cout,完成了外層循環(huán)的第一次迭代,結(jié)束第一行。

(7) 程序到達(dá)外層循環(huán)的循環(huán)體終點(diǎn),并把i加至1。因?yàn)閕小于ROWS(5),程序再次進(jìn)入外層循環(huán)的循環(huán)體。

(8) 程序到達(dá)內(nèi)層循環(huán)。內(nèi)層循環(huán)從頭開始聲明和初始化j為0。程序執(zhí)行上面描述的步驟(2)~(7),并顯示網(wǎng)格的第二行。該過程一直執(zhí)行,直到顯示了所有5行。

再次強(qiáng)調(diào),要記住的重點(diǎn)在于,對于外層循環(huán)的每次迭代,內(nèi)層循環(huán)都完整地執(zhí)行一遍。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號