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