c語言中和的區別C語言中和的區別

2021-03-05 09:17:12 字數 5840 閱讀 7731

1樓:他de生活

區別:1.運算子性質不同。

&是乙個位運算子。

&&是乙個邏輯運算子。

2.作用不同。

&是將兩個二進位制的數逐位相與,結果是相與之後的結果。

&&就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有乙個為假則為假,具有短路性質。

3.用途限制。

&除了是乙個位運算子,也是取位址符。

&&就是乙個單純的邏輯運算子,沒有任何其他含義。

2樓:靠名真tm難起

&和&&都是邏輯運算子,都是判斷兩邊同時真則為真,否則為假;但是&&當第乙個條件不成之後,後面的條件都不執行了,而&則還是繼續執行,直到整個條件語句執行完為止。

如&&例子中的i++>5被執行了,而i++<9並沒有被執行,這就是他們的差別。&例子中的i++>5和i++<9都被執行了。

3樓:第九暗騎士

「&&」(邏輯與)是邏輯運算子。 「邏輯與」相當於生活中說的「並且」,就是兩個條件都同時成立的情況下「邏輯與」的運算結果才為「真」。

「&」是位運算子。

與運算(&)

雙目運算。二個位都置位(等於1)時,結果等於1,其它的結果都等於0。

1 & 1 == 1

1 & 0 == 0

0 & 1 == 0

0 & 0 == 0

與運算的乙個用途是檢查指定位是否置位(等於1)。例如乙個byte裡有標識位,要檢查第4位是否置位,**如下:

byte b = 50;

if ( b & 0x10 )

cout < < "bit four is set " < < endl;

else

cout < < "bit four is clear " < < endl;

上述**可表示為:

00110010 - b

& 00010000 - & 0x10

----------------------------

00010000 - result

可以看到第4位是置位了

4樓:匿名使用者

這兩個運算子都是二進位制的按位操作符。

&: 二進位制「與」,如 1010 & 1011 = 1010,1010 & 1000 = 1000。都為1時,結果是1,否則是0

|: 二進位制「或」,如 1010 | 1011 = 1011,1010 | 1000 = 1010。有1時,結果是1,都是0時,結果為0。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。

5樓:匿名使用者

區別在於

a&b按位與& 總會計算兩個表示式的值

a&&b

而邏輯與&&,如果第乙個表示式為假,後面乙個表示式就不會計算了;

6樓:

&一般用作位址符號,如定義陣列a,&a就是指向陣列的第乙個數的位址,&&是邏輯與的意思

c語言中&與&&的區別

7樓:他de生活

區別:1.運算子性質不同。

&是乙個位運算子。

&&是乙個邏輯運算子。

2.作用不同。

&是將兩個二進位制的數逐位相與,結果是相與之後的結果。

&&就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有乙個為假則為假,具有短路性質。

3.用途限制。

&除了是乙個位運算子,也是取位址符。

&&就是乙個單純的邏輯運算子,沒有任何其他含義。

8樓:匿名使用者

&是乙個位運算子,就是將兩個二進位制的數逐位相與,就是都是1才是1,只要有乙個為0則為0,結果是相與之後的結果。

&&是乙個邏輯運算子,就是判斷兩個表示式的真假性,只有兩個表示式同時為真才為真,有乙個為假則為假,具有短路性質。

9樓:靠名真tm難起

&和&&都是邏輯運算子,都是判斷兩邊同時真則為真,否則為假;但是&&當第乙個條件不成之後,後面的條件都不執行了,而&則還是繼續執行,直到整個條件語句執行完為止。

如&&例子中的i++>5被執行了,而i++<9並沒有被執行,這就是他們的差別。&例子中的i++>5和i++<9都被執行了。

10樓:月光疾風

"&&"表示"與", 意思是條件必須同時成立"||" 表示"或", 意思是條件有乙個成立即可.

if((a*a+b*b>c*c)&&(b*b+c*c>a*a)&&(c*c+a*a>b*b))這個是判斷銳角三角形的條件,你只要學過數學就應該知道銳角三角形的成立條件是:任意兩邊長度的平方和大於第三邊長度的平方。

所以要用"&&"而不是"||"。

11樓:匿名使用者

因為if((a*a+b*b>c*c)&&(b*b+c*c>a*a)&&(c*c+a*a>b*b))這三個條件必須同時滿足(也就是邏輯與)的條件下才是銳角三角形。

||的話只要乙個條件滿足就可以。

12樓:匿名使用者

區別在於

a&b按位與& 總會計算兩個表示式的值

a&&b

而邏輯與&&,如果第乙個表示式為假,後面乙個表示式就不會計算了;

13樓:第九暗騎士

「&&」(邏輯與)是邏輯運算子。 「邏

輯與」相當於生活中說的「並且」,就是兩個條件都同時成立的情況下「邏輯與」的運算結果才為「真」。

「&」是位運算子。

與運算(&)

雙目運算。二個位都置位(等於1)時,結果等於1,其它的結果都等於0。

1 & 1 == 1

1 & 0 == 0

0 & 1 == 0

0 & 0 == 0

與運算的乙個用途是檢查指定位是否置位(等於1)。例如乙個byte裡有標識位,要檢查第4位是否置位,**如下:

byte b = 50;

if ( b & 0x10 )

cout < < "bit four is set " < < endl;

else

cout < < "bit four is clear " < < endl;

上述**可表示為:

00110010 - b

& 00010000 - & 0x10

----------------------------

00010000 - result

可以看到第4位是置位了

14樓:吹皺一片海

&:是按位與。例如

&&:是邏輯與。結果只有0或者1,也就是只有真假。

希望能幫到你!

15樓:yrl_龍

&是位運算,按位與;同時也是取位址符。

&&是邏輯運算,邏輯與。

16樓:veket的小號

& 是 取位址符

&& 是 與邏輯 運算

17樓:匿名使用者

&&是邏輯「與」的意思

&是按位「與」的意思,此外 「&」還有 取位址的意思

18樓:匿名使用者

&是取位址符

&&是或運算

19樓:夜黑丶我獨醉

& 符號是按位運算, 即 二個二進位制數 對應計算, 運算時候,都是1 結果才是1 ,只要有0 結果就是0,所以 & 有清零的作用,| 正好相反,有置一作用、

&& 邏輯與, 兩邊一般是表示式, 得出表示式的結果如果第乙個是假,不會計算第二個表示式,直接返回false

c語言中&&與&有什麼區別

20樓:海天盛筵

語言中&&與&有三個區別:作用不同、輸出的值不同、使用方法不同。如下參考:

一、作用不同

&表示按位與運算,另外也是取位址符;

例如:0010&1101,結果為0000

&&表示邏輯與運算;

例如:if(a==0&&b==0),意思就是ifa為0並且b為0的時候,進行下一步操作。

二、輸出的值不同

&&:b輸出的值為2,說明b沒有自加1,沒有執行到&&右邊括號裡的b++。0與上任何數都得0,所以當&&左邊的數為0時,直接跳過了判斷右邊值的步驟。

所以在第二個程式中,當a的值為0時(a的值為0),程式不會判斷&&右邊的值,也就是說,它不會執行b++,所有b的值仍然是2。而位和&,不管a的值是否為0,都會決定右邊的值,會回到右邊的語句。

三、使用方法不同

1、&的使用方法是把兩個變數a和b進行每個位進行與操作。

例:#include

intmain()

2、&&的使用方法

例:#include

intmain()

else

return0;}

21樓:仁昌居士

c語言中&&與&區別為:性質不同、

判斷依據不同、結果型別不同。

一、性質不同

1、&&:&&是邏輯操作符,表示為「邏輯與」。

2、&:&是按位操作符,表示為「按位與」。

二、判斷依據不同

1、&&:&&的判斷依據是x和y均為true,取值是true,否則取值是false。

2、&:&的判斷依據是將x和y兩個數轉為二進位制進行逐位相與,同位都為1為1,否則為0。

三、結果型別不同

1、&&:&&的計算結果型別是boolean型別。

2、&:&的計算結果型別是二進位制型別。

22樓:非常可愛

一、作用不同

&表示按位與運算,另外也是取位址符;

例如:0010&1101,結果為

0000

&&表示邏輯與運算;

例如:if(a==0&&b==0),意思就是ifa為0並且b為0的時候,進行下一步操作。

二、輸出的值不同

&&:b輸出的值為2,說明b沒有自加1,沒有執行到&&右邊括號裡的b++。0與上任何數都得0,所以當&&左邊的數為0時,直接跳過了判斷右邊值的步驟。

所以在第二個程式那裡,當a的值為0(而a的值也的確為0)時,這個程式沒有去判斷&&右邊的值,即沒有執行b++,所有b的值還是為2。而按位與&則不管,不管a的值是不是0,都會判斷右邊的值,都回執行到右邊的語句。

三、使用方法不同

1、&的使用方法是把兩個變數a和b進行每個位進行與操作。

例:#include

intmain()

2、&&的使用方法

例:#include

intmain()

else

return0;}

關於c語言中關於C語言中和的用法

和 都是邏輯表示式裡常用的,一般用法是 if 表示式1 表示式2 或者 if 表示式1 表示式2 表示 或 滿足其中乙個,整個表示式就為真,就滿足if判定的條件 例如 if 1 0 std cout hello n 輸出為hello 表示 且 if括號內的表示式都為真 才能滿足if判定的條件 才會執...

c語言中a和a的區別,C語言中a和a的區別

an和a的區別,用法區別 如果要列印的值是a 如printf d a 那列印出來的只是a的值.但是第二次列印的a值就是回 後的值.就是先答列印後 a就是先改變a的值,再列印出來.具體差別你可以自己試著執行比較一下.a a先加1,所以此時的a 9,所以輸出是9,a 是a先傳參,再減1,所以輸出是9。要...

c語言中的,c語言中的EOF

全文結束就是文字的結束,0 是字串結尾字元,在螢幕上敲的話,linux下輸入ctrl d,windows下輸入ctrl z,os下輸入f4,就能輸入eof。兩個while語句,前面乙個判斷讀取字元是否為eof,後面乙個判斷讀取字元是否為換行字元。如果敲回車的話,沒有eof,只有 r,r是回車符。全文...