1樓:
y%2==0,y&1==0,y/2*2==y都可以。
若有定義:int x=2,y=3;float i;,則以下符合c語言語法的表示式是( )。
2樓:
b、c都是正確的。
a——=是右結合的, x=x*3=2等價於 x=(x*3=2),x*3不是左值表示式,不能賦值
d——%兩邊必須都是整數,i是float型浮點數,所以錯。
請看——
3樓:匿名使用者
選擇b選項
其餘都是錯誤的表示式
在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
若有說明 int a40,0則下面不正確的敘述是
一朝春誄 是不是這道題 若有說明 int a 4 則下面不正確的敘述是 1分 a 陣列a的每個元素都可得到初值0 b 二維陣列a的第一維大小為1 c 因為二維陣列0中第二維大小的值除以初值個數的商為1,故陣列a行數為1 d 只有元素a 0 0 和a 0 1 可得初值0,其餘元素均得不到初值0選d 金...
C語言 若有定義int p,則表示式p的值就是p所指向的變數的地址值加
末了待續 這是錯的,p沒有進行初始化 我也是剛學指標。p就是所指向的變數的地址。p就是所指向的變數的值 因此 p 就是地址值加1吧,額,我也不確定。因為我還沒瞭解到有關儲存地址的知識。我覺得應該是加1了。 錯誤,要看變數佔用的地址空間,這裡是加sizeof int printf d p printf...
C語言中,若有int a 5則逗號表示式a 2 6,a 3,a 5的值是
風雷九州 沒錯,就是12。號優先順序高於,號表示式,要計算 賦值 直接就是a 2 6 12了,後面那些a 3,a 5什麼的都沒用 我認為是17,因為這是一個逗號表示式,裡面有2個逗號,3個式子!逗號表示式的值,以最後一個式子的值為值,也就是a 5。但是他是從前往後依次做算的,運算第一個式子後,a是1...