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 的值等於 ...