假設所有變數均為整型,則表示式x2y5y

2021-03-07 21:50:32 字數 3208 閱讀 6840

1樓:匿名使用者

下面的引自c faq:4.7 我怎樣才能理解複雜表示式?

``序列點" 是什麼?序列點是內一個時間點(在整個表達容式全部計算完畢之後或在 ||、 &&、 ? :

或逗號 運算子處, 或在函式呼叫之前), 此刻塵埃落定, 所有的***都已確保結束。 ansi/iso c 標準這樣描述:在上一個和下一個序列點之間, 一個物件所儲存的值至多隻能被表示式的 計算修改一次。

而且前一個值只能用於決定將要儲存的值。第二句話比較費解。它說在一個表示式中如果某個物件需要寫入, 則在同一表示式中對該物件的訪問應該只侷限於直接用於計算將要 寫入的值。

這條規則有效地限制了只有能確保在修改之前才訪問 變數的表示式為合法。例如 i = i+1 合法, 而 a[i] = i++ 則非法 (參見問題 3.1)。

如上所述,逗號表示式是一個序列點,所以x+y時y++的***已生效,這時候y=6,x+y=8,表示式最後的值是8.

2樓:匿名使用者

y++時 y=5;x+y時y=6,

當++放在變數的後面時,總是在執行下一條語句時才加1

3樓:匿名使用者

先使用y,y再變成y+1,結果為7

c語言一道題。假設所有變數均為整型,則表示式(x=2,y=5,y=++,x+y)的值為?答案是8,

4樓:和藹的雨後餘輝

這是逗號表示式,運算順序為最後一個式子x+y的結果,y=++該式等價於y=y++,就是y自加1,因而y的值變為6,而x值沒有改變,因而x+y的值為8

5樓:匿名使用者

這是逗號表示式,從左往右計算,最後一個表示式的值就是整個表示式的值.

第三個表示式,y++以後,y=6. 所以最後一個表示式x+y=8.

6樓:匿名使用者

寫錯了,親。知識,逗號運算子,y++與++y的區別,

7樓:匿名使用者

你確定是 y=++ 而不是y++?

假設所有變數均為整型,則表示式(a=2, b=5, b++, a+b)的值是

8樓:假面

c裡面用逗來號表示每個源來運算,上式是運算完bai了再引用b的值,當du然是2+6了。zhi

在c語言中,多個表示式dao

可以用逗號分開,其中用逗號分開的表示式的值分別結算,但整個表示式的值是最後一個表示式的值。

整型值可以用十進位制,十六進位制或八進位制符號指定,前面可以加上可選的符號(- 或者 +)。如果用八進位制符號,數字前必須加上 0(零),用十六進位制符號數字前必須加上 0x。

9樓:於苒琦芳澤

c裡面用逗號表示挨個來運算,上式是運算完了再引用b的值,當然是2+6了。

如果直接引用b++,像這樣a=2,b=5,(b++

+a)那麼結果就是7了。

10樓:騎疇褒玉韻

第一個問題

答案是7

解析:++在變數後,所以先運算,再加減,「,」表示式以最後的表示式為值

第二個問題

選擇c解析:b-a

-不是下劃線

goto

和int為關鍵字。

11樓:匿名使用者

逗號運算子:在c語言中,多個表示式可以用逗號分開,其中用逗號分開的表示式的值分別計算,但整個表示式的值是最後一個表示式的值。

對於本題,以a+b=2+5=7作為整個表示式的值。選a

12樓:匿名使用者

逗號表示式從左到右開始做,並輸出最後一個表示式,所以答案是2+(5+1)=8

13樓:陳綠豆

8 因為逗號表示式只有最後一個有用的

14樓:看不慣

a=2b=5b++ 這裡的b=6;

a+b = 2 +6 = 8

c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是?

15樓:

答案是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語言運算子的優先順序:

如果同一優先順序的運算子,結合次序由結合方向所決定。

16樓:匿名使用者

只是等於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我吧!嘻嘻~~~~~~

17樓:匿名使用者

1優先順序: 算數》條件》關係》賦值

關係中的優先順序: 非》與》或

18樓:匿名使用者

1,把運算子優先順序搞清楚就好了

19樓:匿名使用者

x等於y加4。四家外加1+3+5+4+1等於三五+4+5+1。

20樓:匿名使用者

!(3+4)+5-1&&4+5/2

=!7+4&&4+2

=!11&&6

所以說那個式子的值是:不是11並且是6

假設所有變數均為整型,則表示式 a 2,b 5,b

c裡面用逗來號表示每個源來運算,上式是運算完bai了再引用b的值,當du然是2 6了。zhi 在c語言中,多個表示式dao 可以用逗號分開,其中用逗號分開的表示式的值分別結算,但整個表示式的值是最後一個表示式的值。整型值可以用十進位制,十六進位制或八進位制符號指定,前面可以加上可選的符號 或者 如果...

若A是int型變數,則計算表示式a2233後a的值為

先算 22 3 7 c語言是整除 不能有小數 再算 7 3 1 7對3取餘數 a 1 1,計算方式除和模優先順序相同則從左向右依次計算得1.a 的值為1 首先計算 22 3 結果為 7 再計算 7 3 結果為1 若a是int型變數,則執行表示式a 25 3 3後a的值為 5 若a是int型變數,則執...

若a是int型變數,則計算表示式25 7 7後a的值為多少

3.少年你在考試嗎?囧!c 的優先順序 優先順序 操作符 結合性 1 左 2 左 3 sizeof new delete castname cast單目操作符 右 4 左 5 左 6 左 7 左 8 左 9 左 10 左 11 左 12 左 13 左 14 左 15 右 16 右 17 throw ...