c語言,intx5》1224《4,為什麼結

2021-05-27 21:46:43 字數 2369 閱讀 2748

1樓:空對空導彈

這個是根據運算子的優先順序來決定的,賦值的優先順序比較低,僅僅高於逗號運算子,所以前面不用括號。

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

2樓:

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

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

3樓:匿名使用者

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

4樓:匿名使用者

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

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

5樓:匿名使用者

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

6樓:匿名使用者

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

7樓:匿名使用者

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

=!7+4&&4+2

=!11&&6

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

6 .已知int x=1,y;執行下述語句後變數x的值是_________。 ( b ) y=++x>5&&++x<10; a. 1 b. 2 c. 3 d. 4

8樓:匿名使用者

你要明白&&這個的含義以及執行機制,&&操作,首先計算它前面的表示式:如果前面的表示式滿足,則計算&&後面的表示式看滿足否。如果前面的表示式不滿足,則絕對不可能執行後面的表示式。

因此,上述題首先執行 ++x>5,發現++x後x=2<5,因此前面不滿足,那麼整個條件不滿足,因此不可能執行 ++x<10這個語句,因此x=2

9樓:匿名使用者

&&和||都是短路運算子,&&運算子是前面的表示式值為0的時候後面的表示式將不執行。||運算子是前面的表達值值為1後面的表示式就不執行。拿&&運算子說,它本身的意思是前後兩個表示式都成立才行。

按順序先算前面的表示式,如果這個表示式不成立,那麼後面的表示式也就沒有算的意義了,所以後面的表示式不執行了。 這裡的++x>5即2>5值為0,後面的++x<10就沒有執行

10樓:智楠

因為你的第一個條件(即y=++x>5)就不滿足,對於「且&&」來說,只有第一個滿足才會判斷第二個條件,因為只要有一個不滿足就沒有繼續判斷的必要了,整個條件(y=++x>5&&++x<10)視為不成立。

11樓:匿名使用者

後面的答案很多,主要還是&&的理解;

12樓:匿名使用者

&& 前面部分的值為假,因此不需要判斷後面部分是否為真,整個值都是假,因此不會執行。

13樓:匿名使用者

turbo c++的結果是0

c語言問題:(2>3)&&(x=5)為什麼結果是1?(2<3)&&(x=5)結果是5?

14樓:白色夜空的星星

(2>3)&&(x=5)。&&這個是且。就是兩邊都要成立才行。2>3這是假的。所以不成立,後面的x=5就不會執行了。

(2<3)&&(x=5)。2<3成立了,再看x=5.這個是賦值,一定是真的,x的值變成了5。另外我都懷疑你寫錯了,是不是x==5,這個才是等號。

c語言請讀程式 int x 10 int y xprintfd,dxy ,y則上面程式的輸出結果是

printf先算後面的y 先輸出10然後再自加,這時y 11,括號表示式返回的值是最後那個,這時返回11,所以輸出11,10 因為printf是從右開始運算的 所以先算y 然後再算逗號裡面的 你選的是對的,copy答案就是c,當執行到y x 時,因為y x 是先運算後自加,所以y的值是10,此時x值...

c語言題目 已知,int x 10,y 3,z

z x y,x y 逗號表示式,結果為最後一個表示式的值。x y 10 3 表示整數除,結果應該是整數。3 3顯示的是z的值,z的值是逗號表示式的值,逗號表示式是後面的x y的值,x y 10 3 3 x y 為取餘運算 10對3除 餘1 x y 1x y 因為x和y都是整型 所以結果取整 x y ...

C語言為什麼輸出的是7 0啊,C語言 7 0,為什麼

字元 hex dec 0 0x00 0 從數值上說上面三個是相等的 0 0x30 48 請lz注意他們的區別 你可以這樣理解strlen 函式的實現 int strlen char str 定義的x是字元型陣列名,但在c語言中字元型變數可以被賦予整形資料,字串裡遇到結束符0 0 就會結束,不管後面是...