C語言中(zhong)的邏輯值
時間:2019-03-04 來源:華(hua)清遠見
C語言中的邏輯值
1.C語言中(zhong)的邏輯值
2.邏輯運算(suan)符的運算(suan)規(gui)律
3.邏輯值的舉例(li)說明
一(yi).C語言(yan)中的邏輯值
邏輯值即邏輯運算操作的(de)結(jie)果(guo)。
在C語言中,邏輯運算包括(kuo)關系運算與(yu)邏輯運算。
關系運(yun)算包括大(da)于(yu)(>),小于(yu)(<),等于(yu)(==),不等于(yu)(!=),大(da)于(yu)等于(yu)(>=),小于(yu)等于(yu)(<=)。
邏輯(ji)運算包(bao)括邏輯(ji)與(yu)(&&),邏輯(ji)或(||),邏輯(ji)非(!)等,這些運算的結果被稱為邏輯(ji)值(zhi)。
當(dang)表達(da)式(shi)(shi)進行&&運(yun)算時,只要有(you)一個為(wei)(wei)假(jia)(jia),總(zong)的(de)表達(da)式(shi)(shi)就為(wei)(wei)假(jia)(jia),只有(you)當(dang)所有(you)都為(wei)(wei)真(zhen)時,總(zong)的(de)表達(da)式(shi)(shi)才(cai)(cai)為(wei)(wei)真(zhen)。當(dang)表達(da)式(shi)(shi)進行||運(yun)算時,只要有(you)一個為(wei)(wei)真(zhen),總(zong)的(de)值就為(wei)(wei)真(zhen),只有(you)當(dang)所有(you)的(de)都為(wei)(wei)假(jia)(jia)時,總(zong)的(de)表達(da)式(shi)(shi)才(cai)(cai)為(wei)(wei)假(jia)(jia)。邏輯(ji)非(fei)(!)運(yun)算是把相(xiang)應(ying)的(de)變量 數據(ju)轉換為(wei)(wei)相(xiang)應(ying)的(de)真(zhen)/假(jia)(jia)值。若原(yuan)先(xian)為(wei)(wei)假(jia)(jia),則邏輯(ji)非(fei)以(yi)(yi)后為(wei)(wei)真(zhen),若原(yuan)先(xian)為(wei)(wei)真(zhen),則邏輯(ji)非(fei)以(yi)(yi)后為(wei)(wei)假(jia)(jia)。
還有(you)一(yi)點(dian)很(hen)重(zhong)要,當一(yi)個邏輯表(biao)達(da)(da)式的后一(yi)部分(fen)的取(qu)值(zhi)不會影(ying)響整個表(biao)達(da)(da)式的值(zhi)時(shi),后一(yi)部分(fen)就不會進行運算(suan)了。例如:
a=2,b=1;
a||b-1;
因為(wei)(wei)a=2,為(wei)(wei)真值,所(suo)以不管(guan)b-1是(shi)不是(shi)真值,總的表達(da)(da)式一定(ding)為(wei)(wei)真值,這時后面的表達(da)(da)式就不會再計(ji)算了。
邏(luo)輯(ji)值只有(you)兩個值,即true(真)和(he)false(假),在C語言中true用(yong)1表示(shi),false用(yong)0表示(shi)。
需要注意的是,在(zai)C語言中并沒有邏(luo)輯(ji)數據類型(xing),在(zai)需要保存邏(luo)輯(ji)值時,可以(yi)用整型(xing)類型(xing)保存。例(li)如:
int x=10,y=20;
int c = (x>y);//x>y此(ci)表達(da)式為(wei)假,則整個(ge)表達(da)式的(de)值為(wei)0,即c變量的(de)值為(wei)0;
printf(“c=%d\n”,c);//結果:c=0
當(dang)表(biao)(biao)(biao)達式(shi)進行&&運(yun)算(suan)時,只(zhi)要(yao)有(you)(you)(you)(you)一個(ge)為(wei)假(jia),總(zong)的(de)表(biao)(biao)(biao)達式(shi)就為(wei)假(jia),只(zhi)有(you)(you)(you)(you)當(dang)所有(you)(you)(you)(you)都(dou)為(wei) 真(zhen)(zhen)時,總(zong)的(de)式(shi)子才為(wei)真(zhen)(zhen)。當(dang)表(biao)(biao)(biao)達式(shi)進行||運(yun)算(suan)時,只(zhi)要(yao)有(you)(you)(you)(you)一個(ge)為(wei)真(zhen)(zhen),總(zong)的(de)值(zhi)就為(wei)真(zhen)(zhen),只(zhi)有(you)(you)(you)(you)當(dang)所有(you)(you)(you)(you)的(de)都(dou)為(wei)假(jia)時,總(zong)的(de)式(shi)子才為(wei)假(jia)。邏輯(ji)非(!)運(yun)算(suan)是把相應的(de)變量(liang) 數據轉換(huan)為(wei)相應的(de)真(zhen)(zhen)/假(jia)值(zhi)。若(ruo)(ruo)原先(xian)為(wei)假(jia),則邏輯(ji)非以(yi)(yi)后(hou)為(wei)真(zhen)(zhen),若(ruo)(ruo)原先(xian)為(wei)真(zhen)(zhen),則邏輯(ji)非以(yi)(yi)后(hou)為(wei)假(jia)。
還有(you)一(yi)(yi)點很重要,當一(yi)(yi)個邏輯(ji)表(biao)達式(shi)(shi)的(de)后一(yi)(yi)部分的(de)取值(zhi)不會影響(xiang)整(zheng)個表(biao)達式(shi)(shi)的(de)值(zhi)時(shi),后一(yi)(yi)部分就(jiu)不會進(jin)行運算了。例如:
a=2,b=1;
a||b-1;
因為(wei)a=2,為(wei)真值(zhi)(zhi),所以不(bu)管(guan)b-1是(shi)(shi)不(bu)是(shi)(shi)真值(zhi)(zhi),總的表(biao)達式(shi)一定為(wei)真值(zhi)(zhi),這時后面的表(biao)達式(shi)就不(bu)會再計算了(le)。
二.邏輯運算符(fu)的運算規律(lv)

三.舉例
eg1:關系(xi)運算表達式的舉例:
int a=5, b=6;
a>(b-1) 結果值為0
(a +1)== b 結(jie)果值為1
a>=(b-2) 結果值為1
a<100 結果(guo)值(zhi)為1
(a+3)<=b 結果值為0
a != (b-1) 結果(guo)值為0
eg2:
int k=8;
! ( k ==0) 結(jie)果值為(wei)1
! ((k-8) == 0) 結果值(zhi)為0
! (k<= 0) 結(jie)果值為(wei)1
int x=5, y=18;
(x>=5) && (y<20) 結果值為1
((x+1)>=0) && (y<17) 結果值為0
((x-8)>=0) && (y==18) 結果值為0
((x-5)>0) && (y!=18) 結果值為0
((x>=5)) || (y<20) 結果值為1
((x+1)>=0) || (y<17) 結果值為1
((x-8)>=0) || (y==18) 結果值為1
((x-5)>0) || (y!=8) 結果值為0