C語言基礎(chǔ)知識—邏輯表達(dá)式
“&&”和“||”的運(yùn)算對象有兩個,故它們都是雙目運(yùn)算符,而!的運(yùn)算對象只有一個,因此它是單目運(yùn)算符。邏輯運(yùn)算舉例如下:
(1)a&&b: 當(dāng)&&兩邊都為“真”時,表達(dá)式a&&b的值才是真。
值得注意的是:在數(shù)學(xué)中,關(guān)系式0
(2)a||b: 當(dāng)||兩邊有一個為“真”時,表達(dá)式a||b的值就是真。
(3)!a: 表示取反,如果a為真,則!A為假,反之亦然。例如!-5的值就為0.
在C語言中,由&&或||組成的邏輯表達(dá)式,在某些特定情況下會產(chǎn)生“短路“現(xiàn)象。
(1)x && y && z ,只有當(dāng)x為真(非0)時,才需要判別y的值;只有x和y都為真時,才需要去判別z的值;只要x為假就不必判別y和z,整個表達(dá)式的值為0??谠E:“一假必假”。
例:(!5==1)&&(++i==0) (!5==1)表達(dá)式的值為0,所以計算機(jī)運(yùn)行中就跳過(++i==0)此表達(dá)式,(!5==1)&&(++i==0)表達(dá)式的值為0.
(2)x||y||z ,只要x的值為真(非零),就不必判別y和z的值 ,整個表達(dá)式的值為1,只有x的值為假,才需要判別y的值,只有x和y的值同時為假才需要判別z的值,口訣:“一真必真”。
點(diǎn)擊加載更多評論>>