為什麼for迴圈巢狀多,for迴圈語句巢狀的問題。

2022-10-03 02:10:23 字數 5344 閱讀 7104

1樓:匿名使用者

for迴圈由於設定明顯的迴圈變數、迴圈條件和迴圈後的迴圈變數計數運演算法則,因此對於迴圈體內部使用迴圈變數取值來說非常方便,因此for迴圈的巢狀就比其他迴圈方式更容易讓人讀懂程式和利於設計。

2樓:銀河系

for 迴圈巢狀多的都不算什麼好**。超過3次以上巢狀的,你就可以尋求別的解決辦法了。

相信我,不要寫2層以上的巢狀,那樣的**會被領導批的。

安利一個python學習**劉江的python教程

3樓:

因為要簡化** 所以巢狀就多了

4樓:匿名使用者

//for迴圈的迴圈次數一目瞭然,巢狀結構一目瞭然,書寫巢狀的迴圈比較方便,所以普通的有目的的巢狀迴圈多用for。

//for能實現的其它迴圈也一定能實現,但巢狀結構看起來就不如for迴圈清晰了,書寫也不如for迴圈簡潔。

//for迴圈如下:

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

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

printf("%d %d",i,j);

//while迴圈如下:

while(i<5)  }

5樓:渾鑲菱

可以的 但如果迴圈很麻煩的話站用資源會很多 沒效率的

for迴圈語句巢狀的問題。

6樓:匿名使用者

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

for(j=0;j<10;j++);

請問for(i=0;i<10;i++)後面有沒有;

沒有的話i讀取10次,j讀取100次 ;

有的話則是i讀取10次,j讀取10次 。

7樓:

這是一個雙迴圈

也就是 i 迴圈10次 即 i 讀取10次

然後 每一次的 i 迴圈內 j都要迴圈10次 也就是說 j總共要讀取100次

8樓:_無倫會

i讀取10次,j讀取100次

巢狀for迴圈為什麼最外層只執行一次?

9樓:匿名使用者

兩個for迴圈裡面的變數不應該寫在外面,應該寫在裡面

for(var a=1;a<=9;a++)

希望能幫助到你

10樓:匿名使用者

我c和你一樣巢狀也出現這現象

兩個for迴圈巢狀的問題

11樓:煌慧

lz您好,先回到第二個for,直到第二個for的4次都做完以後再回到第一個for,也就是說第二個for裡面的語句塊要執行3*4次~~

簡單地附上a[i][j]的下標的變化過程:

1.a[0][0];

2.a[0][1];

3.a[0][2];

4.a[0][3];

5.a[1][0];

……以此類推

希望可以幫助您!

12樓:匿名使用者

//lz,你的**等同於:

for (i = 0;i <= 2;i++)}}

13樓:暗_影_舞_者

順序是i=0→j=0→j=1→j=2→j=3→i=1→j=0→j=1→j=2→j=3→i=2→j=0→j=1→j=2→j=3。

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

14樓:匿名使用者

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

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

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

簡單解析你的問題:

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

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

15樓:連冉家谷之

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

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

16樓:蕭竣閏

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

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

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

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

17樓:匿名使用者

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

18樓:匿名使用者

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

{ 第三步{

19樓:匿名使用者

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

20樓:三十褚龍

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

c語言 for迴圈巢狀

21樓:匿名使用者

迴圈的過程是先執行第一個大迴圈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跳出.

還有不懂再問

22樓:清河大俠

這段**的意思是:

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

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

000001

010011

100101

110111

23樓:薊旎旎威溫

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

24樓:天堂妹兒

當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個元素。

25樓:匿名使用者

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

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

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

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

26樓:匿名使用者

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

27樓:

給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迴圈巢狀for迴圈的 是如何計算的?

28樓:匿名使用者

**確實寫錯了。for迴圈是外面的迴圈,每次迴圈裡面的for都要迴圈一次。也就是說,你把for裡面的**看成一個整體,這個整體被迴圈了3次,這個整體裡面的for每次也要迴圈3次,所以總共迴圈了3*3=9次。

29樓:匿名使用者

從外頭那個for迴圈開始,外頭每迴圈一圈,裡頭進行一次完整的for迴圈……

30樓:匿名使用者

大圈套小圈

大圈裡的 cout<<"\n";這條語句再加上內部for的小圈算作外層的一大圈。

所以 cout<<*(*(pa+i)+j)<<" "; 這條語句一共要被執行 3*3=9 次。

31樓:匿名使用者

lz程式寫錯了吧,根本沒定義 i 怎麼就用作迴圈判斷條件不合適吧,我猜測兩個迴圈語句應該是這樣的吧:

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

}這樣的話肯定是從外層開始計算,可以先把內迴圈看做特殊語句,這樣就是普通的迴圈了,先i=0迴圈執行迴圈內的語句,執行到內迴圈,特殊語句執行完(即內迴圈全部執行完一次),i++判斷i值,在執行即普通的迴圈。

pascal裡面的for迴圈的巢狀是什麼意思

var n,i,j integer 宣告變數 n,i,j都是整形begin 程式開始 readln n 讀入n for i 1 to n do i從 1 變化到 nbegin begin 就是說 前面這個for迴圈有多個語句 不加 begin end的話 for迴圈 預設只執行 緊跟的 一條 語句 ...

為什麼迴圈流化床熱風溫度越高迴圈倍率越高

影響bai鍋爐迴圈倍率的執行du因素很多,主要有以zhi下幾個方面 1.分離dao器的效率,燃料專粒度,燃料含灰量,屬燃料的成灰特性,灰顆粒的磨耗特性對迴圈倍率有決定性影響。2.鍋爐負荷的影響,隨著機組負荷的降低,即鍋爐蒸發量的減少,鍋爐整體風量和延期流蘇必然降低,促使cfb鍋爐迴圈倍率也相應地降低...

餐館為什麼還使用木筷子,而不是可清洗 循壞再用的?

其實是顧客 消費者 有這種需求或要求,一句話 商家的行為都是為滿足消費者需求而設的,或者為了創造消費者使用一次性筷子的需求而定的。簡單分析一下 是前者還是後者呢?在下認為,結果可能得分情況而定。1.因為普通餐館的一次性筷子,顧客是免費使用的,餐館老闆是會想著減少成本同時老闆自己也會計算是清洗迴圈利用...