資源描述:
《C語言程序設(shè)計教程第4章》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、14.1關(guān)系運算及其表達式所謂“關(guān)系運算”實際上就是“比較運算”,即將兩個數(shù)據(jù)進行比較,判定兩個數(shù)據(jù)是否符合給定的關(guān)系。關(guān)系操作數(shù)可以是數(shù)值類型數(shù)據(jù)和字符型數(shù)據(jù)。一、關(guān)系運算符及其優(yōu)先次序1.關(guān)系運算符C語言提供6種關(guān)系運算符:<<=>=>==!=注意:在C語言中,“等于”關(guān)系運算符是雙等號“==”,而不是單等號“=”(賦值運算符)。2.優(yōu)先級(1)在關(guān)系運算符中,前4個優(yōu)先級相同,后2個也相同,且前4個高于后2個。(<<=>=>)>(==!=)(2)與其它種類運算符的優(yōu)先級關(guān)系關(guān)系運算符的優(yōu)先級,低于算術(shù)運算符,但高于賦值運算符。a+b>b+c等效于(a+b)>(b+c)。(
2、2+a)==(b-a)等效于2+a==b-a。23.結(jié)合性:自左至右;例如:inta=2,b=3,c=1;a>bb,值是0,再計算03<2值:1先計算6>3,值是1,再計算1<2,值為1二、關(guān)系表達式1.關(guān)系表達式的概念所謂關(guān)系表達式是指,用關(guān)系運算符將兩個表達式連接起來,進行關(guān)系運算的式子。例如,下面的關(guān)系表達式都是合法的:a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)==(b>c)2.關(guān)系表達式的值:若為真,則結(jié)果為1;若為假,則結(jié)果為0。由于C語言沒有邏輯型數(shù)據(jù),所以用整數(shù)“1”表示“邏輯真”,用整數(shù)“0
3、”表示“邏輯假”。3例如,假設(shè)num1=3,num2=4,num3=5,則:(1)num1>num2的值=0。(2)(num1>num2)!=num3的值=1。(3)num1=0”
4、。如果需要描述“x>=0”、同時“x<10”,就要借助于邏輯表達式了。一、邏輯運算及其優(yōu)先次序1.邏輯運算符及其運算規(guī)則(1)C語言提供三種邏輯運算符:&&邏輯與(相當于“同時”)
5、
6、邏輯或(相當于“或者”)!邏輯非(相當于“否定”)例如,下面的表達式都是邏輯表達式:(x>=0)&&(x<10),(x<1)
7、
8、(x>5),!(x==0),(year%4==0)&&(year%100!=0)
9、
10、(year%400==0)5(2)運算規(guī)則1)&&:全真為真。當且僅當兩個運算量的值都為“真”時,運算結(jié)果為“真”,否則為“假”。2)
11、
12、:全假為假。當且僅當兩個運算量的值都為“假”時,運
13、算結(jié)果為“假”,否則為“真”。3)!:非真即假,非假即真。當運算量的值為“真”時,運算結(jié)果為“假”;當運算量的值為“假”時,運算結(jié)果為“真”。例如,假定x=5,則(x>=0)&&(x<10)的值為“真”,(x<-1)
14、
15、(x>5)的值為“假”。inta=5;floatb=3.5;!a(0)!(a
16、
17、(或)(2)與其它種類運算符的優(yōu)先關(guān)系!→算術(shù)運算→關(guān)系運算→&&→
18、
19、→賦值運算3.邏輯運算符的結(jié)
20、合律C語言邏輯運算符采用左結(jié)合律。表達式中出現(xiàn)優(yōu)先級別為同一級別的運算符時,按從左到右的結(jié)合方向處理。例如:a&&b&&c計算順序為:(a&&b)&&c。4-01&&28<41015>3&&2
21、
22、8<4-!57二、邏輯表達式1.邏輯表達式的概念所謂邏輯表達式是指,用邏輯運算符將1個或多個表達式連接起來,進行邏輯運算的式子。在C語言中,用邏輯表達式表示多個條件的組合。例如,(year%4==0)&&(year%100!=0)
23、
24、(year%400==0)就是一個判斷一個年份是否是閏年的邏輯表達式。邏輯表達式的值也是一個邏輯值(非“真”即“假”)。2.邏輯量的真假判定──0和非0C
25、語言沒有邏輯類型數(shù)據(jù),邏輯運算根據(jù)數(shù)據(jù)是否為0進行判斷:數(shù)據(jù)為非0:邏輯真,數(shù)據(jù)為0:邏輯假;邏輯運算值的表示:邏輯真,值為1,邏輯假,值為0。例如,假設(shè)num=12,則:!num的值=0,num>=1&&num<=31的值=1,num
26、
27、num>31的值=1。83.說明(1)邏輯運算符兩側(cè)的操作數(shù),除可以是0和非0的整數(shù)外,也可以是其它任何類型的數(shù)據(jù),如實型、字符型等。(2)在計算邏輯表達式時,只有在必須執(zhí)行下一個表達式才能求解時,才求解該表達式(即并不是所有的表達式都被求解)。換句話說: