1樓:金色潛鳥
!(a+b)- a && b+2*4 按運算子優來
先律和結合律,可寫為自
:(!(a+b)- a) && (b+2*4)
由於 int a=1,b=2; 所以bai !(a+b) = !(1+2) = !3 = 0. 0-a= -1 ( 非0 為真du)。
(b+2*4) = 2+8 = 10 也為真。 && 是與運算zhi,真真dao得真。
printf("%d\n",(!(a+b)-a && b+2*4)); 輸出 1。
後面問的 !(a-b) = ! (-1) = 0; 因為 非0的值都是真,-1 不是0 ,所以 -1 也是真。
真求反,得非,非就是 0。 printf("%d\n", !(a-b)); 輸出0。
已知int a=1,b=2;表示式(a
2樓:匿名使用者
這個事c語言中的條件選擇結構:其意義是:
若a
int a=1, b=2,c=3,d=4,m=2,n=2; 則執行表示式:(m=a>b)&&(n=c>d)後,n的值為?
3樓:匿名使用者
n=2,因為m=(a>b);
解釋為bai:如果a大於dub,那麼m等於true(即1);否則zhim等於false(即0);
n=c>d也是這個意思.
再有dao(m=a>b)&&(n=c>d)首判斷a>b是否為真,因為內a=1,b=2.所以a>b為假。m=0,接容著就不進行
n=c>d。故n的值未改變。估是因為&&的原因。
4樓:寒冰射手小樣
n的值仍然為2,沒有改變!
過程:先計算a>b,值為0,賦給m的值為0,表示式m=a>b的值也是版0。
對於&&邏輯運算,不管後面
權(n=c>d)的值如何,都不影響(m=a>b)&&(n=c>d)的最終結果,因此,c語言不再對表示式n=c>d進行計算。因而n的值沒有改變!!
5樓:詹爵雲蕙若
m=0n=2
a>b不成立m=0;
又因為(m=a>b)為0,所以不執行(n=c>d),即n的值不變。這是&&的特性。
int a=1, b=2, c=3; 表示式(a&&b)||(a||b)的值是1 咋做的
6樓:匿名使用者
這個程式的演算法有關。這句可以分為兩部分第一個|| 為分割線。如果前邊的為真,後面的就不會做。
前邊的又分為兩部分以&& 為界限,不過要求兩邊的都為真。不知道你的輸出語句怎麼寫的。最好能貼出來
7樓:匿名使用者
a有值,b也有值,(a&&b)兩邊都為真,則結果為真,後面的就不用看了因為中間是或,既然前面已經是真了,就不用管後面了,結果就是真咯
8樓:匿名使用者
&&運算子:兩個都是真為真
||運算子:兩個有一個是真就為真
0為假,大於0的都為真
設:int a=1,b=2;則表示式(++a==b--)?--a:++b的值為1。
9樓:匿名使用者
第一題 對,第二bai題 錯;
分析如下
第一du題
++a先執行
加後使用
zhia值 a++先使用a的值再
dao執回行加;減類似分析
(++a==b--)?--a:++b執行順答序為從左到右先執行++a 所以此時a=2,再與b比較,比較後,b自減,為1;
所以a=b=2為真返回 條件語句的前面部分,由於是--a,所以返回為1(若為a--則返回為2),所以是對的
第二題:
執行b=(float)a/2+0.5賦值語句後,a 的值不會發生任何改變,執行那個語句時,會對a進行復制的,原來的那個值不會改變
10樓:匿名使用者
1. ++x較之於x--先進行來自運算自,所以1對。
2. 明顯錯誤。我除錯了一下,因為這東西也不是特別注意。
b=(float)a/2+0.5;
printf("%d ,%d \n",a,b);
只有這種格式可以輸出,當你有一個為%f試圖以浮點輸出時,甚至導致記憶體報錯,看來這是個嚴重的問題,我想是這樣的,a,b的地址空間是相鄰的,當以浮點輸出時讀取四個位元組,導致了越界了。結果可想而知,你的問題也就不言自明瞭。
除錯是最好的解決辦法,要學會研究。
若已定義 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 ...
C 已知A 1,B 2 C 3,則表示式 abc的值是()這個道題怎麼做
根據運算子的優先順序,表示式等價於 a b c 在c c 中 0為false,非0就是true,上面的表示式就等於true true true 所以最終的值就是true,如果按照整數輸出,則為1 簡單你只要知道在c語言中0代表偽,非0代表真 把值代進去就可以了 結果為真 1 值吱吱吱自治組織組織重中...
設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,...