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

時間 2021-06-25 14:54:06

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的值,c語言中(x,y)中怎麼計算

int x,y 定義的時候如果不初始化,不同的環境會初始化不同的值,有的是0,有的不是,你的這個程式,x的結果是不定的,同時,有些環境下除錯也會報錯! 此處無名勝有名 c語言的賦值語句是從右到左執行的,比如 x y 1 意思就是 把y 加1後賦值給x但c語言的語序是從上到下執行的 本題中,當執行in...

運用乘法公式計算(3x 5)2 (2x 7)(x y 1)(x y 1)(2x y 3x 2)(x 2)

1 3x 5 2 2x 7 2 9x2 30x 25 4x2 28x 49 5x2 58x 24 2 x y 1 x y 1 x y 2 12 x2 2xy y2 1 3 2x y 3 2 2x y 2 2 3 2x y 32 4x2 4xy y2 12x 6y 9 4 x 2 x 2 x2 4 盧...

用c語言計算並輸出1 ,1 2 ,

呼義竹媼 include long factorial unsigned intn return product int main void return0 效率低了點兒,靈活性好,畢竟是學習一下,如果純粹要結果還是二樓的效率最高 翦春譙淑 這個太大了,估計結果會不正確,因為就算是unsignedl...