已知int a,b執行語句a b 3 2,b 4 ,a 6後變數a的值為

2021-04-18 02:19:45 字數 1812 閱讀 3524

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 ...