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