已有定義 int x 3,y 4,z 5,則表示式 x

2021-07-02 04:04:36 字數 6199 閱讀 6614

1樓:之經亙姒郎

你這個是c語言吧。你可以看看布林值其他型別的轉換規則。

表示式!(x+y)+z-1&&y+z/2的值只可能是0和1,也就是假和真。這裡是表示式條件滿足,所以是1。

!(x+y)+z-1和y+z/2分別判斷是0還是1,然後再進行邏輯與&&運算。c語言當中,整數轉布林值的時候是非0轉1,0轉0吧。按這個規則來的。

2樓:及萍韻漆學

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

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

=!7+5-1&&4+5/2

=0+4&&4+5/2

=4&&6

=1運算子的優先順序:

()最高,下來是!下來是+,-,*,/,最後是&&邏輯與在左邊右邊只要有一個0的時候結果就為04和6都不為0,所以結果為1

3樓:

答案是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語言運算子的優先順序:

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

已有定義:int x=3,y=4,z=5;,則表示式!(x+y)+z-1&&y+z/2的值為,求詳細解

4樓:匿名使用者

自己在電腦上執行一下就完事兒了。

不過不同的編譯器的處理方法會不太一樣。結果也不一樣。

為了避免優先順序的麻煩,最好用括號。

5樓:匿名使用者

本題目主要考查bai

運算子優先順序的du問題。此題目涉及zhi的運算子優先順序如下dao(由高到低):!專 ,/, + - , &&。

所以表示式可

屬以寫成這種形式:(!(x+y)+z-1)&&(y+z/2)。計算順序為:

!(x+y)+z-1 = !7 + 5 - 1 = 0 + 5 - 1 = 4

y+z/2 = 4 + 5/2 = 4 + 2 = 64&&6 = 1

所以最後結果為1.

在vc6.0下執行結果如下圖:

已有定義:int x=3,y=4,z=5 則表示式!(x+y)+z-1&&y+z/2的值是,這個怎樣求,想要具體的求解過程。

6樓:匿名使用者

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

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

=!7+5-1&&4+5/2

=0+4&&4+5/2

=4&&6

=1運算子的優先順序:

()最高,下來是!下來是+,-,*,/,最後是&&邏輯與在左邊右邊只要有一個版0的時候結果就為04和權6都不為0,所以結果為1

7樓:匿名使用者

!(x+y)+z-1&&y+z/2=(!(x+y)+z-1)&&(y+z/2)=(!7+5-1)&&(4+5/2)=(0+5-1)&&(4+2)=4&&6=1

8樓:匿名使用者

!(x+y)=0,0+5-1=4,y+z/2=4+2=6, 4&&6=1

結果為1

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

9樓:

答案是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語言運算子的優先順序:

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

10樓:匿名使用者

只是等於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我吧!嘻嘻~~~~~~

11樓:匿名使用者

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

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

12樓:匿名使用者

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

13樓:匿名使用者

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

14樓:匿名使用者

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

=!7+4&&4+2

=!11&&6

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

int x=1,y=3,z;則表示式z=x>y?x-y:x+y的值為多少

15樓:匿名使用者

int x=1,y=3,z;則表示式 z=x>y?x-y:x+y 等同於z = a?b:c,如果a為真,則等於b,不為真則等於c

因為,x>y 1>3 為假,所以z=x+y=1+3=4

16樓:

答案是:4

x>y的邏輯值為假,則取冒號後面的值,所以把x+y的值賦值給z,而x+y等於4,所以z的值為4。

17樓:育知同創教育

int x=1,y=3,z;則表示式z=x>y?x-y:x+y的值為4

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

18樓:子夜清風

1首先!優先順序最高,故!(x+y)=0,

然後根據算術運算子的優先順序高於&&,繼續計算0+z-1=4,和y+z/2=6,(z/2為取整運算)最後進行“與”運算,4&&6=1.

19樓:匿名使用者

這裡涉及bai

到的運算子: ! () + - && /

優先順序du:() !zhi / + - &&x=3,y=4,z=5

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

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

所以表示式計算步驟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

邏輯運算 &&

所以是答1

c++ 運算子優先順序列表 (很詳細的): http://www.cppblog.com/aqazero/archive/2006/06/08/8284.html

20樓:匿名使用者

1 !(x+y)+z-1

先計算x+y,再!(x+y),然後結果)+z-1,結果是0+5-1=4

所以要計算&&之後的表示式

y+z/2 = 6

4&&6 =1

附:版c語言的操作符共有15個優先權級,如下:

operators associativity

() -> . left to right

! ~ ++ -- + - * (type) sizeof right to left

* / % left to right

+ - left to right

<< >> left to right

< <= > >= left to right

== != left to right

& left to right

^ left to right

| left to right

&& left to right

|| left to right

?: right to left

= += -= *= /= %= &= ^= |= <<= >>= right to left

, left to right

優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。

21樓:

先x+y

再求非然後z/2

然後計算&&兩邊的表示式

最後執行&&運算

22樓:匿名使用者

!(x+y)=!(3+4)=!7=0 這是“非”表示式1&&y=1&&4=1 這是“且”表示式

z/2=2 這是求商式(z%2是求餘式)

可得 !(x+y)+z-1&&y+z/2=0-1+2=1

23樓:匿名使用者

c語言的優先du級(從上到下依次遞減zhi):

醋-dao初等,4個: ( ) [ ] -> 指向結構體

回成員 . 結構體成員

壇-單目,9個:答 ! ~ ++ -- -負號 (型別) *指標 &取地址 sizeof長度

酸-算術,5個: * / % + -減

味-位移,2個: << >>

灌-關係,6個: < <= > >= == 等於 != 不等於

味-位邏,3個: & 按位與 ^ 按位異或 | 按位或

落-邏輯,2個: && 邏輯與 || 邏輯或

跳-條件,1個,三目: ? :

福-賦值,11個: = += -= *= /= %= >>= <<= &= ^= |=

豆-逗號,1個: ,

你可以發現算術運算子高於邏輯運算子,而非!高於算術運算子。

所以該表示式可以等於((!(x+y))+z-1)&&(y+z/2)

現在就一目瞭然了。

x+y=7,那麼!7=0(邏輯運算都是規定0為假,除了0外都為真。那麼(!真)=假=0)

所以&&左邊的=0+z-1=0+5-1=4

&&右邊的=4+5/2=6.5 因為是int型,所以取整它等於6

!(x+y)+z-1&&y+z/2它等於4&&6,由於4和6都是真所以4&&6等於1

該表示式的值為1

24樓:匿名使用者

6!(x+y)+z-1&&y+z/2=0+5- 1 + 2=6

25樓:超級賽亞小熊人

1,要考慮優先順序的問題

26樓:汝閒初喜悅

只是等於1的,我

bai是經過turbo

c2.0編譯過的du,答案應該沒zhi

什麼問題的,程dao序內是:

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我吧!嘻嘻~~~~~~

定義intx3y4z5則表示式xyz1yz

1首先!優先順序最高,故!x y 0,然後根據算術運算子的優先順序高於 繼續計算0 z 1 4,和y z 2 6,z 2為取整運算 最後進行 與 運算,4 6 1.這裡涉及bai 到的運算子 優先順序 x y z 1 y z 2 3 4 5 1 4 5 2 所以表示式計算步驟dao為 3 4 5 1...

定義 int x 3,y 4,z 5則表示式 x y z 1 y z

仍易闕鈴 c語言的優先順序 從上到下依次遞減 醋 初等,4個 指向結構體成員 結構體成員 壇 單目,9個 負號 型別 指標 取地址 sizeof長度 酸 算術,5個 減味 位移,2個 灌 關係,6個 等於 不等於 味 位邏,3個 按位與 按位異或 按位或 落 邏輯,2個 邏輯與 邏輯或 跳 條件,1...

有intx3,y4,z5則表示式xyxz的值為

x y 結果為1 x z 結果為1 只是認為非0為真值,0為假值。所以結果為1 即真 表示式 x y x z 的值為 1 因為x y的值為 真 x z的值也為 真 true.在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。c語言 已有定義int x 3,y 4,z 5 則表示式 x y...