以下各迴圈語句中不是無限迴圈的是

2021-03-11 00:31:42 字數 2584 閱讀 8575

1樓:瓊頭浪子

for(i=0;;i++);if(i>10) break;

這一句的for後面來有一個自分號,所以for每次執行的都是空語句,永遠都執行不到if(i>10) break;

for(i=1;i=10;i++) s+=i;

至於這一句中i=10一直做得都是賦值語句,也就是i一直都是等於10,也就是一直為真,故為死迴圈了。。

for(i=0,j=10;i

這一句是這樣的j,i-j這個是一個逗號表示式,但是《的優先順序比逗號運算子還要高,所以i每次都是與j做比較,所以i

2樓:匿名使用者

b:for後面迴圈語句為空,而且又沒有終值,一直迴圈下去

d:終值判斷條件語句為i=10,即永遠為真(非0即真嘛),所以也是一直迴圈

3樓:匿名使用者

b.for(i=0;;i++);if(i>10) break;

i++);這裡是分號與後面的是兩個語句

d.for(i=1;i=10;i++) s+=i;

i=10這裡是賦值語句不是判斷語句,每次給i為10

一個c語言判斷迴圈語句是不是無限迴圈

4樓:匿名使用者

a) for(k=-1;-10,k=-1應該是小寫k不是無限迴圈,k<-10後-10環,i-j=0時i-j為假才能退出,當i=5時,j=6,而下一迴圈i=6,j=5,i-j永不為0

c) for(k=1;k=10;k++)是無限迴圈,k=10是賦值表示式,永為真

d) for(k=1;k>0;k++)

是無限迴圈,k從1開始遞增,所以k>0永為真

5樓:趙世佳

a 根本不能編譯 , k>-10 && k < 0 中間條件應該這樣,不是

b 不是

c 是,因為 k=10 是賦值不是比較

d 如果k是unsigned 型別就無限迴圈,如果是int型別就不是無限的。

6樓:匿名使用者

a) for(k=-1;-10無限次,k=10是一個賦值語句,故永遠是真。

d) for(k=1;k>0;k++) 無法通過,k++,大寫,如果是小寫的,無限次

c語言:下列()不是無限迴圈

7樓:

for 的語法為:

for(迴圈初始化語句(可省略) ; 判斷迴圈終止條件語句(可省略) ; 每輪迴圈結束執行的語句(可省略))

while 的語法:

while(判斷迴圈終止條件語句(不可省略))

下面我們來看題目:

a. for(; ; x=0)

這是 for 語句。省略了 「迴圈初始化語句」 和 "判斷迴圈終止條件語句" ,

每次迴圈結束後執行語句為: x=0

因為省略了 "判斷迴圈終止條件語句",因此是一個死迴圈。

b. while(x=1)

這是 while 語句,「判斷迴圈終止的語句」為:x=1。語句是一個賦值語句,而不是邏輯條件(x==1)語句。

這個賦值語句的值,也就是變數 x 的值,恆等於 1。不為 0 的值,在 c 語言裡面都是"真"的,因此這個迴圈會一直執行下去。

c.for(y=2,x=1;x>=++y;x++);

這是 for 語句。

「迴圈初始化語句」 為: y=2,x=1

"判斷迴圈終止條件語句"為:x>=++y

」每次迴圈結束後執行語句「為: x++

我們看 "判斷迴圈終止條件語句"為:x>=++y。

第一次迴圈的時候,x=1, ++y = y+1 = 3。因此邏輯判斷語句 x>=++y 的值是「假」的。

這個迴圈一次也不會執行。它不是一個死迴圈。

d.for(y=0;x=1;++y);

這是 for 語句。

「迴圈初始化語句」 為: y=0

"判斷迴圈終止條件語句"為:x=1

」每次迴圈結束後執行語句「為: ++y

我們可以看到,不論迴圈多少次,變數 x 的值都不會改變的,x 恆等於 1。

只有 y 的值每迴圈一次會加一。

因此 "判斷迴圈終止條件語句"為:x=1 是恆成立的。這是死迴圈。

8樓:灰色

這裡含簡單就判斷出c的條件不滿足,所以是c

9樓:小小圖圖來了哦

應該選c,一開始就不滿足x>=++y這個條件,所以一開始就跳出for迴圈語句了

10樓:姜煙逢戌

a)for(k=-1;-10個錯誤,k=-1應該是小寫k不是無限迴圈,k<-10後-10,退出

b)for(i=1,j=10;i-j;i++,j--)是無限迴圈,i-j=0時i-j為假才能退出,當i=5時,j=6,而下一迴圈i=6,j=5,i-j永不為0

c)for(k=1;k=10;k++)

是無限迴圈,k=10是賦值表示式,永為真

d)for(k=1;k>0;k++)

是無限迴圈,k從1開始遞增,所以k>0永為真

請問for迴圈中的switch語句中case後用break還是continue??區別是什麼

break是結束並跳出迴圈語句,continue是結束本次迴圈然後進入下次迴圈 迴圈的定義是程式段執行完了以後,再次判斷條件,若條件為真,則繼續執行該程式段。而在switch結構當中,只是該程式段執行完了之後,就繼續執行下面的語句。因此很明顯switch結構不是迴圈。迴圈有重複 反覆執行的功能。另外...

無限迴圈和死迴圈的區別,C語言無限迴圈死迴圈區別

無限迴圈和死循復環的相同之處制就是都沒bai有結果值 不同du之處 1 無限迴圈是zhi指程式在執行過程中出現dao的無值結果,它的本質是程式可以正常迴圈,但產生的結果又無數個值 2 死迴圈是指程式在執行過程中產生的錯誤運算結果 導致程式無值判斷,因此他們程式執行結果是不一樣的。c語言無限迴圈 死迴...

c語言迴圈語句中用「continue」跳出內層迴圈後會再次進入內層迴圈並執行嗎?例如for

會 continue 和 break的區別就是 continue只跳過當前迴圈 j 5時執行到continue j 6時還會急需執行如果是break的話 就會直接跳過內層for迴圈 開始下一次外層的迴圈c語言迴圈語句中用 continue 跳出內層迴圈後 會再次進入內層迴圈並執行嗎?例如 for c...