1樓:****木筆
y=!a+b判斷a+b再判斷b!=c為真返回1,然後!邏輯非運算開始判斷!a+b開始判斷 1 && 1 ,返回為真,所以此處y為1;
z=c/b+((float)a/b&&(float)(a/c));
這句話就很好理解了,首先運算((float)a/b 部分,返回一個小於1的小數,為真,返回1,
(float)(a/c)返回0值,所以 1&&0 返回0,z=c/b+0;c/b為真,及因為b!=0,c可以除以b,返回真,即為1,所以最後z=1+0=1.
!a
2樓:招募捐
優先順序問題啦,看看最外層的大括號裡面,最後的進行的判斷是||(可以去查優先順序表),||的物件是(a
c語言上的問題 !(a+b)+c-1&&b+c/2的值 a=3,b=4,c=5
3樓:聽不清啊
整個表示式的值為真(即 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
4樓:匿名使用者
根據從左到右計算順序,結合運算子優先順序,根據定義
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。
這裡主要是一個運算子優先順序的問題,在本表達多中。
小括號的優先順序最高,所以最先計算括號內的值。
其次是邏輯非,然後是除法,然後是 加減法,最終是 邏輯與。
5樓:匿名使用者
這個是邏輯運算只討論真假,與數值沒有多大關係只要弄懂運算級別高低就可以最後結果為一,不懂可以mm我
6樓:匿名使用者
()優先順序最高先算 !(a+b) =!7=0算術運算子大於&& 所以先算c-1=4
* /大於加減先算c/2=2然後加b等於6最後相與 4&&6 真與真還是真 最後等於1
7樓:麒麟也涅槃
a=3,b=4,c=5
a+b=7
!7=0
c-1=4 為真
b+c/2 不為0 所以也是真
真&&真 值為真 即=1
8樓:k寂寞的小炮
結果等於1
!(a+b) = 0;
0+c-1 = 4;
b+c/2 = 6;
6&&4 = 1;
9樓:匿名使用者
整個表示式為1啊···
10樓:有郊範圍
!(a+b)+c-1&&b+c/2=1
11樓:皚子萋萋
!(a+b)=0;1&&b=1;所以0+5-1+5/2=6
c語言中a&&b+c||b-c是什麼意思
12樓:yesyes科
這是一個邏輯判斷,含義是(a 不為0並且b+c不為0)或者b-c不為0,那麼就是真,操作方法如下:
1、首先開啟devc++編輯器,定義兩個變數a和b並賦值。
2、第一個關係運算子符大於號(>)。
3、第二個關係運算子大於等於(>=)。
4、第三個運算子小於(<)。
5、第四個運算子小於等於(<=),第五個運算子等於(=)。第六個關係運算子不等於(!=),如下圖所示。
13樓:天雲一號
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
14樓:匿名使用者
2, 1
---------------------因為a= 25/10%9 = 2
b = a&&(-1) ,即 2 ||(-1), 兩個非0值的邏輯與,結果為真,但b是整型 ,一般的編譯器結果為 1(有可能因不同的編譯器,結果會不一樣,但肯定不是0)
15樓:看灰過來了
1、計算m=a此表示式值與m值相同
2、計算n=b上面兩個表示式的值進行&&運算,只要有一個值為0,計算結果為0,兩個值都為1,則此表示式值為1
4、對第3步的結果取非運算,如果第3步是1,則取非之後為0,否則為1.
16樓:匿名使用者
如果a>b,那麼m=1,否則m=0;
如果c<d,那麼n=1,否則n=0;
求出m,n後,再求m&&n,
如果m,n都等於1,則a=1,否則a=0.
17樓:赤昊
先進行算術運算 然後是邏輯運算
a不為0且(&&)(b+c)不為0或(||)(b-c)不為0時,整個式子就為1
18樓:匿名使用者
a不為0且(b+c)不為0或者(b-c)不為0時,整個式子就為1
19樓:匿名使用者
&&是邏輯運算子號'與',按照規定如果2個數不為0,那麼相與之後為真,即為1,a&&b就是14&&15,因為2個數都不為0所以結果為真,即為1,(c語言預設真為1)然後是c<'b'=a
20樓:真理的尋找
&&是與運算
如果兩者都為真則結果為真,如果前者為假後者不計算。
你這個兩個都為真,所以結果為真,真一般用1表示,假用0表示所以你得輸出結果為1
21樓:匿名使用者
這個要看變數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了。
22樓:
!是邏輯非運算
&&是邏輯與運算
*是乘法運算
根據運算子優先順序考慮
先求(a+b),然後求!(a+b)
再求a*b
最後算邏輯與&&
23樓:匿名使用者
()優先順序最高,!第二,*第三 ,&&第四所以先算a+b,然後將a+b的值!
然後算a*b
再然後將!(a+b) 與 (a*b)的值 &&
24樓:匿名使用者
(a&&b) 表示只要a b不同時為ascii中的0該表示式就不為0;
(c<'b')是說如果c的ascii碼值小於'b'的ascii值就為真。
(a&&b)&&(c<'b') 在上述兩個表示式都真時為真
25樓:匿名使用者
a!=0並且b!=0並且c所代表的字母的ascii值小於b的ascii值,當以上條件都成立時,x=1,否則,x=0;因為題目中a,b都不為0 而且a小於b所以表示式成立。
為1,即x=1
c#(a != b && a != c && b != c)另一種表示方法 5
26樓:清風明月流雲
上邊的還好,異或為啥要換表達?本來就很精煉了
c語言中 (!a
27樓:續寫丶那過厾
這是一個bool表示式bai,分為3部分
1、!dua
權a大於b則表示式為true,否則表示式為false
2、b!=c 就是判斷b與c的值是否相等,若相等表示式為false,否則表示式為true
3、 x+y<=3 判斷x+y與3的值的大小,若x+y<=3則表示式為true,否則為false
這個bool表示式的值由這3部分決定,先進行&&再進行||,按順序進行
28樓:暴走の傻傻
!a
29樓:匿名使用者
if(!a……
copy}
1.(!a=b」 ,請想想 「!」 這個符號的作用。
2.b!=c :b不等於c
3.x+y<=3 : x+y小於等於34.
(!a(a || b) -> ( (!a----> a或者b的條件滿足,能進入if{}語句,a且b兩者條件都不滿足,不能進入if{}語句。
c語言,int a=7,b=6,c=5,則表示式(a+b)>(c*b)&&b!=c||c>b的值為 10
30樓:匿名使用者
(a+b)>(c*b)&&b!=c||c>b13>30 && 6!=5 || 5>6
0 && 1 || 5>6
0 || 00
31樓:匿名使用者
false,也可以說是0
32樓:倒黴孩子改名啦
值為0或者false
c語言中,a=-1,b=1;if((++a<0)&&!(b--<=0))
33樓:青水之畔
++a,先將a加1,再判斷,
a=0,(++a<0)為假,值為0
b--,先進行判斷,再減一,b=1,所以(b--<=0)值為假,因邏輯是與,(++a<0)為假,整個表示式必為假,此時便不再算後面的表示式,因此,b的值並沒有減1.
結果(++a<0)&&!(b--<=0)值為0,a為0,b為1
34樓:匿名使用者
(++a<0)&&!(b--<=0)
運算級() > ++ > -- > < > <= > ! >&&
執行順序
++a<0其中先++a=0 ++a<0 不成立 值為0&&兩邊都成立值為1
只要有0就不成立
所以後面的就短路了
後面根本就沒有執行
單純執行到++a<0就結束了
if的執行體不執行.....
35樓:浪人
++a是先算a=a+1再把a的值作為(++a)的值,如當a=-1時則(++a)=0;a=0.
b--則是
先將b的值作為b--的值,在執行b=b-1,如當b=1時則(b--)=1,b=0;
&&是數學中並的關係,!則是對()裡的否定,如果()裡的表示式成立則,!()不立,!的運算級高所以先執行!(),在執行&&。
36樓:匿名使用者
1 if 裡面有兩個判斷語句, 如果第一個為false,不管第二個為false或者為ture,結果都為false,所以如果第一個為false,就沒有必要執行第二個了,程式就是這麼做的。
2 在你的判斷中++a結果0.很顯然0<0 是false,所以此時你整個判斷語句就為false。下面即使再有n個條件也不會去判斷了。
37樓:匿名使用者
++a<0 先判斷a是否大於0 然後再加1 b--<=0 先b—1 然後再判斷<=0
問大家一道c語言題,若表示式(a+b)>c * 2 && b !=5 || !(1/2)中,a b 20
38樓:匿名使用者
||||
(a+b)>c * 2 && b !=5 || !(1/2)=(3+4)>2 * 2 && b !=5 || !(1/2)
根據運算優先順序完成以下步驟運算:
(3+4)>2 * 2 && 4 !=5 || !(1/2)
=7>2 * 2 && 4 !=5 || !0
=7>2 * 2 && 4 !=5 || 1
=7>4&& 4 !=5 || 1
=1&& 4 !=5 || 1
=1&& 1 || 1
=1 || 1=1
C語言中c m和c m的區別,C語言中 「 c m」和「c m」的區別是什麼?
是取址運算bai符,取變數在內du存單元中的首zhi地址dao,取地址運算子的操作物件必須專是記憶體單元 如變數 數屬組元素等 是間接訪問運算子,間接訪問指標所指向的物件,運算子的操作物件必須是指標 地址 因此 c m是把m在記憶體中的地址賦給c這個指標指向的變數c m是把m的地址賦給c這個指標 1...
c語言中作用C語言中作用
取決於在scanf中使用還是在printf中使用。在scanf中使用,則新增了 的部分會被忽略,不會被引數獲取。例如輸入為 12 abc那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 在printf中使用,表示用後面的形參替代的位置,實現動態格式輸...
請問C語言中,1,請問C語言中,
是求餘數的意思,a b也就是a除以b餘幾 1 2 0餘1,那1 2 1 這裡 是取餘數的意思 1除以2 餘數就是1咯 計算步驟的話。cpu有直接的整數除法指令,商和餘數分別放在不同的暫存器裡。這些都交給編譯器了,我們不用理了 取模運算。也就是1除2的餘數?結果 1 除數是2的時候很特殊.a 2 等同...