選擇結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì)_第1頁(yè)
選擇結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì)_第2頁(yè)
選擇結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì)_第3頁(yè)
選擇結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì)_第4頁(yè)
選擇結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(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)介

選擇結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì)選擇結(jié)構(gòu)設(shè)計(jì)程序設(shè)計(jì)關(guān)系運(yùn)算符和關(guān)系表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式

if語(yǔ)句switch語(yǔ)句程序舉例第2頁(yè),共54頁(yè),2024年2月25日,星期天關(guān)系運(yùn)算符和關(guān)系表達(dá)式第3頁(yè),共54頁(yè),2024年2月25日,星期天關(guān)系運(yùn)算符關(guān)系運(yùn)算實(shí)際上是兩個(gè)量的比較,比較的結(jié)果只有兩種可能:真(1)、假(0)。例如:a>3?當(dāng)a=5時(shí),比較的結(jié)果為真;當(dāng)a=1時(shí),結(jié)果為假。

C語(yǔ)言提供6種關(guān)系運(yùn)算符

<(小于)<=(小于或等于)>(大于)

>=(大于或等于)==

(相等)

!=

(不等)選擇結(jié)構(gòu)程序設(shè)計(jì)關(guān)系運(yùn)算符和關(guān)系表達(dá)式

優(yōu)先級(jí)相同(高)優(yōu)先級(jí)相同(低)等式運(yùn)算符第4頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)關(guān)系運(yùn)算符和關(guān)系表達(dá)式

關(guān)系運(yùn)算符合法的4>=6A+b<=c+dch==‘A’count!=-2x+y==2*z-5不合法的a=<ba=>ba>>ba=ba==b-1(x+y)=!44第5頁(yè),共54頁(yè),2024年2月25日,星期天關(guān)于優(yōu)先次序<,<=,>,>=為同一級(jí)別,==和!=為同一級(jí)別。在同一級(jí)別中,采取由左至右的結(jié)合方向。

算術(shù)運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符高低[例]c>a+bc>(a+b)a>b!=c(a>b)!=ca==b<ca==(b<c)a=b>ca=(b>c)

等式運(yùn)算符選擇結(jié)構(gòu)程序設(shè)計(jì)系運(yùn)算符和關(guān)系表達(dá)式

第6頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)關(guān)系運(yùn)算符和關(guān)系表達(dá)式

關(guān)系表達(dá)式用關(guān)系運(yùn)算符將或者等式運(yùn)算符兩個(gè)表達(dá)式連接起來(lái),叫關(guān)系表達(dá)式。合法的關(guān)系表達(dá)式:

a>b,a+b>b+c,(a=3)>(b=5),

(a==3)>(b==5),‘a(chǎn)’<‘b’,(a>b)>(b<c)關(guān)系表達(dá)式的值是一個(gè)邏輯值,非真即假.

關(guān)系表達(dá)式5==3的值為假(在計(jì)算機(jī)中記為0);

5>=0的值為真(在計(jì)算機(jī)中記為1)。

第7頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)關(guān)系運(yùn)算符和關(guān)系表達(dá)式

關(guān)系表達(dá)式例:

a=3,b=2,c=1,

則:(1)a>b的值為1(2)(a>b)==c的值為真(即1)

a>b的值為1,c也為1,(a>b)==c相當(dāng)于1==1,結(jié)果為真,即(a>b==c)的值為1。(3)b+c<a的值為0(4)d=a>b中d的值為a>b的值,為1。(5)f=a>b>c中f的值為1>c的值,為0。第8頁(yè),共54頁(yè),2024年2月25日,星期天課堂練習(xí)inti=1,j=2,k=3;doublex=5.5,y=7.7i<j-k-i+5*j>=k+1x-y<=j-k-1x+k+7<y/k第9頁(yè),共54頁(yè),2024年2月25日,星期天課堂練習(xí)答案inti=1,j=2,k=3;doublex=5.5,y=7.7i<j-ki<(j-k)0-i+5*j>=k+1((-i)+(5*j))>=(k+1)1x-y<=j-k-1(x-y)<=((j-k)-1)1x+k+7<y/k((x+k)+7)<(y/k)0第10頁(yè),共54頁(yè),2024年2月25日,星期天課堂練習(xí)inti=1,j=2,k=3i==ji!=ji+j+k==-2*-k第11頁(yè),共54頁(yè),2024年2月25日,星期天課堂練習(xí)答案inti=1,j=2,k=3i==jj==i0i!=jj!=I1i+j+k==-2*-k((i+k)+k)==((-2)*(-k))1第12頁(yè),共54頁(yè),2024年2月25日,星期天邏輯運(yùn)算符和邏輯表達(dá)式第13頁(yè),共54頁(yè),2024年2月25日,星期天邏輯運(yùn)算符邏輯運(yùn)算:產(chǎn)生真假值的運(yùn)算。C語(yǔ)言提供的邏輯運(yùn)算符:①

&&邏輯與②

||

邏輯或③

!邏輯非“&&”和“||”是雙目運(yùn)算符,它要求兩個(gè)運(yùn)算量。

如:(a>b)&&(x>y),(a>b)||(x>y)“!”是一元運(yùn)算符,只要求一個(gè)運(yùn)算量。如:!(a>b)錯(cuò)誤的例子a!a!ba&&a||ba&b選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第14頁(yè),共54頁(yè),2024年2月25日,星期天邏輯運(yùn)算符邏輯運(yùn)算舉例如下:

a&&ba,b同時(shí)為真,則表達(dá)式為真

a||ba,b只要有一個(gè)為真,表達(dá)式為真

!aa為真,則表達(dá)式為假真值表ab!a!ba&&ba||bTTFFTTTFFTFTFTTFFTFFTTFF選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第15頁(yè),共54頁(yè),2024年2月25日,星期天邏輯運(yùn)算符的優(yōu)先級(jí)!&&||邏輯運(yùn)算符“&&”和“||”低于關(guān)系運(yùn)算符,“!”高于算術(shù)運(yùn)算符

a>b&&x>y相當(dāng)于:(a>b)&&(x>y)a==b||x==y相當(dāng)于:(a==b)||(x==y)!a||a>b相當(dāng)于:(!a)||(a>b)!算術(shù)關(guān)系邏輯賦值選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第16頁(yè),共54頁(yè),2024年2月25日,星期天邏輯表達(dá)式用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來(lái)就是邏輯表達(dá)式。在C語(yǔ)言中,當(dāng)判斷一個(gè)量的真假時(shí),一切非0數(shù)均被當(dāng)成‘真’來(lái)處理。

例如:若a=4,則!a的值為0若a=4,b=5,則a&&b的值為1

a||b的值為1

!a||b的值為1

4&&0||2的值為1選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第17頁(yè),共54頁(yè),2024年2月25日,星期天邏輯表達(dá)式邏輯運(yùn)算的結(jié)果非0即1,參加邏輯運(yùn)算的量可以是0和非0數(shù)。區(qū)分下面的表達(dá)式中算術(shù)運(yùn)算量,關(guān)系運(yùn)算量和邏輯運(yùn)算量:5>3&&2||8<4-!0結(jié)果為1

5>3是兩個(gè)數(shù)值間的比較,結(jié)果為1

1&&2是兩個(gè)非0值(邏輯量)間的運(yùn)算,結(jié)果為1

1||8<4-!0,根據(jù)優(yōu)先級(jí),先計(jì)算!0,結(jié)果為1

1||8<4-1-->1||8<3-->1||0結(jié)果為1你是否對(duì)邏輯量有概念了?對(duì)于一個(gè)變量,做算術(shù)運(yùn)算時(shí),關(guān)心的是它的實(shí)際數(shù)值;做邏輯判斷時(shí),關(guān)心的是0還是非0。選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第18頁(yè),共54頁(yè),2024年2月25日,星期天!(a&&b)等價(jià)于!a||!b!(a||b)等價(jià)于!a&&!b寫出下列式子的等價(jià)邏輯表達(dá)式!(a>b)!(a<=b&&c<=d)!(a+1==b+1)!(a<1||b<2&&c<3)ab!(a&&b)!a||!b!(a||b)!a&&!bTTFFFFTFTTFFFTTTFFFFTTTT選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第19頁(yè),共54頁(yè),2024年2月25日,星期天課堂練習(xí)inti=3,j=3,k=3;doublex=0.0,y=2.3;i&&j&&kx||i&&j-3i<j&&x<yi<j||x<y-1||0inta=1,b=2,c=3;doublex=1.0;a>b&&c>ba<!b||!!aa+b<!c+ca-x||b*c&&b/a第20頁(yè),共54頁(yè),2024年2月25日,星期天課堂練習(xí)答案inti=3,j=3,k=3;doublex=0.0,y=2.3;i&&j&&k(i&&j)&&k1x||i&&j-3x||(i&&(j-3))0i<j&&x<y(i<j)&&(x<y)0i<j||x<y(i<j)||(x<y)1-1||01inta=1,b=2,c=3;doublex=1.0;a>b&&c>b0a<!b||!!a1a+b<!c+c0a-x||b*c&&b/a1第21頁(yè),共54頁(yè),2024年2月25日,星期天短路求值計(jì)算含有&&和||的運(yùn)算數(shù)的表達(dá)式時(shí),只要得到了結(jié)果的真或者假,求值的過(guò)程就停止,這樣的計(jì)算的過(guò)程就停止,這樣的計(jì)算過(guò)程是短路求值(short-circleevaluation)對(duì)于exp1&&exp2求值的時(shí)候當(dāng)exp1的值是0的時(shí)候,不論exp2為何值,整個(gè)表達(dá)式為0,計(jì)算機(jī)不會(huì)也沒(méi)有必要去計(jì)算exp2對(duì)于exp1||exp2求值的時(shí)候當(dāng)exp1的值是1的時(shí)候,不論exp2為何值,整個(gè)表達(dá)式為1,計(jì)算機(jī)不會(huì)也沒(méi)有必要去計(jì)算exp2

第22頁(yè),共54頁(yè),2024年2月25日,星期天短路求值例子#include<stdio.h>main(){inti,j;i=2&&(j=2);printf("%d%d\n",i,j);(i=0)&&(j=3);printf("%d%d\n",i,j);i=0||(j=4);printf("%d%d\n",i,j);(i=2)||(j=5);printf("%d%d\n",i,j);}第23頁(yè),共54頁(yè),2024年2月25日,星期天課堂練習(xí)當(dāng)程序執(zhí)行下面代碼時(shí)會(huì)顯示什么?仔細(xì)分析結(jié)果#include<stdio.h>main(){inta=1,b=2,c=3;floatx=3.3,y=5.5;printf("%d%d\n",!a+b/c,!a+b/c);printf("%d%d\n",a==-b+c,a*b>c==a);printf("%d%d\n",!!x<a+b+c,!!x+!!!y);printf("%d%d\n",a||b==x&&y,!(x||!y));}00101110第24頁(yè),共54頁(yè),2024年2月25日,星期天[例]判斷某一年是否是閏年。條件是:能被4整除,但不能被100整除;能被4整除,又能被400整除。

用year表示年份,判斷閏年的邏輯表達(dá)式為:

(year%4==0&&year%100!=0)||(year%400==0)如果給year輸入一個(gè)值,使上面的表達(dá)式的值為1時(shí),則year所代表的年份就是閏年。變換一下角度,如何判斷year不是閏年?

!((year%4==0&&year%100!=0)||(year%400==0))

!

(year%4==0&&year%100!=0)&&!(year%400==0)(year%4!=0)||(year%100==0&&year%400!=0)當(dāng)year的值使表達(dá)式的值為1時(shí),則year所代表的就不是閏年。選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第25頁(yè),共54頁(yè),2024年2月25日,星期天[課堂練習(xí)]1.判斷一個(gè)點(diǎn)是否落入圓形中。

2.判斷一個(gè)點(diǎn)是否落入陰影部分。

(小圓的半徑為1。)1010-10-10-222-2x*x+y*y<=100(sqr(x-2)+sqr(y-2)<=1)||(sqr(x-2)+sqr(y+2)<=1)||(sqr(x+2)+sqr(y-2)<=1)||(sqr(x+2)+sqr(y+2)<=1)選擇結(jié)構(gòu)程序設(shè)計(jì)邏輯運(yùn)算符和邏輯表達(dá)式

第26頁(yè),共54頁(yè),2024年2月25日,星期天if語(yǔ)句第27頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句if語(yǔ)句的三種形式if用來(lái)判斷給定的條件的真假,并決定執(zhí)行哪一種操作。1.if<表達(dá)式>語(yǔ)句條件滿足時(shí)執(zhí)行表達(dá)式后面的語(yǔ)句,然后繼續(xù)執(zhí)行以下的語(yǔ)句。條件不滿足時(shí),越過(guò)if表達(dá)式后面的語(yǔ)句,往下執(zhí)行。表達(dá)式語(yǔ)句真(非0)假(0)例如:如果輸入的是正數(shù),則打印出來(lái)。if(x>0)printf("%d",x);錯(cuò)誤:ifb==aarea=a*a;第28頁(yè),共54頁(yè),2024年2月25日,星期天合并if(j<k)min=j;if(j<k)printf("jissmallerthank");if(j<k){min=j;printf("jissmallerthank");}第29頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句if語(yǔ)句的三種形式2.if<表達(dá)式>語(yǔ)句1else語(yǔ)句2條件滿足時(shí)執(zhí)行語(yǔ)句1,然后繼續(xù)執(zhí)行if以下的語(yǔ)句。條件不滿足時(shí),執(zhí)行語(yǔ)句2,然后繼續(xù)執(zhí)行if以下的語(yǔ)句。表達(dá)式語(yǔ)句1語(yǔ)句2真假例如:輸出兩個(gè)數(shù)中較大的一個(gè)。if(x>y)printf("%d",x)elseprintf("%d",y);第30頁(yè),共54頁(yè),2024年2月25日,星期天

注意的問(wèn)題if(a!=b){a+=1;b+=2;};//errorelsec+=3;第31頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句if語(yǔ)句的第三種形式if<表達(dá)式1>語(yǔ)句1;

elseif<表達(dá)式2>語(yǔ)句2;elseif<表達(dá)式3>語(yǔ)句3;elseif<表達(dá)式4>語(yǔ)句4;else語(yǔ)句5

表達(dá)式1表達(dá)式2表達(dá)式3表達(dá)式4語(yǔ)句1語(yǔ)句2語(yǔ)句3語(yǔ)句4語(yǔ)句5假假假假真真真真第32頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句if語(yǔ)句的三種形式例如:商場(chǎng)促銷,購(gòu)物500元以上,8折;購(gòu)物300元以上,85折;購(gòu)物100元以上,9折;購(gòu)物50元以上,95折;購(gòu)物50元以下,不打折。根據(jù)消費(fèi)量,計(jì)算優(yōu)惠率。

設(shè):消費(fèi)量為money;折扣為cost;實(shí)際花費(fèi)priceif(money>500)cost=0.2;elseif(money>300)cost=0.15;elseif(money>100)cost=0.1;elseif(money>50)cost=0.05;elsecost=0;price=money-(money*cost);第33頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句if語(yǔ)句的說(shuō)明If后面的"表達(dá)式"一般為關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是其它類型的數(shù)值;在每個(gè)else前面有一分號(hào),整個(gè)語(yǔ)句結(jié)束處有一分號(hào);3.if和else后面的語(yǔ)句可以是簡(jiǎn)單的也可以是復(fù)合語(yǔ)句(用{}擴(kuò)起來(lái)的語(yǔ)句)。例:if((a+b>c)&&(b+a>a)&&(c+a>b)){s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("area=%6.2f",area);}elseprintf("itisnotatrilateral");第34頁(yè),共54頁(yè),2024年2月25日,星期天[例]輸入兩個(gè)數(shù),按數(shù)值大小次序排列輸出.main(){floata,b,t;scanf("%f,%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f",a,b);}

選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句輸入為3.6,-3.2輸出為-3.20,3.60第35頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句If語(yǔ)句的嵌套嵌套的定義:在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句。嵌套的一般形式:If()if()語(yǔ)句1else語(yǔ)句2Elseif()語(yǔ)句3else語(yǔ)句4(注意?。f與else的配對(duì)關(guān)系。)第36頁(yè),共54頁(yè),2024年2月25日,星期天嵌套注意的問(wèn)題

if(a==1)if(b==2)printf("*****");if(a==1)if(b==2)printf("*****");elseprintf("####");else屬于離它最近的并且能夠匹配的if

第37頁(yè),共54頁(yè),2024年2月25日,星期天[例]輸入三個(gè)數(shù),按由小到大次序排列并輸出。main(){flaota,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c);}選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句輸入為:3,7,1輸出為:1.00,3.00,7.00輸入a,b,ca>b?YNswapa,b

a>c?YNswapa,cb>c?YNswapb,c輸出a,b,c第38頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句main(){intx,y;scarf("%d",&x);if(x==0)y=0;elseif(x>0)y=1;elsey=-1;print("x=%d,y=%d\n",x,y);}[例]

-1(x<0)

y=0(x=0)1(x>0)開始輸出Y結(jié)束輸入XX<0X=0Y=-1Y=0Y=1YNYN輸入為:4輸出為:x=4,y=1第39頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句條件運(yùn)算符max=(a>b)?a:b;條件表達(dá)式當(dāng)(a>b)為真時(shí),表達(dá)式取a的值當(dāng)(a>b)為假時(shí),表達(dá)式取b的值條件運(yùn)算符是三目運(yùn)算符

表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的結(jié)合方向?yàn)?從右向左"

例如:a>b?a:c>d?c:d相當(dāng)于a>b?a:(c>d?c:d)如果a=1,b=2,c=3,d=4,則條件表達(dá)式的值為4。第40頁(yè),共54頁(yè),2024年2月25日,星期天[例]輸入一個(gè)字符,判斷大小寫,如是大寫,則轉(zhuǎn)換成小寫,輸出。main(){charchi;scarf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c",ch)}選擇結(jié)構(gòu)程序設(shè)計(jì)

if語(yǔ)句if(ch>='A'&&ch<='Z')ch=ch+32;elsech=ch;第41頁(yè),共54頁(yè),2024年2月25日,星期天switch語(yǔ)句第42頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

switch語(yǔ)句Switch語(yǔ)句是多分支選擇語(yǔ)句,也叫開關(guān)語(yǔ)句或者選擇語(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ǔ)句1語(yǔ)句2語(yǔ)句n語(yǔ)句n+1表達(dá)式常量1常量2常量ndefault︰(執(zhí)行過(guò)程)第43頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

switch語(yǔ)句[例]根據(jù)成績(jī)等級(jí)打出成績(jī)范圍.main(){chargrade;printf("Enteryourgrade\n");scanf("%c",&grade);switch(grade);{case'A':printf("85~100\n");break;case'B':printf("70~84\n");break;case'C':printf("60~69\n");break;case'D':printf("<60\n");break;default:printf("error\n");}}輸入為B輸出為70~84第44頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

switch語(yǔ)句grade流程圖如下:'A''B''C''D'default輸出"85~100"輸出"70~84"輸出"60~69"輸出"error"輸出"<60"第45頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

switch語(yǔ)句switch語(yǔ)句的說(shuō)明條件表達(dá)式的類型和常量表達(dá)式的類型必須一致;

switch后面的表達(dá)式一般情況下應(yīng)該是有序型的量,目前學(xué)到的有序型是整數(shù)、字符。當(dāng)表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此case

后面的語(yǔ)句,若所有的

case

中的常量表達(dá)式的值都沒(méi)有與表達(dá)式的值匹配,則執(zhí)行default

后面的語(yǔ)句。每一個(gè)case

的常量表達(dá)式的值必須互不相同。多個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。case常量表達(dá)式只起語(yǔ)句標(biāo)號(hào)作用;必須用break語(yǔ)句終止多個(gè)case連續(xù)執(zhí)行,否則只要有一個(gè)case滿足后,以下的語(yǔ)句全部無(wú)條件執(zhí)行。多個(gè)case可共用一組執(zhí)行語(yǔ)句。第46頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

switch語(yǔ)句[課堂練習(xí)]給出百分制成績(jī),要求輸出等級(jí)'A','B','C','D','E'。90分以上為'A',80—89分為'B',70—79分為'C',60—69分為'D',60分以下為'E'。思路:不能寫成case'80--89':…...,因?yàn)閏ase不能表示范圍,成績(jī)不能表示成常數(shù)表達(dá)式;

將以上范圍分別用常量表示:90--99--->9,80--89-->8,….;

設(shè)分?jǐn)?shù)為score,則score/10將范圍變常量。第47頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

switch語(yǔ)句main(){intscore,num;chargrade;scanf("%d",&score);num=score/10;switch(num){case10:grade='A';

break;case9:grade='A';break;case8:grade='B':break;case7:grade='C';break;case6:grade='D';break;default:grade='E';}printf("%d%c",score,grade);}輸入為76輸出為C第48頁(yè),共54頁(yè),2024年2月25日,星期天程序舉例第49頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

程序舉例[例]寫一程序判斷某一年是否是閏年.main(){intyear,leap;printf("輸入年份:");scanf("%d",&year);if(year%4==0){if(year%100!=0)leap=1;elseif(year%400==0)leap=1;elseleap=0}elseleap=0;if(leap)printf("%disleapyear\n",year);elseprintf("%disnotleapyear\n",year);}輸入年份:2004輸出為:2004isleapyear

第50頁(yè),共54頁(yè),2024年2月25日,星期天選擇結(jié)構(gòu)程序設(shè)計(jì)

程序舉例year%4==0?year%100!=0?輸出"閏年"輸出"非閏年"leap=0輸入yearnyynleap=0leap=1year%400=0?leap=1ynleap=1?yn第51頁(yè),共54頁(yè),2024年2月25日,星期天選擇

溫馨提示

  • 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)論