c语言 switch语句大小,C语言switch语句(板式整齐)
《C語(yǔ)言switch語(yǔ)句(板式整齊)》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語(yǔ)言switch語(yǔ)句(板式整齊)(38頁(yè)珍藏版)》請(qǐng)?jiān)谌巳宋膸?kù)網(wǎng)上搜索。
1、switch 語(yǔ)句,1,優(yōu)質(zhì)內(nèi)容,7.1 switch 語(yǔ)句: switch 語(yǔ)句是一條多分支選擇語(yǔ)句. 在實(shí)際應(yīng)用中,要在多種情況中選擇一種情況,執(zhí)行某一部分語(yǔ)句。 當(dāng)然可以使用嵌套的if , if else if語(yǔ)句來(lái)處理,但其分支過(guò)多,程序冗長(zhǎng),難讀, 不夠靈巧。,2,優(yōu)質(zhì)內(nèi)容,switch語(yǔ)句是C語(yǔ)言中處理多路選擇問(wèn)題的一種更直觀和有效的手段. 在測(cè)試某個(gè)表達(dá)式是否與一組常量表達(dá)式中的某一值相配時(shí),switch語(yǔ)句顯得更為方便.,一般形式如下:,3,優(yōu)質(zhì)內(nèi)容,switch(表達(dá)式 ) case 常量表達(dá)式1: 語(yǔ)句1 break; case 常量表達(dá)式2: 語(yǔ)句2 break; cas。
2、e 常量表達(dá)式n: 語(yǔ)句n break; default: 語(yǔ)句n+1 ,說(shuō)明: (1). 關(guān)于表達(dá)式: 表達(dá)式可以是整型、字符型等表達(dá)式。 有一個(gè)確定的值(不是邏輯值).,(2). 關(guān)于常量表達(dá)式1n: 只起到一個(gè)標(biāo)號(hào)的作用,根據(jù)表達(dá)式的值來(lái)判斷, 找到一個(gè)相匹配的入口處,程序往下執(zhí)行。 各個(gè)case后的常量表達(dá)式的值必須互不相同.,(3). 每個(gè)case分支可有多條語(yǔ)句,可不用花括號(hào) 。,4,優(yōu)質(zhì)內(nèi)容,switch(表達(dá)式 ) case 常量表達(dá)式1: 語(yǔ)句1 break; case 常量表達(dá)式2: 語(yǔ)句2 break; case 常量表達(dá)式n: 語(yǔ)句n break; default: 語(yǔ)。
3、句n+1 ,(4). 各個(gè)case 語(yǔ)句只是一個(gè)入口標(biāo)號(hào),并不確定執(zhí)行的終止點(diǎn).,(5). 一般在各個(gè)case 語(yǔ)句最后應(yīng)該加一break語(yǔ)句, 可使程序流程跳出Switch結(jié)構(gòu). 否則會(huì)從入口處一直向下執(zhí)行.,(6). 各個(gè)case和default出現(xiàn)的先后次序,并不影響執(zhí)行結(jié)果. default可以沒(méi)有.,5,優(yōu)質(zhì)內(nèi)容,(7). 多個(gè)case可共用一組執(zhí)行語(yǔ)句. 例如為了統(tǒng)計(jì)一段文字中的數(shù)字,字母及分隔符的個(gè)數(shù), 可用下列程序段實(shí)現(xiàn):,switch(ch) case 0: case 1: . case 8: case 9: digit + ; break ; case : case n: 。
4、case t: white+ ; break ; default : character+; break; ,這里有一個(gè)空格.,表達(dá)式后都有一冒號(hào)”:” .,6,優(yōu)質(zhì)內(nèi)容,無(wú)break語(yǔ)句,switch(表達(dá)式),7,優(yōu)質(zhì)內(nèi)容,說(shuō)明:,switch語(yǔ)句不等同于if語(yǔ)句: 1. switch只能進(jìn)行值的相等性的檢查. 2. if語(yǔ)句不但可以進(jìn)行相等性的檢查, 還可以計(jì)算關(guān)系表達(dá)式或邏輯表達(dá)式,進(jìn)行邏輯判斷的真假.,只進(jìn)行值的相等性 的檢查,不是邏輯判斷!,8,優(yōu)質(zhì)內(nèi)容,例7.1 鍵盤(pán)輸入0-6之間的整數(shù),分別代表每周的星期日、星期一、星期六,#include int main( ) int da。
5、y; printf(請(qǐng)輸入星期的數(shù)字編號(hào)(0-6): ); scanf(%d, .,Ch7_7_1.c,9,優(yōu)質(zhì)內(nèi)容,. switch (day) case 0: printf(星期日 n); break; case 1: printf(星期一 n); break; case 2: printf(星期二 n); break; case 3: printf(星期三 n); break; case 4: printf(星期四 n); break; case 5: printf(星期五 n); break; case 6: printf(星期六 n); break; default: printf(。
6、輸入有誤,請(qǐng)輸入0-6之間的數(shù)字!n); return 0; ,每個(gè)case分支可有多條語(yǔ)句,可不用花括號(hào) ,也可以用。,表達(dá)式有一個(gè)確定的值(不是邏輯值).,10,優(yōu)質(zhì)內(nèi)容,例7.2 求執(zhí)行下列程序段后k的值 #include int main() char c=2; int k=1; switch (c+1-0) case 2: k+=1; case 2+1: k+=2; case 4: k+=3; printf(k=%dn,k); return 0; ,一般在各個(gè)case 語(yǔ)句最后應(yīng)該加一break語(yǔ)句, 可使程序流程跳出Switch結(jié)構(gòu). 否則會(huì)從入口處一直向下執(zhí)行.,0的ASCII值。
7、為48.,Ch7_7_2.c,11,優(yōu)質(zhì)內(nèi)容,例7.3 執(zhí)行下列程序,當(dāng)分別輸入A、B、C、E時(shí),求K的值. char c; int k=2; scanf(“%c”, ,Ch7_7_3.c,12,優(yōu)質(zhì)內(nèi)容,例7.4 輸入一字符,如果是Y, N或y, n,則分別執(zhí)行一輸出語(yǔ)句,如果是其他字母則執(zhí)行另一輸出語(yǔ)句。,#include void main() char ch; printf(Please input Y/N (y/n): ); scanf(%c, .,Ch7_7_4.c,13,優(yōu)質(zhì)內(nèi)容,. switch(ch) case y: case Y: printf(this is Y or y。
8、. n); break; case n: case N: printf(this is N or n. n); break; default: printf(this is other char. n); ,多個(gè)case可共用一組執(zhí)行語(yǔ)句.,表達(dá)式有一個(gè)確定的值(不是邏輯值).,14,優(yōu)質(zhì)內(nèi)容,例7.5 編寫(xiě)程序,實(shí)現(xiàn)如下功能。 輸入一個(gè)實(shí)數(shù)后,屏幕顯示如下菜單: 1. 輸出相反數(shù) 2. 輸出平方數(shù) 3. 輸出平方根 4. 退出,15,優(yōu)質(zhì)內(nèi)容,#include void main() int i, c=5; float m; printf(輸入任意一個(gè)整型數(shù):n); scanf(%f, ,C。
9、h7_7_5.c,16,優(yōu)質(zhì)內(nèi)容,. while(1) scanf(%d, ,Ch7_7_5.c,17,優(yōu)質(zhì)內(nèi)容,例7. 6 根據(jù)輸入字符(0-9及A-F(af)顯示與該字符所表示的十六進(jìn)制數(shù)相對(duì)應(yīng)的十進(jìn)制數(shù)。 (例如,輸入A,輸出10,輸入0,輸出0),18,優(yōu)質(zhì)內(nèi)容,#include #include int main( ) char ch; for(; ; ) printf(“n請(qǐng)輸入十六進(jìn)制數(shù) 0 F ( 輸入Q 或 q 退出): ); scanf(%c, .,當(dāng)輸入一個(gè)字符,打一個(gè)回車(chē)后,輸入結(jié)束. 但在輸入緩沖區(qū)中存在二個(gè)字符:輸入的字符,還有一個(gè)是n.,當(dāng)打了一個(gè)回車(chē)后(其實(shí)是二。
10、個(gè)動(dòng)作:回車(chē),換行. c語(yǔ)言會(huì)把回車(chē),換行自動(dòng)轉(zhuǎn)換為n.反之亦然.,19,優(yōu)質(zhì)內(nèi)容,switch( ch ) case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: printf(十進(jìn)制數(shù): %dn, ch-0); break; case A: case B: case C: case D: case E: case F: printf(十進(jìn)制數(shù): %dn, ch-55); break; ,Ch7_7_6.c,ASCII值:0 48A 65a” 97,20,優(yōu)質(zhì)內(nèi)容,case a: case。
11、 b: case c: case d: case e: case f: printf(十進(jìn)制數(shù): %dn, ch-87); break; case Q: case q: printf(退出程序n); exit(0); default: printf(輸入有誤!); return 0; ,ASCII值:0 48A 65a” 97,21,優(yōu)質(zhì)內(nèi)容,示例: 輸入10個(gè)字符,分別統(tǒng)計(jì)出其中空格或回車(chē)、數(shù)字和其他字符的個(gè)數(shù)。,void main( ) int blank, digit, i, other; char ch; blank = digit = other = 0; printf(input 。
12、10 characters: ); .,22,優(yōu)質(zhì)內(nèi)容,for(i = 1; i = 10; i+) ch = getchar(); switch (ch) case : case n : blank +; break; case 0 : case 1 : case 2 : case 3: case 4 : case 5 : case 6 : case 7 : case 8 : case 9 : digit +; break; default: other +; break; printf(“blank=%d, digit=%d, other=%dn”, blank, digit, other。
13、); ,input 10 characters: Reold 123? blank=1, digit=3, other=6,23,優(yōu)質(zhì)內(nèi)容,例: #include void main( ) int i ; for(i = 0; i 3; i+) switch(i) case 1: printf(%d,i); case 2: printf(%d,i); default: printf(%d,i); ,以下程序的輸出結(jié)果是: A. 011122 B. 012 C. 012020 D. 120,注意所屬關(guān)系,24,優(yōu)質(zhì)內(nèi)容,例7. 7 編寫(xiě)一個(gè)簡(jiǎn)易計(jì)算器.,Ch7_7_7.c,25,優(yōu)質(zhì)內(nèi)容,#in。
14、clude #include int main() float numb1 = 0, numb2 = 0; int menu = 1, flag; float total=0; char calType; .,26,優(yōu)質(zhì)內(nèi)容,for(;) flag=1; printf(nt希望進(jìn)行哪種運(yùn)算?nn); printf(t 1:加法n); printf(t 2:減法n); printf(t 3:乘法n); printf(t 4:除法n); printf(t 0:退出計(jì)算器n); printf(nt輸入你的選擇:); .,27,優(yōu)質(zhì)內(nèi)容,. scanf(%d, .,退出程序.,28,優(yōu)質(zhì)內(nèi)容,swit。
15、ch(menu) case 1: total=numb1+numb2; calType=+; break; case 2: total=numb1-numb2; calType=-; break; case 3: total=numb1*numb2; calType=*;break; case 4: if(numb2=0) printf(nt不能被0除n); flag=0;break; total=numb1/numb2; calType=/;break; default: printf(無(wú)效的選擇!n); ,29,優(yōu)質(zhì)內(nèi)容,if(flag=1) printf(nn*); printf(nnt。
16、%.3f %c %.3f = %.3f, numb1, calType, numb2, total); printf(nn*nn); return 0; ,Ch7_7_7.c,30,優(yōu)質(zhì)內(nèi)容,問(wèn)輸出為?: A) K=3 B) K=4 C)K=2 D)K=0 main( ) int k=0; char c=A; do swich(c+) case A: K+; break; case B: K-; case C: k+=2; break; case D: K=K%2; continue; case E: K=K*10; break; default: K=K/3; K+; while(cG); 。
17、printf(“K=%dn”,K); ,第1次. 第2次. 3. 4. 5. 6. K=2 k=4 k=7 k=1 k=11 k=4 c=B c=C c=D c=E c=F c=G,31,優(yōu)質(zhì)內(nèi)容,注: 每次執(zhí)行switch(C+)時(shí),先取C的值,找到入 口,然后C增1. 當(dāng)執(zhí)行到continue時(shí),流程跳過(guò)do-while語(yǔ)句 中當(dāng)未執(zhí)行的語(yǔ)句,而直接轉(zhuǎn)向while的條件表 達(dá)式,判循環(huán)是否進(jìn)行.,32,優(yōu)質(zhì)內(nèi)容,練習(xí)與實(shí)踐: 1百分制轉(zhuǎn)換成五分制. #include int main() int x; printf(請(qǐng)輸入學(xué)生百分制成績(jī):n輸入負(fù)數(shù)結(jié)束程序:n); scanf(%d, ,課。
18、本 P101: 1題,33,優(yōu)質(zhì)內(nèi)容,while(x0) switch(x/10) case 10: case 9: printf(五分制為:n5nn);break; case 8: printf(五分制為:n4nn);break; case 7: printf(五分制為:n3nn);break; case 6: printf(五分制為:n2nn);break; default: printf(五分制為:n1nn);break; ,課本 P101: 1題,34,優(yōu)質(zhì)內(nèi)容, printf(請(qǐng)輸入學(xué)生百分制成績(jī):n輸入負(fù)數(shù)結(jié)束程序:n); scanf(%d, ,35,優(yōu)質(zhì)內(nèi)容,#include #include int main() double x,s; int y; printf(Input a number:n); scanf(%lf, ,2計(jì)算sin(),cos(),tan().,36,優(yōu)質(zhì)內(nèi)容, while(1) printf(您希望進(jìn)行哪種運(yùn)算?n); printf(1.計(jì)算sin(x)n); printf(2.計(jì)算cos(x)n); printf(3.計(jì)算tan(x)n); scanf(%d, ,37,優(yōu)質(zhì)內(nèi)容, if(y=1|y=2|y=3) break; printf(謝謝使用:n); return 0; ,38,優(yōu)質(zhì)內(nèi)容。
總結(jié)
以上是生活随笔為你收集整理的c语言 switch语句大小,C语言switch语句(板式整齐)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言取字节的第n二进制,学C语言的看过
- 下一篇: c语言结构体讲解,C语言基础之结构体讲解