在c語言中設int1y1則表示式

2021-03-03 20:50:50 字數 1471 閱讀 3504

1樓:匿名使用者

按優先順序,先進行非運算。

!x等價於!(x!=0),x=1,x!=0為真,值為1,!(x!=0)值為0

y--是自減運算子,執行語句後y再自減1

表示式等價於(1||1),為真,值為1

表示式的值為1

2樓:手機使用者

優先順序別是-->!>|| 所以計算機計算的過程是y--=1 !x=0 1||0=1 //此處的y--是要y先去運算再轉回來--,所以y--仍為1 最後結果為1採納哦

設int x=1,y=1;表示式(!x||y--)的值 是怎麼 運算的。求解。

3樓:四舍**入

1、先算!x,結果為0;

2、再算y--,結果為1,y的值變為0;

3、再算邏輯或||,0或1,結果為1。所以最後結果為1優先順序:自減運算子》邏輯非運算子》邏輯或。

基本的優先順序需要記住:

指標最優,單目運算優於雙目運算,如正負號。

先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7。

邏輯運算最後結合。簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子。

4樓:匿名使用者

|此問題主要是考察運算子的優先等級問題:

(!x||y--)中,括號等級最高為第一優先等級,所以先計算括號裡面的內容;

邏輯運算子號 ! 和算術運算子號--為相同等級,為第二優先等級,邏輯或運算子號||為第12優先等級,故此語句的計算是這樣的:先計算!

x和y--,因為!x=0;y--=1,再計算||,也就是0||1,那麼此時您應該知道結果是多少了,就是1,所以您所提的問題的運算順序已經解決了。

希望能幫助到您,謝謝!

5樓:匿名使用者

涉及的知識點是c語言中運算子的優先順序和結合性!

圓括號()的優先順序是1,邏輯非 ! 和自減運算子 —— 的優先順序是 2,邏輯或 || 的優先順序是12。運算時先優先順序大的,然後優先順序小的。同優先順序看結合性。

本題的結果是1,運算後x和y的值分別是1和0 ;

c語言表示式求值設intx=1,y=1;表示式(!x++||y--)的值

6樓:刀無極啊

因為++與!的運算優復先級一樣,

並且結制合性都是從右bai向左,所以!x++先計算dux++,x++等於2,再求反,非zhi0求反值為0,至於daoy--,y自減運算,運算子在後面先取y的值,再進行自減運算,y--,y的值為0,但是自減之前先取y的值參與邏輯或運算,0邏輯或1結果為1

7樓:匿名使用者

(!x++||y--) = 1

y-- = 1,表示先賦值後自減,賦值是1

!x++ = !1 = 0,賦值同上,!取反

c語言中有符號型別的int範圍,C語言中 有符號型別的int範圍( 128 127)是怎麼求出來的,特別是 128 怎麼理解 負數用二進位制怎麼表示

恩!首先要指出你的一個錯誤!int的範圍不是 128 127 這個是char的範圍,範圍的大小是由型別所佔有的位元組來決定的。如此所示 char是一個位元組8bit,那麼在二進位制中,8bit最大值是255,最小值是0 在是在無符號時 如果是有符號的話.那麼就還有一位是符號為,最高位是符號為。例如 ...

C語言關於int變成float,C語言中如何實現將一個浮點數float轉成int型別?

定義的資料型別不一樣!int和float的資料寬度都不一樣!要麼就強制轉換!但是強制轉換也會出錯!因為int不能強制轉換成float float的位寬比int長 程式裡你定義a是整型,輸出的卻是浮點型,相矛盾 我藉助csdn上一文章告訴 你 printf不會關心你輸入的引數的型別,你輸入的實際是 p...

在c語言中 如果下面的變數都是int型別 則輸出的結果是

輸出結果是為7 1.pad sum 先將sum 此時為5 賦值給pad 此時sum的值,賦值給pad,pad也為5 再進行sum 操作。2.pad 該 直接執行,結束後,pad由5 1操作,變為6。3.pad,pad直接操作 動作,6 1,結果pad為7,該 執行結束。4.printf列印出7 su...