1樓:匿名使用者
// x=3,y=z=4 (z>=y>=x)?1:0// 首先你需
來要把右邊這個源語句拆分開:
// 分析左邊bai
的資料是否為真:即
du z >= y 這個是zhi正確的
a = z >= y; // a = 1
// 接著分析 (a >=x)
// a = 1, x = 3 所以daob = a >= x; // 為 0
// 在然後用三目運算來看看
0 ? 1 : 0;
所以這個表示式的值為0
2樓:苟柔蔓卑茉
(z>=y>=x)?1:0
這是個條件表示式,(z>=y>=x)括號裡面是個復合關係表示式,先比較z>=y,表示式為真,而在
專c語言中,是用數屬值1代表「真」,用數值0代表「假」。所以z>=y運算後的結果為1,1>=x,表示式為假,運算後的結果為0,亦即(z>=y>=x)括號裡面的條件為假,所以條件表示式的值就取「:」後面的值,即取數值0。
3樓:萢萢
先判斷z>=y
因為y跟z都等於4
所以判斷結果為真,即1
然後判斷1>=x
因為x為3
所以判斷結果為假
因此最終結果為0。
4樓:閒人
先判斷z>=y真實,值為1
再判斷1>=x虛假,值為0
值為0,條件運算子返回後面乙個表示式的值,即值為0
c語言如果有定義變數int x=3,y=4,z=4;則表示式(z>=y>=x)?1:0的值為什麼
5樓:天雨下凡
(z>=y>=x)?1:0
判斷z>=y>=x的值,如果為1,則值為1,否則為0從左到右運算
z>=y即4>=4,結果為1(true)
然後1>=x,即1>=3,結果為0(false)所以表示式的值為0
6樓:
(z>=y>=x)?1:0 這是個條件表示式,(z>=y>=x)括號裡面是個復合關係表示式,
先比較z>=y,表示式為真,而在內c語言中,
容是用數值1代表「真」,用數值0代表「假」。所以z>=y運算後的結果為1,1>=x,表示式為假,運算後的結果為0,亦即(z>=y>=x)括號裡面的條件為假,所以條件表示式的值就取「:」後面的值,即取數值0。
c語言:已有定義int x=3,y=4,z=5;則表示式 !(x+y)+z-1&&y+z/2的值是?
7樓:
答案是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語言運算子的優先順序:
如果同一優先順序的運算子,結合次序由結合方向所決定。
8樓:匿名使用者
只是等於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我吧!嘻嘻~~~~~~
9樓:匿名使用者
1優先順序: 算數》條件》關係》賦值
關係中的優先順序: 非》與》或
10樓:匿名使用者
1,把運算子優先順序搞清楚就好了
11樓:匿名使用者
x等於y加4。四家外加1+3+5+4+1等於三五+4+5+1。
12樓:匿名使用者
!(3+4)+5-1&&4+5/2
=!7+4&&4+2
=!11&&6
所以說那個式子的值是:不是11並且是6
c語言有道題目:設x,y,z是int型變數,且x=3,y=4,z=5,則下面表示式中值為0的是( )
13樓:匿名使用者
a:'a'<=ch 的值是0或1,而來'z'的值肯定自大於1,所以表達bai式的值為真(非du0);
b:是兩個邏zhi輯值的算術與,這兩dao個值有可能同時為真,所以整個的值有可能為非0的真值;
c:運算順序是 x || ((y+z) && (y-z)),顯然結果不一定是真還是假,所以依然有可能為非0;
d: ! ((x或,值永遠為1。
14樓:匿名使用者
||ch沒有來說明,
故此,ab選項不選自,
c選項, 很明顯是不為0;
答案是d
(x!z ==0;
(x&& !z || 1 == 1;
因此, !((x 15樓:黃曉輝 ch是什麼沒有說明啊。c答案不對。d是對的。x c語言 int x=3,y=4,z=5; 那 !((x 16樓: 答案是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語言運算子的優先順序: 如果同一優先順序的運算子,結合次序由結合方向所決定。 17樓:憶夜雨 根據來運算子的優先順序和結合性來看源 !((x)為 baitrue,!z為false, 然後(x相&&,結du果為false, 然後剛才的zhifalse和1相||,結果是true,整體取反,最終結果是false。 好吧。。。看到最後發現不用算,||那有個1,必為true,然dao後取反,是false。。。 18樓:匿名使用者 宣告int型別變數x.y.並初始化先判斷 19樓:匿名使用者 !是非&&是與 || 是或 根據運算符號的優先順序!>&&>|| 先運算x 然後運算&& 、其結果運算|| ,可以理解為(x x 2 3x 1 0,baix不能為0,du所以zhi 兩邊除以x得,x 1 x 3,x 2 1 x 2 x 1 x 2 2 7所以,dao x 3 1 x 3 x 1 x x 2 1 x 2 1 3 7 1 18 不知道你回看懂沒,沒明白可答追問 x2 3x 1 0 顯然x 0 x 3 1 x 0... x 2.5,y 4.7,3 int x y 2 4中 先算 x y 2.5 4.7 7.2 然後取整bai int x y int 7.2 73 7 21 21 2 1 1 4 0 其實這題目,只du看最後 zhi 2 4就知道結果是0了,dao因為整數相回除,結果會丟棄小數,答而 2的結果只有0或... 在進行比較的時候我們知道只有對與錯,在計算機語言中只有1和0,所以我們用1表示專對,0表示錯。你所問的a屬,所以為1。例如用本題的a 個人理解,又不對的請指出 為真,等於true或1 表示式的值是true 1 c語言中 a 10,b 20,a a 其中 是邏輯非運算子,是把其右邊的運算元進行真假轉換...x23x10,求x3x3分之1的值。怎麼解
C語言中,x 2 5,y 4 7,3 int x y 2 4的值是多少?請把一步步的過程講清
C語言中,a10,b20,那麼ab的值是