劉海燕
(包頭鐵道職業(yè)技術(shù)學(xué)院,內(nèi)蒙古包頭)
程序設(shè)計(jì)中的嵌套循環(huán)
劉海燕
(包頭鐵道職業(yè)技術(shù)學(xué)院,內(nèi)蒙古包頭)
對(duì)于編程人員,最難的是循環(huán)嵌套的掌握,總感覺(jué)那些變量不在掌控之中, 筆者就這個(gè)問(wèn)題以一個(gè)簡(jiǎn)單的嵌套程序的執(zhí)行完整版來(lái)觀察不同變量在執(zhí)行過(guò)程中的變化情況, 以此來(lái)更好的掌握循環(huán)嵌套。
循環(huán);循環(huán)嵌套;流程圖;執(zhí)行圖
循環(huán)的嵌套:一個(gè)循環(huán)體內(nèi)有包含另一個(gè)完整的循環(huán)結(jié)構(gòu),成為循環(huán)嵌套。內(nèi)嵌的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。
這里我們以for語(yǔ)句的嵌套為例。通過(guò)一個(gè)兩層嵌套的for語(yǔ)句的執(zhí)行來(lái)感受內(nèi)外層循環(huán)中各個(gè)變量的變化來(lái)理解循環(huán)嵌套執(zhí)行的具體情況, 可以幫助掌握嵌套循環(huán)語(yǔ)句。
它的一般形式為: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句當(dāng)其中的“語(yǔ)句”也為一條for語(yǔ)句時(shí), 就是一個(gè)嵌套語(yǔ)句。
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
圖2
{ for(表達(dá)式4;表達(dá)式5;表達(dá)式6) 語(yǔ)句}
圖1
main()
{ int I, J;
for (I=0; I<2; I=I+1)/*外循環(huán)*/
{for(J=0; J<2; J=J+1)/*內(nèi)循環(huán)*/
printf(“%d %d ", I, J);}}
程序的流程圖如圖1所示。
根據(jù)循環(huán)程序的流程圖我們用執(zhí)行圖來(lái)深入了解一下多層循環(huán)的執(zhí)行,更好地掌握多層循環(huán)(如圖2)。
程序雖小,但體現(xiàn)了多層循環(huán)的執(zhí)行過(guò)程和每個(gè)變量在程序執(zhí)行過(guò)程中的變化。如果能過(guò)將流程圖和執(zhí)行圖多看幾遍, 掌握嵌套的精髓, 那么循環(huán)嵌套這個(gè)難題可以得到解決。希望可以給予喜歡程序設(shè)計(jì)的愛(ài)好者一些幫助。
[1] 霍爾頓 (Ivor Horton)、 楊浩,《門(mén)經(jīng)典(第5版)》,2013-11
[2] 譚浩強(qiáng)《C語(yǔ)言程序設(shè)計(jì)(第三版)》,2006
[3] 蘇小紅 ,王宇穎等 《C語(yǔ)言程序設(shè)計(jì)(第2版)》 2013-8
Nested loops in program design
Liu Haiyan
(Career Technical College, Baotou railway,Baotou,Inner Mongolia)
For programmers,the most difficult is the nested loop control,always feel those variables are not under control,the author on this issue in order to perform a simple nested procedure complete version to observe the different variables in the implementation process,in order to better grasp the nested loop.
loop;loop nest;flow chart;execution graph