int x 1,y 2,z 3則表示式z xy

時間 2021-08-11 17:21:03

1樓:姚令怡周義

答案是5.

+=後面是一個三目運算子。

先求?前面的表示式,若表示式的值是0,則取:後面的值,非0取:前面的值,而自加運算子的用法是:

++x:先自增1在使用;

x++:先使用在自增1;

所以x+y?++x:++y的值是2;

z+=2相當於z=z+2=5.

2樓:計好樂智

結果是6

因為+=運算子的優先順序低於後面的運算,

所以先求後面表示式的值,可得結果為3

接著,z+=3可得z=6

3樓:鈕亦玉銀茂

【分析】

z+=x>y?++x:++y

該表示式執行分為兩個過程:

1).x>y?++x:++y

這個表示式的運算子為

a?b:c,即根據邏輯表示式a的真假情況返回表示式b或c.

若a為真(即a運算結果非0),則返回表示式c;若為0,則返回表示式c.

因此x>y++x:++y的意思是判斷x>y的真假,若為真,則返回表示式++x,若為假,則返回++y.

2).執行z+=

【執行過程】

表示式z+=x>y?++x:++y等價於z=z+(x>y?++x:++y).變數賦值後即為z=3+(1>2?++1:++2),

1)由於1>2為假(即表示式結果為0),因此返回表示式++y;

2)執行++y.++y是先對y變數執行自加,在返回自加後結果,即為3(即為(x>y?++x:++y)的結果).

3)執行z+=.將(x>y?++x:++y)結果帶入,為z+=3

4)返回z為6

.——————————————————————————————————

樓主,這些都是c的基本運算,要紮實c功底啊

4樓:蔡思真掌媛

值是6程式先判斷想x,y值大小,之後取y值並自加,賦值給z自加

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

5樓:

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

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

6樓:匿名使用者

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

7樓:匿名使用者

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

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

8樓:匿名使用者

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

9樓:匿名使用者

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

10樓:匿名使用者

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

=!7+4&&4+2

=!11&&6

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

假設有條件 int x=1,y=2,z=3;則表示式z+=x>y?++x:++y的值是6,為什麼是6呢?

11樓:墨汁諾

先判斷後面的條件,因為x大於y不成立,所以返回++y也就是3,再加到z裡所以是6。

或結果是6

因為+=運算子的優先順序低於後面的運算,

所以先求後面表示式的值,可得結果為3

接著,z+=3可得z=6

12樓:匿名使用者

你好 ,比目運算子(?:) 和》 的優先順序都比 += 高。

所以上式可以這樣看 z = z + (x>y?++x:++y)z = z + (++y) = 3 + (2+1) = 6請採納,有問題可追問。

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

13樓:匿名使用者

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

14樓:

答案是:4

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

15樓:育知同創教育

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

int x=1,y=2,z=3; z+=x>y?++x:++y; 計算後的值為什麼是6?

16樓:霜玉花德靜

【分析】

z+=x>y?++x:++y

該表示式執行分為兩個過程:

1).x>y?++x:++y

這個表示式的運算子為

a?b:c,即根據邏輯表示式a的真假情況返回表示式b或c.

若a為真(即a運算結果非0),則返回表示式c;若為0,則返回表示式c.

因此x>y++x:++y的意思是判斷x>y的真假,若為真,則返回表示式++x,若為假,則返回++y.

2).執行z+=

【執行過程】

表示式z+=x>y?++x:++y等價於z=z+(x>y?++x:++y).變數賦值後即為z=3+(1>2?++1:++2),

1)由於1>2為假(即表示式結果為0),因此返回表示式++y;

2)執行++y.++y是先對y變數執行自加,在返回自加後結果,即為3(即為(x>y?++x:++y)的結果).

3)執行z+=.將(x>y?++x:++y)結果帶入,為z+=3

4)返回z為6

.——————————————————————————————————

樓主,這些都是c的基本運算,要紮實c功底啊

經過以下語句定義後,表示式z+=x>y?++x:++y的值是( )intx=1,y=2,z=3;

17樓:匿名使用者

結果是來6

z+=x>y?++x:++y的意思是

z=z+x>y?++x;++y

因為x>y為假, 所以x>y?++x;++y這個運自算出來是bai++y, 那麼式子就成了

z=z+++y 而++運算子是du先自增然後才執行zhi下一條語句dao, 那麼y就先辦成3,然後才會和z相加的

這樣就計算出來了z=3+3

18樓:匿名使用者

給你改編一下應該好理解int ntemp;if (x>y) ntemp = ++x;(先加1再賦值)else ntemp = ++y; z = z + ntemp;

19樓:匿名使用者

z的值是6,你要的是結果?

20樓:匿名使用者

寫的不是很清楚看起來應該是三目運算 前面是z+=x>y? 後面是++x:++y;如果z+x>y 則取++x;否則取後者 取後者 加1後 x=2;

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

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

在C語言中,若int x 2,y 2,z 2則表示式zxy 的值為求過程

答案為6 x 當這句執行完時才加一,同理y 因此計算z z x y 6 天外凝視 int x 2,y 2,z 2 z x y z x y 相當於z z x y x x 1 y y 1 不管有沒有加括號,都一樣的,都是最後表示式計算完才自加的,所以結果等於6 先進行z z x y 然後x,y再自加 x...

C語言中int x 1,y 2,z 3則z xyxy的值為多少?為什麼?求大神指教

答案應該是6.因為先進行x y?這個判斷,而x y為假,所以z y,y的值是3,所以z 3,本來z 3,所以z的值為6 焚香一隻鬼 值 為 6 原因是z x y x y z z x y x y 取 z 右邊 運算 可設 z 右邊 為 int c c x y x y x y 不滿足 則 c 的值等於 ...