C語言高手求助int a,b 8,c 5 a b c 0 4問a答案不是關鍵

時間 2021-08-30 15:12:49

1樓:匿名使用者

先算b/c=8/5理應等於1.6,但由於參與運算的變數和資料都是整型的,計算機會按照整型來計算,結果就是1.6取整數部分1,所以b/c=1

然後算b/c+0.4=1+0.4=1.4由於資料中出現雙精度型資料0.4,所以計算機會用double型進行計算得到1.4的結果

最後a=b/c+0.4;相當於a=1.4,或者a=(int)1.

4;由於a是整型變數,計算機缺省會做乙個將double型資料1.4強制轉換資料型別到int型的資料型別轉換工作,最終a的值是1.4取整後的1

2樓:飄啊飄依然是風

答案是 1。這個就是型別轉化的問題,隱式轉化規律:char ,int,float,double。

只有型別一致才能相加,相除。b/c 由於b,c都是int,結果就是int,所以b/c = 1,

1+0.4=1.4是double型別,強制轉化為int型別,結果就是1

3樓:春雨_潤物

1如果按照正常的結果應該是1.4。但int是整型,會省略小數.所以為1

4樓:狗長犄角

個人理解:

b賦值為8 ,c賦值為5

8/5+0.4賦值給a

a等於2

我是錯的!

5樓:匿名使用者

a是變數,b和c是常量

6樓:不浪漫罪名

這就是c語言的運算法則

7樓:匿名使用者

b和c為整型變數b/c=1,a為整型變數所以a =1

c語言!!求助,C語言求助!!!

沒什麼問題,兩題給出的答案都是正確的。第2題 後面按c語言要求帶上規定的字元或數字,構成轉義字元,因此要想將 賦給字元變數ch,需要定義為 ch 而不是ch 選項a是錯誤的。其餘選項都是正確的。選a第9題 011表示八進位制數,轉為十進位制數是9,執行printf語句,a,是a先自增1 9 1 10...

C語言求助,c語言求助?

我寫了個沒有case的版本 如果是acm的題目,那麼把有關提示的printf語句去掉即可,輸入輸出格式已嚴格控制 include int main char str1 up 11 char str2 11 char str2 up 11 while 1 flag up 1 if n if n 0 i...

C語言求助,C語言問題,求助

孫毅超 二進位制數在計算機記憶體儲的是其補碼 對於有符號數,正數的補碼和本身一樣,負數的補碼是本身的數字位取反後加1 比如 1 0001 補 0001 1 1001 補 1111 計算機儲存 1就是儲存的1111 而int是兩個位元組的,也就是16位的二進位制,因此65535也就是111111111...