《C語(yǔ)言程序設(shè)計(jì)》 課件 3.4switch語(yǔ)句_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》 課件 3.4switch語(yǔ)句_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》 課件 3.4switch語(yǔ)句_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》 課件 3.4switch語(yǔ)句_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》 課件 3.4switch語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

switch語(yǔ)句switch語(yǔ)句switch語(yǔ)句switch語(yǔ)句又稱為開關(guān)語(yǔ)句,專門用于處理多分支選擇問(wèn)題,比復(fù)合if

語(yǔ)句及嵌套if語(yǔ)句更方便靈活,程序可讀性也更高。switch語(yǔ)句switch語(yǔ)句switch語(yǔ)句的一般形式:執(zhí)行過(guò)程:首先計(jì)算表達(dá)式的值,并逐個(gè)與case后面的常量表達(dá)式值相比較,當(dāng)該表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行這個(gè)case后面的語(yǔ)句。然后跳出switch機(jī)構(gòu),去執(zhí)行下一條語(yǔ)句。如果表達(dá)式的值與所有case后的常量表達(dá)式均不同,則執(zhí)行default后所跟的語(yǔ)句。switch(表達(dá)式){case常量表達(dá)式1:語(yǔ)句1;break;case常量表達(dá)式2:語(yǔ)句2;break;……case常量表達(dá)式n:語(yǔ)句n;break;default:語(yǔ)句n+1;}switch語(yǔ)句switch語(yǔ)句流程圖:=常量1語(yǔ)句1=常量2=常量nbreak;計(jì)算表達(dá)式Y(jié)NN...語(yǔ)句2break;Y語(yǔ)句nbreak;Ydefault:語(yǔ)句n+1switch語(yǔ)句swicth語(yǔ)句說(shuō)明(1)switch括號(hào)后面的表達(dá)式,允許為任何類型。一般為整型或字符型等有序類型;(2)當(dāng)“表達(dá)式”的值與某個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語(yǔ)句。如果表達(dá)式的值與所有常量表達(dá)式都不匹配,就執(zhí)行default后面的語(yǔ)句(如果沒(méi)有default就執(zhí)行跳出switch,執(zhí)行switch語(yǔ)句后面的語(yǔ)句);switch(a){case1:printf(“A\n”);break;case2:printf(“B\n”);break;case3:printf(“C\n”);break;default:printf(“inputerror\n”);}switch語(yǔ)句swicth語(yǔ)句說(shuō)明(3)每個(gè)case后的常量表達(dá)式的值不能相同,即不能出現(xiàn)同時(shí)可選多個(gè)case的情況;(4)各個(gè)case、default出現(xiàn)的順序不影響執(zhí)行結(jié)果;switch(a){case1:printf(“A\n”);break;case2:printf(“B\n”);break;case3:printf(“C\n”);break;default:printf(“inputerror\n”);}switch語(yǔ)句swicth語(yǔ)句說(shuō)明(5)多個(gè)case可以關(guān)聯(lián)到同一個(gè)執(zhí)行語(yǔ)句上,共用一個(gè)執(zhí)行語(yǔ)句,即:執(zhí)行完一個(gè)case后面的語(yǔ)句后(子句最后沒(méi)有break),流程控制轉(zhuǎn)移到下一個(gè)case中的語(yǔ)句繼續(xù)執(zhí)行;(6)在執(zhí)行一個(gè)分支后,可以使用break語(yǔ)句使流程跳出switch結(jié)構(gòu),即終止switch語(yǔ)句的執(zhí)行(最后一個(gè)分支可以不用break語(yǔ)句);switch(a){case1:case2:printf(“A\n”);break;case3:printf(“C\n”);break;default:printf(“inputerror\n”);}switch語(yǔ)句swicth語(yǔ)句說(shuō)明(7)case后面如果有多條語(yǔ)句,不必用{}括起來(lái)。switch(a){case1:printf(“A\n”);break;case2:printf(“B\n”);break;case3:{t=a;a=b;b=t;}break;default:printf(“inputerror\n”);}switch語(yǔ)句舉例輸入一個(gè)1到7之間的數(shù),并將其轉(zhuǎn)換為英文的星期幾輸出。解:程序代碼:

#include“stdio.h”voidmain(){inta;printf(“inputaintegernumber:”);scanf(“%d”,&a);switch(a){switch語(yǔ)句舉例輸入一個(gè)1到7之間的數(shù),并將其轉(zhuǎn)換為英文的星期幾輸出。case1:printf(“Monday\n”);break;case2:printf(“Tuesday\n”);break;case3:printf(“Wednesday\n”);break;case4:printf(“Thursday\n”);break;case5:printf(“Friday\n”);break;case6:printf(“Saturday\n”);break;case7:printf(“Sunday\n”);break;default:printf(“inputerror\n”);}}switch語(yǔ)句舉例用switch語(yǔ)句處理菜單命令。在許多應(yīng)用程序中,用菜單對(duì)流程進(jìn)行控制,例如從鍵盤輸入一個(gè)′A′或′a′字符,就會(huì)執(zhí)行A操作,輸入一個(gè)′B′或′b′字符,就會(huì)執(zhí)行B操作。解:程序代碼:#include"stdio.h"intmain(){ voidaction1(int,int),action2(int,int); charch; inta=15,b=23; ch=getchar();switch語(yǔ)句舉例用switch語(yǔ)句處理菜單命令。在許多應(yīng)用程序中,用菜單對(duì)流程進(jìn)行控制,例如從鍵盤輸入一個(gè)′A′或′a′字符,就會(huì)執(zhí)行A操作,輸入一個(gè)′B′或′b′字符,就會(huì)執(zhí)行B操作。 switch(ch) { case'a': case'A':action1(a,b);break; case'b': case'B':action2(a,b);break; } return0;}switch語(yǔ)句舉例用switch語(yǔ)句處理菜單命令。在許多應(yīng)用程序中,用菜單對(duì)流程進(jìn)行控制,例如從鍵盤輸入一個(gè)′A′或′a′字符

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論