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

2021-03-07 02:42:59 字數 5844 閱讀 3294

1樓:他de生活

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

&是一個位運算子。

&&是一個邏輯運算子。

2.作用不同。

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

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

3.用途限制。

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

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

2樓:匿名使用者

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

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

3樓:靠名真tm難起

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

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

4樓:月光疾風

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

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

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

5樓:匿名使用者

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

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

6樓:匿名使用者

區別在於

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

a&&b

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

7樓:第九暗騎士

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

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

「&」是位運算子。

與運算(&)

雙目運算。二個位都置位(等於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位是置位了

8樓:吹皺一片海

&:是按位與。例如

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

希望能幫到你!

9樓:yrl_龍

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

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

10樓:veket的小號

& 是 取地址符

&& 是 與邏輯 運算

11樓:匿名使用者

&&是邏輯「與」的意思

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

12樓:匿名使用者

&是取地址符

&&是或運算

13樓:夜黑丶我獨醉

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

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

c語言中 & 和 && 的區別

14樓:他de生活

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

&是一個位運算子。

&&是一個邏輯運算子。

2.作用不同。

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

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

3.用途限制。

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

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

15樓:靠名真tm難起

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

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

16樓:第九暗騎士

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

「&」是位運算子。

與運算(&)

雙目運算。二個位都置位(等於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位是置位了

17樓:匿名使用者

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

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

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

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

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

18樓:匿名使用者

區別在於

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

a&&b

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

19樓:

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

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語言中intp與intp的區別

經過兩天的上機試驗和自己的推理,我要感謝的是dukehhh同志,我是沿著你的想法推理下去的,你的想法是正確的,而且我還幫你進行了補充 int p 是一個指標變數,與之相對應的是int p n int p 4 是指向一個2維陣列的指標,與之相對應的是int p 4 int p 是指向一個指標的指標 與...

c語言中的char a,b strcpy a,b 與a b有什麼區別

strcpy是拷貝,從b地址開始取字元,一個一個複製到從a開始的地址上。最後你獲得了兩個相同字串,a和b分別指向兩個字串 a b,是修改a的地址,讓a指向b所在的位置。最後你只有一個字串,a和b都指向這個字串。char a,b 說明定義的是兩個char型指標變數 strcpy a,b 此處用法是錯誤...

C語言中c m和c m的區別,C語言中 「 c m」和「c m」的區別是什麼?

是取址運算bai符,取變數在內du存單元中的首zhi地址dao,取地址運算子的操作物件必須專是記憶體單元 如變數 數屬組元素等 是間接訪問運算子,間接訪問指標所指向的物件,運算子的操作物件必須是指標 地址 因此 c m是把m在記憶體中的地址賦給c這個指標指向的變數c m是把m的地址賦給c這個指標 1...