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