假定int a 3,b 2,c 0表示式c a b 1a1 ba b c的值是

2021-05-30 23:16:42 字數 1703 閱讀 1712

1樓:匿名使用者

因為a>b為真所以a>b=1,而1不可能大於1,所以a>b>1為假,所以a>b>1=0,導致&&後的語句不執行,所以c=0,a=3,b=2,所以a+b+c=5

2樓:寒茗

不懂那個表示式是什麼意思

c語言中。int a=1,b=0,c=1; 執行語句 !b||++a&&++c 後,a,b,c

3樓:

或運算,而且是左結合,!b為真,整個表示式就為真了,不再繼續運算,也就是++a和++c沒有運算,表示式的結果就出來了。

4樓:匿名使用者

|後首先根據運算子優先順序和結合性。((!

b))||((++a)&&(++c))

然後先算!b,此時(!b)=1,為true,於是不需要專算||後的內容了。屬

因為:true||任意表示式=true。

注意,運算子優先順序不代表計算優先順序。

如果你把b=1 結果就是212

5樓:卿楓凌

對於!b||++a&&++c;按照規bai

定, 要先計du算 && (&&的優先順序zhi比||高)也就是需要計算dao出 ++b和c++;

但是按專照優化, 只要計算出 a>0 就可屬以了,不需要計算出 ++b和c++,「||」在這裡起到了短路的功能(短路就是,當第一條表示式能決定整條表示式的結果,那麼後面的語句都不執行!),這也叫做布林法則,給你推薦一本書叫做「c語言解惑」。望採納

c語言題目 1.若 int a=6,b=0,c=3,則表示式a&&b//b-c的結果是() 2.表示式「b」+3表示的字元是()

6樓:匿名使用者

1、計算後可得該式等價於(6&&0)||-3,由於計算機中0為假,非0為真,所以整個表示式的值為真

2、表示式'b'+3表示的字元是'e'

c語言 假定int a=3,b=2 c=1 表示式(c==a>c)+(a/b/2.0)的值是多少

7樓:匿名使用者

分析:首先(c==a>c):右結合。因為c=1,a=3,因此,a>c返回1,c==1返回1

然後,a/b/2.0,左結合。a/b,結果商為1,1/2.0的結果是0.5,1+0.5=1.5

最終結果1.5

8樓:匿名使用者

可以寫程式執行一下

#include"stdio.h"

main()

執行一下是1.500000

假定變數a=1,b=2,c=3,則表示式:c==b++>a&&a++,a+b的值 求詳解

9樓:匿名使用者

由運算bai符優先順序可知

原表達du式等效於zhi

(c==(b++>a))&&a++,a+b又由&&運算子的dao短路效應可內知子表

達式(c==(b++>a))&&a++中,&&右側的a++未被執行容又由逗號運算子是順序點這一點,此間所有***均會發生,所以只有b值自增了一

所以整個逗號表示式的值為4(a+b==1+3)

10樓:匿名使用者

c=3因為c從來沒有被賦值

整個表示式的值是4

因為 逗號運算子 ,結果為 a+b,即4

C語言中表示式1表示式2表示式3為什麼不先算表示式2急急急

在c語言中,或 的優先順序低於與 的優先順序,也就是說,無論表 達式1,表示式2,表示式3的值是真或者是假,都是做以下關係運算 表示式1的值 表示式2的值 表示式3的值 和他們的具體值無關。你的說法是不對的,因為此邏輯表示式是先求出 右側的值,然後再與 左側的值作關係或運算,如果想先算前面可以在前兩...

C語言中int a 9,b 5那麼表示式b(a

b a 4 b a 1,把4賦值給a a 42 把a賦值給b b a3.相除 結果就時1了 其實不管a是多少 0除外 結果都是1 inta 9,b 5 這句是給a,b賦初值 b a 4 b a 在這句中a 4是給a重新賦值了,此時a 4,所以b a 4b a 4 b a a 4 b 4 4 4 1 ...

若a3,b2,c1則關係表示式abc的值

對了a b 為true 也就是1 1 c值為真 若a 3,b 2,c 1則關係表示式 a b c 的值為真 vara,b,c,d integer f boolean begin a 3 b 2 c 1if a b then d 1 if d c then f true else f false en...