版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
選擇結(jié)構(gòu)的程序設計【主要內(nèi)容】關系表達式和邏輯表達式選擇結(jié)構(gòu)控制語句
(if語句,switch語句)2引例計算函數(shù)值計算過程:輸入x判斷x的值根據(jù)x值,計算y值輸出y值顯然順序程序不能實現(xiàn),須引入選擇結(jié)構(gòu)35.1關系表達式關系運算:是對兩個量進行比較運算關系運算符:<,<=,>,>=,==,!=優(yōu)先級別:算術(shù)運算符關系運算符賦值運算符逗號運算符如c>a+bc<(a+b)a==b<ca==(b<c)a=b<ca=(b<c)高低高低45.1關系表達式關系表達式:用關系運算符將兩個表達式(可以是算術(shù)表達式或關系表達式,邏輯表達式,賦值表達式,字符表達式)接起來的式子,稱關系表達式如x!=0‘a(chǎn)’==’a’a*a+b*b<Y*Y對數(shù)值量比較:比較數(shù)值的大?。粚ψ址谋容^,比較字符的ASCII碼關系表達式的值:真(1)假(0)c>a+ba==b<ca=b<c假如a=1,b=-5,c=‘a(chǎn)’,上述表達式的值為多少?結(jié)合規(guī)則:左結(jié)合55.2邏輯表達式邏輯運算符:&&(與)、||(或)、!(非)優(yōu)先級別:!(非)--->&&--->||例:a>b&&b>c(a>b)&&(b>c)!a||a>b(!a)||(a>b)5>3&&2||!8<4-2((5>3)&&2)||((!8)<(4-2))6邏輯量:當一個量(可以是基本類型的常量或變量)用作判斷時,C編譯系統(tǒng)認為:非0——真、0為假用邏輯運算符將關系表達式或邏輯量連接起來的式子就是邏輯表達式(單個邏輯量、關系表達式也是邏輯表達式)邏輯表達式的值:真(1)假(0)例:設a=4,b=5:!a=a&&b的值為a||b的值為!a||b的值為4&&0||2的值為7例:判斷某年year是否閏年:(閏年:能被4整除,但不能被100整除;或能被400整除)Year%4==0&&year%100!=0||year%400==0寫出C語言的表達式|x|>2abs(x)>2或x>2||x<-2x<1+a并y≤bx<(1+a)&&y<=b
的定義域(x-2)*(x-1)>=0&&x!=0或(x>=2||x<=1)&&(x!=0)85.3if語句If語句的三種形式條件執(zhí)行if(e)A
如if(A>0)printf(“Aispositive\n”);分支選擇if(e)AelseB當條件e的值為真時執(zhí)行A,否則執(zhí)行Bif(A>0)printf(“Aispositive\n”);elseprintf(“Aisnotpositive\n”);B可以是單條語句,也可以是復合語句;Else部分不能單獨存在,即else前一定有一個;,它必定是if語句的一部分C語言中,表達式e的值為非0時,均按“真”處理9舉例10例5-3輸入一個整數(shù)a,判斷它是偶數(shù)還是奇數(shù)分析:偶數(shù):a%2==011例5-4任給a,b,c三個數(shù),按照從大到小的順序輸出分析:3)使用判斷——交換法若a<b,則交換a和b的值若a<c,則交換a和c的值若b<c,則交換b和c的值交換法的實現(xiàn)若a=5,b=8,a=b;b=a則結(jié)果a=8,b=8t=a;a=b;b=t;1213elseif形式(階梯式的if-else語句)系統(tǒng)從上至下的逐個判斷條件Pi,一旦發(fā)現(xiàn)某條件Pi滿足時,則執(zhí)行與其有關的語句Si,并跳過其他剩余的階梯。若所有條件均不滿足,執(zhí)行最后一個else語句或后續(xù)語句。else總是與最近的if語句匹配141516If語句的嵌套
if(P1)if(p2)AelseBelseif(p3)CelseD例子5-7計算函數(shù)17If語句的嵌套
if(P1)if(p2)AelseBelseif(p3)CelseD注意嵌套語句中哪個else與哪個if匹配比較if(x)if(y)printf(“1”);elseprintf(“2”);
if(P1)Aelseif(p3)CelseD
if(P1)if(p2)AelseBelseC
if(P1)if(p2)Aelseif(p3)CelseD
if(P1)if(p2)AelseC
if(P1){if(p2)A}elseif(p3)CelseD
if(P1){if(p2)A}elseCif(x){if(y)printf(“1”);}elseprintf(“2”);18例子5-8判斷某年是否為閏年閏年:年份year能被4整除,但不能被100整除;或能被400整除19條件運算符和條件表達式條件運算符:?和:/唯一的一個三目運算符條件表達式:基本形式:<表達式1>?<表達式2>:<表達式3>求解過程:計算表達式1的值為真,計算表達式2的值,并將表達式2的值作為整個條件表達式的結(jié)果,不再計算表達式3的值為假,計算表達式3的值,并將表達式3的值作為整個條件表達式的結(jié)果,不計算表達式2的值20優(yōu)先級高于賦值運算,但低于所有關系、邏輯運算和算術(shù)運算結(jié)合方向是“右結(jié)合”如a>b?a:c>d?c:d,等價于a>b?a:(c>d?c:d)21例題:設intx=10,y=9;inta,b,c;
a=(--x==y++)?--x:--y;b=x++;c=y;執(zhí)行上述程序段后a,b,c的結(jié)果8,8,1022各種運算符的優(yōu)先級
?。ㄟ壿嫹牵└咚阈g(shù)運算符關系運算符
&&和||(&&高于||)
條件運算符賦值運算符逗號運算符低23例5-9讀程序,寫出程序完成的功能#include<stdio.h>main(){inta,b,imax;printf(“inputdatatoaandb:”);scanf(“%d,%d”,&a,&b);imax=a>b?a:b;printf(“Themaxis%d\n”,imax);}printf(“Themaxis%d\n”,imax=a>b?a:b);printf(“Themaxis%d\n”,a>b?a:b);思考:n個數(shù)中找出最大數(shù)或最小數(shù)?24例5-10:任意輸入一個字符,若是大寫字母將其轉(zhuǎn)換成小寫字母分析:判斷一個字符ch是否為大寫字母ch>=‘A’&&ch<=‘Z’ch>=65&&ch<=90將大寫字母轉(zhuǎn)化為小寫字母:ch+32ch+(‘a(chǎn)’-‘A’)#include<stdio.h>voidmain(){charch;ch=getchar();ch=(ch>=‘A’&&ch<=‘Z’)?ch+32:ch;putchar(ch);}可見,對于二分支、并對同一個變量賦值時,用條件表達式比較方便255.4開關語句也稱多分支選擇語句比用嵌套的if語句實現(xiàn)多路分支問題,其程序結(jié)構(gòu)清晰、易讀語句格式:
switch(表達式e){
case常量表達式a1:語句序列S1;
break;
case常量表達式a2:語句序列S2;
break;
…case常量表達式an:語句序列Sn;
break;
[default:語句S;]
}26執(zhí)行過程首先計算表達式e的值將e的值依次與每一個case后的常量表達式ai進行比較如果相等,執(zhí)行常量表達式ai后的語句序列Si若si結(jié)束處有break語句,則跳出switch語句,執(zhí)行結(jié)束若沒有break語句,在執(zhí)行完Si后將無條件的繼續(xù)執(zhí)行下一條case語句的語句,此時并不再檢查后面的case后的標號ai是否與e的值相等如果未找到與之匹配的常量表達式ai,則若有default語句,則執(zhí)行default后的語句序列S后結(jié)束若沒有default語句,switch語句直接結(jié)束(什么也沒有做)27注意switch后面括號中可以是整型、字符型、枚舉型,不能是實型常量表達式ai必須與表達式類型一直(整型和字符型通用)常量表達式ai僅起語句標號的作用,不做求值判斷常量表達式ai的值必須唯一,沒有先后次序多個case語句可以共用一組執(zhí)行語句switch(i){case1:case2:case3:語句1;break;case4:語句2;break;case5:case6:語句3;break;default:語句4;}28如:switch(x){case1:printf(“statement1”);break;case2:printf(“statement2”);break;default:printf(“default”);}提問:case1,case2中沒有break,結(jié)果如何例5-11用switch語句重作例5-5(評價學生成績)29例5-12:運輸公
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國威士忌市場銷售渠道與營銷趨勢預測報告
- 2024年獨家:影視作品版權(quán)許可使用協(xié)議
- 2024年特許經(jīng)營合同實務操作
- 2024年版企業(yè)間技術(shù)咨詢合同
- 茅臺學院《公共關系案例精講》2023-2024學年第一學期期末試卷
- 2024年智能監(jiān)控系統(tǒng)設備安裝協(xié)議版B版
- 2024年度內(nèi)河化學品運輸安全責任合同模板下載3篇
- 2024年生態(tài)農(nóng)業(yè)自建房產(chǎn)權(quán)轉(zhuǎn)移協(xié)議3篇
- 2025廢品回收合同
- 2024年標準電腦維修服務承諾合同范本版B版
- 2023年正規(guī)借條免費下載(5篇)
- 網(wǎng)絡創(chuàng)業(yè)智慧樹知到答案章節(jié)測試2023年海南經(jīng)貿(mào)職業(yè)技術(shù)學院
- 高中英語新課標新增詞匯匯總1
- GB/T 31586.2-2015防護涂料體系對鋼結(jié)構(gòu)的防腐蝕保護涂層附著力/內(nèi)聚力(破壞強度)的評定和驗收準則第2部分:劃格試驗和劃叉試驗
- GB/T 20734-2006液化天然氣汽車專用裝置安裝要求
- GB/T 20197-2006降解塑料的定義、分類、標志和降解性能要求
- GB/T 15561-2008靜態(tài)電子軌道衡
- 軍事理論論述題
- 寧德時代財務報表分析
- 門式起重機安裝施工方案
- 高中語文語法知識課件
評論
0/150
提交評論