設有定義 int a 2,b 3,c 4,則以下選項中值為0的表示式是

2021-03-29 13:01:31 字數 2111 閱讀 6543

1樓:物理公司的

a.(!a==1)&&(!b==0)>>>>>>!非零等於0;0&&……為零;。。所以選a;

b.【(a>>>……||1;。。一定為1;

c.a&&b>>>>>非零&&非零。。。為1;

d.【a||(b+b)&&(c-a)】>>>>>a非零||……為1;1小於b;。。所以結果還是為1;

2樓:baby凱旋城住戶

||通過下面這個程式,執行結果顯示 a 的值為0:

#include

int main()

根據c語言運算子的優先順序和結合性,具體解釋 a:

首先,括號的優先順序最大,其次才是 && ,所以先計算兩個括號中的值。

其次,兩個括號中, ! 的優先順序比==大,所以,左括號中先計算!a,因為 a=2,值為真,非真就是假,也就是說,!

a=0;括號裡的式子有變成了 0==1,不成立,所以整個左括號值為假,也就是0.

分析到這,其實就應該結束,因為做的是與運算,左邊為假,整個式子就都是假。

選項 b、c、d判斷的依據運算子的優先順序和結合性來判斷

逗號表示式c=(表示式1,表示式2)中,如果表示式1值為0,c的值是0還是表示式2的值?

3樓:育知同創教育

c語言提供一種特殊的運算子,逗號運算子,優先級別最低,它將兩式聯接起來,如:(3+5,6+8)稱為逗號表示式,其求解過程先表示式1,後表示式2,整個表示式值是表示式2的值,所以c=表示式2的值

71.設有定義:int a=2,b=3,c=4;則以下選項中值為0的表示式是( ) a. (a

4樓:夢中夢

嗯,對於這種問題可以用真假來判斷,當數值不為0時都一律為真,只有是內0才是假

a:(a容c為假,所以(真&&假)為假,後來(假||真)為真,不是0b:(真&&假)為假,是0

c:(真&&真)為真,不是0

d:(真||真)為真,c-a為真,(真&&真)為真,不是0【選擇b】

5樓:匿名使用者

貌似都不為0 哦,你確定題目沒寫錯嗎

7. 設有定義:int n=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是( )。 a) p=1; b) *q=2; c) q=p; d) *p

6樓:匿名使用者

n是整數,p是整數指標,q是雙重指標。

a:p=1 屬於將位址1賦給p,非法。

b:*q=2 這裡*q相當於乙個整數指標,問題同上,非法。

c:q=p 相當於把p的位址賦給q,不能說錯,但是不同維數的指標互相賦值,容易出錯。

以上三種都是編譯沒有問題。

d比較符合規範而已。

7樓:匿名使用者

這題出的是有點問題,按他這意思,q應該是乙個指向指標的指標,所以正確答案應該是d,

但是不能說其他的賦值是錯誤的,只是對這個題來說沒什麼意義而已。

(6) 設有定義:int n=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是

8樓:匿名使用者

選d.a.p是乙個指標,不能給它賦乙個整型的值1b.

*q仍然是乙個指標,*q就是p.所以也不能給它賦乙個整型的值.c.

q=p;q是個二級指標,p是一級指標,不能把一級指標賦給二級指標.*p=5,即給n賦值為5,正確.

9樓:匿名使用者

d p是指標q是指向批針的指標,記錄的是位址多翻下書這不太好理解

10樓:匿名使用者

我打假 來了 如上,*q是指標,那麼p就存的是他的位址,就是n 的記憶體中的位置,表示為&n而**p = &q,說明**p是個指向*p的指標 即是**p的值為n,而*p裡面裝的呢是p,即是&n,n的記憶體單元**p 裡面裝的是*p的記憶體單元,在這兒**p 和*p 和q 裡面都裝的是記憶體,是資料在機器裡面的位址,對於這種我們不能夠用這種直接賦值的方式改變它 故而我們看a,b,c 都是這樣 所以abc錯誤,他們都在改人家記憶體

設有int a 1,b 2,c 3,d 4,m 2,n 2執行(m a》bn c》b 之

m a b 是賦值表示式,若a大於 b則m得真,否則m得假。a 1,b 2,a b為假,故 m 假。賦值表示式 m a b 為假。m 0.m a b n c b 是2個 賦值表示式 的 邏輯與 計算,當前面 m a b 為假時,必得假,則不需要計算 n c b 程式執行將略去 即跳過 n c b 的...

一道c語言的題設inta1,b2,c3,d4則

剛剛錯了!自右往左 先算a 2 2,2為真取值為a,為假取值為 c就是假,取 c 然後就是c 上式相當於a 括號裡面的,明顯c 3,d 4,所以c顯為真且a 則a 1,故最終結果的值為1。以上僅供參考 最好去自己程式設計除錯就ok了,除錯的每步都可以檢視每個變數的結果 c語言環境中,設a 1,b 2...

c語言。。int a 5,b 3,w 1,x 2,y 3,z 4a wxb yz 最後b的值為什麼是三

因為w 1 x 2這個條件不成立,所以整個邏輯語句就是不成立,程式不會再去執行 後面的 b y z這個語句,所以判斷後b的值不變還是3 主要看最抄後的乙個表示式 求值 襲a w x b y z 這個表示式的值是多少呢?顯然不是true就是false,因為這是個邏輯表示式 先看 前面的表示式,求值是f...