),小于( =),小于等于( " />
當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > C語(yǔ)言中的邏輯值
C語(yǔ)言中的邏輯值
1.C語(yǔ)言中的邏輯值
2.邏輯運(yùn)算符的運(yùn)算規(guī)律
3.邏輯值的舉例說(shuō)明
一.C語(yǔ)言中的邏輯值
邏輯值即邏輯運(yùn)算操作的結(jié)果。
在C語(yǔ)言中,邏輯運(yùn)算包括關(guān)系運(yùn)算與邏輯運(yùn)算。
關(guān)系運(yùn)算包括大于(>),小于(<),等于(==),不等于(!=),大于等于(>=),小于等于(<=)。
邏輯運(yùn)算包括邏輯與(&&),邏輯或(||),邏輯非(!)等,這些運(yùn)算的結(jié)果被稱為邏輯值。
當(dāng)表達(dá)式進(jìn)行&&運(yùn)算時(shí),只要有一個(gè)為假,總的表達(dá)式就為假,只有當(dāng)所有都為真時(shí),總的表達(dá)式才為真。當(dāng)表達(dá)式進(jìn)行||運(yùn)算時(shí),只要有一個(gè)為真,總的值就為真,只有當(dāng)所有的都為假時(shí),總的表達(dá)式才為假。邏輯非(!)運(yùn)算是把相應(yīng)的變量 數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的真/假值。若原先為假,則邏輯非以后為真,若原先為真,則邏輯非以后為假。
還有一點(diǎn)很重要,當(dāng)一個(gè)邏輯表達(dá)式的后一部分的取值不會(huì)影響整個(gè)表達(dá)式的值時(shí),后一部分就不會(huì)進(jìn)行運(yùn)算了。例如:
a=2,b=1;
a||b-1;
因?yàn)閍=2,為真值,所以不管b-1是不是真值,總的表達(dá)式一定為真值,這時(shí)后面的表達(dá)式就不會(huì)再計(jì)算了。
邏輯值只有兩個(gè)值,即true(真)和false(假),在C語(yǔ)言中true用1表示,false用0表示。
需要注意的是,在C語(yǔ)言中并沒(méi)有邏輯數(shù)據(jù)類型,在需要保存邏輯值時(shí),可以用整型類型保存。例如:
int x=10,y=20;
int c = (x>y);//x>y此表達(dá)式為假,則整個(gè)表達(dá)式的值為0,即c變量的值為0;
printf(“c=%d\n”,c);//結(jié)果:c=0
當(dāng)表達(dá)式進(jìn)行&&運(yùn)算時(shí),只要有一個(gè)為假,總的表達(dá)式就為假,只有當(dāng)所有都為 真時(shí),總的式子才為真。當(dāng)表達(dá)式進(jìn)行||運(yùn)算時(shí),只要有一個(gè)為真,總的值就為真,只有當(dāng)所有的都為假時(shí),總的式子才為假。邏輯非(!)運(yùn)算是把相應(yīng)的變量 數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的真/假值。若原先為假,則邏輯非以后為真,若原先為真,則邏輯非以后為假。
還有一點(diǎn)很重要,當(dāng)一個(gè)邏輯表達(dá)式的后一部分的取值不會(huì)影響整個(gè)表達(dá)式的值時(shí),后一部分就不會(huì)進(jìn)行運(yùn)算了。例如:
a=2,b=1;
a||b-1;
因?yàn)閍=2,為真值,所以不管b-1是不是真值,總的表達(dá)式一定為真值,這時(shí)后面的表達(dá)式就不會(huì)再計(jì)算了。
二.邏輯運(yùn)算符的運(yùn)算規(guī)律
三.舉例
eg1:關(guān)系運(yùn)算表達(dá)式的舉例:
int a=5, b=6;
a>(b-1) 結(jié)果值為0
(a +1)== b 結(jié)果值為1
a>=(b-2) 結(jié)果值為1
a<100 結(jié)果值為1
(a+3)<=b 結(jié)果值為0
a != (b-1) 結(jié)果值為0
eg2:
int k=8;
! ( k ==0) 結(jié)果值為1
! ((k-8) == 0) 結(jié)果值為0
! (k<= 0) 結(jié)果值為1
int x=5, y=18;
(x>=5) && (y<20) 結(jié)果值為1
((x+1)>=0) && (y<17) 結(jié)果值為0
((x-8)>=0) && (y==18) 結(jié)果值為0
((x-5)>0) && (y!=18) 結(jié)果值為0
((x>=5)) || (y<20) 結(jié)果值為1
((x+1)>=0) || (y<17) 結(jié)果值為1
((x-8)>=0) || (y==18) 結(jié)果值為1
((x-5)>0) || (y!=8) 結(jié)果值為0