C語言中y a bcb c 和z c bfloat a bfloat a

2021-03-26 07:02:57 字數 6938 閱讀 1966

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 等同...