1樓:匿名使用者
x = x * (y+2)
*=是一種運算符號,其優先順序小於+,所以先加在*
2樓:匿名使用者
「*=」為賦值運算子具有右結合性。x*=y+2等價於x=x*(y+2)
3樓:
簡化乙個給你看看 x=x*(y+2) x=3*(5+2) 等於21 哈俁
4樓:匿名使用者
是這樣才對。。。x = 3 * (5 + 2)
3 7 = 21搞錯了
定義:int x=3,y=4,z=5;則表示式!(x+y)+z-1&&y+z/2的值是
5樓:子夜清風
1首先!優先順序最高,故!(x+y)=0,
然後根據算術運算子的優先順序高於&&,繼續計算0+z-1=4,和y+z/2=6,(z/2為取整運算)最後進行「與」運算,4&&6=1.
6樓:匿名使用者
這裡涉及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++ 運算子優先順序列表 (很詳細的
7樓:匿名使用者
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
優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。
8樓:
先x+y
再求非然後z/2
然後計算&&兩邊的表示式
最後執行&&運算
9樓:匿名使用者
!(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
10樓:匿名使用者
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
11樓:匿名使用者
12樓:超級賽亞小熊人
1,要考慮優先順序的問題
13樓:汝閒初喜悅
只是等於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我吧!嘻嘻~~~~~~
關於c++的問題。int x=4,y=5 表示式y>x++?x--:y++。。。的值是
14樓:匿名使用者
c++裡面的 問號bai表示式du
1: y>x //由於++在後面所以是
zhi 5 和 4 比較
2:x++ //比較完
dao x = 5了
3:由於 第一步 結果為true 所以執內行容x-- 那麼x 又由5 變成4 了
4:y++**不執行 所以還是 5
5: int z = y>x++?x--:y++;由於x--,--在後面
所以 x =4 ,y = 5, z = 5;
15樓:她在哪阿
這是個問號表示式,如果y大於x則執行x--反之執行y++,但是執行之前都會執行x++;那麼回此時x==,y==,比較是答比較的x++之前的值,所以執行x--;此時x==5,但是先執行x,所以表示式的值為5,之後x==4y==5;
16樓:最終幻夜
您好 根據您的題意 三目運算子 首先進行判斷 5>4++ 顯然條件為真 然後x的值+1變成5了 返回冒號左邊的 x的值 為5 所以最後表示式返回的是 5 但是x仍舊是4
設整型變數x、y、z均為5,則: 1 執行x-=y-z後,x的值為 2 執行x%=y+z後,x的值為
17樓:
x的值都為5
x-=y-z的執行過程是這樣的,先執行y-z,將y-z的值存進乙個臨時存貯單元中,然後找到x的存貯單元,用x的值減去臨時存貯單元中的值,再將結果存回x的存貯單元中。
x=x-(y-z)與上個式子雖然結果相同,但運算方式不同。先執行y-z,將y-z的值存進乙個臨時存貯單元中,然後找到x的存貯單元,用x的值減去臨時存貯單元中的值,再將結果存入乙個臨時單元中,最後找到x的存貯單元,將臨時存貯單元中的值賦給x。
從運算效率來講,前乙個式子更高些。
18樓:
1y-z=0
x-=0
x=x-0
x=52
y+z=10
x%=10
x=x%10=5
19樓:匿名使用者
都是5.
第乙個式子等價於:x=x-(y-z).
第二個式子等價於:x=x%(y+z).
20樓:我他嗎天天抽菸
1 執行x-=y-z後,x的值為5
2 執行x%=y+z後會出現邏輯錯誤
因為y-z的值為0,0不能作為除數
21樓:匿名使用者
5 5
若x 3,y 5,且x yx y,求x y的值
額 x y x y 有四種情況,一種是 x y都為正,即x y x y 一種是x y都為負,既 x y x y,一種x為正,y為負,一種x為負,y為正,第三種和第四種算出來乙個x 0,乙個y 0,都不符題意,第一種情況合併之後為x y 0,既x y 因為條件限制 x 3,y 5,不管x y取值為正還...
若XY2的絕對值2X3Y5的2次方平方
x y 2 2x 3y 5 2 0x y 2 0 2x 3y 5 0 解得x 1 5,y 9 5 有的。解 因為x y 2的絕對值 2x 3y 5 的2次方 平方 0所以 x y 2 0 2x 3y 5 0 解得 x 1 5 y 9 5 根據所學知識,平方數和絕對值非負,二者相加若為零,二者只能分別...
已知x5y2且xy0則xy的值等於
已知 x 5,y 2 所以x 5 y 2 且x y 0 所以有兩種情況 第一種 x 5,y 2 x y 5 2 3 第二種 x 5,y 2 x y 5 2 7 祝學習進步,望採納,不懂的歡迎追問。x 5 x 5或x 5 y 2 y 2或y 2 x 5時,5 2 7 0 5 2 3 0,與已知x y ...