C語言幾個問題

時間 2022-11-22 05:30:49

1樓:匿名使用者

1,先算()裡的b=60-10所以b=50,然後算b*3結果為150,然後把150賦給a,所以a為150,然後算b-20,這個容易出錯的原因在於逗號表示式的優先順序最低,所以先給a賦值,最後算b-20

2.'e『

3.%u表示的是無符號整形,所以結果為65535,%x的話表示的是16進製制輸出,懶得換算了,你自己算一下-1的16進製制數是多少。

2樓:篤俠

1.逗號表示式的 值 是 逗號表示式中最後乙個表示式的值;逗號表示式的計算是從左到右進行的。因此,(逗號)表示式語句(注意不是賦值語句,其中的a=(b=60-10,b*3)只是(逗號)表示式語句中的乙個賦值表示式):

a=(b=60-10,b*3),b-20;

的計算過程是:

先計算賦值表示式a=(b=60-10,b*3),(使得b=50, a=150)

然後計算表示式 b-20(對a,b無影響)。

2.因為條件 』e『

3. 65535。二進位制16位全為1。

3樓:匿名使用者

1, b只賦值了一次b=60-10=50, 後面b*3, b-20 都沒有改變b。

a=(b=60-10,b*3),這是乙個表示式,a等於第二個表示式的值b*3 = 50*3 =150,表示式b-20是在a賦值之後計算的,已經和a沒有關係了。

2,』e『

0 <= 'g' 的值為真,就是1,所以輸出1

3,%u 輸出2^32 -1 = 4294967295 這個值,%x 輸出ffffffff

4樓:匿名使用者

1. 逗號的優先順序要低於賦值,要先看賦值運算,所以你可以看成這樣(a=(b=60-10,b*3)),b-20;逗號是怎麼運算的前面幾個人說的很詳細了,至於b-20 不是沒有意義而是整個表示式的值為b-20 也就是30。如果max =(a=(b=60-10,b*3)),b-20;這樣比較好理解點。

其它的沒啥好說的,前面幾位解釋了。

5樓:匿名使用者

c語言提供一種特殊的運算子,逗號運算子,優先級別最低,它將兩式聯接起來,如:(3+5,6+8)稱為逗號表示式,其求解過程先表示式1,後表示式2,整個表示式值是表示式2的值,如:(3+5,6+8)的值是14。

(a=3*5,a*4)的值是60   逗號表示式的形式如下:   表示式1,表示式2,表示式3,...... ,表示式n   逗號表示式的要領:

  (1) 逗號表示式的運算過程為:從左往右逐個計算表示式。   (2) 逗號表示式作為乙個整體,它的值為最後乙個表示式(也即表示式n)的值。

  (3) 逗號運算子的優先級別在所有運算子中最低。

因而a自然就等於150,因為等號優先級別大於逗號,因而a=(b=60-10,b*3)=b*30,同理b=60-10=50

c語言幾個問題不明白解答下,C語言幾個問題不明白解答下

第一題 結果根本不對,明明程式設計的是矩陣相加,結果很顯然為c 3 4 第二題 1 define n 10 這是乙個巨集定義,此題你的定義對於後面的n均為10.2 for i 0 i 數對調,第二個與倒數第二個數對調 純屬邏輯問題 3 t a i 這行功能是什麼 將前五個數個數賦值給t a i a ...

幾個c語言問題,幾個C語言問題

1 不知道 你選的那個你說出來我給你說怎麼錯了2 不知道那個是0 還是o不過沒關係 八進位制裡面怎麼會有9 所以什麼都不是3 100!1乘到100那些資料型別裝不下,所以返回不了4 a,b,034,x79 剛好5個數 表示轉義字元啦5 char 1 int 2 float 4 double 8 這個...

計算機c語言,有幾個問題,望解答,準備計算機二級的菜鳥在此謝過

問題一 c語言必須只有乙個main函式,因為main函式是c語言的主函式,無論main函式在 都是先執行main函式的,同時,c語言又是一種結構化語言,結構化的表現就是模組化,模組化就是函式,意思就是說,同乙個程式有且只有乙個主函式,但是你可以定義其他的函式,比如,你要實現兩個數中輸出最大值,你可以...

英語的幾個問題,英語幾個問題

噢,什麼是月餅呢?你和lily應該來我家看看。我也希望你能見見我父母。好的,謝謝。哦,什麼是月餅?你和lily必須來我房子看看.我希望你也來看我父母.好的,謝謝.you and lily must come over to my house and see的後面可以放很多詞賓語,例如 the cak...

關於國家計算機二級C語言的幾個問題,高手來教教我吧十分感謝

1.scanf 遇到空格和回車後會結束輸入 所以其實scanf只會讀到你空格或者回車前面的東西.而後面的變數將從鍵盤緩衝區中等待或者消失.我個人習慣scanf 函式中盡量不使用空格和回車 2.case後如果沒有break 則執行下乙個case語句.你用vs2008除錯一下就可以了 按f10 逐句除錯...