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
int x=1,y=1,z=1; if (x--==1&&y++==1||z++==1) system.out.println("x="+x+",y="+y+",z="+z); } }
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的值不變。
public class test { public static void main(string args[]) { int x=1,y=1,z=1; if (x--==1&&y++==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 我覺得可以從以下這些方面進行考慮。一 部分數和總數 在同一整體中,部分數和總數作比較關係時,部分數通常作為比較量,而總數則作為標準量,那... 把word背景設定成有色的就看見了,方法 選單 格式 背景 選擇一種背景。如果想只選擇白色字元,可以用查詢功能 在查詢中選擇格式 字型 白色 若要選出白色字型刪掉或統一設定為其它自己想要的,可以用替換,參照上面設定一下,點全部替換。若要刪掉在替換為欄目中什麼都不填 word中,字型的顏色為 深色 和... 分別輸入1 2 3 逐個操作 選單欄 格式 中文版式 帶圈字元 確定。或 選單欄 插入 符號 子集 下拉選 帶括號的字母數字 點選合適的 插入。 蕭蕭一笑一千年 插入 下面選擇 符號 在那裡面可以找到 lisa璦 插入 特殊符號 數字序號 選擇合適的確定即可 插入 特殊符號 數字序號 裡邊就有 直接...數學單位“1”原理,數學中的單位1怎麼理解
中的字型中的白色文字1怎麼調出來
中怎麼插入帶圈的1,,word中怎麼插入帶圈的1,2,3 。。