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