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

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

ID:58838088

大?。?5.50 KB

頁數(shù):20頁

時(shí)間: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》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

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

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

3、非0數(shù)(往往是1)表示邏輯真,0表示邏輯假?!菊n內(nèi)思考題5.1】當(dāng)a=5,b=4,c=2時(shí),表達(dá)式a>b!=c的值是。(2)關(guān)系運(yù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】比較兩個(gè)浮點(diǎn)數(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)該避免直接比較兩個(gè)浮點(diǎn)數(shù)是否相等,而是通過看兩個(gè)浮點(diǎn)數(shù)差的絕對(duì)值是否小于某個(gè)很小的數(shù)來達(dá)到判斷兩個(gè)浮點(diǎn)數(shù)是否相等。二、邏輯運(yùn)算符和邏輯表達(dá)式1.邏輯運(yùn)算符(1)邏輯運(yùn)算符的分類C語言為用戶提供了3個(gè)邏輯運(yùn)算符:!(邏輯非)、&&(邏輯與)和

6、

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

8、

9、(邏輯或),

10、

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

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

13、

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

15、

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

17、

18、有值表達(dá)式2非0非0011非000010非010100100說明:實(shí)際編程時(shí),總是用邏輯運(yùn)算符去連接關(guān)系表達(dá)式。3.邏輯運(yùn)算符的使用(1)帶有邏輯運(yùn)算符的復(fù)雜表達(dá)式計(jì)算【例5.5】以下程序的運(yùn)行結(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,則表達(dá)式!(x=a)

20、

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

22、不會(huì)計(jì)算從表達(dá)式m+1開始的后序表達(dá)式了,稱為短路計(jì)算。同樣對(duì)于“

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

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

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