




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、選擇結構程序設計21. if語句語句2. switch語句語句3. 選擇結構程序設計舉例選擇結構程序設計舉例【問題問題】1、從鍵盤輸入一個數(shù),如果該數(shù)為正,打印,否則不打?。?、解一元二次方程,求出相應的實根或復根。3if 語句語句1 簡單簡單if語句語句一般格式一般格式:if(表達式表達式) 語句體語句體【說明說明】1)表達式:常量、變量、函數(shù)調用、表達)表達式:常量、變量、函數(shù)調用、表達式式2)表達式必須加()括起來。)表達式必須加()括起來。3)語句體:一條)語句體:一條 或或 多條語句(多條語句多條語句(多條語句用用括起來)括起來)4)執(zhí)行過程:)執(zhí)行過程: 當表達式的值為非當表達式的
2、值為非0(真)時,(真)時,執(zhí)行語句體執(zhí)行語句體5) 一個一個if語句總體上只算一條語句語句總體上只算一條語句4 例例5.2輸入任意三個數(shù)a、b、c,按從小到大的順序排序輸出。 分析: a b c 5 2 3 2 3 5 if (ab) a和b交換,令 a=mina, b if (ac) a和c交換,令 a=mina, b, c if (bc) b和c交換,另b為次大值,c為最大值 if 語句語句交換a和b的內容5 t=a 5 a=b b=a t 5 5 2255 例例5.2輸入三個數(shù)a、b、c,按從小到大的順序輸出。 main() int a,b,c,t; printf(“input thr
3、ee numbers:n); scanf(%d,%d,%d,&a,&b,&c); if (ab) t=a;a=b;b=t; if (ac) t=a;a=c;c=t; if (bc) t=b;b=c;c=t; printf( %d,%d,%dn,a,b,c);input three numbers:11,22,18 11,18,22沒有分沒有分號號if 語句語句6ifelse語句語句1復合if語句的一般格式 if(表達式表達式) 語語句體句體1 else 語語句體句體2 【說明說明】(1)else必須與if配對使用,不能單獨使用。(2)if語句允許嵌套,但嵌套的層數(shù)不宜太多。例 如 : i f
4、( a b ) max=a; else max=b;ifelse 的執(zhí)行過的執(zhí)行過程程表達式的值表達式的值語句體語句體1語句體語句體2執(zhí)行執(zhí)行if后的語句后的語句非非0T為為0F7程序1: if(x=0) if(x0) y=1; else y=0; else y=-1;)0(1)0(0)0(1xxxy當當當if語句嵌套時,語句嵌套時,else子句與子句與1.在它上面、在它上面、2.距它最近、距它最近、3. 尚未匹配尚未匹配的的if配對。配對。例例5.3程序2:if(x0) y=1; else y=0; 程序4:y=0; if(x=0) if(x0) y=1;else y=-1; x=0時時 x
5、=-5 ifelse語句語句8ifelse if語句語句1格式 if(表達式表達式1) 語句組語句組1else if (表達式表達式2) 語句組語句組2 else if (表達式表達式3) 語句組語句組3 else if (表達式表達式4) 語句組語句組4 else if (表達式表達式n) 語句組語句組n else 語句組語句組n+1計算表達式1的值真否?語句組1語句組2FT執(zhí)行復合語句后的語句計算表達式2的值真否?TF計算表達式3的值真否?T 語句組39程序1: if(x=0) if(x0) y=1; else y=0; else y=-1;)0(1)0(0)0(1xxxy當當當例例5.3
6、程序2:if(x0) y=-1;else if(x=0) y=0; else y=1;ifelse if語句語句10課堂練習:if 語句應用實例)10(113)101(12)1(xxxxxxy 分別用三種分別用三種if語句編寫程序:鍵盤輸入語句編寫程序:鍵盤輸入x,輸,輸出出y (1)簡單)簡單if語句、語句、 (2)ifelse語句、語句、 (3)ifelse if語句分別實現(xiàn)。語句分別實現(xiàn)。11算法一:用算法一:用if語句實現(xiàn)語句實現(xiàn)main() float x,y; printf(x=?); scanf(%f,&x); if(x1) y=x; if(x=1) y=2*x-1; if(x=
7、10) y=3*x+11; printf(%.2f,y);12算法二:用算法二:用ifelse語句實現(xiàn)語句實現(xiàn)main() float x,y; printf(x=?); scanf(%f,&x); if(x=1 */ if (x=1 & x=10 */ printf(%.2f,y);13算法三:用算法三:用ifelse if語句實現(xiàn)語句實現(xiàn)main() float x,y; printf(x=?); scanf(%f,&x); if(x1) y=x; else if (x=1 & x=10 */ printf(%.2f,y);14輸入星期中的某一天輸入星期中的某一天,顯示對應的英顯示對應的英
8、文文#includemain() int i; printf(“Input 1- 7: ”); scanf(“%d”,&i); if (i=1) printf ( “Today is Monday!n”); else if (i=2) printf (“Today is Tuesday!n”); else if (i=3) printf (“Today is Wednesday !n”); else if (i=4) printf( “Today is Thursday!n”); else if (i=5) printf( “Today is Friday!n”); else if (i=6)
9、 printf( “Today is Saturday!n”); else printf( “Today is Sunday!n”);復雜!復雜!15 switch語句語句1一般形式一般形式switch (條件表達式條件表達式) case 常量表達式常量表達式1:語語句組句組1; case 常量表達式常量表達式2:語語句組句組2; . case 常量表達式常量表達式:語句組語句組n; default: 語語句組句組n+1; 2執(zhí)行過程執(zhí)行過程(1)若)若 條件表達式條件表達式=常量表達式常量表達式i 則則 執(zhí)行語句組執(zhí)行語句組i 以及語句組以及語句組i+1語句組語句組n+1(2)若)若 條件表
10、達式條件表達式 != 任何常量表達式任何常量表達式 則則 執(zhí)行執(zhí)行default 的語句組的語句組n+1沒有分號沒有分號沒有分號沒有分號16main() int i; printf( “Input 1- 7: ”); scanf(“%d”,&i); switch(i) case 1: printf( “Today is Monday!”); case 2: printf( “Today is Tuesday!”); case 3: printf( “Today is Wednesday !”); case 4: printf( “Today is Thursday!”); case 5: pr
11、intf( “Today is Friday!”); case 6: printf( “Today is Saturday!”); default: printf( “Today is Sunday!”); 輸入星期中的某一天,顯示對應的英文break;break;break;break;break;break; 運行結果Input 1- 7: 4Today is Thursday!Today is Friday!Today is Saturday!Today is Sunday! break:跳出:跳出switch結構結構空格空格173說明說明(1)條件表達式:)條件表達式:常量常量表達式,
12、表達式,int、char、枚舉型枚舉型 例:例: case 3+4:/* 正確正確*/ case x+y: /*錯誤錯誤 設設int x=3,y=4;*/(2)多個)多個case子句,可共用同一語句子句,可共用同一語句(組)。(組)。例如例如: case 10: case 9: printf(grade=An); break;(3)default可以省略;可以省略;(4)每個)每個case后面的語句有多條語句時可后面的語句有多條語句時可以不加以不加括起來。括起來。 switch語句 18例例:從鍵盤上輸入一個百分制成績從鍵盤上輸入一個百分制成績score,輸出其等級:,輸出其等級:score9
13、0,等級為,等級為A;80score90,等級為,等級為B;70score80,等級為,等級為C;60score70,等級為,等級為D;score 0-10選擇結構程序設計舉例選擇結構程序設計舉例19main() int score; printf(“Input a score(0100): ”); scanf(“%d”, &score); /* 將成績轉化成10種情形 */ switch (score/10) case 10: case 9: printf(“grade=An”); break; case 8: printf(grade=Bn); break; case 7: printf(
14、grade=Cn); break; case 6: printf(grade=Dn); break; case 5: case 4: case 3: case 2: case 1: case 0: printf(“grade=En”); break; default: printf(“The score is out of range!n”); 選擇結構程序設計舉例選擇結構程序設計舉例20 選擇結構程序設計舉例例例5.6 求一元二次方程求一元二次方程ax2+bx+c=0的解的解(a0)。)。分析:disc=b2-4ac=0 x1=x2=-b/(2a) disc=b2-4ac0 x1=(-b+s
15、qrt(disc)/(2a) x2=(-b-sqrt(disc)/(2a) disc=b2-4ac0 x1=(-b/(2a)+sqrt(disc)/(2a) i x2=(-b/(2a)-sqrt(disc)/(2a) i輸出輸出數(shù)值數(shù)值數(shù)值數(shù)值+數(shù)值iprintf(“%f + %f i“, p, q);#includemain() int a,b,c,disc; float x1,x2,p,q; scanf(“%d, %d,%d”, &a, &b, &c); 21 disc=b*b-4*a*c; if (disc=0) printf(“x1=x2=%fn”, -b/(2*a); else /*
16、 disc!=0*/ if (disc0) /* disc0*/ x1=(-b+sqrt(disc)/(2*a);/*兩個不等實根*/ x2=(-b-sqrt(disc)/(2*a); printf(x1=%f, x2=%fn, x1, x2); else /* disc0 x1=(-b+sqrt(disc)/(2a) x2=(-b-sqrt(disc)/(2a) disc=b2-4ac0 x1=(-b/(2a)+sqrt(disc)/(2a) i x2=(-b/(2a)-sqrt(disc)/(2a) i輸出輸出數(shù)值數(shù)值數(shù)值數(shù)值+數(shù)值i#includemain() int a,b,c,disc; float x1,x2,p,q; scanf(“%d, %d,%d”, &a, &b, &c); floatfff23 disc=b*b-4*a*c; /*float*/ if (disc=0) printf(“x1=x2=%fn”, -b/(2*a); else /* disc!=0*/ if (disc0) /* disc0*/ x1=(-b+sqrt(disc)/(2*a);/*兩個不等實根*/ x2=(-b-sqrt(disc)/(2*a); printf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版七年級上冊歷史與社會第三單元 第三課《傍水而居》教學設計
- 27 故事二則《扁鵲治病》(教學設計 )-2024-2025學年統(tǒng)編版語文四年級上冊
- Introductory Unit High Technology(教學設計)-2024-2025學年劍橋國際少兒英語Kid's Box6第六冊
- Welcome to school (教學設計)-2024-2025學年外研版(三起)(2024)英語三年級上冊
- 11爸爸媽媽在我心中-愛父母在行動(第2課時)(教學設計)2023-2024學年統(tǒng)編版道德與法治三年級上冊
- 滬科版高中信息技術必修教材《信息技術基礎》教學設計:第3章 信息的加工與獲取 綜合活動 資料網(wǎng)站的制作(保護水資源)
- 全國中圖版高中信息技術選修2第二單元第一節(jié)1、《素材獲取》教學設計
- 新型儲能在電動汽車中的應用
- 第五單元《倍的認識》(教學設計)-2024-2025學年三年級數(shù)學上學期人教版
- 影劇院外立面裝修合同范本
- 2025年人教版新教材數(shù)學一年級下冊教學計劃(含進度表)
- GB/T 45107-2024表土剝離及其再利用技術要求
- 一年級家長會課件2024-2025學年
- 新版北師大版小學3三年級數(shù)學下冊全冊教案完整(新教材)
- 民間非營利組織會計報表模板
- 2022版義務教育(物理)課程標準(含2022年修訂和新增部分)
- 合伙辦廠協(xié)議書范本(通用5篇)
- 水輪機結構介紹匯總
- ISO_15442(隨車起重機安全要求)
- 空氣能熱泵安裝方法
- 過橋資金(新)
評論
0/150
提交評論