(大于)、>=(大于等于)、==(關(guān)系相等)和!=(關(guān)">
第5章程序控制流程選擇結(jié)構(gòu).doc

第5章程序控制流程選擇結(jié)構(gòu).doc

ID:58838088

大?。?5.50 KB

頁數(shù):20頁

時間:2020-09-24

第5章程序控制流程選擇結(jié)構(gòu).doc_第1頁
第5章程序控制流程選擇結(jié)構(gòu).doc_第2頁
第5章程序控制流程選擇結(jié)構(gòu).doc_第3頁
第5章程序控制流程選擇結(jié)構(gòu).doc_第4頁
第5章程序控制流程選擇結(jié)構(gòu).doc_第5頁
資源描述:

《第5章程序控制流程選擇結(jié)構(gòu).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、第5章程序控制流程——選擇結(jié)構(gòu)5.1關(guān)系運算符和邏輯運算符一、關(guān)系運算符和關(guān)系表達式1.關(guān)系運算符(1)關(guān)系運算符的分類C語言為用戶提供了6個關(guān)系運算符:<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(關(guān)系相等)和!=(關(guān)系不等)。(2)關(guān)系運算符的優(yōu)先級關(guān)系運算符內(nèi)部優(yōu)先級是<、<=、>、>=的優(yōu)先級相等,且優(yōu)先級高于==和!=。在C語言所有運算符中,關(guān)系運算符的優(yōu)先級要低于算術(shù)運算符和位移運算符。(3)關(guān)系運算符的結(jié)合性所有的關(guān)系運算符的結(jié)合性都是從左至右。2.關(guān)系表達式的基本形式有值表達式1op有值表達式2,其中op代表6個關(guān)系運算

2、符。關(guān)系表達式的結(jié)果要么為0(操作數(shù)不滿足關(guān)系運算),要么為1(操作數(shù)滿足關(guān)系運算)。假設(shè)有以下變量定義:inta=1,b=-3,c=2,i=13;以下都是合法的關(guān)系表達式:a>b、i<=10、a+b(b=5)、a==5、a+b==2009、a!=b+2、b*b>=4*a*c等。3.關(guān)系運算符的使用(1)帶有關(guān)系運算符的復(fù)雜表達式計算【例5.1】當(dāng)a=3,b=2,c=1時,表達式f=a>b>c的值是?!纠?.2】下面關(guān)系表達式中結(jié)果為假的是。A)0!=1B)2<=8C)(a=2*2)==2D)y=(2+2)==4說明:在C語言中用一切

3、非0數(shù)(往往是1)表示邏輯真,0表示邏輯假。【課內(nèi)思考題5.1】當(dāng)a=5,b=4,c=2時,表達式a>b!=c的值是。(2)關(guān)系運算中的隱式類型轉(zhuǎn)換【例5.3】分析下面程序的輸出結(jié)果,并說明原因。#includemain(){inti=-10;unsignedintj=1;printf("imain(){doublea=.9*9,b=.1;doub

4、lec=0.1+0.2;printf("c==0.3%d",c==0.3);printf("a==b%d",a==b);}【例5.4】比較兩個浮點數(shù)是否相等的正確方法#include#include#defineYUZHI1e-6main(){doublea=.9*9,b=.1;doublec=0.1+0.2;printf("a=%.9f,b=%.9f",a,b);printf("a==b%d",a==b);printf("a==b%d",fabs(a-b)<=YUZHI);printf("c==0.3

5、%d",c==0.3);printf("c==0.3%d",fabs(c-0.3)<=YUZHI);}說明:應(yīng)該避免直接比較兩個浮點數(shù)是否相等,而是通過看兩個浮點數(shù)差的絕對值是否小于某個很小的數(shù)來達到判斷兩個浮點數(shù)是否相等。二、邏輯運算符和邏輯表達式1.邏輯運算符(1)邏輯運算符的分類C語言為用戶提供了3個邏輯運算符:!(邏輯非)、&&(邏輯與)和

6、

7、(邏輯或)。(2)邏輯運算符的優(yōu)先級其中!(邏輯非)是單目運算符,在C語言所有運算符中優(yōu)先級排第二(所有的單目運算符優(yōu)先級都是第二)。&&(邏輯與)的優(yōu)先級高于

8、

9、(邏輯或),

10、

11、的優(yōu)先級高于?:(條

12、件運算符)。(3)邏輯運算符的結(jié)合性其中!(邏輯非)的結(jié)合性是從右至左(所有的單目運算符的結(jié)合性都是從右至左),&&和

13、

14、的結(jié)合性是從左至右。2.邏輯表達式的基本形式!有值表達式1,有值表達式1&&有值表達式2,有值表達式1

15、

16、有值表達式2。邏輯表達式的結(jié)果見下表:有值表達式1有值表達式2!有值表達式1有值表達式1&&有值表達式2有值表達式1

17、

18、有值表達式2非0非0011非000010非010100100說明:實際編程時,總是用邏輯運算符去連接關(guān)系表達式。3.邏輯運算符的使用(1)帶有邏輯運算符的復(fù)雜表達式計算【例5.5】以下程序的運行結(jié)果是。#inclu

19、demain(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}A)6,1B)2,1C)6,0D)2,0【課內(nèi)思考題5.2】若a=2,b=4,則表達式!(x=a)

20、

21、(y=b)&&0的值是?!菊n內(nèi)思考題5.3】inta=3,b=4,c=5;,則以下表達式!(a+b)+c-1&&b+c/2的值為。(2)短路計算對于邏輯表達式“表達式1&&表達式2&&…&&表達式n”而言,若在計算過程中發(fā)現(xiàn)表達式m的值為0,根據(jù)&&的特點,整個邏輯表達式的結(jié)果肯定為0,為提高計算效率,編譯器

22、不會計算從表達式m+1開始的后序表達式了,稱為短路計算。同樣對于“

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

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

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