C語言中,int a 3,b 0a a b a中, a具體定義是什麼 為什麼得出來是

2021-04-28 17:36:20 字數 6361 閱讀 4433

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 首先分兩塊,逗號前面的是第一塊,先執行,逗號...