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,正確,由於是 或 前面正確,就...