兩個for語句是怎麼執行的,C語言兩個for語句如何並列編寫?

2021-05-05 20:19:04 字數 4222 閱讀 7390

1樓:313傾國傾城

迴圈語句for按照以下5個步驟執行:

(1)求解初值表示式。

(2)判斷迴圈條件表示式,如果值為真(非0),則執行for語句迴圈體內部的語句,然後執行第3步;如果值為假(0),則跳出迴圈,執行第(5)步。

(3)求解更新表示式。

(4)跳回第(2)步重複執行。

(5)迴圈結束,執行for迴圈體後面的語句。

2樓:匿名使用者

你說的是for迴圈的巢狀吧,外迴圈for子句每執行一次,內迴圈for全部執行。反覆如此,直到外迴圈執行完。

3樓:匿名使用者

這兩個for是屬於包含的關係。

給你個簡單的例子,你好理解。

for(int i=0;i<10;i++) (1)for(int k=0;k<5;k++)(2)意思是先從i=0開始,然後執行下面的for5次,執行完後,把i加為1,再把下面執行10次,依次類推。總迴圈次數為50.

你的程式是可以用於排序,具體點是氣泡排序。

比如說b陣列為1 3 5 7 2

那麼從1開始,依次和後面的3 5 7 2 比較,這是一次大的迴圈。(1)

而在(1)中又有4個小迴圈。(2)

4樓:

是的,你理解的沒有問題,外層的for執行第一次,然後裡面的for執行完,在執行外層的for,在執行裡面的for,如此迴圈知道外層執行完。

5樓:侵權網

如果想知道怎麼執行的你可以除錯下試試。

如果你想更直觀的瞭解可以加個大括號

c語言兩個for語句如何並列編寫?

6樓:匿名使用者

1、直接並列編寫即可。兩個for語言並列一起表示雙重迴圈。

2、一般情況下for迴圈裡包含3條語句,第一句是為迴圈變數賦初始值值,第二句是迴圈條件,第三句是給迴圈變數重新賦值,例如:

for(i=0;i

這個迴圈的迴圈變數是i,i的初始值是0,迴圈條件是i

7樓:匿名使用者

當然可以,巢狀使用才是特殊情況

比如int i;

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

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

8樓:魄塋

兩個for語句是可以並列的。

對於for(exp1;exp2;exp3)會先執行exp1,然後用exp2做判斷,執行exp4,然後用exp3減少迴圈剩餘次數。當exp2不再滿足時,迴圈便結束了,程式會繼續執行}之後的內容。

所以,對於兩個for語句的並列,可以這樣寫:

for(exp1;exp2;exp3)

for(exp5;exp6;exp7)

這樣一來,兩個語句並不存在巢狀關係,不會互相影響,達到並列的效果。

9樓:

這樣就可以 兩個for是並列的

forfor

for只能控制他下面的一句** 所以

for()

;for()

;也可以

10樓:風風v閃電

用if、else分條件,或者把變數重新賦值

11樓:匿名使用者

for(i=0,j=0;a[i]!=b[j];i++,j++)

一個迴圈裡可以同時有幾個變數迴圈。

12樓:青山鬱

你的意思是要兩個for迴圈同時進行?無法這樣吧。

13樓:匿名使用者

for(int i=1;i<=n;i++){}

for(int j=1;j<=n;j++){}

14樓:周可兒

你很有理想,能給個具體問題嗎?

c語言中兩個for語句的是怎樣迴圈的

15樓:匿名使用者

比如for(i = 0; i < 5; i++)for(j = 0; j < 5; j++)printf("i = %d, j = %d\n", i, j);

先執行i=0,讀取i<5的邏輯值為1,則為真,再開始內層迴圈。內層從j=0一直到j=4迴圈一整遍之後再執行i++,然後i=1<5,再把內層從j=0一直到j=4迴圈一整遍,如此迴圈。

執行結果如下(code::blocks)

i = 0, j = 0

i = 0, j = 1

i = 0, j = 2

i = 0, j = 3

i = 0, j = 4

i = 1, j = 0

i = 1, j = 1

i = 1, j = 2

i = 1, j = 3

i = 1, j = 4

i = 2, j = 0

i = 2, j = 1

i = 2, j = 2

i = 2, j = 3

i = 2, j = 4

i = 3, j = 0

i = 3, j = 1

i = 3, j = 2

i = 3, j = 3

i = 3, j = 4

i = 4, j = 0

i = 4, j = 1

i = 4, j = 2

i = 4, j = 3

i = 4, j = 4

process returned 0 (0x0)   execution time : 0.113 s

press any key to continue.

16樓:

進入外層迴圈後,

再進入內層迴圈。

退出內層迴圈後,進入外層下一次迴圈。

17樓:薊旎旎威溫

if只是做判斷,比如

if(a>b)

c=a;

else

c=b;

a>b是斷判條件,如果a>b是真,那就會執行c=a;如果a>b是假就會執行c=b;

在c語言中,for語句使用最為靈活,它完全可以取代while

語句。它的一般形式為:

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

語句1)

先求解表示式1。

2)求解表示式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然後執行下面第3)步;若其值為假(0),則結束迴圈,轉到第5)步。

3)求解表示式3。

4)轉回上面第2)步繼續執行。

5)迴圈結束,執行for語句下面的一個語句。

兩個for迴圈執行順序

18樓:四舍**入

兩個for迴圈執行順序如下:

1、外層判斷循

環條件,滿足進入外層迴圈體。

2、內層判斷迴圈條件。

3、內層迴圈體執行。

4、內層迴圈變數累加,回到2執行,直到不滿足內層條件。

5、外層迴圈變數累加,回到1執行,直到不滿足外層迴圈條件,徹底退出迴圈。

19樓:匿名使用者

可以實現,修改**:

for(j=60j<120;j++) {}for(;j>0;j--) {}

for迴圈一般形式為:

for(單次表示式;條件表示式;末尾迴圈體)其中,表示式皆可以省略,但分號不可省略,因為「;」可以代表一個空語句,省略了之後語句減少,即為語句格式發生變化,則編譯器不能識別而無法進行編譯。

20樓:千鋒教育

外面的for迴圈和單迴圈一樣,外面的for迴圈一次,裡面的for迴圈跑完

for(int i =; i <2;i++)}i=0時,外面的迴圈1次,然後內部j從0開始,執行3次然後i++, i=1 ;再次進入內部迴圈,j還是從0開始

21樓:匿名使用者

你想怎麼運用? 第一個執行完後j的值會是120, 如果第二個你不進行j=59的賦值, j的值是不會變的, 可以直接使用.

22樓:匿名使用者

是依次執行,至於你說的那個資料要看是什麼情況,給個例子吧

怎麼解決兩個css定義衝突,怎麼解決兩個CSS定義衝突?

這個很簡單,最常用的就是選擇器優先順序了 id 優先順序最高100,不建議使用,前端開發儘量避免使用id class名優先順序 10 標籤名字優先順序 1 class1 class2 class3 優先順序是 10 10 10 class1 img 優先順序是10 1 不用區分全域性還是區域性,按照...

c 怎麼用if語句判斷兩個字元是否相等

1.判斷兩個字元是否相等 char a a char b b if a b else 2.判斷兩個字串是否相等 char str1,str2 str1 hello str2 hello if 0 strcmp str1,str2 cout str1 與 str2 內容相同 可以直接用strcmp函式...

兩個英文句子的區別,區分這兩個英語句子,有什麼不同??

有區別的,第一個是現在完成時,通常用於過去發生的事情對現在造成了影響。在文中應該有比一個過去的時間更早的時候。如果上文中有這麼一個過去的時間點,那應該是用第一個形態,即現在完成時。如果只是一個單純的句子,那應該是用第二個。第一個是錯的 live是個瞬間動詞 而現在完成時是一個狀態不能與瞬間動詞聯用。...