c語言x 3,y z 4 zyx 1 0的值,具體解釋

2021-03-12 09:35:49 字數 3909 閱讀 5454

1樓:匿名使用者

// x=3,y=z=4 (z>=y>=x)?1:0// 首先你需

來要把右邊這個源語句拆分開:

// 分析左邊bai

的資料是否為真:即

du z >= y 這個是zhi正確的

a = z >= y; // a = 1

// 接著分析 (a >=x)

// a = 1, x = 3 所以daob = a >= x; // 為 0

// 在然後用三目運算來看看

0 ? 1 : 0;

所以這個表示式的值為0

2樓:苟柔蔓卑茉

(z>=y>=x)?1:0

這是個條件表示式,(z>=y>=x)括號裡面是個復合關係表示式,先比較z>=y,表示式為真,而在

專c語言中,是用數屬值1代表「真」,用數值0代表「假」。所以z>=y運算後的結果為1,1>=x,表示式為假,運算後的結果為0,亦即(z>=y>=x)括號裡面的條件為假,所以條件表示式的值就取「:」後面的值,即取數值0。

3樓:萢萢

先判斷z>=y

因為y跟z都等於4

所以判斷結果為真,即1

然後判斷1>=x

因為x為3

所以判斷結果為假

因此最終結果為0。

4樓:閒人

先判斷z>=y真實,值為1

再判斷1>=x虛假,值為0

值為0,條件運算子返回後面乙個表示式的值,即值為0

c語言如果有定義變數int x=3,y=4,z=4;則表示式(z>=y>=x)?1:0的值為什麼

5樓:天雨下凡

(z>=y>=x)?1:0

判斷z>=y>=x的值,如果為1,則值為1,否則為0從左到右運算

z>=y即4>=4,結果為1(true)

然後1>=x,即1>=3,結果為0(false)所以表示式的值為0

6樓:

(z>=y>=x)?1:0 這是個條件表示式,(z>=y>=x)括號裡面是個復合關係表示式,

先比較z>=y,表示式為真,而在內c語言中,

容是用數值1代表「真」,用數值0代表「假」。所以z>=y運算後的結果為1,1>=x,表示式為假,運算後的結果為0,亦即(z>=y>=x)括號裡面的條件為假,所以條件表示式的值就取「:」後面的值,即取數值0。

c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是?

7樓:

答案是1。

涉及到的運算子: ! () + - && /運算子優先順序為:() ! / + - &&運算過程:

x=3,y=4,z=5

!(x+y)+z-1&&y+z/2

!(3+4)+5-1&&4+5/2

所以表示式計算步驟為

!(3+4)+5-1&&4+5/2 -> !7+5-1&&4+5/2!7為 0

-> 0+5-1&&4+5/2

5/2 整數除整數得整數 2

-> 0+5-1&&4+2

-> 4&&6

邏輯運算 &&

擴充套件資料c語言運算子的優先順序:

如果同一優先順序的運算子,結合次序由結合方向所決定。

8樓:匿名使用者

只是等於1的,我是經過turbo c2.0編譯過的,答案應該沒什麼問題的,程式是:

main()

答案為什麼會等於1呢?那是因為運算級別的問題,根據運算級別,實現算括號裡面的先,所以程式就變成!7+z-1&&y+z/2;

然後就算!運算,由於7是大於1的,也就是真,所以!真就是假,也就是0,所以函式就變成0+z-1&&y+z/2;

然後再算除號的,由於你這裡兩個都是整形的,所以小數點後面的數忽略,所以就變成0+z-1&&y+2;

接著計算加減運算,也就是變成4&&6;

因為4和6都是大於1的數,所以就是真,由於&&兩邊都是真的話,輸出的就是真,所以結果就是1。

要是還有什麼不明白的話,就mm我吧!嘻嘻~~~~~~

9樓:匿名使用者

1優先順序: 算數》條件》關係》賦值

關係中的優先順序: 非》與》或

10樓:匿名使用者

1,把運算子優先順序搞清楚就好了

11樓:匿名使用者

x等於y加4。四家外加1+3+5+4+1等於三五+4+5+1。

12樓:匿名使用者

!(3+4)+5-1&&4+5/2

=!7+4&&4+2

=!11&&6

所以說那個式子的值是:不是11並且是6

c語言有道題目:設x,y,z是int型變數,且x=3,y=4,z=5,則下面表示式中值為0的是( )

13樓:匿名使用者

a:'a'<=ch 的值是0或1,而來'z'的值肯定自大於1,所以表達bai式的值為真(非du0);

b:是兩個邏zhi輯值的算術與,這兩dao個值有可能同時為真,所以整個的值有可能為非0的真值;

c:運算順序是 x || ((y+z) && (y-z)),顯然結果不一定是真還是假,所以依然有可能為非0;

d: ! ((x或,值永遠為1。

14樓:匿名使用者

||ch沒有來說明,

故此,ab選項不選自,

c選項, 很明顯是不為0;

答案是d

(x!z ==0;

(x&& !z || 1 == 1;

因此, !((x

15樓:黃曉輝

ch是什麼沒有說明啊。c答案不對。d是對的。x

c語言 int x=3,y=4,z=5; 那 !((x

16樓:

答案是1。

涉及到的復運算制符:

! () + - && /

運算子優先順序為

bai:() !du / + - &&

運算過程:

x=3,y=4,z=5

!(x+y)+z-1&&y+z/2

!(3+4)+5-1&&4+5/2

所以表達zhi式計dao算步驟為

!(3+4)+5-1&&4+5/2 -> !7+5-1&&4+5/2!7為 0

-> 0+5-1&&4+5/2

5/2 整數除整數得整數 2

-> 0+5-1&&4+2

-> 4&&6

邏輯運算 &&

擴充套件資料c語言運算子的優先順序:

如果同一優先順序的運算子,結合次序由結合方向所決定。

17樓:憶夜雨

根據來運算子的優先順序和結合性來看源

!((x)為

baitrue,!z為false,

然後(x相&&,結du果為false,

然後剛才的zhifalse和1相||,結果是true,整體取反,最終結果是false。

好吧。。。看到最後發現不用算,||那有個1,必為true,然dao後取反,是false。。。

18樓:匿名使用者

宣告int型別變數x.y.並初始化先判斷

19樓:匿名使用者

!是非&&是與

|| 是或

根據運算符號的優先順序!>&&>||

先運算x

然後運算&& 、其結果運算|| ,可以理解為(x

x23x10,求x3x3分之1的值。怎麼解

x 2 3x 1 0,baix不能為0,du所以zhi 兩邊除以x得,x 1 x 3,x 2 1 x 2 x 1 x 2 2 7所以,dao x 3 1 x 3 x 1 x x 2 1 x 2 1 3 7 1 18 不知道你回看懂沒,沒明白可答追問 x2 3x 1 0 顯然x 0 x 3 1 x 0...

C語言中,x 2 5,y 4 7,3 int x y 2 4的值是多少?請把一步步的過程講清

x 2.5,y 4.7,3 int x y 2 4中 先算 x y 2.5 4.7 7.2 然後取整bai int x y int 7.2 73 7 21 21 2 1 1 4 0 其實這題目,只du看最後 zhi 2 4就知道結果是0了,dao因為整數相回除,結果會丟棄小數,答而 2的結果只有0或...

C語言中,a10,b20,那麼ab的值是

在進行比較的時候我們知道只有對與錯,在計算機語言中只有1和0,所以我們用1表示專對,0表示錯。你所問的a屬,所以為1。例如用本題的a 個人理解,又不對的請指出 為真,等於true或1 表示式的值是true 1 c語言中 a 10,b 20,a a 其中 是邏輯非運算子,是把其右邊的運算元進行真假轉換...