1樓:小凡_達人
您好:做這樣
bai的題最簡單du
的就是加括號
zhi,沒括號分不清主次。加完dao括號後內的結果是:
( (2 && b) % a ) || (!c)算數都會容吧?從內括號一層一層往外算。
①2&&b是1 2&&b其實這個運算是邏輯與,如果單純這麼寫,結果總會是後面b的值。
②1%a是0, %是取餘數,1除以1=1,餘數是0.
③!c是false,
④0||false絕對是false。
⑤所以邏輯或運算,只要有一個是false結果就是false.
2若有定義 int a=1,b=4,c=3;則表示式!(a
2樓:only釗
是|1其實什麼都不用看,
!(a果或上1,而計算機中非0及為真。所以就是一堆運算結果或上一個true,所以答案就是true。所以為1.
!(a
!c 因為c等3所以c是true所以非c就是false 等於0false && false || true最後變成false || true所以是true
3樓:匿名使用者
運算總體是從左到右,有單目運算先單目運算。先!(a
c=0, 所以!(a
所以表示式為1.
4樓:匿名使用者
||(a!(a
(a<
!(a
已知a=1,b=2,c=3,則表示式a*b&&(b++,!c)&&(a++,c++)的值是。該表示式運算過後,a=? ,b=? ,c=? 5
5樓:聽不清啊
該表示式運算過後,a=1 ,b=3 ,c=3因為 1*2的值非0,被認為是「真」
&&後面繼續計算:b++,!c
是一個逗號表示式,b變成了3,!c的值為0(因為c原值為非0,即「真」,取反後即為「假」),所以逗號表示式的值為「假」。
整個表示式的值已經確定,為「假」,後面總分不再運算。
所以,a=1 ,b=3 ,c=3
6樓:匿名使用者
首先得知道&&進行的是短路運算,如果運算子的左邊經計算後結果為假,則不會再計算右邊。
因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。
7樓:三天打魚
看結果就知道了 執行了第一個括號之後就返回了 後面的括號沒有執行
第一個括號最後一個值是!c c邏輯取反運算 c是3 取反後是0 然後逗號表示式返回最後一個值 返回了0 前面的&&遇到0就直接返回結果了
8樓:
根據運算子的優先順序,表示式等價於
(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true
所以最終的值就是true,如果按照整數輸出,則為1
int a=1, b=2, c=3; 表示式(a&&b)||(a||b)的值是1 咋做的
9樓:匿名使用者
這個程式的演算法有關。這句可以分為兩部分第一個|| 為分割線。如果前邊的為真,後面的就不會做。
前邊的又分為兩部分以&& 為界限,不過要求兩邊的都為真。不知道你的輸出語句怎麼寫的。最好能貼出來
10樓:匿名使用者
a有值,b也有值,(a&&b)兩邊都為真,則結果為真,後面的就不用看了因為中間是或,既然前面已經是真了,就不用管後面了,結果就是真咯
11樓:匿名使用者
&&運算子:兩個都是真為真
||運算子:兩個有一個是真就為真
0為假,大於0的都為真
大學c語言問題 執行「int a,b,c;a=b=c=1;--b&&++c||++a;"後,變數a
12樓:我才是淡淡
|,首先你要把整個結構弄清楚,&&的優先順序高於||,所以上面的式子等價於(--b&&++c)||(++a),
先看(--b&&++c),--b導致b的值為0,所以(--b&&++c)必然為假,所以c就不會加一了,c的值還是1。然後(--b&&++c)為假並不能直接斷定(--b&&++c)||(++a)的真假,因為||需要兩邊為假才是假,所以需要判斷右邊的(++a),這裡a自加一次變為2,(++a)為真,整個表示式(--b&&++c)||(++a)的值為真。最後a,b,c的值分別是2,0,1
13樓:
你的**是順序結構;
所以執行的時候是先對a進行賦值,也就是a=1;
至於後面對b和c的運算,並不能改變a的值。
第一步 int a,b,c;
第二步 a=b=c=1;
第三步 --b&&++c||++a;//這個地方只有++a能改變啊的值 b和c對a的值不影響
第四步輸出a的值;
14樓:益達是誰
這判斷式a,b,c應該是2-0-2啊,怎麼是201,還有我想問這式子對嗎
15樓:匿名使用者
答案應該是2 1 1
c++已知a=1,b=2.c=3 ,則表示式++a||-b&&++c 的值是()這個道題怎麼做
16樓:匿名使用者
根據運算子的優先順序,表示式等價於
(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true
所以最終的值就是true,如果按照整數輸出,則為1
17樓:匿名使用者
簡單你只要知道在c語言中0代表偽,非0代表真
把值代進去就可以了
結果為真(1)
18樓:匿名使用者
值吱吱吱自治組織組織重中之重這孩子=(1)
c語言題: 已知a=b=c=0;則++a||++b&&c++的值為?正確答案:1,0,0,1 要過程, 謝謝
19樓:匿名使用者
邏輯運算子並不是運算子兩邊的表示式一定都執行,就本例來說:
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
總結,&&運算子,除非該操作符左表示式為真,才執行右表示式,否則直接為假
||運算子,除非該操作符左表示式為假,才執行右表示式,否則直接為真
20樓:sr開得比板慢
a++ a=1
因為a=1 所以 | |後面的都忽略了..所以b=0, c=0而且整個式子的值是1
還不懂的話可以追問
21樓:憂傷海域
||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.
22樓:石化終結者
thangkfasd fasdf
若有定義int a 1,b 2,c 3則執行表示式(a b cb)後a,b,c的值
1。b c 5 將 5 賦值 給 a 2.a 5 為真 短路或所以不執行 b b 依然為2 所以 有 a 5 b 2 c 3 從左往右看,a b c a 5,b,b 3 若有定義 int a,b 則表示式 a 2,b 5,a 2,b a b 的值是?b 的意思是 先將b的原值帶入本條語句執行,然後再...
ecel中如何實現如果a1b1為空則c1也為空如果
if and a1 b1 1 a1 b1 0.5 100,在c1中輸入或複製貼上下列公式 if and isnumber a1 isnumber b1 1 a1 b1 0.5 100,if and a1 b1 1 a1 b1 0.5 100 你試試看對嗎 excel 中,如果a1為空值,b1不為空值...
c語言題a10,b15,c1,d2,e0,則表示式
首先知道 這幾個符號的優先順序 算術運算子的優先順序高於 所以先算乘法。a b 0為真,c 1為真,最後結果為真,用 1 表示 算術運算子的優先順序高於 所以先算乘法。a b 0為真,c 1為真,最後結果為真,用 1 表示。所以最後結果為真。1 先算a b 0 c 1 a b c 1 c語言環境中,...