c語言 x y 1 z xyy計算輸出x

時間 2021-06-25 14:55:07

1樓:匿名使用者

x=1,y=1

z=x++

把x給z,所以z=1,之後x++,所以x=2;

y++原來y=1,現在變成2

++y前面y=2,現在變成3

所以,最後:

x=2y=3

x=1擴充套件資料c語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程式設計語言。在表示式方面較其它程式語言更為簡潔,如自加、自減、逗號運算和三目運算使表示式更為簡單,但初學者往往會覺的這種表示式難讀,關鍵原因就是對運算子和運算順序理解不透不全。

當多種不同運算組成一個運算表示式,即一個運算式中出現多種運算子時,運算的優先順序和結合規則就會顯得十分重要。

2樓:別懂我

逗號表示式優先順序低於賦值運算子,所以z = x++, y++, ++y;===》(z =x++),(y++),(++y);

應與z = (x++, y++, ++y);區分

3樓:匿名使用者

答案是2,3,1.,首先z=x++,結果是z=x,然後在執行x++,y++,x=y=2,在執行++y,所以最後x=2,y=3,z=1

4樓:匿名使用者

第4步應該錯了吧。。。z只執行了z=x++這一步。後面的只是y的自加而已。沒有將值付給z。忘採納

5樓:寒冰追風

z=x++,y++,++y;

這個的最後結果就是z=x++;因為z的賦值只有z=x++;

z=(x++,y++,++y);他的結果才是z=3

c語言中,int x,y,z;x=y=1; z=x++,y++,++y;printf("%d%d%d",x,y,z);最後輸出的結果是2 3 1 為什麼z不是3?

6樓:簡丹秋緱旭

賦值運算子的優先順序是

14,而逗號表示式的優先順序是15,也就是說上面的表示式中應該等價於這樣的結合:(z=x++),y++,++y;如果這樣寫的話,則答案很清晰,

為:2,3,1

7樓:陳從安頓雙

重點在這裡:z=x++因為後面沒有z的賦值語句,所以這裡決定z的取值..

因為自增運算子x++是先賦值再自增,則先把x的值賦於z,所以這裡z=1,然後x再自增變成2...

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

8樓:

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

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

9樓:匿名使用者

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

10樓:匿名使用者

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

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

11樓:匿名使用者

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

12樓:匿名使用者

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

13樓:匿名使用者

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

=!7+4&&4+2

=!11&&6

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

c語言問題: {int x,y,z; x=y=1; z=x++;y=z++,x=y++; printf("%d%d%d\n",x,y,z);此題看不懂呀!求“詳”解

14樓:

x=y=1; 使得變數baix和y的內容都為1

z=x++; 表達du式的計算

zhi結果使daoz的內容為

回x的初始答

值,即z的內容為1, 同時x的內容變為2

y=z++; 表示式的計算結果使y的內容為z的初始值,即y的內容為1,同時z的內容變為2

x=y++;表示式的計算結果使x的內容為y的初始值,即x的內容為1,同時y的內容變為2

樓上的答案是對的,如果你給結果是輸出結果,那你的四個選項都不對啊

15樓:匿名使用者

你看下x++的說明,++在前面是先+1,再進行=運算,++後面是先進行=運算然後再+1

比如z=x++,運算順序是z=x; x= x+1;

16樓:熊孩紙

z=x++,先x後++,此時z=1,x變為2,y++,此時y=2,++y,此時y=3。最後輸出x=2,y=3,z=1

17樓:匿名使用者

最後x是1, 因為最後被賦值了

y和z都是2

c語言x y和x y有什麼區別,c語言 x y與 x y有什麼區別?x 3,y 4,!(x 0)是什麼意思啊?

石孝柴詩 x y是一個賦值表示式,將y的值賦給x x y是一個邏輯表示式,判斷x是否等於y,其值為1 真 或0 假 c的函式中的形參接收的都值拷貝。用x y後使x指向了y,但x和y都是fun中的區域性變數,退出後都不存在了,影響不到主函式中的變數值。而 x y 是把y的值 也就是主函式中的b的值 賦...

已知正數x,y滿足x y 1,則1 y的最大值為

三角換元法 令x cosa y sina a 0,2 1 x 1 y 1 cosa 1 sina sina cosa sinacosa 令t sina cosa 則sinacosa t 1 2 其中t sina cosa 2sin a 4 因a 0,2 故a 4 4,3 4 因此t 1,2 1 x ...

xy 1的影象怎麼畫?求詳細解析

x 2 y 2 1的影象,先畫出y 2 1 x 2 且y 2 1 x 2 即y 3 x 2 且y 1 x 2 這一步可以繼續去絕對符號 y 3 x 2 且y 3 x 2 且y 1 x 2 且y 1 x 2 因為有不等符號,先畫出等號,即y 3 x 2 且y 1 x 2 因為有絕對值,要去掉絕對值的符...