在c語言中,!0 2的值是多少?亦或者表達什麼意思

2021-06-01 00:34:54 字數 3956 閱讀 9507

1樓:匿名使用者

根據運算子的優先順序及結合性,你給的表示式可以加括號如下:

(((!0)<2) && 5) || 1

所以,專由於最右側的表屬達式為1,非零,所以整個表示式的結果必然為1當然,如果想要詳細算的話,那就是 !0 結果為真也就是1,1小於2,所以邏輯&&運算的左側表示式為1,由於5也是非零,所以(((!0)<2) && 5)為1,因此後面的或運算結果為1 。

2樓:home奶茶溫泉

首先我給你說bai一下這些符號du的優先

級:zhi

!是單目操作

dao符,高於雙目回優先順序

《是雙目關係操

答作符,關係操作符優先順序高於位操作符

&&和||是雙目位操作符,&&優先順序高於||所以這個表示式!0<2&&5||1=>>>>1<2&&5||1=>>>>1&&5||1=>>>>1||1=>>>>1

3樓:匿名使用者

這個式子麼??

這是一個邏輯表示式,在c語言中,真值非零,假值為0;這個式子為真,所以為1

4樓:匿名使用者

true 或的優先順序最低 所以最後計算或,右邊非零,所以恆為真

5樓:匿名使用者

整個式子由最後運算的||決定,所以直接看||右邊的數為真,得出答案為1~

6樓:百千萬曉生

0<2為false,0<2&&5為false,0<2&&5‖1為true

c語言,為什麼表示式1/2的值是0

7樓:匿名使用者

整數除法,0.5捨棄小數,就是0了,如果想得到0.5,那麼在c語言中可以這樣寫1.0/2

這樣就是浮點數除法了

8樓:匿名使用者

等於6.為什麼我寫在下面

你有書的話查最後面的優先值表和結合性.記 住有些是從右往左算的

9樓:匿名使用者

以為兩旁都是整數

所以結果為整數

捨棄小數

10樓:匿名使用者

對的...

int

若1.0/2=0.5

c語言中a=(0<<2)|(1<<3)是什麼意思

11樓:楓璽

"="是賦值運算子,可以將右邊的運算結果賦值給左邊的變數。"<<"是左移運算子,將數左移一位即相當於擴大2倍。"|"是位或運算子,即按二進位制儲存資料的位進行或運算。

a=(0<<2)|(1<<3) 中有括號,先運算括號中的表示式,0<<2 結果還是0,1<<3 結果為1*2*2*2=8,而0|8=8。所以結果為:a= 8。

擴充套件資料c語言的運算子:

1、算術運算子:* - + / %

2、關係運算子: > < == != >= <=3、邏輯運算子:! && ||

4、位運算子:<< >> ~ | ^ &

5、賦值運算子:=及擴充套件賦值運算子

6、條件運算子:?:

7、逗號運算子:,

8、指標運算子:*和&

9、求位元組數運算子:sizeof

10、強制型別轉換運算子:(型別)

11、分量運算子:. ->

12、下標運算子:[ ]

13、其他:如函式呼叫運算子:()

12樓:匿名使用者

=賦值運算子 將右邊的運算結果賦值給左邊的變數<<左移運算子 左移一位,相當於擴大2倍|位或運算子 按二進位制儲存資料的位進行或運算,有1則1,全0為0

a=(0<<2)|(1<<3) 中有括號,先運算括號中的表示式0<<2 結果還是0

1<<3 結果為1*2*2*2=8

0|8=8

所以結果為:a= 8

13樓:煙火夜空

c語言的移位運算,從數學角度講,就是 乘法 的一種特殊情況,左移1 = ×2,左移 2= ×4,左移n,就是 × 2的n次方。於是,題目就可以理解為:

把 0 ×4, 把 1 × 8 後,把前面2個結果,按位 或 運算。

因為 0 × 4 的結果是 0,而 0 或上 任何數,都等於 任何數 本身,所以 結果 又 為 1×8=8,

14樓:永遠de青春

0 二進位制表示 0000 <<2表示向左移動2位右端補0 但還是01 二進位制表示 0001 <<3表示向左移動3位右端補0 是1000 為 8

|表示按位或操作,1或1的1, 1或0得1, 0或1的1,0或0得00000

1000

——10008

15樓:匿名使用者

《位移運算子 , | 位的或運算子

a<

1<<3相當於1乘以2的3次方,即1*8=8;

所以a=(0<<2)|(1<<3)=0|8=8

16樓:匿名使用者

<<表示向左移,低位補0 比如一個二進位制數整數1111 1111 1110 1000向左移動

4位1111 1110 1000 0000 |表示取或 1111 1110 1000 0000 |1111 1111 1110 1000則為 1111 1111 1110 1000有1則為1 倆個都是0則0

17樓:苦行僧

x<表示將一個數x的所有二進位制位全

部左移n位,x>>m表示將一個數x的所有二進位制位全部右移m位,由此可知,0<<2還是0,1<<3就是8了,「|"是按位或的運算子,兩個相應的二進位制位中只要有一個為1,該位的結果就是1。所以最後的a的二進位制位是00001000,用十進位制數表示a=8.問題解決。

18樓:匿名使用者

《左移操作; | 逐位或操作

0<<2 = 0;

1<<3 = 8;

0|8 = 8;

所以 a = 8;

c語言0%2和1%2分別等於多少?

19樓:匿名使用者

%表示求餘數,a%b 表示求a除以b後得到的餘數值因此 :

0%2 = 0;(0除以2的餘數值為0)

1%2 = 1;(1除以2的餘數值為1)

20樓:匿名使用者

0 和 1

// %號是求餘運算子

// 0%2 就是 0除以2 的餘數為 0// 1%2 就是 1 了

21樓:匿名使用者

0%2=0

1%2=1

m%n = m-floor(m/n)*n

floor(n)是取小於n的最大整數,floor(2.3) = 2,floor(-2.5) = -3

22樓:奈何小巨集

要加深對這樣的概念問題的理解,可以試著在編譯器裡面測試一下就可以了

23樓:匿名使用者

0十2=2答:等於2

c語言中,為什麼表示式1/2的值為0,5/2的值為2?

24樓:天雨下凡

c語言中,整數相除,結果還是整數,取整,不進行四捨五入,直接丟掉小數部分

數學中1/2=0.5,c語言取整為0,同理:

數學中5/2=2.5,c語言取整為2

25樓:

參與計算的都是整型數吧,結果也是整型

1/2=0.5轉為整型後小數部分被丟掉,整數部分為0

5/2=2.5轉為整型後小數部分被丟掉,整數部分為2

在C語言中0 1是多少,c語言中0 1等於多少

請問0除以1餘數是多少,那麼0 1就是多少 是求餘數運算,0 1餘數為0,所以結果 0。是 取餘數 運算。0除以1,當然是商0,且餘數也是0啊。0 1 0。在c語言裡面是取餘運算,0 1 可以理解為 0除以1的餘數,當然是 0 用於整數除以整數,計算結果是 餘數 0 1 餘數 0 1 0 0 不能作...

c語言中102是多少,c語言中12等於多少

數學上是0.5。但在c語言中,則取決於表示和編譯器等。可以用printf驗證 printf 2f 1.0 2 輸專出 0.50 c表示式 1.0 2 符號屬 表示除,所以 1.0 2 的值等於0.5。其中,1.0是個單精度浮點數格式的字面值常量所以它是個浮點型資料,以浮點型編碼於記憶體 2是個整數格...

c語言中,求a,b的值,C語言中如何求a b的值!

a d,b 4.2f a,b 這引數不正確。a d,b 4.2f a,b 我想你可能是想說這個。它的執行結果是 a 4,b 9.50 還有 a d,b 4.2f a,b 的b 4.2f它表示小數點精確到2位。裡面的4是無意義的。2f精確到兩位,3f精確的三位.最後一行是輸出語句吧!4.2f之前是不是...