C語言檔案如下是不是無限迴圈

2021-03-04 08:48:31 字數 3770 閱讀 4025

1樓:打光棍

while迴圈的用法是

while(判斷條件)

如果判斷條件為真,則實行迴圈內部**;

如果判斷條件為假,則跳出迴圈,執行後續**。

而判斷條件為真的時候,值是1;判斷條件為假的時候,值是0故而,while 1是無限迴圈

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

2樓:

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 是恆成立的。這是死迴圈。

3樓:灰色

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

4樓:小小圖圖來了哦

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

5樓:姜煙逢戌

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永為真

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

6樓:匿名使用者

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永為真

7樓:趙世佳

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

b 不是

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

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

8樓:匿名使用者

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

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

c語言問題:下面程式不是無限迴圈的是

9樓:螞蟻海魂衫

在c語言中,0為假,其他所有值均為真

a選項:判斷語句中2>=0永遠成立,無限迴圈b選項:3/5=0,3+5=8,即while(8),無限迴圈d選項:

while(1),永遠為真,無限迴圈順便吐槽這題目,如果敲出像abc選項的**,老闆會炒了你的,學校裡淨出這些蛋疼的題目

10樓:匿名使用者

c不是無限迴圈,'/0'為字元0,代表的值為0,通過for的判斷,條件不成立,不進入迴圈。

a,2>=0條件恆成立,表示式值恒為1,所以無限迴圈b,逗號表示式取最後乙個表示式的值,即3+5,表示式3+5的值為8,不為0,所以無限迴圈

d,while判斷的條件為1,恆滿足,所以無限迴圈

11樓:匿名使用者

答案選c;

a:for的控制語句:2>=0恒為真;

b、d:while的條件也恒為真:3+5和1不等於0。

12樓:匿名使用者

答案選c,'\0'或 '\000'是代表ascii碼為0的控制字元,即「空操作」字元

13樓:匿名使用者

1樓回答不正確,2樓3樓都沒錯

14樓:匿名使用者

b不是,因為while迴圈裡只能是乙個表示式

c語言 求大神解釋 for(; ;)為什麼是無限迴圈的?

15樓:劉子超1號

該函式等同於while(1),由於執行for迴圈for(初始條件;判斷條件;結束時執行)的判斷條件沒寫,意味著判斷結果始終為真,沒有跳出迴圈的契機,就是無限迴圈。

16樓:zz迎風

for(a;b;c);b的位置是判斷迴圈進行的條件,若b省略,則迴圈一直進行即死迴圈

17樓:玉蘭花瓣巨蟹座

c語言學了,快全部還給老師了

18樓:匿名使用者

悲劇,因某次面試,用的 for(; ;)迴圈,直接被面試官pass...

c語言無限迴圈 死迴圈區別…

19樓:匿名使用者

無限迴圈不就是死迴圈麼

k=1不是k==1,它是乙個賦值語句而不是比較語句,返回的值為1,所以會一直執行下去。

20樓:千鋒教育

無限迴圈與死迴圈沒有本質的區別,只是不一樣的說法而已。

常見的無限迴圈有一下幾種實現方式:

1、for(; ;) {}

2、while(1) {}

21樓:匿名使用者

無限迴圈可能是程式需要故意為之,如while(1);

死迴圈可能是程式設計的邏輯錯誤,使得程式未按照預想的那樣執行。

22樓:匿名使用者

這是因為while括號裡面的條件是k=1 而不是k==1,k=1是個賦值語句,永遠返回真。

23樓:匿名使用者

無限迴圈就是死迴圈,while(條件控制),因為k=1恒為真,所以是無限迴圈

聽說h字尾的檔案是c語言的標頭檔案,不是c 的。c 的

lz的說法有誤。include只是文字包含,具體一點地說,在一般的實現中,只要是可以正常訪問的文字檔案,無論是什麼副檔名 甚至不含副檔名 前處理器僅僅把文字的內容複製到 include所在行並刪除此行,也就是用文字檔案的內容替換 include所在的這一行而已,而不會在 include進行時因為檔名...

c語言是不是只能寫控制台啊

1 當然不是。c語言還可以寫編寫windows 應用程式。2 寫windows程式需要些sdk的知識,windows的實現中基本上都是用的c語言,其各種介面基本上都是原生c語言函式,具體比如sdk用的windows api。使用純c語言編寫windows程式,工作量將會相當大,下面是乙個小例子 我覺...

c語言dos圖形介面是不是都是全屏的

如果在dos下使用不存在全屏或不是全屏的說法。如果是在windows下使用,可以通過alt enter切換或者建立啟動程式的快捷方式,通過配置快捷屬性來確定執行時,是全屏或非全屏。如果想要擺託dos就要研究下sdk,mfc,net 等一些開發的東西,如果想要進入這方面的程式設計開發,就要學很多東西,...