版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、選擇結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì)寧波大學(xué)信息科學(xué)與工程學(xué)院 計(jì)算機(jī)系第1頁/共32頁選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯表達(dá)式if語句switch語句實(shí)例研究第2頁/共32頁邏輯表達(dá)式 字符之間根據(jù)ASCII碼值大小進(jìn)行比較。 第3頁/共32頁關(guān)系運(yùn)算符【例3-1】關(guān)系運(yùn)算示例。求x=735的值。 表達(dá)式x=735相當(dāng)于 x=(73)5 =0=60)/*判斷成績是否大于等于60*/ printf(Passing Graten); 第5頁/共32頁判等運(yùn)算【例3-3】判等運(yùn)算示例。已知ch=a,求x=(ch=b)的值。 表達(dá)式x=(ch=b)相當(dāng)于 x=(a=b) =0第6頁/共32頁判等運(yùn)算【例3-4】簡單密
2、碼判斷。從鍵盤輸入一個(gè)數(shù)字,與內(nèi)部設(shè)定的密碼數(shù)字相比較,如果一致則給出“OK”信息。int password=367,guess;scanf(%d,&guess);if(guess=password) printf(OKn); 第7頁/共32頁判等運(yùn)算【例3-5】浮點(diǎn)數(shù)的判等運(yùn)算。double d0 = 0.3;double d1 = 0.1;double d2 = 0.2;printf (%dn, d0=(d1+d2);建議:fabs(x-y)=A&ch=60) printf(Passing Graten);第11頁/共32頁If語句【例3-8】求整數(shù)的絕對值。int a,b;printf(
3、Enter a integer:);scanf(%d,&a);b=a; /*將輸入的數(shù)值保存到變量b中*/if(b=60) printf(Passing Graten); else printf(Failuren); 第13頁/共32頁If語句【例3-11】兩數(shù)求大值。用if-else語句求出兩數(shù)中較大的數(shù)值。int a,b,max;scanf(%d%d,&a,&b);if(ab) max=a;else max=b;printf(The bigger is %dn,max);第14頁/共32頁If語句 3.多個(gè)選項(xiàng)的if語句【例3-12】成績評級。對學(xué)生成績(百分制)評等級:80分以上為A等,
4、6079為B等,小于60分為C等。if(score=80) ch=A;else if(score=60) ch=B;else ch=C;printf(%d-%cn,score,ch); 第15頁/共32頁If語句【例3-13】單個(gè)字符判斷。從鍵盤輸入一個(gè)字符,判斷它是否小寫字母、大寫字母、數(shù)字字符、或者其他符號的哪一類,分別輸出對應(yīng)提示信息。char ch;scanf(%c,&ch);if(ch=a&ch=A&ch=0&ch10000) discount=0.68; printf(“Golden Card Discount=%.2fn ”,discount);else discount=0.8
5、8; printf(“Ordinary card Discount=%.2fn”,discount); 第17頁/共32頁If語句【例3-14】兩數(shù)排序。輸入兩個(gè)浮點(diǎn)數(shù),按代數(shù)值從小到大輸出這兩個(gè)數(shù)。double a,b,t;scanf(%lf%lf,&a,&b);if(ab) /*構(gòu)成復(fù)合語句的左花括號*/ t=a; /*/ a=b; /*/ b=t; /*/ /*構(gòu)成復(fù)合語句的右花括號*/printf(%.2ft%.2fn,a,b); 第18頁/共32頁If語句例3-15三數(shù)排序。輸入三個(gè)數(shù)a,b,c,要求按從小到大的順序輸出。 int a,b,c,t; scanf(%d%d%d,&a,&
6、b,&c); if(ab) t=a; a=b; b=t; /*實(shí)現(xiàn)a、b交換*/ if(ac) t=a;a=c;c=t; /*實(shí)現(xiàn)a、c交換*/ if(bc) t=b;b=c;c=t; /*實(shí)現(xiàn)b、c交換*/ printf(%d %d %dn,a,b,c); 第19頁/共32頁If語句 5.嵌套的if語句 第20頁/共32頁If語句【例3-16】輸入兩個(gè)整數(shù),比較它們的大小關(guān)系。int a,b;scanf(%d%d,&a,&b);if(a!=b) if(ab)printf(%d%dn,a,b); elseprintf(%d%dn,a,b);else printf(%d=%dn,a,b);第21
7、頁/共32頁If語句 else總是與它前面一個(gè)最近的if配對 if ( ) if ( ) elseif ( ) if ( )elseif ( ) if ( )else如果希望是右邊的判斷,可寫為:第22頁/共32頁在C語言中,用switch語句描述多路按值選擇結(jié)構(gòu)。switch語句的一般形式為:switch(表達(dá)式) case 常量表達(dá)式1:語句1 case 常量表達(dá)式2:語句2 . . case 常量表達(dá)式n:語句n default: 語句n+1表達(dá)式語句1語句3語句2語句n+1值1值2值3值n+1執(zhí)行過程:switch語句第23頁/共32頁 說明:(1)switch后面括號內(nèi)的表達(dá)式的類型
8、只限于是整型或字符型或枚舉型。(2)各子句中包含的語句可以是任意條合法的C語言語句,也可以沒有語句。(3)default子句可以省略,若不省略,至多出現(xiàn)一次。(4)各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。習(xí)慣上總是將default子句寫在所有case子句之后,有必要也可以寫在某個(gè)case子句之前。(5)多個(gè)case子句可以共用一組執(zhí)行語句。switch語句第24頁/共32頁例如:執(zhí)行下面這段代碼時(shí),若gread的值是B,結(jié)果?switch(gread) case A:printf(“GREAT!n”); case B:printf(“GOOD!n”); case C:printf
9、(“OK!n”); case D:printf(“NO!n”); default:printf(“ERROR!n”);程序執(zhí)行將輸出:GOOD!OK!NO!ERROR!如果想只執(zhí)行某個(gè)子句中的語句,排斥其它的情況,最常用的方法如果想只執(zhí)行某個(gè)子句中的語句,排斥其它的情況,最常用的方法是使用是使用break語句,每個(gè)子句都以語句,每個(gè)子句都以break語句結(jié)束。語句結(jié)束。在在switch語句中,執(zhí)行語句中,執(zhí)行break 語句將跳出語句將跳出switch語句,使控制語句,使控制轉(zhuǎn)向轉(zhuǎn)向switch語句的后繼語句。語句的后繼語句。 為什么錯(cuò)了?switch語句第25頁/共32頁switch語句【例
10、】輸入兩個(gè)操作數(shù)及一個(gè)運(yùn)算符,輸出運(yùn)算結(jié)果。程序代碼:#includevoid main() float a,b,c; char ch; printf(“Enter:”); scanf(“%f%c%f”,&a,&ch,&b); switch(ch) case +:c=a+b;break; case -:c=a-b;break; case *:c=a*b;break; case /:c=a/b; printf(“%5.2f%c%5.2f=%6.2fn”,a,ch,b,c); 由于由于switchswitch語句的語句的表達(dá)式不允許實(shí)型表表達(dá)式不允許實(shí)型表達(dá)式,當(dāng)需要以實(shí)型達(dá)式,當(dāng)需要以實(shí)型表達(dá)式
11、做選擇控制時(shí),表達(dá)式做選擇控制時(shí),要把實(shí)型表達(dá)式值映要把實(shí)型表達(dá)式值映射到一個(gè)較小范圍上射到一個(gè)較小范圍上的整型值。的整型值。第26頁/共32頁switch語句第27頁/共32頁switch語句【例3-19】編制菜單程序:在屏幕上顯示問候信息表,根據(jù)用戶的選擇,顯示不同的問候信息。char ch;printf(1 Morningn);printf(2 Afternoonn);printf(3 Eveningn);printf(Input your choice:n);ch=getchar(); /*從鍵盤輸入用戶的選擇*/switch(ch) /*根據(jù)選擇進(jìn)行不同的處理*/ case 1:pr
12、intf(Good morningn);break; case 2:printf(Good Afternoonn);break; case 3:printf(Good Eveningn);break; default:printf(Selection Errorn);第28頁/共32頁switch語句【例3-20】輸入百分制成績(0100),輸出對應(yīng)的五級制等級:90100分為A,8089分為B,7079分為C,6069分為D,小于60分為E。double score;int grade;scanf(%lf,&score); grade=score/10;switch(grade) case
13、10: case 9:printf(An);break; /*2個(gè)case子句共用一組語句*/ case 8:printf(Bn);break; case 7:printf(Cn);break; case 6:printf(Dn);break; case 5: case 4: case 3: case 2: case 1: case 0:printf(En);break; /*6個(gè)case子句共用一組語句*/第29頁/共32頁switch語句【例3-21】計(jì)算某年某月的天數(shù)。設(shè)計(jì)一個(gè)程序,根據(jù)用戶輸入的年,月,打印出該年的這一個(gè)月的天數(shù)。switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; case 4: case 6: case 9: case 11: days=30; break; case 2: if(year%4=0&year%100!=0|year%400=0) days=29; else days=28; break; default:printf(Month Errorn);第30頁/共32頁實(shí)例研究 【例3-22】四則運(yùn)算 int a,b,ans,res;char op;scanf(%
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 恒流恒壓電源課程設(shè)計(jì)
- 體育行業(yè)的會計(jì)工作總結(jié)
- 線性代數(shù)總結(jié)課程設(shè)計(jì)
- 自動散熱器課程設(shè)計(jì)
- 電子信息行業(yè)電話客服工作總結(jié)
- 文化行業(yè)采購合作案例分析
- 教育行業(yè)美工工作心得交流
- 2023-2024學(xué)年上海師大附中閔行分校高一(下)期中語文試卷
- 醫(yī)療機(jī)構(gòu)保安工作內(nèi)容詳解
- IT科技行業(yè)中信息技術(shù)顧問的工作總結(jié)
- 體檢中心組織架構(gòu)
- 森林撫育投標(biāo)方案
- 中小學(xué)教育中課程資源的開發(fā)與利用
- 大班科學(xué)教案:我和風(fēng)兒做游戲教案及反思
- 園藝治療概念、內(nèi)涵與理論依據(jù)
- 后續(xù)服務(wù)承諾及保證措施-后續(xù)服務(wù)
- 提高無創(chuàng)呼吸機(jī)患者的依從性
- 小兒急性顱內(nèi)壓增高的護(hù)理課件
- 腫瘤科工作制度
- 幼兒園幼兒日常行為規(guī)范
- 供應(yīng)鏈質(zhì)量防線:供應(yīng)商質(zhì)量管理的策略、方法與實(shí)踐
評論
0/150
提交評論