《C語言程序設計基礎》課件2.3switch語句_第1頁
《C語言程序設計基礎》課件2.3switch語句_第2頁
《C語言程序設計基礎》課件2.3switch語句_第3頁
《C語言程序設計基礎》課件2.3switch語句_第4頁
《C語言程序設計基礎》課件2.3switch語句_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言程序設計基礎課件2C語言程序設計基礎課件2Cswitch語句部分流程圖:(1)說明該程序的功能是什么?答:根據輸入的字母,輸出相應的等級(2)思考:如果將程序段中的所有break語句去掉,輸入字符C,運行結果是什么?及格不及格輸入數據錯誤!真假ACBD真真真假假假grade錯誤優秀良好及格不及格breakbreakbreakbreakdefaultCswitch語句部分流程圖:(1)說明該程序的功能是什2 switch語句 switch語句的一般形式 switch (表達式) case 常量表達式1: 語句序列1;break; case 常量表達式2: 語句序列2 ;break; cas

2、e 常量表達式n: 語句序列n ;break; default : 語句序列n+1 ;break; 功能:計算表達式的值,與常量表達式的值比較,等于第i個值時,順序執行語句序列1、2、 、n若與所有常量表達式值都不相等,執行語句序列n+1。 2 switch語句 switch語句的一般形式 switch語句的工作過程是: 1.根據switch括號中的表達式從上至下查找與表達式的值匹配的case標號入口,執行case后的語句。 2.若沒有匹配的case標號,則轉到標號default:后的語句執行。否則跳出switch語句。 說明: 1.程序出現(不好歸納的情況)“意外”歸入default:標號作

3、統一處理。 2.default可以在switch中任意位置。只要出現意外都會轉到default執行。 3.break的作用:使程序流程跳出switch結構。 4.如果沒有break語句:那么從匹配標號到switch結構結束,中間所有的語句均被執行一次。switch語句的工作過程是:注意:switch語句的書寫格式: 1.語句體本身必須用花括號括起; 2.case和default后面如果有多條語句,不必使用花括號; 3.case和常量表達式之間必須有空格; 4.default可以寫在語句體的任何位置,也可以省略不寫允許switch嵌套使用,但同一個switch語句中,任意兩個case的常量表達式

4、值不能相同。 注意:switch語句的書寫格式:3思考:在switch語句中多個case可共用一組執行語句嗎?如果可以,請寫出下面程序的預期運行結果?并且對比上機調試結果。includestdio.hmain( ) char grade; printf(請輸入成績等級(A、B、C、D)n); grade=getchar( ); switch (grade) case A: case B: case C: printf(及格n);break; case D: printf (不及格n);break; default: printf(輸入數據錯誤n);輸入 A結果: 及格3思考:在switch語句

5、中多個case可共用一組執行語句執行下列程序,輸入3后輸出結果是。#include ”stdio.h”main() int k; scanf(”%d”, &k); switch(k) case 1: printf(”%dn”, k+); case 2: printf(”%dn”, k+); case 3: printf(”%dn”, k+); case 4: printf(”%dn”, k+); break; default: printf(”Full!n”); 34執行下列程序,輸入3后輸出結果是。3執行下列程序,輸入5后輸出結果是。#include ”stdio.h”main() int

6、k; scanf(”%d”, &k); switch(k) case 1: printf(”%dn”, k+); case 2: printf(”%dn”, k+); default: printf(”Full!n”); case 3: printf(”%dn”, k+); case 4: printf(”%dn”, k+); break; Full!56執行下列程序,輸入5后輸出結果是。Full!main ( ) int x=1,y=0,a=0,b=0;switch(x) case 1: switch (y) case 0 : a+ ; break ; case 1 : b+ ; break

7、 ; case 2:a+; b+; break;case 3:a+; b+; printf(“a=%d,b=%d”,a,b);a=2,b=1main ( )a=2,b=1main ( ) int x=1,y=0,a=0,b=0;switch(x) case 1: switch (y) case 0 : a+ ; break ; case 1 : b+ ; break ; break;case 2:a+; b+; break;case 3:a+; b+; printf(“a=%d,b=%d”,a,b);a=1,b=0main ( )a=1,b=0main ( ) int a=2,b=7,c=5;

8、 switch (a0) case 1: switch (b0) case 1: printf(“”); break ; case 2: printf(“!”); break ; case 0: switch (c=5) case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; default : printf(“&”); printf(“n”);*&main ( )*&main ( ) int x,c,m; float y;scanf(“%d”,&x);if ( )

9、c=-1;else c= ;switch (c) case 1 : y=0 ; break ; case 0 : y=x ; break ; case 1 : y=10 ; break ; case 2 : case 3 : y=-0.5*x+20 ; break ; default : y=-2 ;printf (“y=%f”,y); 0 (x0) x (0=x10)y= 10 (10=x20) -0.5*x+20 (20=x=40)x0 x/10main ( ) 0 main ( ) int x,c,m; float y;scanf(“%d”,&x);if ( ) c=-1;else c=

10、 ;switch (c) case 1 : y=0 ; break ; case 0 : y=x ; break ; case 1 : case 2: case 3: y=10 ; break ; case 4 : case 5: case 6: case 7 : y=-0.5*x+20 ; break ; default : y=-2 ;printf (“y=%f”,y); 0 (x0) x (0=x50)y= 10 (50=x200) -0.5*x+20 (200=x=400)x0 x/50main ( ) 0 任務六 分支的應用題目:商家為了促銷,以打折吸引顧客,其打折情況如下:購買量5

11、0 原價銷售50購買量100 打9折銷售100購買量200 打8折銷售購買量200 打7折銷售編程實現:輸入商品單價和購買量,求應繳付多少錢。任務六 分支的應用題目:商家為了促銷,以打折吸引顧客,其打折任務六 分支的應用1分析:據題意可知,由購買量決定打折情況,變量r代表打折率,變量n代表購買量。(1)當n小于10時,r1.0。(2)當n介于10與50之間時,r0.9。(3)當n介于50與100之間時,r0.8。(4)當n大于100時,r0.7。因為有多個選擇,故可使用if else if結構。任務六 分支的應用1分析:2由上述分析,填寫下列流程圖。n10n100r=1.0r=0.9r=0.7真假真假真假n50r=0.8任務六 分支的應用2由上述分析,填寫下列流程圖。n10n100r=1.0#includestdio.hmain( )int n; float price,money,r; printf(請輸入商品購買量和單價:n);scanf(%f%f,&n,&price);if(n10)r=1.0;else if( )r=0.9;else if(n100) ;elser=0.7;money=price*r*n;printf (應繳付%f元錢n,money);n50r=0.83根據流程圖,填寫程序。4請記錄上機調試結果:#

溫馨提示

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

評論

0/150

提交評論