5.4 多路分支語句_第1頁
5.4 多路分支語句_第2頁
5.4 多路分支語句_第3頁
5.4 多路分支語句_第4頁
5.4 多路分支語句_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Teacher teaching designCONTENTS 目 錄自主學(xué)習(xí) 明確考點案例分析 交流提升課后作業(yè) 自我提升仿真演練,體驗探索 問題提出 引入新課PART 01任意輸入一個百分制分?jǐn)?shù),輸出該分?jǐn)?shù)對應(yīng)的等級制級別:90=分?jǐn)?shù)=100,輸出“優(yōu);80=分?jǐn)?shù)90,輸出“良;70=分?jǐn)?shù)80,輸出“中;60=分?jǐn)?shù)70,輸出“差;分?jǐn)?shù)60,輸出“劣;分?jǐn)?shù)小于0或大于100,則輸出“輸入有誤!。#includemain( ) int score;printf(score = ); scanf(%d,&score);if (score 100)printf(輸入有誤!);else if

2、 (score 60) printf(劣);else if (score 70) printf(差);else if (score 80) printf(中);else if (score 90) printf(良);else printf(優(yōu)); 問題提出 引入新課方法1程序代碼:#includemain( ) int score;printf(score=); scanf(%d,&score);n=score/10;if (score 100)printf(輸入有誤!);else switch (n) case 0: case 1: case 2: case 3: case 4:

3、case 5: printf(劣); break; case 6: printf(差); break; case 7: printf(中); break; case 8: printf(良); break; default: printf(優(yōu)); break; 方法2程序代碼:自主學(xué)習(xí) 明確考點PART 02switch語句實現(xiàn)多分支選擇結(jié)構(gòu)C語言中解決多分支選擇問題,除了可以利用條件語句的嵌套外,還可以采用switch語句來實現(xiàn)。switch語句稱為分支語句,又稱為開關(guān)語句。概念switch語句的一般格式switch (表達式) case 常量表達式1: 語句組1; break; case

4、常量表達式2: 語句組2; break; case 常量表達式n: 語句組n; break; default : 語句組n+1; break; 執(zhí)行過程根據(jù)switch后(表達式)的值,與哪路分支中常量表達式的值相符就決定執(zhí)行哪一路分支例2:以下程序的運行結(jié)果是( )。#includemain() int k=2; switch (k) case 1: printf(%d ,k+);break; case 2: printf(%d ,k+); case 3: printf(%d ,k+);break; case 4: printf(%d ,k+); default: printf(Full!

5、); switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例1:若int i=10;則則執(zhí)行以下程序后,變量i的值是( )。 switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; 案例分析 交流提升PART 03【例1】若變量已正確定義,以下語句段的輸出結(jié)果是( )。x=0; y=2;z=3;switch(x) case 0: switch (y=2) case 1:printf(*);break; case 2:printf(%);break; case 1: switch(z) case 1:printf($); case

6、2:printf(*);break;default: printf(#); 案例分析 交流提升switch應(yīng)用:設(shè)計一個簡單計算器。要求:輸入兩個數(shù)值和一個運算符,輸出運算結(jié)果。程序的設(shè)計步驟是:(1)輸入x ,ch , y(2)計算結(jié)果 z 。 這是一個多分支選擇,根據(jù)ch的值選擇計算:+: z = x+y :z = x-y*: z = x*y /: z = x/y(3)輸出結(jié)果: x+y=z 程序代碼如下: 要求步驟添加標(biāo)題內(nèi)容標(biāo)題分析:兩個運算數(shù)值為:x, y, 運算符為:ch , 結(jié)果為:z ,設(shè)運算符的取值是:+、-、*、/。 main() float x , y ;char ch

7、;printf(“Please input , y :); scanf(“%f, %f,&x,&y ); printf(“Please input ch :); scanf(“%c,&ch ); switch(ch ) case +: z = x+y ; break;case -: z = x-y; break;case *: z = x*y ; break;case /: z = x/y ; break;default : printf(“errorn);printf(“x+y =%fn, z );為使用switch語句,必須將利潤profit與提成的關(guān)系,轉(zhuǎn)換成某些

8、整數(shù)與提成的關(guān)系。分析本題可知,提成的變化點都是1000的整數(shù)倍(1000、2000、5000、),如果將利潤profit整除1000,則當(dāng):profit1000 對應(yīng)0、11000profit2000 對應(yīng)1、22000profit5000 對應(yīng)2、3、4、55000profit10000 對應(yīng)5、6、7、8、9、1010000profit 對應(yīng)10、11、12、為解決相鄰兩個區(qū)間的重疊問題,最簡單的方法就是:利潤profit先減1(最小增量),然后再整除1000即可:profit1000 對應(yīng)01000profit2000 對應(yīng)12000profit5000 對應(yīng)2、3、45000prof

9、it10000 對應(yīng)5、6、7、8、910000profit 對應(yīng)10、11、12、已知某公司員工的保底薪水為600,某月所接工程的利潤profit(整數(shù))與利潤提成的關(guān)系如下(計量單位:元):profit1000 沒有提成;1000profit2000 提成10%;2000profit5000 提成15%;5000profit10000 提成20%;10000profit 提成25%。案例分析 交流提升main()long profit;int grade;float salary=600;printf(Input profit: );scanf(%ld, &profit);grad

10、e= (profit 1) / 1000; /*將利潤-1、再整除1000,轉(zhuǎn)化成 switch語句中的case標(biāo)號*/switch(grade) case 0: break; /*profit1000 */ case 1: salary += profit*0.1; break; /*1000profit2000 */ case 2: case 3: case 4: salary += profit*0.15; break; /*2000profit5000 */ case 5: case 6: case 7: case 8: case 9: salary += profit*0.2; br

11、eak; /*5000profit10000 */ default: salary += profit*0.25; /*10000profit */printf(salary=%.2fn, salary); 案例分析 交流提升 仿真演練 體驗探索PART 03ABCa=2,b=1 有如下程序的輸出結(jié)果是( )。main( ) int x=1,a=0,b=0;switch(x) case 0: b+;case 1: a+;case 2: a+;b+; printf(“a=%d,b=%dn,a,b); a=1,b=0a=1,b=1D仿真演練 體驗探索1a=2,b=2運行以下程序后,從鍵盤上輸入ch

12、ina#,則當(dāng)ch不等于#時的輸出結(jié)果是( )#include main( ) int v1=0,v2=0,i=0; char ch; ch=getchar();for(;ch!=#; ch=getchar() /* for(;(ch=getchar()!=#; )*/ switch (ch) case a: case h : default:v1+; case 0:v2+; printf(%d,%dn,v1,v2);仿真演練 體驗探索2運行結(jié)果:1234仿真演練 體驗探索3有以下程序運行后的輸出結(jié)果是( )。main()int a=15,b=21,m=0;switch(a%3) case 0

13、:m+;break;case 1:m+;switch(b%2) default:m+;case 0:m+;break;printf(%dn,m);寫出以下程序運行結(jié)果( )#includemain() int a=2,b=7,c=5; switch(a0) case 1: switch (b0) case 1:printf();break; case 2:printf(!);break; case 0: switch(c=5) case 0:printf(*);break; case 1:printf(#);break; default:printf(#);break; default: printf(&); printf(n); 仿真演練 體驗探索4課后作業(yè) 自我提升PART 04【2】利用IF語句:求給一個不多于4位的正整數(shù),求出它是幾位數(shù),逆序打印出各位

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論