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

2021-03-03 23:46:32 字數 5534 閱讀 4299

1樓:匿名使用者

&&:邏輯與,

抄前後條件襲同時滿足表示式為真

||:邏輯或,前後條件只要有一個滿足表示式為真&:按位與

|:按位或

&&和||是邏輯運算,&與|是位運算

假如在計算機中true以非0值表示,不同的編譯器true值也不一樣,一般為1

a||b = true,

a&b = 0; 值唯一

a|b = 0xff; 值唯一

「&&」跟「|」沒有關係,在用「||」的地方一般也可以用|代替,但是用「|」的地方不能用「||」代替

2樓:大肚子福福

&&前後條件都滿足,|只滿足一個就行,如果前一個條件滿足,可以不判斷後面一個條件

3樓:無語

推薦你好好看看書,就是挺簡單的別想的那麼複雜 這些你會應用就可以了 如果你是底層開發的 那就要精通了哦

c語言中 & 和 && 的區別

4樓:他de生活

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

&是一個位運算子。

&&是一個邏輯運算子。

2.作用不同。

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

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

3.用途限制。

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

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

5樓:靠名真tm難起

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

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

6樓:第九暗騎士

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

「&」是位運算子。

與運算(&)

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

7樓:匿名使用者

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

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

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

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

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

8樓:匿名使用者

區別在於

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

a&&b

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

9樓:

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

c語言裡||和&&的區別

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樓:小貓釣魚

銳角三角形的性質:任何兩邊的平方的和都必須大於第三邊的平方。

因為是「任何...都...」,所以a2+b2>c2,a2+c2>b2,b2+c2>a2這三個式子必須同時滿足,而不是滿足一個即可,所以使用 &&

13樓:匿名使用者

&&是邏輯與,只有他左右兩個表示式都為真,整個表示式才為真,在他的左表示式為假的時候右表示式是不判斷的,

||是邏輯或,只要他左右的表示式有一個為真,整個表示式就為真,在他的左表示式為真的時候右表示式是不判斷的。

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

14樓:海天盛筵

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

一、作用不同

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

例如: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;}

15樓:仁昌居士

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

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

一、性質不同

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

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

二、判斷依據不同

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

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

三、結果型別不同

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

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

16樓:非常可愛

一、作用不同

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

例如: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;}

17樓:匿名使用者

&& 有以下的意思

1邏輯運算子中的與運算,比如; 1 && 6 的值為真,而0&& 2為假

&有以下的意思:

1是指標中的取地址符運算子,比如:int i,*p;p=&i;就是把i的地址賦給指標變數。

2.位與,如3&5 意思就是 011 & 101 = 001,也就是1啦

你問的區別的話,應該是邏輯與和位與的區別吧,一個是以整體來與,一個是與其中的位來與的

18樓:匿名使用者

&是取地址符,就是獲取地址,比如 int a; 那麼 &a,就是獲取 a 的地址,

&&是「且」的意思,比如 int b; 那麼 b>2&&b<3 就是b>2並且b<3。

19樓:董晉菅鶴軒

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

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

20樓:豬頭或火寶寶

&& 是邏輯運算子中的與運算,比如; 1 && 6 的值為真,而0&& 2為假

而&是指標中的取地址符運算子,比如:int i,*p;p=&i;就是把i的地址賦給指標變數。

21樓:匿名使用者

c語言中運算子&&是邏輯與運算子。它兩邊的表示式一般是邏輯表示式或關係表示式。如果兩個表示式的值都為非0,則&&運算的結果為1;只要其中有一個表示式的值為0,&&運算的結果就是0。

運算子&是按位與運算子。它的含義是將運算子兩邊的表示式的值的二進位制位進行與運算,即:如果兩個數值的同一位上的數都是1,則兩數相與後這一位上的數就是1,只要有一個數值的這一位上的數是0,那麼相與後這一位上的數就是0。

對兩數的每一位上的值都按位與後得到的值就是運算結果。

c語言中》和《如何使用C語言中和如何使用?

c語言中 代表左移運算子,代表右移運算子,位移位運算子是將資料看成二進位制數,對其進行向左或向右移動若干位的運算。代表左移運算子 左移運算子用來將一個數的各二進位制位全部左移若干位,移動的位數由右運算元指定,右運算元必須是非負值,其右邊空出的位用0填補,高位左移溢位則捨棄該高位。例如 設無符號短整型...

c語言中ltgt和有什麼區別C語言中和有什麼區別

舉例說明 例如你使用的是turboc include 代表編譯時直接在turboc軟體設定指定的路徑 預設是turboc所在資料夾下的include資料夾 中尋找裡面是否有stdlib.h的庫檔案。如果有,直接載入 如果沒有,報錯 無法找到庫檔案 include stdlib.h 代表編譯時先尋找你...

c語言中和的優先順序問題C語言中和的優先順序問題

經過n遍的除錯,證明 1 和 優先順序相等,且都是從左往右運算2 在出現 和 的語句中,並不對a 進行運算,只判斷它的初值。當然,這條語句結束後,涉及判斷的表示式就會進行相應的運算 如 a 3 在 運算中,如果 前面的邏輯值為0 如 令a 0 a b 此時,a還沒有進行 運算,仍為0。但是在本語句結...