版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
關(guān)于關(guān)系表達(dá)式和邏輯表達(dá)式第1頁,共18頁,2023年,2月20日,星期三術(shù)語“控制流”(FlowOfControl)是指程序語句執(zhí)行的順序。除非特別指定,否則所有程序的正??刂屏鞫际琼樞虻模ㄟ@意味著每個語句都是順序執(zhí)行的,一個接一個地按照它們在程序中的順序執(zhí)行)。
選擇語句和重復(fù)(循環(huán))語句都允許程序員改變控制流的正常順序,正如它們的名稱所暗示的,選擇語句提供了從一組設(shè)計(jì)良好的語句組中選擇接下來將要執(zhí)行的語句的能力;而重復(fù)語句提供了轉(zhuǎn)回來重復(fù)執(zhí)行一組語句的能力。
所有的程序都由這這三種(順序、選擇、循環(huán))控制結(jié)構(gòu)構(gòu)成,這就是結(jié)構(gòu)化程序設(shè)計(jì)中的一個重要原則?!炜刂屏鳎ǔ绦蛄鳎┑?頁,共18頁,2023年,2月20日,星期三§順序結(jié)構(gòu)順序流程意味著每個語句都是順序執(zhí)行的,一個接一個地按照它們在程序中的順序執(zhí)行,且只執(zhí)行一次。第3頁,共18頁,2023年,2月20日,星期三§選擇(分支)結(jié)構(gòu)選擇(分支)結(jié)構(gòu)提供了從一組設(shè)計(jì)良好的語句組中選擇接下來將要執(zhí)行的語句的能力第4頁,共18頁,2023年,2月20日,星期三§循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)提供了轉(zhuǎn)回來重復(fù)執(zhí)行一組語句的能力。第5頁,共18頁,2023年,2月20日,星期三在我們編寫程序的時(shí)候,需要控制程序根據(jù)條件來選擇執(zhí)行相關(guān)的操作。很多時(shí)候,需要判斷的條件往往不止一個,比如從鍵盤輸入一個數(shù),我們要判斷它是否大于0,并且小于10,這里的“大于”,“小于”就是關(guān)系運(yùn)算,“并且”就是邏輯運(yùn)算。
C語言為我們提供了邏輯運(yùn)算和關(guān)系運(yùn)算,用它們構(gòu)成復(fù)雜的控制條件,來實(shí)現(xiàn)程序的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。§
程序設(shè)計(jì)條件的表示第6頁,共18頁,2023年,2月20日,星期三關(guān)系運(yùn)算和我們數(shù)學(xué)中的比較運(yùn)算基本一致,它們用于兩個操作數(shù)(整數(shù)、浮點(diǎn)數(shù)、字符數(shù)據(jù))的比較。
C語言為我們提供了6種關(guān)系運(yùn)算符:§關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符意義示例
<小于age<30
>大于height>5.2
>=大于等于taxable<=20000
<=小于等于temp>=98.6
==等于class==‘b’
!=不等于number!=250第7頁,共18頁,2023年,2月20日,星期三關(guān)系運(yùn)算符都雙目運(yùn)算符,滿足從左到右的結(jié)合律。它們的優(yōu)先關(guān)系如下:
1、關(guān)系運(yùn)算符的優(yōu)先級要低于算術(shù)運(yùn)算符。比如語句:c>=b+2;則先計(jì)算b+2的值,再和c比較。
2、關(guān)系運(yùn)算符的優(yōu)先級高于賦值運(yùn)算符。比如語句“a=b>c;”,先進(jìn)行關(guān)系運(yùn)算“b>c”,成立(真),則b>c值為1,不成立(假),則b>c值為0;然后再做賦值運(yùn)算,把1或0賦值給a。
3、關(guān)系運(yùn)算符>、>=、<、<=的優(yōu)先級要高于==、!=的優(yōu)先級,同級之間優(yōu)先級相同。比如語句“c<a!=b;”,先計(jì)算“c<a”,再算“!=”的值,等價(jià)于“(c<a)!=b”。
4、除了數(shù)學(xué)運(yùn)算對象之外,還可以使用關(guān)系運(yùn)算符來比較字符數(shù)據(jù),char值將被強(qiáng)制轉(zhuǎn)換成int值以進(jìn)行比較。
5、不能直接使用關(guān)系運(yùn)算符比較字符串?!?/p>
關(guān)系運(yùn)算符的運(yùn)算第8頁,共18頁,2023年,2月20日,星期三關(guān)系表達(dá)式就是用關(guān)系運(yùn)算符把兩個表達(dá)式連接起來的式子,它的一般形式是:
表達(dá)式1關(guān)系運(yùn)算符表達(dá)式2
例如,判斷一個學(xué)生成績是否及格。定義變量:score表示學(xué)生成績,判斷“score>=60”表達(dá)式是否為真,為真其就是1,為假就是0。當(dāng)score=86,“score>=60”為“真”,表達(dá)式的值為1;當(dāng)score=54,“score>=60”為“假”,表達(dá)式的值為0;
總結(jié)來講,關(guān)系表達(dá)式的值只有兩種可能:關(guān)系成立,則關(guān)系表達(dá)的值為“真”(值為1);關(guān)系不成立,則關(guān)系表達(dá)式的值為“假”(值為0)。在C語言中用非0值表達(dá)“真”,用0表達(dá)“假”?!?/p>
關(guān)系表達(dá)式第9頁,共18頁,2023年,2月20日,星期三想要判斷整數(shù)sum的取值是否滿足:0≤sum≤100;千萬不能寫成“0<=sum<=100,而需要按這樣的句式:sum>=0并且sum<=100來表達(dá)。也就是說,除了使用關(guān)系表達(dá)式表示簡單的條件以外,還可以使用邏輯運(yùn)算與、或、非來創(chuàng)建更為復(fù)雜的條件?!爝壿嬤\(yùn)算符和邏輯表達(dá)式第10頁,共18頁,2023年,2月20日,星期三
C語言的邏輯運(yùn)算符有3種:§邏輯運(yùn)算符邏輯運(yùn)算符意義示例&&邏輯與(當(dāng)且僅當(dāng)、并且)a>13&&d>20||邏輯或(或者,二者只要具備其一)a>13||b>20
!邏輯非(條件不成立,取反)!a
邏輯與運(yùn)算符&&是用于兩個關(guān)系表達(dá)式時(shí),只有當(dāng)每個表達(dá)式都為“真”時(shí)該條件才為“真”。
邏輯或運(yùn)算符||也是用于兩個表達(dá)式的,只要兩個表達(dá)式至少有一個是“真”,該條件就為“真”。
非運(yùn)算符!將把表達(dá)式更改為它的相反狀態(tài),也就是就,如果表達(dá)式為“真”,那么它的非運(yùn)算的值就為“假”;如果表達(dá)式開始為“假”,那么它的非運(yùn)算的值就為“假”。第11頁,共18頁,2023年,2月20日,星期三前面表格中的“a>13&&d>20”就是邏輯表達(dá)式,邏輯表達(dá)式的值取1(真),或者0(假)。
一個邏輯表達(dá)式可以包含多個邏輯運(yùn)算符,它們的優(yōu)先級順序是:“!”的優(yōu)先級最高,“&&”次之,“||”的優(yōu)先級最低。邏輯運(yùn)算符“&&”、“||”的優(yōu)先級低于所有關(guān)系運(yùn)算符,而“!”的優(yōu)先級高于所有算術(shù)運(yùn)算符。§邏輯表達(dá)式第12頁,共18頁,2023年,2月20日,星期三使用C的關(guān)系運(yùn)算表達(dá)式可能會遇到與浮點(diǎn)數(shù)(單精度或雙精度)相關(guān)的微妙的數(shù)學(xué)精度問題。因?yàn)橛?jì)算機(jī)存儲這些數(shù)據(jù)的方式不同,所以應(yīng)該避免使用關(guān)系運(yùn)算符“==”來衡量浮點(diǎn)數(shù)的等同關(guān)系,原因是,很多十進(jìn)制小數(shù)(例如:0.1)不能使用有限的位數(shù)精確地以二進(jìn)制表示,因此,要測試這些數(shù)字的完全等同關(guān)系將會失敗。當(dāng)需要測試非整數(shù)值的等同關(guān)系時(shí),最好要求運(yùn)算對象之差的絕對值小于一個非常小的值,因此,對于實(shí)際的運(yùn)算對象,常規(guī)表達(dá)式
operandOne==operandTwo應(yīng)該被下面的條件所取代
fabs(operandOne-operandTwo)<EPSILON其中EPSILON是一個被設(shè)置為任意可接受的足夠小的值(如0.0000001或其他用戶選定的值)的命名常量。因此,如果兩個運(yùn)算對象之差小于EPSILON的值,那么這兩個運(yùn)算對象被認(rèn)為是最基本相等?!?/p>
數(shù)學(xué)的精度問題第13頁,共18頁,2023年,2月20日,星期三例:如果x和y是浮點(diǎn)變量,那么條件
x/y==0.35應(yīng)該以下面的方式來編程:
abs(x/y-0.35)<0.0000001其后面的條件可以確保以二進(jìn)制非整數(shù)數(shù)字所帶來的少量誤差不會影響到測試條件的賦值結(jié)果。§
數(shù)學(xué)的精度問題舉例第14頁,共18頁,2023年,2月20日,星期三編寫用來表示下列條件的關(guān)系表達(dá)式或邏輯表達(dá)式(使用你自己選擇的變量名):
⑴一個人的年齡為30歲
age==30⑵一個人的體溫大于98.6華氏度
heat>98.6⑶一個人的身高小于6英尺
height<6.0⑷目前為12月
month==12⑸輸入的字母為m
key=='m'§編寫條件的練習(xí)(一)第15頁,共18頁,2023年,2月20日,星期三⑹一個人的年齡為30歲且身高大于6尺
age==30&&height>6⑺語文成績80分以上或且數(shù)學(xué)成績80分以上(含80分)
chinese>=80||math>=80⑻目前為1月15日
month==1&&day==15⑼0≤x≤100
x>=0&&x<=100⑽x是偶數(shù)
x%2==0⑾x的絕對值大于5
x>5||x<-5或者x*x>25⑿年份為閏年
(year%4==0&&year%100!=0)||year%400==0§編寫條件的練習(xí)(二)第16頁,共18頁,2023年,2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省贛州市經(jīng)開區(qū)2025-2026學(xué)年上學(xué)期期末九年級數(shù)學(xué)試卷(無答案)
- 安徽省蕪湖市無為市部分學(xué)校2026屆九年級上學(xué)期1月期末考試英語試卷(含答案含聽力原文無音頻)
- 微積分試卷及答案
- 2026年小學(xué)綜合素質(zhì)沖刺押題卷
- 微課2-3 工業(yè)互聯(lián)網(wǎng)技術(shù)
- 清明節(jié)活動形式策劃方案
- 智能設(shè)備2026年市場分析
- 三菱PLC技術(shù)與應(yīng)用實(shí)訓(xùn)教程(FX3U)習(xí)題答案匯 楊輝 模塊1-4 入門篇(中級工)-精英篇(高級技師)
- 分項(xiàng)工程驗(yàn)收技術(shù)要領(lǐng)
- 中國化工集團(tuán)曙光橡膠基礎(chǔ)研發(fā)建設(shè)項(xiàng)目(輻射類)環(huán)境影響報(bào)告表
- 柴油維修技術(shù)培訓(xùn)課件
- 2026院感知識考試題及答案
- 《紅樓夢》導(dǎo)讀 (教學(xué)課件) -高中語文人教統(tǒng)編版必修下冊
- 安徽省九師聯(lián)盟2025-2026學(xué)年高三(1月)第五次質(zhì)量檢測英語(含答案)
- (2025年)四川省自貢市紀(jì)委監(jiān)委公開遴選公務(wù)員筆試試題及答案解析
- 2025年度骨科護(hù)理部年終工作總結(jié)及工作計(jì)劃
- 2026安徽省農(nóng)村信用社聯(lián)合社面向社會招聘農(nóng)商銀行高級管理人員參考考試試題及答案解析
- 室外供熱管道安裝監(jiān)理實(shí)施細(xì)則
- 巖板采購合同范本
- 腰背部推拿課件
- 通信管道施工質(zhì)量管理流程解析
評論
0/150
提交評論