已知int i,a執行語句i(a 2 3,a 5 ,a 6後,變數i的值

時間 2022-03-31 08:05:18

1樓:匿名使用者

這個應該是選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語言,這個一定要會哦。如果還不懂可以追問我哦。呵呵。逗號表示式的特點不知道的話可以去書上查下。

2樓:風若遠去何人留

執行順序為:

1 a=2*3 結果a=6

2 i=(a=2*3,a*5)

也就是i=a*5=6*5=30

3 a+6

沒有實際意義 ,屬於干擾範圍.

所以結果i=30.

需要注意點為, 賦值運算優先順序高於逗號運算

3樓:左丘忠仙鶯

i=30a=6

a*5=30

那麼括號的值為30

i=30,a+6

因為賦值運算子優先順序大於逗號運算子所以i

=30再計算a+6

4樓:匿名使用者

執行順序:

a=2*3 a=6

a*5 30

賦值 i=30

逗號運算是一個多元運算,它的整個的值都是最後一個表示式的值,所以(a=2*3,a*5)運算後的結果是30,然後是賦值運算"i=" 因此是i值為30 後面的逗號運算就不用管了。

如果改成 i=((a=2*3,a*5),a+6); 的話,結果就應該是12,如果你還有什麼

不清楚地地方我們再討論~

已知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 i,a;,執行語句i=(a=2*3,a*5),a+6;後,變數i的值是____這題好

11樓:匿名使用者

執行後, i 的值是30。這題不簡單,挺複雜的,屬於鑽牛尖的題。這裡主要考你對逗號表示式的理解,逗號表示式的值等於最後一個表示式的值,而且逗號是c語言中等級最低的運算子,像i=(a=2*3,a*5),a+6;這一句,先算出a=2*3,得到a=6,然後再算出a*5,得到表示式的值30(但這時a的值仍等於6),然後把30這個值賦給i,然後再算出a+6,得出12,最終整個表示式的值為12,但題目問的是i的值,就是30.

不知這樣你能不能理解。

設有語句 int a=3 ; 則執行了語句 a+ = a * a後,變數a 的值是( ) a、3 b、0 c、9 d、12

12樓:匿名使用者

賦值運算是從右到左的上面的語句運算順序是:a-=a*a;a+=a;計算第一個後a的值是-6,再計算第二個,a的值就是-12

13樓:日出日落三十天

d a=3+3*3=12

已知int i=1,a=2; ,執行語句i=(a*=3+4,a+5),a/6; 後,變數i和a的值是多少

14樓:仉珂展雁卉

先執行,a=a*7, a=14

然後執行 a+5, 這一句沒有賦值,所以a不變然後執行a/6=2, a值不變

至此逗號表示式執行完成,執行i=的賦值語句, i= a/6=2所以a=14, i=2

執行語句 for i 1 i4後,變數i的值是

z粽 是個後置的運算子 也就是說i 4這個條件中的i用的是自增運算前的值 再比如 int main 這樣的話,程式執行得到的顯示是 c 3 a 3 就是在計算c a b的時候a還是2的值 在語句執行完之後才進行自增哦 所以你那個語句裡,在最後不滿足i 4時,i其實是剛好等於4,迴圈執行完之後就變成5...

為什麼if語句執行後不執行if語句。if elseif巢狀語句是怎麼看的啊

妖搦天 首先,這種題要知道答案很簡單,自己把題目放到編譯軟體上執行一下就行,然後可以通過結果反推過程。這道題我編譯出來結果是2,以下是我的邏輯 首先,要知道else配對的是哪個if,這個配對方法很簡單,由於沒加括號,直接往上行找離它最近的沒配對的if就行。本題與else配對的是第二個if 其次,由於...

已知int x 1,y執行yx5x10語句後,x的值為多少呢?謝謝高人回答哦

首先要明白 x和x 的區別,x是變數x先進行自加,運算結果再參與運算,x 是x先參與運算,之後變數再自加,明白這個這個問題就不難了。之後再看表示式,y是一個boolean值,是兩個表示式 之後的結果,對 操作符來說,如果前面的表示式為真,再運算後面的表示式,兩者取與運算,如果前面的表示式為假,將不會...