C 已知A 1,B 2 C 3,則表示式 abc的值是()這個道題怎麼做

2021-03-29 13:01:31 字數 4886 閱讀 5154

1樓:匿名使用者

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

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

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

2樓:匿名使用者

簡單你只要知道在c語言中0代表偽,非0代表真

把值代進去就可以了

結果為真(1)

3樓:匿名使用者

值吱吱吱自治組織組織重中之重這孩子=(1)

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

4樓:聽不清啊

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

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

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

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

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

5樓:匿名使用者

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

因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。

6樓:三天打魚

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

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

7樓:

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

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

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

c語言題: 已知a=b=c=0;則++a||++b&&c++的值為?正確答案:1,0,0,1 要過程, 謝謝

8樓:匿名使用者

邏輯運算子並不是運算子兩邊的表示式一定都執行,就本例來說:

a = b = c = 0;

d = ++a||++b&&c++;

1、&&的優先順序比||高,注意優先順序是「結合優先順序」而不是「計算優先順序」。所以整個表示式可以看做++a||(++b&&c++)

2、對於一個||邏輯或來說,只要||左邊的表示式為假(即0)才執行||右邊的表示式(即本例中的++b&&c++),如果||左邊表示式已經為真,那麼會造成所謂的「短路」即||右邊的表示式不再執行

3、由於++a是先++再賦值,則a=1,由於||左邊表示式已經為真(非零),則短路,右邊表示式不執行

4、按上面描述,答案a = 1, b = 0, c = 0, d = 1

總結,&&運算子,除非該操作符左表示式為真,才執行右表示式,否則直接為假

||運算子,除非該操作符左表示式為假,才執行右表示式,否則直接為真

9樓:sr開得比板慢

a++ a=1

因為a=1 所以 | |後面的都忽略了..所以b=0, c=0而且整個式子的值是1

還不懂的話可以追問

10樓:憂傷海域

||c=0;

b=c;

a=b;

c=c++(c=0)用過後為c=1;

b=++b(b=1)用過後為b=0;

++b&&c++=0(1&&0為假值為0)a=++a(a=1)用過後為a=0;

0||0為真值為1.

表示式值為1,a=0,b=0,c=1.

11樓:石化終結者

thangkfasd fasdf

達式3+1/2的計算結果是( ) 若a=1 b=2 c=3 則執行表示式(a>b)&&(c++)後,c的值為( )

12樓:匿名使用者

第一個表示式的結果是3,本來是1/2=0.5,但由於是整型數除以整型數,所以1/2=0

a>b為0,由於是與關係,所以後面的c++就沒有執行,c還是3

13樓:匿名使用者

兄弟,你這是c語言的題嗎?

如果是的話,第一個空為3,第二個空為3

第一個空解

專答:屬1/2,因為1和2皆為整數,所謂1/2的結果為0第二個空解答:&&運算有一種特殊情況就是如果&&前面的前面的執行結果為假時,則不執行後面的運算了,而a>b此時為假,所以c++不執行,故c值不變仍為3

14樓:匿名使用者

3+1/2=3.5呀!不過你問的是程式還是普通數學題呀,要是程式就不是這樣了~~

c=4,怎個表示式=0

達式3+1/2的計算結果是( ) 若a=1 b=2 c=3 則執行表示式(a>b)&&(c++)後,c的值為( )

15樓:樸力允盛

第一個表示式的結果是3,本來是1/2=0.5,但由於是整型數除以整型數,所以1/2=0

a>b為0,由於是與關係,所以後面的c++就沒有執行,c還是3

16樓:幸朗麗隋榮

兄弟,你這自是c語言的題嗎?

如果是的話,第一個空為3,第二個空為3

第一個空解答:1/2,因為1和2皆為整數,所謂1/2的結果為0第二個空解答:&&運算有一種特殊情況就是如果&&前面的前面的執行結果為假時,則不執行後面的運算了,而a>b此時為假,所以c++不執行,故c值不變仍為3

c++中 已知a,b,c的值分別為2、5、1,邏輯表示式'0'||(a++)&&(++b)||(c=3)的值是(),a,b,c的值分別是

17樓:匿名使用者

'0'||(a++)&&(++b)||(c=3)相當於('0') ||  ((a++)&&(++b))  ||  (c=3)

'0'字元對應的ascii碼是48, 48是非0值, 表示true, 於是整個表示式返回true(1)

同時版, 或者運算||是短路運算子, 只要|權|左邊的表示式是true值那麼為了節省時間就直接返回true而不用計算右邊的表示式, 於是後面的(a++)&&(++b)和c=3都沒有被執行; 同理&&也是短路運算子, &&左邊只要為false就直接返回false而不計算右邊的表示式, a?b:c只要a是true就只計算b, 否則只計算c

c++:已知a、b、c的值為2、5、1,邏輯表示式'0'||(a++)&&(++b)||(c=3)

18樓:

||1。因為'0'是48,而&&的優先順序比||高,所以原式被解釋為專'0' || ((a++) && (++b)) || (c=3),'0'已經屬確定了整個表示式的值為1,所以第一個||右邊就不計算了,所以a、b、c的值沒有變化。

a=1,b=2,c=3;執行(a>b)&&(c++)後,c的值是幾?

19樓:go學龍

c = 3

&&當前面為假時,,,就不在執行後面語句

急!!c++.已知變數a,b,c是整型變數,且a=3、b=4、c=5,則表示式:!(a+b)+c-1 && b+c/2的值是?求詳解~

20樓:匿名使用者

答案為1。

詳解:!

(a+b)+c-1 && b+c/2

等價於(!(a+b)+c-1) && (b+c/2)計算機內部計算步驟(可以檢視彙編)

先算!(a+b)+c-1 ——>0+5-1——>4測試上一步專結果(結果為4),表屬達式為真。

再算b+c/2——>結果為6(注意4/2結果為2,因為都是整型,餘數丟掉)

測試上一步結果(結果為6),表示式為真。

最後,將結果1賦給整個表示式,即最後的結果。

#include

using namespace std;

int main()

21樓:匿名使用者

!(a+b)+c-1 = 0 + 5 - 1 = 4b+c/2 = 4 + 5 / 2 = 4 + 2 = 6!(a+b)+c-1 && b+c/2 = 4 && 6 返回的可能是左值 4

std::cout<回

顯示答4

22樓:磨溝山水

值為1本題為bai邏輯運算,根du據運算子號的優zhi先級可把該式dao子等效為( !(a+b)+c -1 )&&( b+c/2 )

優先回級排序:答()…… !、+、—、…… / …… && (優先順序靠前優先計算)

分步解析:邏輯與左邊:1)先計算a+b=7 ; 2) !(a+b)=! 7 = 0 ; 3)0+c-1=4

邏輯與右邊:1)c/2=2; 2) b+2=64&&6(兩邊都為邏輯真值,相與亦為真值)

23樓:匿名使用者

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

=!(3+4)+5-1&&4+5/2

=0+5-1+2=6

設a 1,b 2,c 3,d 4,則表示式 ab a cd a d在c語言裡怎麼編寫

if a return a else if c return a else return d if a else return d 或者 a c語言中設a 4,b 3,c 2,d 1則表示式 a 結果是1 首先判斷條件a b,如果成立則取a的值,不成立則取 c d?a d 的值 對於c d?a d,...

若已定義 int a 2,b 2則表示式 a b

4,3b 的意思是先bai用後加 也就是 du2 2 b 這裡的 zhi2 要先用值,dao也就2,用過之後再加專1 那麼就變成 屬了 2 2,b 這是後面的b 就應經被用過了 就要加1.就變成了 2 1 3 所以值是4,3 35.若有定義 int a,b 則表示式 a 2,b 5,a 2,b a ...

已知a 2 b 2 1,b 2 c 2 2,c 2 a 2 2,則ab bc ca的最小值為

由a 2 b 2 1,b 2 c 2 2 消去b 2可以得c 2 a 2 1,結合c 2 a 2 2,可以解得a 正負 2 0.5 2,c 正負 6 0.5 2 同理可以解得b 正負 2 0.5 2。要求最小值,令c 6 0.5 2,a b 2 0.5 2即可 所以ab bc ca 3 0.5 0....