解釋下雙層for迴圈,C語言採用雙層for迴圈結構

2022-05-17 12:34:12 字數 4194 閱讀 8085

1樓:宇帥

public static void main(string args)

⑩system.out.println();}}首先程式會執行①,給i初始化賦值0;然後判斷i是不是小於等於5,如果小於等於5就執行④這個for迴圈。

在這個for迴圈中,先會給變數j初始化賦值0,然後判斷j是不是小於等於5,就執行⑧,因為i=j;所以會列印*,然後再執行⑦,把j++,這時j=1,然後執行⑥,判斷j是不是小於或等於5,如果小於或等於5就執行⑨,因為j=1,i=0,j>i,所以會列印*,然後一直這樣判斷,當j=5時,因為它等於5,所以執行⑨,列印*,然後j++,這時j=6,j大於5了就跳出④這個for迴圈,執行它後面的那句列印換行的**⑩,然後執行第一個for迴圈的③,i++,這時i=1,再執行②判斷i是不是小於或等於5,如果小於或等於就執行第二個for迴圈④,然後就執行和上面一樣的過程,直到i++=6,判斷i大於5,這是程式結束。這裡的要點就是①和⑤這樣的賦值只會執行一次,其它的按判斷結果執行。

希望我說這些對你有幫助,如果沒看懂我可以再給你補充!

2樓:匿名使用者

是這樣的 外層迴圈執行一次 裡層迴圈執行多次也就是說

for(int i=0;i<=5;i++)執行一次迴圈之後那麼裡層的 for(int j=0;j<=5;j++)按照你的迴圈條件就要執行完6次之後 才會跳出到外層迴圈 繼續執行 當外層迴圈執行第二次之後裡層迴圈將會再執行6次

這樣反覆下去 一直到 外層迴圈 的迴圈條件不再滿足 就不再執行 也就是說 外層迴圈執行6次之後 就不再執行

這裡:你的外層迴圈執行6次(因為i=0 i<=5 從0到5是6次)你的裡層迴圈執行了36次(外層一次 裡層多次 6*6=36)

3樓:匿名使用者

首先進入外層迴圈。。再進入內層迴圈。。然後層迴圈直到為假。。退出內層迴圈。。然後再進行外層的第二次迴圈。。

最好的辦法就是打個斷點。。然後你一步一步的看他的執行步驟就是了。

外層迴圈執行一次。。內層迴圈執行n次。。這個n就是你for中間的判斷值

也就是你這裡的5

4樓:

這樣理解,

當i=0的時候,j從0~5走一次,

當i=1的時候,j從0~5走一次

當i=2的時候,j從0~5走一次

當i=3的時候,j從0~5走一次

當i=4的時候,j從0~5走一次

當i=5的時候,j從0~5走一次

5樓:匿名使用者

首先它先進入第一個for迴圈,再進入第二個迴圈,就開始判斷並在第一行輸出6個*號;再進入第二次從頭開始迴圈,因為這時i=1,所以j會小於i所以第二行的第一格就就輸出一個空字元,再迴圈5次;下面的步驟和上面的迴圈差不多了,我猜列印出來的圖形是倒直角三角形的吧..

6樓:鞠楓

外迴圈五次,裡面二十五次.

外層迴圈每次進入內層迴圈,內層五次要執行完才能跳出,再進入外層迴圈繼續執行.

7樓:延古束縈懷

從第四行開始,控制的是每一行顯示的內容

每一行顯示6個資料(0-5),

當列號小於當前行號時,列印一個空格,

否則就列印一個*

其結果就是列印出一個斜邊在左邊的等腰直角三角形不要死記什麼列於行的關係

主要是分清個程式**之間的邏輯關係,

否則四重以上迴圈怎麼辦?

8樓:

外迴圈是i=0那列語句內迴圈是j=0那列語句,外迴圈執行一次隨之內迴圈迴圈j=0語句6次,此六次中j=i)同理,system. out. println輸出總結果

9樓:kant康德

不知道你是用什麼環境寫的**

如果是用eclipse的話,可以充分利用debug功能,檢視程式執行的每一步,以及每個變數的變化

10樓:劉國壘

恩,就是啊,自己拿數字代入進去,自己當成這個數字在裡面迴圈一遍

c語言採用雙層for迴圈結構

11樓:匿名使用者

#include

int main()

printf("%d %d %d",n,k,s);

return 0;

}//執行示例:

怎麼跳出雙層for迴圈

12樓:文件類共創空間

我的想法是這樣的。

非要用break的方式跳出,我覺得可以再內層for迴圈中加一個標誌量,如label,當內層if條件成立時,label = 1;執行break;跳到外層for迴圈,在新增執行判斷語句,if (label == 1) break;再次break,跳出第二層for迴圈

for迴圈程式語言中的語句之一,用於迴圈執行。for迴圈是開界的,它的一般形式為: for(; 《條件表示式》; ) 語句; 初始化總是一個賦值語句, 它用來給迴圈控制變數賦初值; 條件表示式是一個關係表示式, 它決定什麼時候退出迴圈; 增量定義迴圈控制變數每迴圈一次後 按什麼方式變化。

這三個部分之間用";"分開。 例如:for(i=1; i<=10; i++) 語句; 上例中先給i賦初值1, 判斷i是否小於等於10, 若是則執行語句, 之後值增 加1。

再重新判斷, 直到條件為假, 即i>10時, 結束迴圈。

for語句比while語句和do-while都要靈活,是一種功能更大、更常用的迴圈語句,它的一般語法格式為:

for(表示式1;表示式2;表示式3)

其中,表示式可以省略,但是分號不可省略。

13樓:匿名使用者

非要用break的方式跳出,我覺得可以再內層for迴圈中加一個標誌量,如label,當內層if條件成立時,label = 1;執行break;跳到外層for迴圈,在新增執行判斷語句,if (label == 1) break;再次break,跳出第二層for迴圈

14樓:悠遊網

想到一個簡單的方法,就是在內迴圈exit for的時候寫一個常量(例如:h=10),一跳出內迴圈,在外迴圈就判斷 h是否等於10,等於就是內迴圈滿足條件才跳出,這時候外迴圈也exit for跳出外迴圈。 剛測試可行!

15樓:匿名使用者

c語言哈。晚上給你做。爪機沒點了。

16樓:匿名使用者

最簡單的:將break換成j=201,i=0

17樓:龍志舞

for 迴圈可以命名

如 a:for,break a 就可以跳了。

高手講解下vb裡for迴圈的雙重迴圈是怎麼回事兒

18樓:匿名使用者

for ias integer =1 to 3for jas integer =5 to 1 step -1debug.write("("+ i.tostring() + ", "+ j.

tostring() + ")")

next j

next i

結果(1, 5)(1, 4)(1, 3)(1, 2)(1, 1)(2, 5)(2, 4)(2, 3)(2, 2)(2, 1)(3, 5)(3, 4)(3, 3)(3, 2)(3, 1)外迴圈一定要在內迴圈完成一圈後才開始第二個數字:

雙重迴圈總次數:內迴圈數*外迴圈數=5×3=15

19樓:匿名使用者

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

}雙重迴圈是在迴圈的第i個條件下,啟動另一個迴圈,比如列印「*」三角形,***

*******

20樓:匿名使用者

雙重迴圈有這幾特點:

一是:一旦進入內迴圈,要把內迴圈做完才能持行外迴圈**,除非你是用exit for 強制退出

二是:外迴圈做一次,內迴圈要做完,強制性退出的除外for i=1 to 10

for j=1 to 10

?i*j

next

next

內迴圈執行100次

21樓:匿名使用者

for i = 1 to 3

for j = 7 to 9

s = i + j

print s

next j

next i

當i=1時 j 為

7 8 9 s就有 8 9 10三個值

c語言迴圈

1 i 1 j 4 i,所以j 3 j 1輸出一個空格 j 2輸出一個空格 j 3輸出一個空格 k 2 i 1,所以k 1 k 1輸出一個 最後 輸出一個回車 2 i 2 j 4 i,所以j 2 j 1輸出一個空格 j 2輸出一個空格 k 2 i 1,所以k 3 k 1輸出一個 k 2輸出一個 k ...

c語言為什麼for是死迴圈求大神解釋

c語言中來for迴圈包含三個部分 初自始化 條件 遞增for initialization condition afterthought 初始化是宣告 或者賦值 任何需要的變數的動作。如果你要使用多個變數,則變數的種類要一致。條件的部分則是檢查是否離開這個迴圈,也就是讓程式碼往下執行。如果條件判斷為...

c語言for迴圈問題

i為1,3,5時k 兩次,共6次 i為2,4時k 一次,共2次,總共8次,k為8 i為5時,b i 2為1 第一次while b為1,滿足b 0,b變成0第二三次while b為0,仍滿足b 0,b變成 1第一次while b為 1,不滿足b 0,b變成 2注意 b 0是先判斷條件,再 關鍵是理解b...