在高中數(shù)學中,我們學過邏輯運算,例如p為真命題,q就假命題,那么“p且q”為假,“p或q”為真,“非q”為真。關(guān)于C語言邏輯運算符你了解多少呢?

  在C語言中,也有類似的邏輯運算:

  邏輯運算的值也為“真”和“假”兩種,用“1”和“0 ”來表示,其求值規(guī)則如下?!?/p>  邏輯運算的值

  1) 與運算(&&)

  參與運算的兩個量都為真時,結(jié)果才為真,否則為假。例如:

  (5>0) && (4>2)

  由于5>0為真,4>2也為真,相與的結(jié)果也為真。

  2) 或運算(||)

  參與運算的兩個量只要有一個為真,結(jié)果就為真。 兩個量都為假時,結(jié)果為假。例如:

  (5>0) || (5>8)

  由于5>0為真,相或的結(jié)果也就為真。

  3) 非運算(!)

  參與運算量為真時,結(jié)果為假;參與運算量為假時,結(jié)果為真。例如:

  !(5>0)

  的結(jié)果為假。

  注意:在邏輯運算中,0 為假,非 0 值都是真,例如5為真,2*3為真。對于表達式(3+5)&&(9>3),由于3+5=8為真,9>3為真,所以結(jié)果也為真。

  優(yōu)先級

  邏輯運算符和其它運算符優(yōu)先級從低到高依次為:賦值運算符(=) < &&和|| < 關(guān)系運算符 < 算術(shù)運算符 < 非(!)

  “&&”和“||”低于關(guān)系運算符,“!”高于算術(shù)運算符。

  按照運算符的優(yōu)先順序可以得出:

  a>b && c>d 等價于 (a>b)&&(c>d)

  !b==c||d

  a+b>c&&x+yc)&&((x+y)

  另外,邏輯表達式也可以嵌套使用,例如a>b && b || 9>c,a || c>d && !p。

  邏輯運算符舉例:

  #include int main(){char c='k';int i=1,j=2,k=3;float x=3e+5,y=0.85;printf( "%d,%d", !x*!y, !!!x );printf( "%d,%d", x||i&&j-3, i

  運行結(jié)果:

  0,0

  1,0

  0,1

  本例中!x和!y分別為0,!x*!y也為0,故其輸出值為0。由于x為非0,故!!!x的邏輯值為0。對x|| i && j-3式,先計算j-3的值為非0,再求i && j-3的邏輯值為1,故x||i&&j-3的邏輯值為 1。對i

1.《c語言邏輯運算符 C語言邏輯運算符有哪些》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《c語言邏輯運算符 C語言邏輯運算符有哪些》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/jiaoyu/76785.html