1樓:匿名使用者
! 是非運算, 參與
運算的量是真,結果為假 ,參與運算的量為假,結果為真c語言版規定 1為真, 0為假 , 但對於變數,權非零即為真,0為假 所以 a=3 ,!a表示假!a&&a+b&&a++; 這個整體是與運算, 有一個為假 ,整個結果就為假
2樓:pprain_水杯
「!」在c語言中是邏輯非的意思,即為0或者是非0,題中a=3,所以!a就是0了
c語言裡int a=5,b;b=a>3&&0,a++;什麼意思?
3樓:匿名使用者
這應該是for迴圈中的東西
定義物件a,b為int型別,其中a=5
如果a=b且a>3且0則繼續執行
然後完成迴圈後a加1,然後繼續判斷。
實際上這個迴圈不會進行,因為0=false
c語言中a&&b+c||b-c是什麼意思
4樓:yesyes科
這是一個邏輯判斷,含義是(a 不為0並且b+c不為0)或者b-c不為0,那麼就是真,操作方法如下:
1、首先開啟devc++編輯器,定義兩個變數a和b並賦值。
2、第一個關係運算子符大於號(>)。
3、第二個關係運算子大於等於(>=)。
4、第三個運算子小於(<)。
5、第四個運算子小於等於(<=),第五個運算子等於(=)。第六個關係運算子不等於(!=),如下圖所示。
5樓:天雲一號
a=(m=a>b)&&(n=c>d)表示將條件(m=a>b)與條件(n=c>d)進行邏輯與運算後,將結果賦值給變數a。
具體執行過程可以通過如下例項來說明:
int a=1, b=2, c=4, d=3;
int m, n;
a=(m=a>b)&&(n=c>d);
// 先計算(m=a>b),由於a>b為假,所以m=0;
// 再計算(n=c>d),由於c>d為真,所以n=1;
// 最後計算邏輯與,此時將m=0與n=1進行與運算,結果為0,之後將最終結果0賦值給變數a,所以經過a=(m=a>b)&&(n=c>d);運算後a=0
6樓:匿名使用者
2, 1
---------------------因為a= 25/10%9 = 2
b = a&&(-1) ,即 2 ||(-1), 兩個非0值的邏輯與,結果為真,但b是整型 ,一般的編譯器結果為 1(有可能因不同的編譯器,結果會不一樣,但肯定不是0)
7樓:看灰過來了
1、計算m=a此表示式值與m值相同
2、計算n=b上面兩個表示式的值進行&&運算,只要有一個值為0,計算結果為0,兩個值都為1,則此表示式值為1
4、對第3步的結果取非運算,如果第3步是1,則取非之後為0,否則為1.
8樓:匿名使用者
如果a>b,那麼m=1,否則m=0;
如果c<d,那麼n=1,否則n=0;
求出m,n後,再求m&&n,
如果m,n都等於1,則a=1,否則a=0.
9樓:赤昊
先進行算術運算 然後是邏輯運算
a不為0且(&&)(b+c)不為0或(||)(b-c)不為0時,整個式子就為1
10樓:匿名使用者
a不為0且(b+c)不為0或者(b-c)不為0時,整個式子就為1
11樓:匿名使用者
&&是邏輯運算子號'與',按照規定如果2個數不為0,那麼相與之後為真,即為1,a&&b就是14&&15,因為2個數都不為0所以結果為真,即為1,(c語言預設真為1)然後是c<'b'=a
12樓:真理的尋找
&&是與運算
如果兩者都為真則結果為真,如果前者為假後者不計算。
你這個兩個都為真,所以結果為真,真一般用1表示,假用0表示所以你得輸出結果為1
13樓:匿名使用者
這個要看變數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了。
14樓:
!是邏輯非運算
&&是邏輯與運算
*是乘法運算
根據運算子優先順序考慮
先求(a+b),然後求!(a+b)
再求a*b
最後算邏輯與&&
15樓:匿名使用者
()優先順序最高,!第二,*第三 ,&&第四所以先算a+b,然後將a+b的值!
然後算a*b
再然後將!(a+b) 與 (a*b)的值 &&
16樓:匿名使用者
(a&&b) 表示只要a b不同時為ascii中的0該表示式就不為0;
(c<'b')是說如果c的ascii碼值小於'b'的ascii值就為真。
(a&&b)&&(c<'b') 在上述兩個表示式都真時為真
17樓:匿名使用者
a!=0並且b!=0並且c所代表的字母的ascii值小於b的ascii值,當以上條件都成立時,x=1,否則,x=0;因為題目中a,b都不為0 而且a小於b所以表示式成立。
為1,即x=1
如果有"int a=5,b=3;"那麼在執行「!a&&b++"之後,a和b的值分別是多少?為什麼?
18樓:匿名使用者
a = 5, b =3
!a = 0,
但是隻是一個臨時值,a並沒有再被賦值
&& 左邊不成立的話就不會 執行右邊的b++因此b++ 沒有執行,自然b的值沒改變
另外(|| 左邊不成立的話,才會繼續執行右邊的**)
19樓:匿名使用者
a=5 b=3
&&運算子有「短路」特性,當第一個運算元已經確定為「假」,第二個運算元就不再執行了,因為已經可以確定整個表示式的值為「假」了。
本題中!a為「假」,後面的b++操作不再執行。
20樓:匿名使用者
a的值沒變 但是!a為0 。b的值為4 。!a&&b++(相當於0值和4值做與運算),所有結果為0
21樓:九天張
此類題目可以在機器上執行一下,結果就會出來的。
c語言中邏輯表示式中a=2,b=3.(a+b)&&(a*b),這個式子是怎麼回事?是真是假?
22樓:文隨天樂
肯定是真啊~~
a+b=5>0;為真
a*b>0;為真
兩個都為真 那麼與表示式 肯定也為真噻
如有疑問 歡迎追問~~
希望採納~~!
23樓:匿名使用者
3後面應該是個逗號吧。意思就是把2賦給a,把3賦給b,然後判斷後面的&&式子。a+b,a*b都大於0,大於0的都為真,邏輯與&&為真,整個式子為真。
24樓:
a+b=5!=0為真,a*b=10!=0為真。所以(a+b)&&(a*b)為「真」&&「真」=「真」,結果為真。
25樓:匿名使用者
&&是和的意思 也就是說左邊的a+b和右邊的a*b必須同時為真的時候這個表示式才為真,如果一方為假這個表示式就是假 a=2,b=3 所以a+b=5 a*b=6 5和6都是大於0的. 所以這個表示式為真
c語言中,a=3,b=4,c=5; a||b+c&&b-c怎麼理解?
26樓:蹦迪小王子啊
||||
||baia || b + c && b - c= a || ((b + c) && (b - c))= 3 || ((4 + 5) && (4 - 5))= 3 || 1
= 1按照優du先級,先加減運算
zhi,後邏輯dao運算
而邏輯運算的幾個運算元版都是非0的,可以認權為是1因此最終結果為邏輯1
擴充套件資料c語言的運算子主要用於構成表示式,同一個符號在不同的表示式中,其作用並不一致。下面按計算的優先順序,分別說明不同作用的表示式。需要特別指出,在c語言標準中,並沒有結合性的說法。
相同優先順序運算子,從左至右依次運算。注意字尾運算優先順序高於字首。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表示式。
27樓:匿名使用者
|(b - c))=3 || ((4 + 5) && (4 - 5))=3 || 1=1每對一個邏輯算符運算,得到的值都是非0即1,整個邏輯表示式內
的計算相當於將其分容解成幾個子式進行計算。以後有問題歡迎hi我
28樓:匿名使用者
||a ||bai b + c && b - c= a || ((b + c) && (b - c))= 3 || ((4 + 5) && (4 - 5))= 3 || 1
= 1按照優先順序du,先加減運算,後邏輯運zhi算
而邏dao輯運算的幾個運算元都是非版0的,可以認為是1因此權最終結果為邏輯1
29樓:
a=3,b=4,c=5;
這是一條邏輯復表示式,只可能有制0和1兩種取值,非零的時候取1,所以1樓的是不對的。又出現了2類運算子,加減和邏輯運算子,此處+-優先順序最高,其次是&&,最低是||,注意同是邏輯運算子優先順序不一樣。還須注意,按照優先順序加括號:
a || b + c && b - c
=a || ((b + c) && (b - c))=3 || ((4 + 5) && (4 - 5))=3 || 1
=1每對一個邏輯算符運算,得到的值都是非0即1,整個邏輯表示式的計算相當於將其分解成幾個子式進行計算。
以後有問題歡迎hi我
30樓:魔女之水玲瓏
我覺得應該是-3,或這個符號連線的兩個數字有一個或兩個不為零的數則為1,否則為0,且這個符號連線的兩個數都不為零則結果為1,否則為零,此題最終1+1-5=-3
c語言上的問題 !(a+b)+c-1&&b+c/2的值 a=3,b=4,c=5
31樓:聽不清啊
整個表示式的值為真(即 1)
!(a+b)=!7=0
!(a+b)+c-1=0+5-1=4
b+c/2=4+2=6
原式=4&&6=1 //兩個非0的值,即兩個true,相與的值,仍為true,即1
32樓:匿名使用者
根據從左到右計算順序,結合運算子優先順序,根據定義
a = 3, b = 4, c = 5,假定 a,b,c 為 int。真值為1,假值為0。
計算步驟如下:
1、計算 a + b,結果為 a + b = 7
2、計算 !( a + b) 結果為 0,也可以認為是false(假)。
3、計算 c/2,假定c為int時,結果為 2(取整),為float或者double時為2.5,但不影響最終結果,因為都是真值(非零值)。
4、計算 0 + c,結果為 5
5、計算 5 -1,結果為 4。
6、計算 b + 2 或者 b + 2.5,結果為 6 或者 6.5。
7、計算 4 && 6 後者 4 && 6.5,因為兩邊都為非零值,所以結果為 1,或者true。
這裡主要是一個運算子優先順序的問題,在本表達多中。
小括號的優先順序最高,所以最先計算括號內的值。
其次是邏輯非,然後是除法,然後是 加減法,最終是 邏輯與。
33樓:匿名使用者
這個是邏輯運算只討論真假,與數值沒有多大關係只要弄懂運算級別高低就可以最後結果為一,不懂可以mm我
34樓:匿名使用者
()優先順序最高先算 !(a+b) =!7=0算術運算子大於&& 所以先算c-1=4
* /大於加減先算c/2=2然後加b等於6最後相與 4&&6 真與真還是真 最後等於1
C語言中。inta1,b0,c1執行語句bac後,a,b,c
或運算,而且是左結合,b為真,整個表示式就為真了,不再繼續運算,也就是 a和 c沒有運算,表示式的結果就出來了。後首先根據運算子優先順序和結合性。b a c 然後先算 b,此時 b 1,為true,於是不需要專算 後的內容了。屬 因為 true 任意表示式 true。注意,運算子優先順序不代表計算優...
大學c語言問題 int a 0,b 1,c 1,d 3 表示式 bca的值
都是比 優先順序高的運算子,所以先算 b就是2 c就是0 a就是 1 然後算 2 0 1 0 1 1 兩邊只要有一個不為0,結果則為1 望採納 假設int a 0,b 1,c 1,d 3 表示式a b c d是多少 值為0。a b 0 c d 2 0 2 0 作邏輯運算時,c語言是可以這樣用的 非0...
int a 0,b 0,c 0 c a a 5a b,b 3 printfd,d,d n ,a,b,c 執行過程是怎麼的 詳細些
if a b,b c,c d 逗號表示式與加減乘除本質上是一樣的,它的求值是從左向右依次對表示式求值,整個表示式的結果取逗號表示式中最後一個表達的的結果,如果非零,就會使 if 成立 依照上面的理論 c a a 5 a b,b 3 的執行順序是這樣的 1 首先分兩塊,逗號前面的是第一塊,先執行,逗號...