C語言程序設(shè)計立體化教程課件:switch語句_第1頁
C語言程序設(shè)計立體化教程課件:switch語句_第2頁
C語言程序設(shè)計立體化教程課件:switch語句_第3頁
C語言程序設(shè)計立體化教程課件:switch語句_第4頁
C語言程序設(shè)計立體化教程課件:switch語句_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

五子棋游戲界面菜單制作Switch語句問題描述編寫一個程序,根據(jù)用戶輸入的期末考試成績,輸出相應(yīng)的成績評定信息。成績在90—100分輸出“優(yōu)秀”;成績大于等于80分小于90分輸出“良好”;成績大于等于70分小于80分輸出“中等”;成績大于等于60分小于70分輸出“及格”;成在0-60分輸出“不及格”。

問題解決

(1)單支結(jié)構(gòu)可以實現(xiàn)#include<stdio.h>voidmain(){intscore;printf(“\n請輸入一個百分制的期末考試成績:");scanf("%d",&score);if(score>=90&&score<=100)printf(“\n優(yōu)秀");if(score>=80&&score<90)printf(“\n良好");if(score>=70&&score<80)printf(“\n中等");if(score>=60&&score<70)printf(“\n及格");if(score<60&&score>=0)printf(“\n不及格");}

缺點:表達條件太繁瑣,容易寫錯。

問題解決

(2)多支結(jié)構(gòu)if可以實現(xiàn)#include<stdio.h>voidmain(){intscore;printf(“\n請輸入一個0-100的期末考試成績:");scanf("%d",&score);if(score>=90)printf(“\n優(yōu)秀");elseif(score>=80)printf(“\n良好");elseif(score>=70)printf(“\n中等");elseif(score>=60)printf(“\n及格");

elseprintf(“\n不及格");}

問題解決

(3)還可以用switch開關(guān)語句來實現(xiàn)C語言提供了switch語句直接處理多分支選擇。

switch語句

1.switch語句的一般形式

switch(表達式){case常量表達式1:語句組;break;

case常量表達式2:語句組;break;......case常量表達式n:語句組;break;

[default:語句組;[break;]] }

執(zhí)行過程

(1)當(dāng)switch后面“表達式”的值,與某個case后面的“常量表達式”的值相同時,就執(zhí)行該case后面的語句(組);當(dāng)執(zhí)行到break語句時,跳出switch語句,轉(zhuǎn)向執(zhí)行switch語句的下一條。(2)如果沒有任何一個case后面的“常量表達式”的值,與“表達式”的值匹配,則執(zhí)行default

后面的語句(組)。然后,再執(zhí)行switch語句的下一條。表達式語句1語句2語句n語句n+1常量表達式1常量表達式2常量表達式ndefaultswitch語句的流程圖表示

問題實現(xiàn)

#include<stdio.h>voidmain(){intscore;printf(“\n請輸入一個0-100的期末考試成績:

");scanf("%d",&score);score=score/10;switch(score){case10:printf(“\n優(yōu)秀");break;case9:printf(“\n優(yōu)秀");break;case8:printf(“\n良好");break;case7:printf(“\n中等");break;case6:printf(“\n合格");break;default:printf(“\n不合格");break;}}

說明

(1)switch后面的“表達式”,必須是整型和字符型中的一種。(2)每個case后面“常量表達式”的值,必須各不相同,否則會出現(xiàn)相互矛盾的現(xiàn)象(即對表達式的同一值,有兩種或兩種以上的執(zhí)行方案)。(3)case后面的常量表達式僅起語句標(biāo)號作用,并不進行條件判斷。系統(tǒng)一旦找到入口標(biāo)號,就從此標(biāo)號開始執(zhí)行,不再進行標(biāo)號判斷,所以必須加上break語句,以便結(jié)束switch語句(4)各case及default子句的先后次序,不影響程序執(zhí)行結(jié)果。(5)多個case子句,可共用同一語句(組)。(6)用switch語句實現(xiàn)的多分支結(jié)構(gòu)程序,完全可以用if語句或if語句的嵌套來實現(xiàn)。

舉例

利用switch開關(guān)語句編寫一個簡單的運算器

#include<stdio.h>main(){floatx,y;charop;doublez;printf("請輸入兩個操作數(shù)和操作符,中間用逗號隔開輸入:\n");scanf("%f,%f,%c",&x,&y,&op);switch(op){case'+':z=x+y;break;case'-':z=x-y;break;case'*':z=x*y;break;case'/':z=x/y;break;default:printf("operatorError");}printf("%.2f%c%.2f=%.2f\n",x,op,y,z);}

舉例

利用switch開關(guān)語句編寫一個簡單的運算器

#include<stdio.h>main(){floatx,y;charop;doublez;printf("請輸入兩個操作數(shù)和操作符,中間用逗號隔開輸入:\n");scanf("%f,%f,%c",&x,&y,&op);switch(op){case'+':z=x+y;break;case'-':z=x-y;break;

case‘*’:z=x*y;case'/':z=x/y;break;default:printf("operat

溫馨提示

  • 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

提交評論