c語言 誰幫忙看一下列程式為什麼跳不出迴圈?

2025-01-09 04:45:35 字數 1655 閱讀 4781

c語言求執行結果題目。11題,如果程式如下,是怎麼判斷輸入0結束迴圈的?

1樓:網友

輸入0結束迴圈,也就是輸入不為0的時候迴圈,也就是說while迴圈的條件就是輸入的a不為不為0,也就是a!=0。 而在c語言中,是沒有專門的邏輯型資料的,任何乙個資料都可以以其數值為準看成乙個邏輯值,數值為0即為邏輯的假,數值不為0即為邏輯的真。

如此的話,那麼如果乙個資料x,直接將其作為邏輯值,它的值不為0時代表邏輯真, 它的值為0時代表邏輯的假。

此時對於表示式 x!=0,x不為0時表示式的值為真, x為0時表示式的值為邏輯假。

此時我們發現 作為邏輯值的x 與 x!=0 具有相同的值,也就是說是等價的。

所以答案應該選擇b

第十五題c語言問題沒有構成死迴圈的一項是?求詳細解答謝謝

2樓:網友

答案:d

a:i%100+1的最大值是100.永遠不會大於100b:for迴圈第二個條件語句為空的表示會一直迴圈c: k>=1000會一直成立。

d:當s遞減為0時結束迴圈。

c語言迴圈解答問題

3樓:0動感螞蟻

這題實際上可以通過題目作一些簡化。

因為a+b+c+d=77250,d=12000.所以a、b、c最大值為65250且和為65250,又因為65250是整十位,c是60的倍數,那麼a+b必然是整十位,a的倍數尾數不可能是5,所以b必然是30的倍數。這樣分析之後計算量就上很多。

double i,j,k;

for(i=60;i<65250;i+=60)}}

4樓:網友

#include

int main()}

return 0;

這樣兩重迴圈加上乙個判斷已經是最簡的了。

在迴圈中也加了判斷繼續優化。

5樓:匿名使用者

int x,y,z;

for (x=0; x<=77250/28; +x)}}

暫時只想到了這個提高效率的辦法。

6樓:流年市煙花

直接用 28*i+ 15*j + 60*k + 12000 = 77250 這個只要三重迴圈啊。

兩個個關於c語言迴圈跳出的問題

7樓:科技科普君

通常在c語言裡面使用的跳轉語句主要有以下四種:

1、goto:用於模組之間的跳轉,次跳轉功能強大,可實現在程式內部任意位置跳轉。在c語言中這種形式的呼叫通常發生在選單的製作上,用於多個模組之間進行切換,可以巢狀使用。

但是這種程式設計方式並不提倡使用,在跳轉過程中可能蘆告會帶來不可預知的bug,應儘量避免使用;

2、continue:一般用於加速迴圈,一般陪亮明在迴圈體內部進行呼叫,其功能是:結束本次迴圈,是迴圈快速地進入到下一次迴圈中;

3、break:一般用於跳出本迴圈,即跳出break所在的迴圈,哪個迴圈呼叫了break,就跳出哪個迴圈;

4、return:一般都用在被呼叫的物件裡面,鍵搭呼叫以後返回到呼叫物件。即當物件二呼叫物件一時,如果物件一內部呼叫了return語句,則程式執行返回到,物件二呼叫物件一得下一條語句繼續執行。

c語言程式,請高手幫忙看一下錯誤

include stdio.h include stdlib.h 巨集定義 define ok 1 define error 0 define overflow 2 define sksize 20 typedef struct sqstack 初始化棧 int initstack sqstack ...

C語言高手看一下

include 標頭檔案要載入到最前面,因為你的第一個jia的函式就呼叫了printf函式。另外,不知道那個是什麼,但是這個stdio是標準c的標頭檔案,應該使用這個。int jia 這裡的float改成了int,因為你最終的返回值是int型的。之前你的函式里你傳遞了。s這個值,這是不必要的,因為無...

C語言程式設計填空 各位大神幫忙看一下這括號裡要填什麼

cc t1 兄弟你是完全沒學過c語言?第一個空是一個scanf的格式問題,第二個空是三元運算子的格式問題 c語言程式填空 下面這括號裡要填什麼?如下填 1 c 2 c t1 c語言程式設計,if flag 中,括號內只有一個flag,表示什麼?諸如此類,怎麼解釋 c語言中有個很奇怪的規定,只要一個值...