1樓:
因為&&的級別比||高,所以我們先做x--==1&&y++==1,&&左邊部分的意思是x的值是否等於1,然後x的值再減一,右邊的意思是y的值是否等於1,然後y再加一,如果兩者都成立,這個表示式的值為true,否則為false,z++==1的意思是z的值是否為1,然後z加1,如果為1,則表示式的值為true,否則為false,因為是或,所以如果這個兩個表示式中只要有一個為真,就可以執行if後面的語句,如果兩個都為假,則不能滿足
2樓:親親呀我的寶貝
看看運算子的優先順序,就可以解決了。還不知道就賦值測試一下。
3樓:匿名使用者
如果(x1等於1並且y等於1,或者z等於1)&&優先順序別大於||
因為x++的意思是變數值先參加運算後變數加1所以接著x減1z加1y加1
4樓:通訊偉雄
當x自減等於一和y自加等於一成立,或者z自加等於一成立是執行程式
5樓:匿名使用者
就是比較:
如果 (x等於1 並且 y==1 )或者(z==1)然後無論次條件成立與否
對x減一, y,z各+1
6樓:匿名使用者
x=0,y=2,z=1
(x--==1&&y++==1||z++==1) 相當於((x--==1&&y++==1)||z++==1) )
x--==1 為true 執行後 x=0雙與 && 是前面的條件如果專為true,後面的條件也要判斷一次,所以y++==1也執行了屬
y++==1 為true 執行後 y=2兩個都為true,那麼(x--==1&&y++==1)為true,而雙或 || 是前面的條件如果為true,後面的條件就不再判斷,結果肯定是true。
所以z++==1並沒有執行,z的值不變。
7樓:匿名使用者
答案是:x=0,y=2,z=1
先x--==1&&y++==1
x--==1結果是true x的值是0,
y++==1結果是true y的值是2,
&&這個符號如果左邊為false,就不用計算右邊的表示式,如果是true,就要計算右邊的式子,那麼x=0,y=2,x--==1&&y++==1的結果就是true,
||這個式子左邊為true那麼右邊的就不計算,所以z++==1不計算,z還是等於1.
8樓:匿名使用者
x-- == 1 相當於 先執行x == 1 ; 後執行x = x + 1; 因此 x-- == 1 返回true
&& 短路或 如果&&左邊錯誤, 則返回false不判斷&&右邊
x-- == 1 && y++ == 1返回左右都為true則為true
|| 短路於 如果|| 左邊為真, 則返回true不判斷|| 右邊**
因為x-- == 1 && y++ == 1返回true則不判斷z++ == 1是否為true
因此結果為x=0,y=2,z=1;
9樓:匿名使用者
c static void main(string args) }
方法要放在類裡面,方法的實現要放在方法裡面
10樓:匿名使用者
這個完全是應試考試的問題,完全沒必要拿出來討論。。。。
實際中如果誰這樣寫**那就不是一個好的程式設計習慣,多用括號,省得自己在那想,這個問題不知道也沒關係,考試考這題直接
// 出這題的有真的寫過程式沒?
c語言 int x=3,y=4,z=5; 那 !((x
11樓:
答案是1。
涉及到的復運算制符:
! () + - && /
運算子優先順序為
bai:() !du / + - &&
運算過程:
x=3,y=4,z=5
!(x+y)+z-1&&y+z/2
!(3+4)+5-1&&4+5/2
所以表達zhi式計dao算步驟為
!(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語言運算子的優先順序:
如果同一優先順序的運算子,結合次序由結合方向所決定。
12樓:憶夜雨
根據來運算子的優先順序和結合性來看源
!((x)為
baitrue,!z為false,
然後(x相&&,結du果為false,
然後剛才的zhifalse和1相||,結果是true,整體取反,最終結果是false。
好吧。。。看到最後發現不用算,||那有個1,必為true,然dao後取反,是false。。。
13樓:匿名使用者
宣告int型別變數x.y.並初始化先判斷
14樓:匿名使用者
!是非&&是與
|| 是或
根據運算子號的優先順序!>&&>||
先運算x 然後運算&& 、其結果運算|| ,可以理解為(x c語言:!(x+y)+z-1 && y+z/2 跪求高手解答 不勝感激。 謝謝!! 15樓:我是果瘋 算數運算子優先於邏輯運算子。 先算(x+y),再算(x+y)-z,再算(x+y)-z-1。 若(x+y)-z-1的結果為非零數,則!(x+y)-z-1的值為0。 (x+y)-z-1的值為0,則!(x+y)-z-1的值為1。 先算z/2,再算y+z/2。 若y+z/2的值為0,那麼整個表示式的值為0。 若左邊(x+y)-z-1的結果為1 ,y+z/2的結果非零值,那麼整個表示式的結果為1。 其他情況,&&左右兩邊出現一個零,則整個表示式的結果為0。 16樓:匿名使用者 這個語句大部分是用在if()裡面當作條件表示式的,因為c語言沒有真正意義的bool型別,而是定義了 0 為 false, 非 0 為true,所以條件表示式可以是算術表示式 先計算 (x+y) 再取 非 (這裡注意,任何非零的值取非,結果是0, 但是 0 取非,值為1,這是c語言定義的), 值再 +z -1 , 結果如果為零,則不 執行 && 後面的 y+z/2, 因為 0&&任意值 都是 0 即為 false,只有在 && 前面為 true的時候才會去執行 && 後面的語句 這裡考查的是 運算子的優先順序,以及 && 的細節,如果是考試中的話可能會出現 x++ && x++ 或者 x++ || x++ 然後問x的值 之類問題 17樓:匿名使用者 參考人家的,這種題知道運算優先順序就萬事ok了 1級優先順序 左結合 () 圓括號 下標運算子 -> 指向結構體成員運算子 . 結構體成員運算子 2級優先順序 右結合 ! 邏輯非運算子 ~ 按位取反運算子 ++ 字首增量運算子 -- 字首增量運算子 + 正號運算子 - 負號運算子 (型別) 型別轉換運算子 * 指標運算子 & 地址與運算子 sizeof 長度運算子 3級優先順序 左結合 * 乘法運算子 / 除法運算子 % 取餘運算子 4級優先順序 左結合 + 加法運算子 - 減法運算子 5級優先順序 左結合 << 左移運算子 >> 右移運算子 6級優先順序 左結合 <、<=、>、>= 關係運算子 7級優先順序 左結合 == 等於運算子 != 不等於運算子 8級優先順序 左結合 & 按位與運算子 9級優先順序 左結合 ^ 按位異或運算子 10級優先順序 左結合 | 按位或運算子 11級優先順序 左結合 && 邏輯與運算子 12級優先順序 左結合 || 邏輯或運算子 13級優先順序 右結合 ? : 條件運算子 14級優先順序 右結合 = += -= *= /= %= &= ^= |= <<= >>= 全為賦值運算子 15級優先順序 左結合 , 逗號運算子 優先順序從上到下依次遞減,最上面具有最高的優先順序,逗號操作符具有最低的優先順序。 所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。 具有最高優先順序的其實並不算是真正的運算子,它們算是一類特殊的操作。()是與函式相關,與陣列相關,而->及.是取結構成員。 其次是單目運算子,所有的單目運算子具有相同的優先順序,因此在我認為的 真正的運算子中它們具有最高的優先順序,又由於它們都是從右至左結合的,因此*p++與*(p++)等效是毫無疑問的。 另外在c語言裡 沒有前置後置之分 因為++ -- 是右結合所以 右側優先運算 表現為 "後置優先順序比較高" 的假象 前置和後置的區分是因為運算子過載而後加入c++的 接下來是算術運算子,*、/、%的優先順序當然比+、-高了。 移位運算子緊隨其後。 其次的關係運算子中,< <= > >=要比 == !=高一個級別,不大好理解。 所有的邏輯操作符都具有不同的優先順序(單目運算子出外,!和~) 邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。 跟在其後的&&比||高。 接下來的是條件運算子,賦值運算子及逗號運算子。 在c語言中,只有4個運算子規定了運算方向,它們是&&、| |、條件運算子及賦值運算子。 &&、| |都是先計算左邊表示式的值,當左邊表示式的值能確定整個表示式的值時,就不再計算右邊表示式的值。如 a = 0 && b; &&運算子的左邊位0,則右邊表示式b就不再判斷。 在條件運算子中。如a?b:c;先判斷a的值,再根據a的值對b或c之中的一個進行求值。 賦值表示式則規定先對右邊的表示式求值,因此使 a = b = c = 6;成為可能。 18樓:匿名使用者 x,y,z,的數值是多少啊。 19樓:匿名使用者 !(((x + y )+ z - 1)&& (y + (z / 2))) c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是? 20樓: 答案是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語言運算子的優先順序: 如果同一優先順序的運算子,結合次序由結合方向所決定。 21樓:匿名使用者 只是等於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我吧!嘻嘻~~~~~~ 老師還行,但是退款慢,一個月了,還不給我單位,反覆拖延!我個人覺得還可以的,我家孩子一直在上1對1英語口語,小屁孩上完課就跟我們秀,還挺像那麼回事,哈哈哈!1小時140左右,我接受不了。理優1對1怎樣收費 外甥女在理優聽時老師的數學課,她說不錯。課時費也比較合理。現在已經430一節課了。好學拾1對1... 1 1 象粉筆,是在日子格中從右上角附近起,斜線到左下角附近。不是簡單的將兩角連起來。2 2 象小鴨,起筆碰左線,再向上 向右碰線,略成半圓,斜線到左下角,碰線一橫。3 3象耳朵,起筆不碰線,向上碰線,再向下碰線,略成半圓向中間彎,在虛線以上轉向右下方碰線,向下碰底線,最後,彎向上碰線。4 4 象小... 給你找了下 蜘蛛幾種流派不一樣 我說2種 1是攻擊流 裝備核心是蝴蝶或者輝耀前期點金 猥瑣掙錢 技能就是不升小蜘蛛 1v2的時候或者跟多的時候放大,後期出心也不錯,弱點是怕有眩暈技能的對手 2是吹風小蜘蛛拆塔流 還結合圍人技巧。裝備核心是風杖和飛鞋 主升小蜘蛛 在魔法回覆快的情況下 靠飛鞋拆對方的塔...理優1對1怎麼樣,貴嗎,理優1對1怎樣收費
在田字格中怎麼寫1到,在田字格中怎麼寫1到30?
dota中1v1,怎麼對蜘蛛速推塔的打法