C語言中邏輯表示式中a 2,b 3 a ba b ,這個式子是怎麼回事?是真是假

2021-04-01 16:44:45 字數 5729 閱讀 3196

1樓:文隨天樂

肯定是真啊~~

a+b=5>0;為真

a*b>0;為真

兩個都為真 那麼與表示式 肯定也為真噻

如有疑問 歡迎追問~~

希望採納~~!

2樓:匿名使用者

3後面應該是個逗號吧。意思就是把2賦給a,把3賦給b,然後判斷後面的&&式子。a+b,a*b都大於0,大於0的都為真,邏輯與&&為真,整個式子為真。

3樓:

a+b=5!=0為真,a*b=10!=0為真。所以(a+b)&&(a*b)為「真」&&「真」=「真」,結果為真。

4樓:匿名使用者

&&是和的意思 也就是說左邊的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-1&&b+c%2

5樓:匿名使用者

&&是邏輯和,!是邏輯非

!(3+4)*5 - 1 && 4+ 5%2先算括號裡的

!7*5-1 && 4+5%2

!邏輯非運算子的優先順序比-運算子高

7轉換成bool值是true,運作邏輯非就翻轉成false(0)0*5-1 && 4+5%2

0-1 = -1

true && 4+5%2

%優先順序在+前面

5%2 = 1

4+1 = 5

true&&true

&&運算子要兩邊物件都是true時才會為true

c語言求表示式值的問題 寫出下面各邏輯表示式的值,設int a=3, b=6 ,c=8. !(a>b)&&!c||1 ____ 10

6樓:春雨_潤物

運算子優先順序與結合性問題。一步一步來就行了。

優先順序 運算子 名稱或含義 使用形式 結合方向 說明

1 陣列下標 陣列名[常量表示式] 左到右

() 圓括號 (表示式)/函式名(形參表)

. 成員選擇(物件) 物件.成員名

-> 成員選擇(指標) 物件指標->成員名

2 - 負號運算子 -表示式 右到左 單目運算子

(型別) 強制型別轉換 (資料型別)表示式

++ 自增運算子 ++變數名/變數名++ 單目運算子

-- 自減運算子 --變數名/變數名-- 單目運算子

* 取值運算子 *指標變數 單目運算子

& 取地址運算子 &變數名 單目運算子

! 邏輯非運算子 !表示式 單目運算子

~ 按位取反運算子 ~表示式 單目運算子

sizeof 長度運算子 sizeof(表示式)

3 / 除 表示式/表示式 左到右 雙目運算子

* 乘 表示式*表示式 雙目運算子

% 餘數(取模) 整型表示式/整型表示式 雙目運算子

4 + 加 表示式+表示式 左到右 雙目運算子

- 減 表示式-表示式 雙目運算子

5 << 左移 變數《表示式 左到右 雙目運算子

>> 右移 變數》表示式 雙目運算子

6 > 大於 表示式》表示式 左到右 雙目運算子

>= 大於等於 表示式》=表示式 雙目運算子

< 小於 表示式《表示式 雙目運算子

<= 小於等於 表示式<=表示式 雙目運算子

7 == 等於 表示式==表示式 左到右 雙目運算子

!= 不等於 表示式!= 表示式 雙目運算子

8 & 按位與 表示式&表示式 左到右 雙目運算子

9 ^ 按位異或 表示式^表示式 左到右 雙目運算子

10 | 按位或 表示式|表示式 左到右 雙目運算子

11 && 邏輯與 表示式&&表示式 左到右 雙目運算子

12 || 邏輯或 表示式||表示式 左到右 雙目運算子

13 ?: 條件運算子 表示式1? 表示式2: 表示式3 右到左 三目運算子

14 = 賦值運算子 變數=表示式 右到左

/= 除後賦值 變數/=表示式

*= 乘後賦值 變數*=表示式

%= 取模後賦值 變數%=表示式

+= 加後賦值 變數+=表示式

-= 減後賦值 變數-=表示式

<<= 左移後賦值 變數<<=表示式

>>= 右移後賦值 變數》=表示式

&= 按位與後賦值 變數&=表示式

^= 按位異或後賦值 變數^=表示式

|= 按位或後賦值 變數|=表示式

15 , 逗號運算子 表示式,表示式,… 左到右 從左向右順序運算

7樓:thing不辨不明

c語言把真定義為絕對的肯定

任何不為零的都為真

所有為零的都為假

對於字元如果它的ascii碼不為零,字元就是真,也就是說字元中只有'/0'為假

條件成立為真

如 !(a+b)-c&&b+c/2

a+b>0 (a+b)就為真!(a+b)為假就是!(a+b)=0c為真b為真,則c&&b為真c&&b=1

!(a+b)-c&&b+c/2=-1+4=3

8樓:匿名使用者

這裡的字母是變數,也就是這些字母都是有數值的。

然後再跟數字做各種操作。!是取反的操作

最後判斷式子的結果是不是0,如果是0則為假;非0則為真。

已知a=1,b=2,c=3,則表示式a*b&&(b++,!c)&&(a++,c++)的值是。該表示式運算過後,a=? ,b=? ,c=? 5

9樓:聽不清啊

該表示式運算過後,a=1 ,b=3 ,c=3因為 1*2的值非0,被認為是「真」

&&後面繼續計算:b++,!c

是一個逗號表示式,b變成了3,!c的值為0(因為c原值為非0,即「真」,取反後即為「假」),所以逗號表示式的值為「假」。

整個表示式的值已經確定,為「假」,後面總分不再運算。

所以,a=1 ,b=3 ,c=3

10樓:匿名使用者

首先得知道&&進行的是短路運算,如果運算子的左邊經計算後結果為假,則不會再計算右邊。

因a*b=2為真,接著計算(b++,!c),而(b++,!c)是一個逗號表示式,逗號表示式按從左往右計算,整個表示式的結果為最右邊那個表示式的結果。

所以,(b++,!c)經計算後為(2,0),逗號表示式的值是0,同時b為3,而已為假,不會再計算(a++,c++),因此,結果是表示式a*b&&(b++,!

c)&&(a++,c++)的值是0,該表示式運算過後,a=1,b=3,c=3。

11樓:三天打魚

看結果就知道了 執行了第一個括號之後就返回了 後面的括號沒有執行

第一個括號最後一個值是!c c邏輯取反運算 c是3 取反後是0 然後逗號表示式返回最後一個值 返回了0  前面的&&遇到0就直接返回結果了

12樓:

根據運算子的優先順序,表示式等價於

(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true

所以最終的值就是true,如果按照整數輸出,則為1

c語言中 if(a||b&&c) ......... 什麼意思啊?謝謝。。

13樓:

||1&&表示邏輯與運算;

2||表示邏輯或運算;

3&&運算優先順序高於||運算;

4 舉例:

(3>2)||(1>2)&&(3>4)

=true||false&&false

=true||false

=true------------1

14樓:

若a=1並且b=2(執行該步操作後,b的值加1為3)。

邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。

符號 功能

&& 邏輯與

|| 邏輯或

! 邏輯非

當表示式進行&&運算時,只要有一個為假,總的表示式就為假,只有當所有都為真時,總的式子才為真。當表示式進行||運算時,只要有一個為真,總的值就為真,只有當所有的都為假時,總的式子才為假。邏輯非(!

)運算是把相應的變數資料轉換為相應的真/假值。若原先為假,則邏輯非以後為真,若原先為真,則邏輯非以後為假。

還有一點很重要,當一個邏輯表示式的後一部分的取值不會影響整個表示式的值時,後一部分就不會進行運算了。例如:

a=2,b=1;

a||b-1;

因為a=2,為真值,所以不管b-1是不是真值,總的表示式一定為真值,這時後面的表示式就不會再計算了。

這是一類特殊的運算子,自增運算子++和自減運算子--對變數的操作結果是增加1和減少1。例如:

--couter;

couter--;

++amount;

amount++;

看這些例子裡,運算子在前面還是在後面對本身的影響都是一樣的,都是加1或者減1,但是當把他們作為其他表示式的一部分,兩者就有區別了。運算子放在變數前面,那麼在運算之前,變數先完成自增或自減運算;如果運算子放在後面,那麼自增自減運算是在變數參加表示式的運算後再運算。這樣講可能不太清楚,看下面的例子:

num1=4;

num2=8;

a=++num1;

b=num2++;

a =++num1;這總的來看是一個賦值,把++num1的值賦給a,因為自增運算子在變數的前面,所以num1先自增加1變為5,然後賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因為自增運算子在變數的後面,所以先把num2賦值給b,b應該為8,然後num2自增加1變為 9。

那麼如果出現這樣的情況我們怎麼處理呢?

c=num1+++num2;

到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據編譯器來決定,不同的編譯器可能有不同的結果。所以我們在以後的程式設計當中,應該儘量避免出現上面複雜的情況。

15樓:有錢買不起房子

如果表示式a是真 或者 表示式b和表示式c都是真,將執行後面語句。

||是邏輯運算子或 ,&&是邏輯運算子與

在c語言裡,0代表假,非0代表真。例如a=3,b=0,c=4,那麼a||b&&c 3||0&&4 將是1 是真

16樓:匿名使用者

a或b且c

因為「且」的優先順序比「或」的高,所以先判斷 b且c,然後結果跟a「或」

另外c語言中非零為真,0為假。

「或」 "且" "非" 這種邏輯運算具體怎麼算不用多說了吧……

c語言設inta3,b2,c1,表示式abc的值是多少

0 因為關係運算子是左結合的,a b c等價於 a b c,由於a b成立得1,而1 c不成立得0。設int a 3,b 2,c 1 表示式a b c的值是 0,false 因為 3 2為真,即為1,而 1 1為假,即false c語言中int a 3,b 2,c 1執行if a b c a b e...

C語言中int a 9,b 5那麼表示式b(a

b a 4 b a 1,把4賦值給a a 42 把a賦值給b b a3.相除 結果就時1了 其實不管a是多少 0除外 結果都是1 inta 9,b 5 這句是給a,b賦初值 b a 4 b a 在這句中a 4是給a重新賦值了,此時a 4,所以b a 4b a 4 b a a 4 b 4 4 4 1 ...

C語言中計算逗號表示式c a 7,b a 2,b 1 ,並且輸出a,b,c的值是什麼意思啊?求解

c的值是整個逗號表示式的值,逗號表示式從左向右計算,最右邊的值是逗號表示式的值a 7b a 2 9 b 1 10 所以a 7,b 9,c 10 還差一個採納,求採納謝謝。括號內的式子從左往右運算,的到a 7,b 9 括號的值是最後一個式子的值。所以c b 1 10 是一個基本的程續框圖 c語言逗號表...