1樓:奔跑de小白鹿
1 這就相當於乙個邏輯判斷式 左邊是乙個邏輯表示式 右邊也是 左右邏輯表示式的值均為1 1==1 所以為真 即1
定義:int x=3,y=4,z=5;則表示式!(x+y)+z-1&&y+z/2的值是
2樓:子夜清風
1首先!優先順序最高,故!(x+y)=0,
然後根據算術運算子的優先順序高於&&,繼續計算0+z-1=4,和y+z/2=6,(z/2為取整運算)最後進行「與」運算,4&&6=1.
3樓:匿名使用者
這裡涉及bai
到的運算子: ! () + - && /
優先順序
!(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++ 運算子優先順序列表 (很詳細的
4樓:匿名使用者
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
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
5樓:
先x+y
再求非然後z/2
然後計算&&兩邊的表示式
最後執行&&運算
6樓:匿名使用者
!(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
7樓:匿名使用者
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
8樓:匿名使用者
9樓:超級賽亞小熊人
1,要考慮優先順序的問題
10樓:汝閒初喜悅
只是等於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我吧!嘻嘻~~~~~~
若有以下定義int x=3,y=2,則表示式y+=x–=y後的y值為
11樓:匿名使用者
y = y + (x-=y)
y = y + (x = x - y)
y = y + (x = 3 - 2) 此時,x = 1y = y + 1
y = 2 + 1
y等於3,x等於1
12樓:育知同創教育
一步一步來y+=x是5
5-=y是多少呢就出來了
答案是3。
c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是?
13樓:
答案是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語言運算子的優先順序:
如果同一優先順序的運算子,結合次序由結合方向所決定。
14樓:匿名使用者
只是等於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我吧!嘻嘻~~~~~~
15樓:匿名使用者
1優先順序: 算數》條件》關係》賦值
關係中的優先順序: 非》與》或
16樓:匿名使用者
1,把運算子優先順序搞清楚就好了
17樓:匿名使用者
x等於y加4。四家外加1+3+5+4+1等於三五+4+5+1。
18樓:匿名使用者
!(3+4)+5-1&&4+5/2
=!7+4&&4+2
=!11&&6
所以說那個式子的值是:不是11並且是6
已有定義 int x 3,y 4,z 5,則表示式 x
之經亙姒郎 你這個是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吧。按這個規則來...
定義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...