c的題目x3,y5,則xy2的結果是這裡的是什麼運算

2021-03-03 20:29:09 字數 4491 閱讀 2301

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 ...