1樓:範幼菱但勝
根據運算子優先順序:?:條件運算子大於=賦值運算子,所以本題實際上是b=(a>3?2:1);
因為a=3,所以a>3判定失敗,結果為1
所以b=1
2樓:匿名使用者
按照優先bai級順序
1,先執行括號du
內的運算,且是從zhi左到右進dao行計算,所以括號結束後有回b=24,
2,將b的值答賦給a
3,然後執行a+6,這裡僅是進行一次加法運算,並沒有對a再次賦值,所以a的值是沒有改變的
故最後a=24
3樓:匿名使用者
先執行小括號裡的逗號表示式,得到b等於6,a=24,再執行a+6,得到整個表示式值為30.主要是考慮其逗號表示式與賦值的優先順序。
4樓:求知者不老
#include "stdio.h"
main()
運算出來是 24
已知int i,a;執行語句「i=(a=2*3,a*5),a+6;」後,變數 i 的值是( ) a 6 b 12 c 30 d 36
5樓:多xdl點事
30。這裡考察的是c語言中運算子的優先順序,先執行括號的程式,然後執行逗號運算子,先執行a=2*3,再執行a*5,取右運算元,然後賦值給i,就是30。
**如下:
#include
int main()
程式執行結果:
擴充套件資料c語言中,逗號運算子確保運算元被順序地處理:先計算左邊的運算元,再計算右邊的運算元。右運算元的型別和值作為整個表示式的結果。
左運算元只是為了***需要而被計算,它其值會被丟棄。逗號運算子的優先順序是所有運算子中最低的。
6樓:匿名使用者
這個應該是選c。已經給你執行了,截圖了。你看看。
原因如下:先執行a=2*3,a=6,然後再a*5=30,注意此時有一個括號,說明前面這個逗號表示式的值為30.後面再接著一個逗號表示式。
因為賦值符號 = 的優先順序比逗號的高,所以直接把30賦值給了i。
如果把這題的括號去掉的話,結果就是6了。同樣根據優先順序的方法,i直接就等於a=2*3了。但是如果把題換成i=(a=2*3,a*5,a+6);後,答案就是12了。
根據逗號表示式的特點,就可以得出答案。
這題主要考優先順序關係。要學好c語言,這個一定要會哦。如果還不懂可以追問我哦。呵呵。逗號表示式的特點不知道的話可以去書上查下。
7樓:匿名使用者
選c 30,這個結果i=30,a=6。像這種並列逗號什麼的,賦值是取第一個的。
8樓:
30 c
首先a=2*3=6 然後a*5 =30i=30
我執行過程式了 沒錯的 ^ _ ^
9樓:卡卡斬
逗號表示式,括號裡從左到右,而且a的值是傳遞的。故為30
10樓:匿名使用者
12,因為,運算子是從左到右呀6+6=12
設有語句 int a=3 ; 則執行了語句 a+ = a * a後,變數a 的值是( ) a、3 b、0 c、9 d、12
11樓:匿名使用者
賦值運算是從右到左的上面的語句運算順序是:a-=a*a;a+=a;計算第一個後a的值是-6,再計算第二個,a的值就是-12
12樓:日出日落三十天
d a=3+3*3=12
語句if(3 2)a 1 else a 0執行後
很明顯,主要考的是if中間的式子。3 4 1 2 就是 3 4 1 2 int值的除法,只取整數部分,就是所謂整除。3 4 1 2 0 0 很明顯為假。所以,執行後,a 0 if 3 4 1 2 a 1 else a 0執行後a為什麼為0?你這樣寫不對的,因為整形,所以3 4和1 2都是0,所以就執...
已知int i,a執行語句「i a 2 3,a 5 ,a 6」後,變數i的值是A 6 B 12 C 30 D
30。這裡考察的是c語言中運算子的優先順序,先執行括號的程式,然後執行逗號運算子,先執行a 2 3,再執行a 5,取右運算元,然後賦值給i,就是30。如下 include int main 程式執行結果 擴充套件資料c語言中,逗號運算子確保運算元被順序地處理 先計算左邊的運算元,再計算右邊的運算元。...
已知a b 5,b 3 3,求式子b a (3 2a)的值
既然錯了,那答案自然不對 此題不必將a b c的值一一求出 過程為 將 b c a b 3 5 化簡得,c a 8 將 c a 8兩邊同乘 1 即,a c 8 再將b c 3 2a b c 3 2a b c 3 2a 得到此式後,可將2a看做a a 即 b c 3 a a a b a c 3 將a ...