xy210C語言中這個算術表示式的值是多少

2021-03-19 18:18:23 字數 5085 閱讀 5147

1樓:匿名使用者

假設提問者明白條件表達或的含義,重點說一下x>=y>=2的問題:

x>=y>=2在c語言中的意義與它在數學中的意義是不同的,在c語言中,它等價於:

(x>=y)>=2

即,先計算x>=y是否成立,並用計算的結果(0或者1)與後面的2進行大小比較的運算,因此,當x=4,y=3時,x>=y成立,所以(x>=y)的值是1(或者是其它的非0數字,對系統有依賴性),然後再計算1>=2

2樓:宿敵已來犯

是0 解釋的話我寫給你看

3樓:匿名使用者

(4>=3>=2)?1:0 轉化成 (1>=2)?1:0

在c語言中,若 int w=1,x=2,y=3,z=4; 則表示式w>x?w:z>y?z:x的值是多少。具體步驟

4樓:匿名使用者

4。1、先執行z>y?z:x,判斷z是否大於y,結果為真,取z的值,結果為4;

2、再執行w>x?w:4,判斷w是否大於x,結果為假,結果為4。

若有多個條件表示式像這樣連在一起:x=《表示式1>?《表示式2>:

《表示式3>?《表示式4>:《表示式5>···執行順序是從右到左依次判斷再求出最後的x,即所謂的右結合性。

5樓:

這條語句可以轉換成if語句,這樣寫應該明白很多if (w>x)else if(z>y)else顯而易見,w不大於x,y大於在,表示式為z的 值,4而且最好加個括號,這樣寫:w>x?w:

(z>y?z:x)

6樓:匿名使用者

式a?b:c值為:若a為真,則b;若a為假,則c。

但有一點是值得注意的,那就是問號表示式的結合性,問號表示式是從右往左的運算方向

尤其是當問號表示式巢狀使用時得注意這個問題,例如**:int w=1,x=2,y=3,z=4;

printf("%d",w>x?w:z>y?z:x);

正確結果是:4

純手打,望採納!!!!

7樓:匿名使用者

答案是4

先加上括號進行簡化

(w > x ? w : (z > y ? z : x))因為w比x小,所以取問號表示式的第二個分支,第二個分支是一個問號表示式,並且z > y條件成立,所以取z的值,為4

8樓:哈切八搭

這個是逗號表示式,第一個意思是如果w>x,那麼就取w的值,反之取z,第二個是取的值是否大於y,如果是,取z的值,否則x的值,而且逗號運算先後順序大於普通運算子,答案是4

9樓:

10樓:我就是神不一樣

在de e wa d j g

11樓:匿名使用者

考察邏輯的那裡 。

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

12樓:

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

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

13樓:匿名使用者

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

14樓:匿名使用者

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

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

15樓:匿名使用者

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

16樓:匿名使用者

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

17樓:匿名使用者

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

=!7+4&&4+2

=!11&&6

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

c語言中求算術表示式的值:設x=2.5,a=7,y=4.7求x+a%3*(int)(x+y)%2/4的值?

18樓:匿名使用者

()運算級最高 先做(x+y)結果為7.2 然後做(int)7.2 結果為7* / % 的優先順序相同 結合方向是自左至右 即(((a%3)*7)%2)/4 得出的結果再與x運算

19樓:匿名使用者

x+a%3*(

int)(x+y)%2/4運算順序為:a%3a%3*(int)(x+y)a%3*(int)(x+y)%2a%3*(int)(x+y)%2/4x+a%3*(int)(x+y)%2/4*%/為同級,按從左到右

20樓:匿名使用者

#includevoid main()

21樓:匿名使用者

#include

void main()

java題:設 x = 1 , y = 2 , z = 3,則表示式 y+=z--/++x 的值是多少?(注:題上沒說x,y,z型別)

22樓:匿名使用者

這種題, 出題的人真是差勁,

1.這麼複雜的表示式,適合在c語言中出現回2.如果在java中出現,考慮的一般就是int double(轉型問題),簡單的答就行了,需要自增有自檢麼?

直接 y += z / x 就得了唄....

3.可憐的孩子們,都被這種繞來繞去的題目 轉蒙了.

需要考慮的型別無外乎 int double (short, long ,float 不用考慮,這兩個足夠表示了)

4. 表示式右側

z--/++x <==> 3 / 21) 如果 z ,x 都為 int 結果為 12) 如果 z, x有一個為double, 結果為1.55. 表示式左側

最終結果的型別取決於y的型別

1) y 為 int 結果為 2 + (1或者1.5) = 32) y 為 double 結果

1)) 右邊是1的時候 結果為 2.0 + 1 = 3.02)) 右邊是1.5的時候 結果為 2.0 + 1.5 = 3.5

23樓:匿名使用者

按照優bai先級來分別du計算這幾個表示式的值,zhiy+=z--/++x

相當於:z-- ; //z 使用dao 後-1,也就是說專用來除的時候屬z=3

++x; //x 加1 此時x=2z/x =3/2=1(任何一個為整形), =1.5 全為浮點型y += z/x ; 即 y+=1(或1.5);

執行完這一句 y=3(3.5);

所以 此時

x=2y=3(3.5)z=2

24樓:匿名使用者

先執行抄

賦值號右邊的表襲達式

3/2==1.5 然後 y+=1.5;

因為沒有型別 所以需要分析

如果 x,y,z 為整形 += 有強轉功能所以y=3 x=2,y=3,z=2

如果都是double 型別

那麼最後結果 是3.5 x=2,y=3.5,z=2

25樓:匿名使用者

如果是整型

復變數表示式的值就是制y最後的bai

值。答案應該是3,需要注

du意的就zhi是兩個整型數相除的dao時候,結果還是整型,小數部分被截掉了

這樣的題說實話,沒有太大的意義,真正在做專案寫程式的時候,如果用上這樣的表示式,估計得被領導開除,哈哈。

26樓:匿名使用者

這x=1,y=2,z=3 ,根本通bai不過編譯,du如果勉強zhi說dao成int x = 1 , y = 2 , z = 3; 這題還有的做,或者double,float都行

int 表示式專的值為3

double 3.5

float 3.5

他可屬能考的就是+=,++,--的問題,看一下算術符優先表,記得++在後面就先算值後加,在前面就先加後計算。

27樓:匿名使用者

這道題主要考bai你java的8種基本資料類du型,1.byte(位元組) 2.shot(短整型zhi) 3.

int(整型)4.long(長整型)5.float(浮點型) 6.

double(雙精度dao)7.char(字元型) 8.boolean(布林專型)

本人以為屬這道題主要取決於y的型別,

(1)如果y的型別是byte,shot,int,long,則x=2,y=3,z=2,因為會舍掉小數部分

(2)如果y的型別是float,double,則x=2,y=3.5,z=2,會保留小數部分

(3)如果y的型別是char,則會按照asc碼進行輸出

28樓:匿名使用者

應該是1吧 型別預設是int

C語言中x y 是什麼意思,C語言中x y,x y分別表示什麼意思

它等價於以下語句塊 x y y y 1 即先將y的當前值賦予x,然後將y值增1 x等於y自增前的結果,分開寫就是。x y y 把y的值賦值給x之後,y值加一 先是x y,然後y自增加1.c語言中x y,x y分別表示什麼意思 x y 等價於 x x y x y 等價於 x x y 同理x y 等價於...

c語言中冒號和問號是什麼意思,C語言中xyxy是什麼意思?問號和冒號的作用是什麼?

你問的是問號表示式吧?a 1 0?1 0 它的意思就是1 0條件為真a 1,否則a 0 c語言中 冒號 和問號是什麼意思 是問號和冒號一起嗎 bool a 1 3?false true 是三元運算子由條件 運算子組成的條件表示式的一般形式為 表示式1 表示式 2 表示式 3 其中表示式 1 表示式2...

C語言x》y是什麼意思,C語言中x y,x y分別表示什麼意思

應該是寫錯了bai。正確的是x y x y這個 duzhi也沒錯dao,但是這是移位操作,得回到的是一個資料答,不是一個bool型 x y 表示x對的二進位制右移y 位,相當於除以 2 y 如 4 2 相當 於 4 2 2 1 按這裡的語境,應該是 x y 這個是du移zhi位操作符 是右移,是左移...