1樓:四捨**入
1、先算!x,結果為0;
2、再算y--,結果為1,y的值變為0;
3、再算邏輯或||,0或1,結果為1。所以最後結果為1優先順序:自減運算子》邏輯非運算子》邏輯或。
基本的優先順序需要記住:
指標最優,單目運算優於雙目運算,如正負號。
先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7。
邏輯運算最後結合。簡單記就是:! > 算術運算子 > 關係運算子 > && > || > 賦值運算子。
2樓:匿名使用者
|此問題主要是考察運算子的優先等級問題:
(!x||y--)中,括號等級最高為第一優先等級,所以先計算括號裡面的內容;
邏輯運算符號 ! 和算術運算符號--為相同等級,為第二優先等級,邏輯或運算符號||為第12優先等級,故此語句的計算是這樣的:先計算!
x和y--,因為!x=0;y--=1,再計算||,也就是0||1,那麼此時您應該知道結果是多少了,就是1,所以您所提的問題的運算順序已經解決了。
希望能幫助到您,謝謝!
3樓:匿名使用者
涉及的知識點是c語言中運算子的優先順序和結合性!
圓括號()的優先順序是1,邏輯非 ! 和自減運算子 —— 的優先順序是 2,邏輯或 || 的優先順序是12。運算時先優先順序大的,然後優先順序小的。同優先順序看結合性。
本題的結果是1,運算後x和y的值分別是1和0 ;
設int x=3, y=5; 表示式x+(y==3)- 'a'/10.0的值是
4樓:兄弟連教育北京總校
(1)設int型變數x有初始值3,則表示式x++*5/10的值.
首先,"x++"是後置加加,先使用變數,然後變數再回加1.
所以答,"x++"先使用變數的值3與5相乘,得到15;
由於x為int型變數,所以,15/10之後只取整數部分1.
因此,答案選(b)1.
(2)x = 5;
y = x++ * x++;
首先,"x++"是後置加加,先使用變數,然後變數再加1.
所以,第乙個"x++"為5,而x的值則變成了6;
第二個"x++"為6,而x的值則變成了7.
由此可見,到"y=x++*x++"為止,y的值為30.
y = --y * --y;
接著,"--y"是前置減減,先減1,再使用變數.
所以,第乙個"--y"為29,而等號右邊第乙個y的值則變成了29;
第二個"--y"為28,而等號右邊第二個y的值則變成了28.
由此可見,到"y=--y*--y;"為止,等號左邊的y的值為812.
5樓:匿名使用者
y=5,因此y==3的值為0
字元a在ascii碼表中對應的數值是65,'a'/10.0=65/10.0=6.5
3+0 -6.5=-3.5
表示式的值為-3.5
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,賦值同上,!取反
定義intx3y4z5則表示式xyz1yz
1首先!優先順序最高,故!x y 0,然後根據算術運算子的優先順序高於 繼續計算0 z 1 4,和y z 2 6,z 2為取整運算 最後進行 與 運算,4 6 1.這裡涉及bai 到的運算子 優先順序 x y z 1 y z 2 3 4 5 1 4 5 2 所以表示式計算步驟dao為 3 4 5 1...
定義 int x 3,y 4,z 5則表示式 x y z 1 y z
仍易闕鈴 c語言的優先順序 從上到下依次遞減 醋 初等,4個 指向結構體成員 結構體成員 壇 單目,9個 負號 型別 指標 取地址 sizeof長度 酸 算術,5個 減味 位移,2個 灌 關係,6個 等於 不等於 味 位邏,3個 按位與 按位異或 按位或 落 邏輯,2個 邏輯與 邏輯或 跳 條件,1...
有intx3,y4,z5則表示式xyxz的值為
x y 結果為1 x z 結果為1 只是認為非0為真值,0為假值。所以結果為1 即真 表示式 x y x z 的值為 1 因為x y的值為 真 x z的值也為 真 true.在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。c語言 已有定義int x 3,y 4,z 5 則表示式 x y...