1樓:匿名使用者
!( x=a)&&(y=b)ii0 1.#include "stdio.h"
#include "math.h"
void main()
這是一個雙目運算子:判斷到||符號,後面的為0,所以還要再判斷||前面部分。 如果後面的為1,則不需要再判斷了。
然後首先判斷了x=a:a賦值給x是否成功,成功為1,然後!(x=a),即!
1為0,0與任何數 取&& 都為 0 ,所以 !(x=a)&&(y=b)ii0 的結果會為 0 。 2.
如果你的意思是 !(x==a)&&(y==b)ii0這樣來看#include "stdio.h"
#include "math.h"
void main()
判斷到 || 符號,後面的為0,所以還要再判斷 || 前面部分。這個時候因為x==a是false的,所以!(x==a) 是true的,而y==b是true的,所以!
(x==a)&&(y==b)是true的,所以列印出來的結果是1 如果把x=2;換一下#include "stdio.h"
#include "math.h"
void main()
判斷到x==a是true的,所以!(x==a) 是false的,所以 false &&' 其他' 都是false的,false || 0 也是false的,所以列印結果為 0 求|| 規則true || true -> true (1) true || false -> true (1) false || true -> true (1) false || false -> false (0) 求 && 規則true && true -> true (1) true && false -> false (0) false && true -> false (0) false && false -> false (0)
2樓:匿名使用者
先執行“!”再執行“&&”再執行“||”
c語言邏輯複合運算:!(x=a)&&(y=b)&&0
3樓:love衣者
我加了這麼一句printf("%d\n",y);
結果y的值不是4
可以得出先算!(x=a)
此處為假,則不再繼續往下做y=b&&0了
4樓:匿名使用者
1. (x=a) 運算後,x=3,表達
抄式的bai值也是
du32. !
zhi(x=a) <==> !3 = 0
----
3. (y=b) 運算後,y=4,表示式的值也是4----
4. !3&&4&&0 <==> 0&&4&&0 <==> 0&&0 <==> 0 (&&, 且運算,遇0得0)
----
a,b,c不變。還dao是3,4, 5
c語言裡,怎樣理解表示式(x=a>b)&&(y=c>d)的意義?
5樓:x曦_夢
a=5 b=4 c=2 d=3
首先進行 a>b 與 c>d 的比較 5>4 為真=1 2>3 為假=0
接著賦值給x=1 y=0
最後相與 x&&y
即 1&&0
結果為0
6樓:吉祥二進位制
將a>b的值賦值給x 將c>d的值賦值給y 然後進行邏輯與運算。 關鍵是優先順序
7樓:匿名使用者
運算子都是有優先順序和運算順序的。
x=a>b
先計算比較運算子,若a>b,則表示式為真,x=1,否則x=0,y=c>d
同上 y=0或1,
然後 把x和y兩個值進行&&運算
表示式的值也可能是1或0
8樓:幻月
這是關於預算符優先順序的,首先分別算2個括號裡的,左邊的關係運算子優先順序要比賦值優先順序高,所以先算a>b,如果a>b為真,則表示值為1,假則為0,然後把1或0賦給x;右邊同理,就不多說了;最後算&&,如果2個括號都為1,則,對外表示值1,否則對外表示值0
9樓:王哥哥
當x=1且y=1時,表示式的值為true。當a大於b時x=1,當c大於d時,y=1。
c語言寫出邏輯表示式的值
10樓:匿名使用者
1、實現用來戶輸入成績_正確為true__錯誤源為false的方法**。
2、測試
的結果如下所示。
3、實現判斷閏年的方法**,如下圖所示。
4、測試的結果如下所示。
5、實現與或的短路問題**如下所示。
6、最後測試的結果如下圖所示。
11樓:
&&是邏輯與,||是邏輯或;
只是判斷後面的表示式成立值成立值就為1,不成立就為0;
比如第一個是7>5&&4==3, 4==3顯然是不成立的,所以值為0;
12樓:匿名使用者
c語言中bai非0的都為真 表示判斷條件成
du立printf("putout:%d\n",a+b>c&&b==c); // 4 == 5 為假 就是
zhi0 因為用的dao是&&必須兩面都是真版才為真
printf("putout:%d\n",a|權|b+c&&b-c); //(a || (b+c)) && (b-c) ,真 || 真 && 真 = 真
printf("putout:%d\n",!(a>b)&&!c||1); //(!(a>b) && !c) || 1 ,(假 && 假) || 真 = 真
printf("putout:%d\n",!(x=a)&&(y=b)&&0); // !(x=a) && (y=b) && 0 (假 && 真) && 假 = 假
printf("putout:%d\n",!(a+b)+c-1&&b+c/2); // !
(a+b) + c - 1 && b + c / 2 ,(假 + c - 1) && 6 = 真
13樓:匿名使用者
||||
非0即為真
&&是邏輯與,||是邏輯或,優先順序:&&>||1.printf a+b>c(真)版 b==c(真)2.
printf a(真) 因為是"||"運算權,後面就不用看了3.printf !(a>b)(真) !
c(假) 1(真)4.printf 0(假) 因為是“&&”運算,肯定是05.printf !
(a+b)+c-1(真) b+c/2(真)
14樓:匿名使用者
第一個,a+b>c 就是3+4>5成立,為1;而b不等於c,b==c為0,而&&兩者都是1得值才是1,所以第一個為回0.
第二個,此處+-優先順序最高,答其次是&&,最低是||,注意同是邏輯運算子優先順序不一樣。還須注意,按照優先順序加括號:
a || b + c && b - c
=a || ((b + c) && (b - c))
=3 || ((4 + 5) && (4 - 5))
=3 || 1
=1第三個,相當於((!(a>b))&&(!c))||1),||有1就是1,所以就是1。
第四個,相當於(!a)&&b&&0,也就是0&&1&&0,所以為0。
第五個,((!(a+b))+c-1)&&(b+c/2)=(!7+5-1)&&(4+2)=(0+5-1)&&(6)=4&&6=1。
邏輯表示式只要不是0,其他都是1
c語言: 寫出下面各邏輯表示式的值。設a=3,b=4,c=5。 (1) a+b>c && b==
15樓:匿名使用者
1) 0
2) 1
3) 1
4) 沒有x和y的定義,無法計算。
5) 1
在c語言中,x=(a&&b)&&(c<'b')是什麼意思
16樓:匿名使用者
這個要看變數a b的型別了 b的型別是字元 但在運算的時候是66 對於int型 1=真=true 0=價=false
邏輯賦值表示式,右邊先算a&&b,意思是a並上b,如果ab中有一個為零,則表示式為零,而上面因為a=14,b=15,所以a&&b=1,再算c<'b',取出c和b的ascii碼進行比較,因為c='a',a的ascii碼值為65,b為66,所以c<'b'值為1(這個式子意思是判斷c的ascii碼是否小於b的ascii碼值,是的話式子的值就是1,不是則為零),這樣這個式子就簡化為x=1&&1,當然就等於1了。
17樓:
a和b的邏輯與的值和c<'b'的邏輯值再進行邏輯與,將結果(邏輯值)賦給變數x。
18樓:匿名使用者
&&是邏輯運算子號'與',按照規定如果2個數不為0,那麼相與之後為真,即為1,a&&b就是14&&15,因為2個數都不為0所以結果為真,即為1,(c語言預設真為1)然後是c<'b'=a
19樓:瘋狂教育技術
這是個邏輯賦值表示式,右邊先算a&&b,意思是a並上b,如果ab中有一個為零,則表示式為零,而上面因為a=14,b=15,所以a&&b=1,再算c<'b',取出c和b的ascii碼進行比較,因為c='a',a的ascii碼值為65,b為66,所以c<'b'值為1(這個式子意思是判斷c的ascii碼是否小於b的ascii碼值,是的話式子的值就是1,不是則為零),這樣這個式子就簡化為x=1&&1,當然就等於1了。
ascii碼對照表
20樓:真理的尋找
&&是與運算
如果兩者都為真則結果為真,如果前者為假後者不計算。
你這個兩個都為真,所以結果為真,真一般用1表示,假用0表示所以你得輸出結果為1
21樓:等待離校
這是個比較結果的返回
a=14,b=15,非0為true的原則,a&&b的結果為truec=a,a一結果也是true
true&&true肯定是true
一般預設true為數字的話就是1,有些系統可能不一樣
22樓:匿名使用者
(a&&b) 表示只要a b不同時為ascii中的0該表示式就不為0;
(c<'b')是說如果c的ascii碼值小於'b'的ascii值就為真。
(a&&b)&&(c<'b') 在上述兩個表示式都真時為真
23樓:匿名使用者
a!=0並且b!=0並且c所代表的字母的ascii值小於b的ascii值,當以上條件都成立時,x=1,否則,x=0;因為題目中a,b都不為0 而且a小於b所以表示式成立。
為1,即x=1
24樓:匿名使用者
邏輯運算結果不是1 就是0
條件為真即為1,條件為假即為0
c語言中,邏輯表示式(a!=0)||(b!=0)可以表示a、b不能同時為零嗎?
25樓:匿名使用者
能。當判定a!=0時便不再執行接下來的b!=0的語句,而a=0時才會對b進行判斷。只要一個不為0這語句便是‘真’
c語言表示式求值,C語言關於表示式求值
c語言有豐富的表示式,這是它的特點之一,表示式主要有4類,算術表示式,賦值表示式,逗號表示式,關係表示式。1.算術表示式就是包含算術運算子 如 等 的表示式 不是語句,後面沒有分號 如 a b,a b,a b c d,3 5等,算術表示式的值就是最後算出的結果,如3 5這個表示式的值就是8 2.賦值...
關於c語言邏輯表示式的問題,求高手啊
倒黴熊 c語言中,為了加快編譯速度,有一條這樣的規定,當一個邏輯表示式的值能夠確定下來的時候,它不會執行下面的語句。例如 a b這個表示式,如果a為假,則 a b一定為假,不管b為真,還是假,也就是a等於假時,這個表示式的值已經確定了。所以b不會執行了。但,如果a為真,則 a b的值就確定不了,因為...
c語言表示式0的邏輯值是什麼,c語言,表示式( x 0)的邏輯值是什麼?
x 0,的優先順序高,所以相當於 x 0。題目沒說x是什麼型別,暫且當成整型吧。c的邏輯運算中,把0當做false,非0當做true。表示式進一步解釋為 x false。於是 x 的結果就是,如果x是0,則 x 是true 否則 x 是false。所以,如果x是0,x false的結果是false ...