c語言課件譚浩強cha

c語言課件譚浩強cha

ID:39963508

大?。?62.31 KB

頁數(shù):58頁

時間:2019-07-16

c語言課件譚浩強cha_第1頁
c語言課件譚浩強cha_第2頁
c語言課件譚浩強cha_第3頁
c語言課件譚浩強cha_第4頁
c語言課件譚浩強cha_第5頁
資源描述:

《c語言課件譚浩強cha》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第5章選擇結(jié)構(gòu)程序設(shè)計5.1關(guān)系運算符和關(guān)系表達(dá)式關(guān)系運算是邏輯運算中比較簡單的一種。所謂“關(guān)系運算”實際上是“比較運算”。將兩個值進行比較,判斷比較的結(jié)果是否符合給定的條件。例如,a>3是一個關(guān)系表達(dá)式,大于號(>)是一個關(guān)系運算符,如果a的值為5,則滿足給定的“a>3”條件,因此關(guān)系表達(dá)式的值為“真”(即“條件滿足”);如果a的值為2,不滿足“a>3”條件,則稱關(guān)系表達(dá)式的值為“假”(即“條件不滿足”)。5.1.1關(guān)系運算符及其優(yōu)先次序C語言提供6種關(guān)系運算符:(1)<(小于)(2)<=(小

2、于或等于)(3)>(大于)(4)>=(大于或等于)〕(5)==(等于)(6)!=(不等于)關(guān)于優(yōu)先次序:1.前4種關(guān)系運算符(<,<=,>,>=)的優(yōu)先級別相同,后兩種也相同。前4種高于后2種。例如,“>”優(yōu)先于“==”。而“>”與“<”優(yōu)先級相同。2.關(guān)系運算符的優(yōu)先級低于算術(shù)運算符。3.關(guān)系運算符的優(yōu)先級高于賦值運算符。高→低算術(shù)運算符關(guān)系運算符賦值運算符例如:c>a+b等效于c>(a+b)a>b!=c等效于(a>b)!=ca==b

3、,-左<,>,<=,>=左==,!=左=低右運算符的目:參與運算的操作數(shù)的個數(shù)單目、雙目、三目除=外,奇數(shù)目運算符右結(jié)合性偶數(shù)目運算符左結(jié)合性5.1.2關(guān)系表達(dá)式用關(guān)系運算符將兩個表達(dá)式(可以是算術(shù)表達(dá)式或關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式、字符表達(dá)式)連接起來的式子,稱關(guān)系表達(dá)式。例如,下面都是合法的關(guān)系表達(dá)式:a>b,a+b>b+c,(a=3)>(b=5),’a’<’b’,(a>b)>(b<c)關(guān)系表達(dá)式的值是一個邏輯值,即“真”或“假”。例如,關(guān)系表達(dá)式“5==3”的值為“假”,“5>=0

4、”的值為“真”。C語言沒有邏輯型數(shù)據(jù)(Pascal語言以True表示“真”,以Fa1se表示“假”。PASCAL和FORTRAN等語言都有邏輯型變量和邏輯型常量),以1代表“真”,以“0”代表“假”。例如,若a=3,b=2,c=1,則:a>b的值為”真”,表達(dá)式的值為1。(a>b)==c的值為“真”(因為a>b的值為1,等于c的值),表達(dá)式的值為1。b+c<a的值為“假”,表達(dá)式的值為0。如果有以下賦值表達(dá)式:d=a>bd的值為1。f=a>b>cf的值為0(因為“>”運算符是自左至右的結(jié)合方向,

5、先執(zhí)行“a>b”,得值為1,再執(zhí)行關(guān)系運算:“1>c”得值0,賦給f5.2邏輯運算符和邏輯表達(dá)式用邏輯運算符將關(guān)系表達(dá)式或邏輯量連接起來就是邏輯表達(dá)式。下面介紹C語言中的邏輯運算符和邏輯運算。5.2.1邏輯運算符及其優(yōu)先級C語言提供三種邏輯運算符:1.&&邏輯與(相當(dāng)于其它語言中的AND)2.

6、

7、邏輯或(相當(dāng)于其它語言中的OR)3.!邏輯非(相當(dāng)于其它語言中的NOT)&&和

8、

9、”是“雙目(元)運算符”,它要求有兩個運算量(操作數(shù)),如(a>b)&&(x>y),(a>b)

10、

11、(x>y)?!?!”是“

12、一目(元)運算符”,只要求有一個運算量,如?。╝>b)。邏輯運算舉例如下:a&&b若a,b為真,則a&&b為真。a

13、

14、b若a,b之一為真,則a

15、

16、b為真。!a若a為真,則!a為假。下表為邏輯運算的“真值表”。用它表示當(dāng)a和b的值為不同組合時,各種邏輯運算所得到的值。ab!a!ba&&ba

17、

18、bTTFFTTTFFTFF在一個邏輯表達(dá)式中如果包含多個邏輯運算符,如!a&&b

19、

20、x>y&&c優(yōu)先次序:高→低!→算術(shù)運算符→關(guān)系運算符→&&→

21、

22、→賦值運算符!a&&b

23、

24、x>y&&c((!a)&&b)

25、

26、

27、((x>y)&&c)(a>b)&&(x>y)可寫成:a>b&&x>y(a==b)

28、

29、(x==y)可寫成:a==b

30、

31、x>y(!a)

32、

33、(a>b)可寫成:!a

34、

35、a>b運算符優(yōu)先級結(jié)合性!右*,/,%高左+,-左<,>,<=,>=左==,!=左&&左

36、

37、左=低右5.2.2邏輯表達(dá)式如前所述,邏輯表達(dá)式的值應(yīng)該是一個邏輯量“真”或“假”。C語言編譯系統(tǒng)在給出邏輯運算結(jié)果時,以數(shù)值1代表“真”,以0代表“假”,但在判斷一個量是否為“真”時,以0代表“假”,以非0代表“真”。即將一個非零的數(shù)值認(rèn)作為“

38、真”。例如:①若a=4,則!a的值為0。因為a的值為非0,被認(rèn)作“真”,對它進行“非”運算,得“假”,“假”以0代表。②若a=4,b=5,則a&&b的值為1。因為a和b均為非0,被認(rèn)為是“真”,因此a&&b的值也為“真”,值為1。③a、b值同前,a

39、

40、b的值為1。④a、b值同前,!a

41、

42、b的值為1。⑤4&&0

43、

44、2的值為1。通過這幾個例子可以看出,由系統(tǒng)給出的邏輯運算結(jié)果不是0就是1,不可能是其它數(shù)值。而在邏輯表達(dá)式中作為參加邏輯運算的運算對象(操作數(shù))可以是0(“假”)或任何非0的數(shù)值(按“真

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。