C語言提供了一組邏輯運(yùn)算符:或(||)、且(&&)、非(!),分別對應(yīng)于命題邏輯中的 OR、AND、NOT運(yùn)算。
邏輯運(yùn)算符:或 ||。在命題邏輯中,當(dāng)P=1或Q=1時,P||Q等于1。
邏輯運(yùn)算符:且 &&。在命題邏輯中,當(dāng)P=1且Q=1時,P&&Q才等于1。
邏輯運(yùn)算符:非 !。在命題邏輯中,當(dāng)P等于0時,!P等于1,反之亦然。
邏輯運(yùn)算認(rèn)為所有非零的參數(shù)都表示為TRUE,而參數(shù)0表示FALSE,它們返回1(TRUE)或0(FALSE)。
邏輯運(yùn)算符&&和||與對應(yīng)的位級運(yùn)算&和|之間一個重要區(qū)別是,如果對第一個參數(shù)求值就能確定表達(dá)式的結(jié)果,那么邏輯運(yùn)算符就不會對第二個參數(shù)求值。
對于 x && y:當(dāng)邏輯與左邊x為FALSE時,則不再進(jìn)行右邊y的判斷,結(jié)果為FALSE。因此,若a=0,表達(dá)式 a && 5/a 將不會造成除零。
對于 x || y:當(dāng)邏輯或左邊x為FALSE,繼續(xù)右邊y的判斷,如果為TRUE,則邏輯或結(jié)果為TRUE;當(dāng)邏輯或左邊x為TRUE,則不再進(jìn)行右邊y的判斷,即邏輯或結(jié)果為TRUE。
邏輯運(yùn)算符和其它運(yùn)算符優(yōu)先級從低到高依次為:
邏輯非 ! > 算術(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > 邏輯與 &&、邏輯或 || > 賦值=
-
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136826
發(fā)布評論請先 登錄
相關(guān)推薦
評論