1有以下程式段intk0whilek1kwhile循

2021-04-28 17:37:25 字數 1779 閱讀 6779

1樓:匿名使用者

答案選擇a的原因是k=1是一個賦值語句,把1賦值給k

c語言中0為假,非0為真,所以1永遠為真,所以是無限次

判斷相等的邏輯表示式是k==1,不可弄混

2樓:makka丶

因為 while(k=1) 不是來while(k==1),while 裡面的 k=1 變成了自

賦值語句,而不是實際目的與1去比較是否相等。這些程式 就會執行 k=1,然後再執行 k++;此時k=2;然後又執行 while(k=1),讓k=1;然後又再執行 k++;此時k=2;,又再 while(k=1),讓k=1,又再執行 k++;此時k=2;,如此迴圈,不會停止;此題我猜想是 想考 while語句 的語法 以及 賦值語句 與 比較語句的寫法;while(k=1) 與 while(k==1) 意思完全不同,同時 if(k=1) 與 if(k==1) 意思也完全不同。

int k=0: while(k=1)k++; while 迴圈的次數是多少

3樓:好程式設計師

死迴圈,因為你迴圈條件是個賦值語句k=1,這樣的話k永遠為1,也就是條件成立,所以是死迴圈,如果寫成k==1的話,則一次也不執行迴圈。

有以下程式段 int k=0; while(k=1) k++; 則while迴圈執行的次數是

4樓:陳開武

程式段 int k=0; while(k=1) k++; while迴圈體執行的次數為無

限次。理由:在執行while(k=1)時,會先執行賦值回語句,令 k 的值等答於 1,然後再判斷while的迴圈條件,此時 while(k=1)相當於 while(1),迴圈條件始終為真,無限迴圈執行。

再舉一個與上面條件差不多的例子:

#include

int main(int argc, char *argv);return 0;

}控制檯會不斷輸出2,如下圖:

5樓:熱情的

試題解析迴圈條件是" k=1",該表示式恆為真,所以程式構成死迴圈 答案選 a。

6樓:倒黴熊

a 因為迴圈條件 k=1 一直為真。

賦值語句的值為其等號右側的值,也就是說 k=1 的值為1,也就是為真。

7樓:

a.無限次

#include

int main(int argc, char *argv);return 0;

}你會發bai現一直輸出:2

原因:k=1 是一條du賦值語句,令zhi k 的值等於 1。語句 k = 1 的結果是dao 永遠是 1 , while(k=1) = while(1) ,是死迴圈,執行無限次

k == 1 才是一條邏輯語句,判斷 k 的值是否等於1 。如果 k 的值等於 1 , k==1 的結果是1,否則是0。

8樓:ok真命小精靈

正確答案為a. ***……

9樓:匿名使用者

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

有以下程式段:int k=0;while(k=1) k++; 則迴圈執行多少次?為什麼?

10樓:天雨下凡

迴圈會執行無數次,while(k=1)表示式k=1是把1賦值給變數k,然後整個表示式k=1的值為1,即真,然後k自加,新的一輪迴圈開始時,k的值又變成1,即真,所以迴圈不會結束。

當a 3,b 2,c 1時,執行以下程式段後c

c 2a b 2 b c 1 c a 2 回答當a 3,b 2,c 1 時,執行以下程式段後 a if a b a b if b c b c else c b c a 當a 3,b 2,c 1 時,執行以下程式段後 a if a b a b if b c b c else c b c a 當a 3,...

有以下程式。c語言的,有以下程式。C語言的

define m 5 在這個程式中m一直表示5 define f x,y x y m 在這個程式中f x,y 一直表示x y m 程式執行時原樣代入,即使f x,y 表示的是x y m這個算式也不進行計算,直接原樣代入,所以k f 2,3 f 2,3 就等價於2 3 5 2 3 5 結果自然就是41...

有以下程式includestdiohMain

源程式 include main 輸出 1,3,3 分析 if a 1 b 2 a 1 正確,b 2,自增運算級在判斷符前,又因為是b 而不是 b,所以判斷時b為2,判斷結果為正確,判斷結束,b自增為3。進入下一個if if b 2 c 3 此時b已經是3,所以b 2,正確,由於是 或 前面正確,就...