c語言 for迴圈巢狀,c語言的for迴圈巢狀怎麼執行的?

時間 2021-10-17 04:40:55

1樓:匿名使用者

迴圈的過程是先執行第一個大迴圈for(i=0;i<3;i++),此句中先給i賦值0,在判斷條件i<3是否成立賦值後的i=0了,所以條件成立,成立則做下面一條語句,就是for(j=0;j<4;j++),同樣這個迴圈還是先賦值j=0,在進行判斷j<4是否成立,成立就再做下一句。

此時scanf語句後面已經沒有語句了,所以程式就會跳上去到第二個迴圈中,即for(j=0;j<4;j++)這句話中,可能你會問為什麼不是第一句

(因為在迴圈巢狀中只有迴圈體執行完成所以的任務後才執行下面的語句,就是for(j=0;j<4;j++)

要全部執行完畢才能執行後面的語句。即j<4條件為假時跳出)跳到for(j=0;j<4;j++)這個迴圈體以後。就會自動加一,就是執行j++(注:

在這個for裡面的j=0不再執行),這個賦值過程只在開始時執行。所以 j 這個迴圈要執行到條件不滿足時停止,即最後j的值要》=4.。

這樣 j 這個迴圈就結束了。結束後又跳到了第一句。因為第二個for是包含在第一個for 裡的。

只有第一個for 裡包含的語句全部執行完後第一個for就再一次執行i++,i 變成了2,判斷條件i<3成立,就再執行下一句,所以下面的for(j=0;j<4;j++)又要再一次執行。執行完後就在回到第一個for執行。

原理:i=0,j 執行4次,給a[0][0],a[0][1],a[0][2],a[0][3]賦值

i=1,j 執行4次,給a[1][0],a[1][1],a[1][2],a[1][3]賦值

i=2,j 執行4次,給a[2][0],a[2][1],a[2][2],a[2][3]賦值

i=3跳出.

還有不懂再問

2樓:清河大俠

這段**的意思是:

三層巢狀,每層都是迴圈兩次:0和1。

然後把三層巢狀當前的值都列印出來。結果實際上是從0到7的二進位制數,就是:

000001

010011

100101

110111

3樓:薊旎旎威溫

每當內部迴圈走完一圈後才回去再檢查外部迴圈,所以那個end給ch造成的改變,只有在外迴圈裡體現,內迴圈還是每次加1的。

4樓:天堂妹兒

當i=0時,給m[0][0]、m[0][1]、m[0][2]和m[0][3]賦值;

當i=1時,給m[1][0]、m[1][1]、m[1][2]和m[1][3]賦值;

當i=2時,給m[2][0]、m[2][1]、m[2][2]和m[2][3]賦值;

這就是個3行4列的二維陣列,共12個元素。

5樓:匿名使用者

輸出一個三行四列的陣列的值,從%d看,應該是數值型的吧。

for(i=0;i<3;i++)行遞增

for(j=0;j<4;j++)列遞增

依次輸出第i行第j列的值

6樓:匿名使用者

這個是二維陣列元素的賦值。

7樓:

給int m[3][4]二維陣列賦值:

第1步 i = 0,j = 0;此時你輸入一個數,這個數即為 m[0][0] 的值

第2步i = 0, j = 1,輸入數賦值給 m[0][1];

第3步= 0, j = 2,輸入數賦值給 m[0][2];

第4步i = 0, j = 3,輸入數賦值給 m[0][3];

第5步i = 1, j = 0,輸入數賦值給 m[1][0];

第6步 =1, j = 1,輸入數賦值給 m[1][1];

第7步i = 1, j = 2,輸入數賦值給 m[1][2];

第8步i = 1, j = 3,輸入數賦值給 m[1][3];

第9步i = 2, j = 0,輸入數賦值給 m[2][0];

第10步i = 2, j = 1,輸入數賦值給 m[2][1];

第11步i = 2, j = 2,輸入數賦值給 m[2][2];

第12步i =2, j = 3,輸入數賦值給 m[2][3];

c語言的for迴圈巢狀怎麼執行的?

8樓:突突無限

結果如抄圖,有140個a ,for迴圈巢狀進襲行,每次先進行了完了一次內部迴圈,再進行外部迴圈,例如

for(i=0;i<5;i++)for(j=0;j<5;j++)每次執行一次第一個i的迴圈,就會執行五次j的迴圈。

還有,你的程式有一點錯誤:getch()是定義在庫函式conio標頭檔案中的,所以開頭加上#include就行了

不知道我的回答你是否滿意。

9樓:匿名使用者

1.你的問題直bai接答案:先執行完du所有內迴圈,zhi再執行外迴圈,dao

然後k=i;再進入內專迴圈。內屬迴圈執行完成後再到外迴圈。

2.流程控制:順序,選擇,迴圈(流程控制都看不懂,學程式語言學不會的)。

簡單解析你的問題:

先外迴圈for(i=0(只執行一次);i

3.不懂可以繼續問,不幫你弄懂說明我的理解不深刻。

10樓:連冉家谷之

可以寫成if(i==x),但不能寫成if(i=x)

i的確是不可能大於x,但是i>=x是隻要滿足i>x或者i=x就能執行的,所以條件寫i>=x和i==x是沒區別的.

11樓:蕭竣閏

外層迴圈執行復一次,制內迴圈執行所有符合條件的次數。

例:for(i=1;i<=5;i++)

}i=1時j=1,j=2,j=3,j=4,j=5;即外層迴圈迴圈了一次,內層迴圈了5次。

所以外迴圈共迴圈了5次,內迴圈共迴圈了25次

12樓:匿名使用者

在vc6.0中 for(i=0;i<4;i++)處新增斷點(f9),然後執行到斷點處按f10 除錯執行一直到結束

13樓:匿名使用者

for(i=0第一步;i<4第二部;i++第四步)

{ 第三步{

14樓:匿名使用者

用vc6 自己除錯一步步執行下就知道了

15樓:三十褚龍

(4+3+2+1)*(5+4+3+2)=140個

c語言裡,for迴圈裡能巢狀while迴圈嗎

16樓:匿名使用者

完全可bai以的。例如du

,以zhi下的二重迴圈dao程式內執行的結容果:

#include

void main( void )

system("pause");}

c語言 for迴圈裡再巢狀一個for迴圈

17樓:天雲小店

兩層迴圈就是a迴圈中k值每次加1,就要執行b迴圈並且將b迴圈執行完(也就是執行到跳出b迴圈)

18樓:匿名使用者

從a迴圈開始進入,若k<10,則進行大括號裡面的,這時到達b迴圈只要k

19樓:

外迴圈體執行一遍,內迴圈體從頭到尾執行完

跳出來加1以後在做b迴圈

20樓:匿名使用者

你說的很對 程式是這樣走的。

c語言中for迴圈巢狀if的例題

21樓:聽不清啊

#include

int main()

else printf("no\n");

} printf("正確率=%d%%\n",n*20);

return 0;}

c語言中 for迴圈巢狀的運算流程?

22樓:霍瑾相溫

1.for迴圈的一般形式為:

for(表示式1;

表示式2;

表示式3)

2.它的執行過程如下:

1)先求解表示式1。

2)求解表示式2,若其值為真(非0),則執行迴圈體,否則結束迴圈。

3)執行完迴圈體,再求解表示式3。

4)重複執行步驟2)和

3),直到迴圈結束。

注意:表示式1僅在第一次迴圈時求解,以後都不會再執行,可以認為這是一個初始化語句。

3.for迴圈的執行過程可用下圖表示:

4.比如我們用for迴圈來計算1加到100的值:

#include

intmain()

printf("%d\n",sum);

return0;}

執行結果:

5050

**分析:

1)執行到

for語句時,先給

i賦初值1,判斷

i<=100

是否成立;因為此時

i=1,i<=100

成立,所以執行迴圈體。迴圈體執行結束後(sum的值為1),再計算i++。

2)第二次迴圈時,i

的值為2,i<=100

成立,繼續執行迴圈體。迴圈體執行結束後(sum的值為3),再計算i++。

3)重複執行步驟

2),直到第101次迴圈,因為此時

i的值為101,i<=100

不成立,所以結束迴圈。

關於c語言中的for迴圈巢狀

23樓:匿名使用者

看不明白的時候自己把輸出列印出來,自然知道是怎麼回事了#include

int main ()

{int n[3],i,j,k;

for(i=0;i<3;i++)

n[i]=2;

k=3;

for(i=0;i

c語言do迴圈,C語言do迴圈

inf 殷志民 沒有do迴圈,只有do while迴圈 while迴圈和for迴圈,因此如果你是用do while迴圈,do和while兩者是密不可分的,do裡面描述了你在不斷的重複做什麼事,而while告訴編譯器下一次重複進入迴圈的條件是什麼,如果沒有while的話,整個迴圈的思想就少了一部分,也...

c語言迴圈問題,C語言 迴圈問題

迴圈體是 do while迴圈,執行語句的時候,第一次是先進入 do 裡,執行其中語句,第一次迴圈 a 2 這一句執行的結果是a被重新賦值為 10 2 12 x a 這一句執行的結果是x被重新賦值為 0 12 12 if x 50 的結果為 假 false 不執行 break while a 14 ...

C語言for迴圈的問題,C語言迴圈問題

一個偽 告訴你真相 我是大圈 一圈跑完,大圈還要跑嗎 要跑 繼續大圈與小圈的迴圈,不要跑 跳出迴圈 多層巢狀也是一樣 我是外圈 跑完了小圈,繼續中圈 中圈已結束 跳出中圈繼續執行外圈。中圈還沒結束 繼續中圈的迴圈 現在中圈也跑完了,再來跑大圈 如果大圈跑完了,該迴圈結束,還沒有的話繼續上面的奔跑,r...