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位操作符 是右移,是左移...