1樓:管讓宓己
a++a=1
因為a=1所以|
|後面的都忽略了..所以b=0,
c=0而且整個式子的值是1
還不懂的話可以追問
2樓:樊楊氏仰培
邏輯運算子並不是運算子兩邊的表示式一定都執行,就本例來說: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總結,&&運算子,除非該操作符左表示式為真,才執行右表示式,否則直接為假
||運算子,除非該操作符左表示式為假,才執行右表示式,否則直接為真
3樓:靖富貴陶錦
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.
4樓:郜煙耿歌
b是實數,回答個。解得
a^2-4*a^2+12>=0好多年沒回答過問題了:
c=-a-b
代入後面式子
得到a^2+a*b+b^2=3,即
b^2+b*a+a^2-3=0,把這個看做是關於b的一個方程,即方程的
δ要大於等於0
int a=b=c=0; a++&&b++||c++;求 a,b,c 最好有 過程分析
5樓:阿瑞斯ares啊
a = 1, b = 0, c = 1
語句中a,b,c都是後自加, 所以是先進行表示式的運算, 再進行後自加, a++ && b++這部分時, a=0, 所以會發生內短路, 不會容執行b++,整個a++&&b++都為假 然後會執行判斷c++的值,
過程中只會對a和c進行後自加運算, 所以a和c為1, b=0
6樓:莊政警
結果是a=1,b=0,c=1
&&的優先順序來比||高,先做源a++&&b++a++返回a當前的值0, a++為假,那麼a++&&b++就必然為假,於是b++就沒必要執行,被忽略,然後求0||c++, 於是c++被執行
綜上就是a++和c++被執行, b++被忽略最終a=1,b=0,c=1
7樓:匿名使用者
|||首先,根據邏輯復符制
號優先順序,公式改寫成:bai(a++&&b++)||c++。
然後,用dua在「
zhi++」之前的值作為(a++)這個表dao達式的結果返回,即0,被轉換成邏輯假,這時a變成1了,但是a++表示式的結果是0。因此根據「&&」的短路徑求值原則,(a++&&b++)中的表示式b++不會求值,即b仍然是0,表示式(a++&&b++)結果為邏輯假。
最後,根據「||」多路徑求值原則,左邊表示式邏輯假,故而對表示式c++求值,故而c的值變成1。
最終結果是:a=1,b=0,c=1.
c++已知a=1,b=2.c=3 ,則表示式++a||-b&&++c 的值是()這個道題怎麼做
8樓:匿名使用者
根據運算子的優先順序,表示式等價於
(++a) || (-b) && (++c)在c/c++中 0為false,非0就是true,上面的表示式就等於true || true && true
所以最終的值就是true,如果按照整數輸出,則為1
9樓:匿名使用者
簡單你只要知道在c語言中0代表偽,非0代表真
把值代進去就可以了
結果為真(1)
10樓:匿名使用者
值吱吱吱自治組織組織重中之重這孩子=(1)
大學c語言問題 執行「int a,b,c;a=b=c=1;--b&&++c||++a;"後,變數a
11樓:我才是淡淡
|,首先你要把整個結構弄清楚,&&的優先順序高於||,所以上面的式子等價於(--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
12樓:
你的**是順序結構;
所以執行的時候是先對a進行賦值,也就是a=1;
至於後面對b和c的運算,並不能改變a的值。
第一步 int a,b,c;
第二步 a=b=c=1;
第三步 --b&&++c||++a;//這個地方只有++a能改變啊的值 b和c對a的值不影響
第四步輸出a的值;
13樓:益達是誰
這判斷式a,b,c應該是2-0-2啊,怎麼是201,還有我想問這式子對嗎
14樓:匿名使用者
答案應該是2 1 1
a=b=c=0;a++&&++b||c++;後,a的值為b的值為c
15樓:匿名使用者
a=b=c=0;a++&&++b||c++;
a=b=c=1, a和c是運算後+1, b是+1後運算
所以a++&&++b||c++=0&&1||0=0||0=0
c語言中。int a=1,b=0,c=1; 執行語句 !b||++a&&++c 後,a,b,c
16樓:
或運算,而且是左結合,!b為真,整個表示式就為真了,不再繼續運算,也就是++a和++c沒有運算,表示式的結果就出來了。
17樓:匿名使用者
|後首先根據運算子優先順序和結合性。((!
b))||((++a)&&(++c))
然後先算!b,此時(!b)=1,為true,於是不需要專算||後的內容了。屬
因為:true||任意表示式=true。
注意,運算子優先順序不代表計算優先順序。
如果你把b=1 結果就是212
18樓:卿楓凌
對於!b||++a&&++c;按照規bai
定, 要先計du算 && (&&的優先順序zhi比||高)也就是需要計算dao出 ++b和c++;
但是按專照優化, 只要計算出 a>0 就可屬以了,不需要計算出 ++b和c++,「||」在這裡起到了短路的功能(短路就是,當第一條表示式能決定整條表示式的結果,那麼後面的語句都不執行!),這也叫做布林法則,給你推薦一本書叫做「c語言解惑」。望採納
執行以下語句後a,b,c的值分別為
19樓:漆雕良塗甲
執行int
a,b,c;
a=b=c=-1;
++a&&++b||++c;後a,b,c值分別為a是0b是-1
c是0因為
++a&&++b||++c這個邏輯表示式
先計算&&
因為++a是0
所以這部分為0
++b不執行
再計算||
++c要計算
所以c=0
20樓:匡寧賞雨
用&&做邏輯與計算時,第一個表示式不成立時則不再計算第二個表示式
而用&做邏輯與計算時,不管第一個表示式結果如何都會去執行第二個表示式
已知abc 0,且a b c 0,則代數式a
a b c 0 a b 2bc c a bc 2 c b b c 同理b ac 2 c a a c,ab 2 a b b a所以a bc b ac c ab 6 c b b c c a a c a b b a 6 c a b a b c b c a 6 1 1 1 3 yakali天枰 由a b c...
已知 a b c 0,求證 a立方 b立方 c立方3abc
證 因為 a b c 0 所以 a b c a 2 b 2 c 2 ab bc ac 0此式推導 a b a 2 ab b 2 c c 2 a b 2 c a 2 ab b 2 0 a b c a 2 ab b 2 c a b c c a b 0 推導 a b a 2 ab b 2 c c 2 a ...
已知abc不等於0,且a b c 0,則代數式a
我不是他舅 a b c 0,a b c a 2 bc b 2 ac c 2 ab 通分 a 3 b 3 c 3 abc a b a 2 ab b 2 c 3 abc c a 2 ab b 2 c 3 abc abc c c 2 3ab c 3 abc c 2 3abc c 3 abc 3abc ab...