老分不清一個&號和倆的用法,今天專門拿出來整理整理:
一、邏輯運算符:
包括:1。&&邏輯與 2。||邏輯或 3。!邏輯非 邏輯運算符用于對包含關系運算符的表達式進行合并或取非 對于使用邏輯運算符的表達式,返回0表示“假”,返回1表示“真”。關于邏輯運算符的解釋 請注意:任何使用兩個字符做符號的運算符,兩字符之間不應有空格,即將==寫成= =是錯誤的。 假設一個程序在同時滿足條件a<10和b==7時,必須執(zhí)行某些操作。應使用關系運算符和邏輯運算符“與”來寫這個 條件的代碼。用&&表示“與”運算符,該條件代碼如下: (a<10) && (b==7); 類似地,“或”是用于檢查兩個條件中是否有一個為真的運算符。它由兩個連續(xù)的管道符號(||)表示。如果上例 改為:如果任一語句為真,則程序需執(zhí)行某些操作,則條件代碼如下: (a<10) || (b==7); 第三個邏輯運算符“非”用一個感嘆號(!)表示。這個運算符對表達式的真值取反。例如,如果變量s小于10,程序 程序需執(zhí)行某些操作,則條件代碼如下: (s<10) 或 (!(s>=10)) //s不大于等于10 關系運算符和邏輯運算符的優(yōu)先級一般都低于算術運算符。例如,5>4+3的計算與5>(4+3)運算符是一樣的,即 先計算4+3,再執(zhí)行關系運算。此表達示的結果為“假”,即,將返回0。 下面的語句 printf("%d",5>4+3); 將輸出 0
可以總結為:&&的結果是真真為真。||的結果是假假為假。
二、位運算符:
包括:1。&位與符 2。|位或符 3。^位異或符 4。~位取反符 以操作數(shù)12為例。位運算符將數(shù)字12視為1100。位運算符將操作數(shù)視為位而不是數(shù)值。數(shù)值 可以是任意進制的:十進制、八進制或十六進制。位運算符則將操作數(shù)轉化為二進制,并相應地返回1或0。 位運算符將數(shù)字視為二進制值,并按位進行相應運算,運算完成后再重新轉換為數(shù)字。例如: 表達式10&15表示(1010 & 1111),它將返回表示1010的值10。因為真真得真,或者是11得1,同位全是1結果也是1 表達式10|15表示(1010 | 1111),它將返回表示1111的值15。假假得假。全零得零。 表達式10^15表示(1010 ^ 1111), 它將返回表示0101的值5。此時是同性相斥,相同的就為假。 表達式~10表示(~1010),它將返回表示0101的值 -11。此號好理解,按位取反
|