當前位置:
首頁 > 知識 > C語言邏輯運算符的分析

C語言邏輯運算符的分析

在高中數學中,我們學過邏輯運算,例如p為真命題,q就假命題,那麼「p且q」為假,「p或q」為真,「非q」為真。

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

邏輯運算的值

邏輯運算的值也為「真」和「假」兩種,用「1」和「0 」來表示,其求值規則如下。

1) 與運算(&&)

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

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

由於5>0為真,4>2也為真,相與的結果也為真。

2) 或運算(||)

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

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

由於5>0為真,相或的結果也就為真。

3) 非運算(!)

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

的結果為假。

注意:在邏輯運算中,0 為假,非 0 值都是真,例如

5

為真,

2*3

為真。對於表達式

(3+5)&&(9>3)

,由於3+5=8為真,9>3為真,所以結果也為真。

優先順序

邏輯運算符和其它運算符優先順序從低到高依次為:賦值運算符(=)

「&&」和「||」低於關係運算符,「!」高於算術運算符。

按照運算符的優先順序可以得出:

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

printf( "%d,%d
", i==5&&c&&(j=8), x+y||i+j+k );

return 0;

}

運行結果:

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

零基礎小白到大神之路,歡迎加裙 四八七八七五零零四,群里有免費C++課程,還有大量乾貨哦


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT技術java交流 的精彩文章:

C語言的巔峰如何到達
乾貨 嵌入式C語言編程小知識總結
看看200萬網友怎麼評論:程序員工資為什麼這麼高?
C語言新案例-迷宮製作
web前端:炫酷的火熱螺旋

TAG:IT技術java交流 |

您可能感興趣

Python入門教程——邏輯運算符、身份運算符和成員運算符
RA字根邏輯技巧
如何巧用邏輯分析儀分析數字信號?
知識+邏輯+推理
GMAT邏輯推理之引言以及類比/枚舉推理
IBM AI與人類辯論賽全程:機器語義、邏輯分析能力突飛猛進
汪聯輝&樊春海&范曲立:利用智能等離子納米感測器實現microRNA的單分子分析與邏輯運算
邏輯思辨:關於「邏輯派」與邏輯、辯證法的互懟
邏輯測試:6個會打破你的邏輯視野的謎語
景觀設計的邏輯思維——演講整理稿
毫無邏輯的影評
編輯的風景與邏輯
結構性貨幣政策的理論基礎與演進邏輯
一文看懂DGames的技術架構和業務邏輯!
當代邏輯、傳統邏輯和"普通人需要的邏輯"
哲學達人對史鐵生作品中的語言邏輯分析,太精闢了!
利用邏輯回歸分析設計手性晶體材料
「區塊鏈語言」重構財富管理邏輯
古代的邏輯是「文學化」的邏輯
淺談BAJ金融業務拆分的邏輯