VC第講選擇結(jié)構(gòu)程序設(shè)計課件_第1頁
VC第講選擇結(jié)構(gòu)程序設(shè)計課件_第2頁
VC第講選擇結(jié)構(gòu)程序設(shè)計課件_第3頁
VC第講選擇結(jié)構(gòu)程序設(shè)計課件_第4頁
VC第講選擇結(jié)構(gòu)程序設(shè)計課件_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2022/12/23作者:張旭仟版權(quán)所有歡迎盜版1<<=>>=優(yōu)先級6(高)==!=優(yōu)先級7(低)關(guān)系運算符種類:<、<=、==、>=、>、!=結(jié)合方向:自左向右優(yōu)先級別:關(guān)系運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版1<優(yōu)先2022/12/23作者:張旭仟版權(quán)所有歡迎盜版2關(guān)系運算符和表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式的值是邏輯值“真”或“假”,用1和0表示。例如:有語句inta=3,b=2,c=1,d,f;以下表達(dá)式的值分別是:a>b(a>b)==cb+c<ad=a>bf=a>b>c//表達(dá)式的值為:1//表達(dá)式的值為:1//表達(dá)式的值為:0//d的值為:1//f的值為:02022/12/16作者:張旭仟版權(quán)所有歡迎盜版2關(guān)系運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版3邏輯運算符種類:!、&&、||邏輯運算真值表ab!a!ba&&ba||b真假真假假假真真真假假假假假真真假假真真真假真真邏輯運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版3邏輯運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版4! (2)&& (11)|| (12)高低! :從右向左&& :從左向右|| :從左向右邏輯運算符優(yōu)先級結(jié)合性邏輯運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版4! (2022/12/23作者:張旭仟版權(quán)所有歡迎盜版5邏輯運算符和表達(dá)式邏輯表達(dá)式C語言中對于運算量:0表示“假”,非0表示“真”對于運算結(jié)果:0表示“假”,1表示“真”例如:若a=4;b=5;則下面表達(dá)式的值為:!aa&&ba||b!a||b4&&0||25>3&&2||8<4-!0‘c’&&‘d’值為1值為0值為1值為1值為1值為1相當(dāng)于(5>3)&&2||(8<(4-(!0))),值為12022/12/16作者:張旭仟版權(quán)所有歡迎盜版5邏輯運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版6邏輯運算的短路特性:邏輯表達(dá)式求解時,并非所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達(dá)式的解時,才執(zhí)行該運算符。例如:對于a&&b&&c,只在a為真時,才判別b的值;只在a、b都為真時,才判別c的值又如:對于a||b||c,只在a為假時,才判別b的值;只在a、b都為假時,才判別c的值例如:若a=1;b=2;c=3;d=4;m=1;n=1;

執(zhí)行表達(dá)式(m=a>b)&&(n=c>d);后,m、n的值為:m=0,n=1邏輯運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版6邏輯運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版7條件運算符與表達(dá)式一般形式:expr1?expr2:expr3執(zhí)行過程功能:相當(dāng)于條件語句,但不能取代一般if語句例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);例求a+|b|printf(“a+|b|=%d\n”,b>0?a+b:a-b);expr1取expr2值取expr3值非0=0例(a==b)?’Y’:’N’(x%2==1)?1:0(x>=0)?x:-x(c>=‘a(chǎn)’&&c<=‘z’)?c-’a’+’A’:c條件運算符可嵌套

如x>0?1:(x<0?-1:0)優(yōu)先級:13結(jié)合方向:自右向左

如a>b?a:c>d?c:da>b?a:(c>d?c:d)expr1、expr2、expr3類型可不同,表達(dá)式值取較高的類型例如:對于x>y?1:1.5

若x>y,值為1.0;

x<y,值為1.5條件運算符與表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版7條件運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版8形式二:格式:if(expression)statement1;

elsestatement2;執(zhí)行過程:例:if(x>y)printf(“%d”,x);exprstatement非0=0exprstatement1statement2非0=0例:if(x>y)max=x;elsemax=y;If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)if語句(條件選擇語句)if語句的三種形式形式一:格式:if(expression)statement;執(zhí)行過程:2022/12/16作者:張旭仟版權(quán)所有歡迎盜版8形式二2022/12/23作者:張旭仟版權(quán)所有歡迎盜版9形式三:格式:if(expr1)tatement1;elseif(expr2)statement2;elseif(expr3)statement3;…...[elsestatementn;]執(zhí)行過程:expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0例如:

if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版9形式三2022/12/23作者:張旭仟版權(quán)所有歡迎盜版10如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a(chǎn)’)printf(“%d”,’a’);說明:

if后面的表達(dá)式類型任意

語句可以是復(fù)合語句如:intx;scanf(“%d”,&x);if(x)printf(“x!=0”);elseprintf(“x==0”);If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版10如:2022/12/23作者:張旭仟版權(quán)所有歡迎盜版11if嵌套語句的一般形式:if(expr1)if(expr2)statement1elsestatement2elseif(expr3)statement3elsestatement4if(expr1)if(expr2)statement1elsestatement2if(expr1){if(expr2)statement1}elsestatement3if(expr1)statement1elseif(expr3)statement3elsestatement4If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版11if2022/12/23作者:張旭仟版權(quán)所有歡迎盜版12if~else配對原則:缺省{}時,else總是和它上面離它最近的未配對的if配對if(……)if(……)if(……)else…...else…...else…...If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版12if2022/12/23作者:張旭仟版權(quán)所有歡迎盜版13例如:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);可改為:if(a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);實現(xiàn)if~else正確配對方法是加{}If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版13例如2022/12/23作者:張旭仟版權(quán)所有歡迎盜版14main(){intx=100,a=10,b=20;intv1=5,v2=0;if(a<b)if(b!=15)if(!v1)x=1;elseif(!v2)x=10;x=-1;printf(“%d”,x);}結(jié)果:-1思考:下面程序輸出的結(jié)果:If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版142022/12/23作者:張旭仟版權(quán)所有歡迎盜版15#include<stdio.h>main(){inta,b;printf("Enterintegera:");scanf("%d",&a);printf("Enterintegerb:");scanf("%d",&b);if(a==b)printf("a==b\n");elseprintf("a!=b\n");}例程:輸入兩個數(shù)并判斷兩數(shù)相等否運行:Enterintegera:12

Enterintegerb:12a==b運行:Enterintegera:12

Enterintegerb:9a!=bIf語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版15#i2022/12/23作者:張旭仟版權(quán)所有歡迎盜版16#include<stdio.h>main(){charc;printf("Enteracharacter:");c=getchar();if(c<0x20)printf("Thecharacterisacontrolcharacter\n");elseif(c>='0'&&c<='9')printf("Thecharacterisadigit\n");elseif(c>='A'&&c<='Z')printf("Thecharacterisacapitalletter\n");elseif(c>='a'&&c<='z')printf("Thecharacterisalowerletter\n");elseprintf("Thecharacterisothercharacter\n");}例程:判斷輸入字符種類運行:Enteracharacter:

Thecharacterisacontrolcharacter運行:Enteracharacter:8Thecharacterisadigit運行:Enteracharacter:DThecharacterisacapitalletter運行:Enteracharacter:hThecharacterisalowerletter運行:Enteracharacter:F1ThecharacterisothercharacterIf語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版16#i2022/12/23作者:張旭仟版權(quán)所有歡迎盜版17小練習(xí):1、若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)的值是(2010年3月)

A)1

B)0

C)2

D)不知道a的值,不能確定2、以下程序中,與語句:k=a>b?(b>c?1:0):0;功能相同的是(2009年9月)

A)if((a>b)&&(b>c))k=1;B)if((a>b)||(b>c))k=1;elsek=0; elsek=0;C)if(a<=b)k=0;D)if(a>b)k=1;elseif(b<=c)k=1;elseif(b>c)k=1; elsek=0;2022/12/16作者:張旭仟版權(quán)所有歡迎盜版17小2022/12/23作者:張旭仟版權(quán)所有歡迎盜版18小練習(xí):3、有如下嵌套的if語句(2010年3月)

if(a<b)

if(a<c)k=a;

elsek=c;

else

if(b<c)k=b;

elsek=c;以下選項中與上述if語句等價的語句是(2010年3月)A)k=(a<c)?b:c;

B)k=(a<b)?((bc)?b:c);

C)k=(a<b)?((a<c)?a:c):((b<c)?b:c);

D)k=(a<c)?a:c;2022/12/16作者:張旭仟版權(quán)所有歡迎盜版18小2022/12/23作者:張旭仟版權(quán)所有歡迎盜版19switch(表達(dá)式){caseE1:

語句組1;break;caseE2:

語句組2;break;…….caseEn:

語句組n;break;[default:

語句組;break;]}switch表達(dá)式語句組1語句組2語句組n語句組…...E1E2Endefaultcaseswitch語句(開關(guān)分支語句)一般形式:執(zhí)行過程:switch語句和多分支選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版19sw2022/12/23作者:張旭仟版權(quán)所有歡迎盜版20switch語句和多分支選擇結(jié)構(gòu)說明:switch是關(guān)鍵字,switch后面一對圓括號內(nèi)的表達(dá)式可以是整形、字符型或枚舉型及其表達(dá)式。case也是關(guān)鍵字,與其后面的常量表達(dá)式合稱case語句標(biāo)號。注意:case語句和其后的常量表達(dá)式之間必須有空格,如case10,而不能寫成case10。E1,E2,…En必須是常量表達(dá)式,且值必須互不相同。default也是關(guān)鍵字,可以出現(xiàn)在語句體的任何位置上,也可以省略,它代表所有所有case標(biāo)號之外的標(biāo)號。case語句標(biāo)號后可包含由一個或多個可執(zhí)行語句組成的語句組,且不必加{},但也可省略。每個case語句組都必須用break跳出。Switch語句可以嵌套。2022/12/16作者:張旭仟版權(quán)所有歡迎盜版20sw2022/12/23作者:張旭仟版權(quán)所有歡迎盜版21多個case語句也可共用一組執(zhí)行語句形如:

……case‘A’:case‘B’:case‘C’:printf(“score>60\n”);break;……switch語句和多分支選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版21多個2022/12/23作者:張旭仟版權(quán)所有歡迎盜版22例如:

switch(score){case5:printf(“Verygood!”);case4:printf(“Good!”);case3:printf(“Pass!”);case2:printf(“Fail!”);default:printf(“dataerror!”);}運行結(jié)果:當(dāng)score為5時,輸出:Verygood!Good!Pass!Fail!dataerror!switch語句和多分支選擇結(jié)構(gòu)每個case語句組都必須用break跳出2022/12/16作者:張旭仟版權(quán)所有歡迎盜版22例如2022/12/23作者:張旭仟版權(quán)所有歡迎盜版23例如:

voidmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}break;case2:a++;b++;break;case3:a++;b++;}printf(“\na=%d,b=%d”,a,b);}運行結(jié)果:a=2,b=1switch語句和多分支選擇結(jié)構(gòu)break語句只能跳出它所在的witch語句2022/12/16作者:張旭仟版權(quán)所有歡迎盜版23例如2022/12/23作者:張旭仟版權(quán)所有歡迎盜版24#include<stdio.h>main(){intc;printf("Entermornorhorother:");c=getchar();switch(c){case'm':printf("\nGoodmorning!\n");break;case'n':printf("\nGoodnight!\n");break;case'h':printf("\nHello!\n");break;default:printf("\n????????\n");}}例程:根據(jù)輸入字母輸出字符串switch語句和多分支選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版24#i2022/12/23作者:張旭仟版權(quán)所有歡迎盜版25switch語句和多分支選擇結(jié)構(gòu)小練習(xí):以下選項中與if(a==1)a=b;elsea++;語句功能不同的switch語句是(2010年3月)A)

switch(a)

{ case1:a=b;break; default:a++;

}B)

switch(a==1)

{ case0:a=b;break; case1:a++;

}C)

switch(a){ default:a++;break; case1:a=b;

}D)

switch(a==1)

{ case1:a=b;break; case0:a++;

}2022/12/16作者:張旭仟版權(quán)所有歡迎盜版25sw2022/12/23作者:張旭仟版權(quán)所有歡迎盜版26

Thanklisten!2022/12/16作者:張旭仟版權(quán)所有歡迎盜版26Th2022/12/23作者:張旭仟版權(quán)所有歡迎盜版27<<=>>=優(yōu)先級6(高)==!=優(yōu)先級7(低)關(guān)系運算符種類:<、<=、==、>=、>、!=結(jié)合方向:自左向右優(yōu)先級別:關(guān)系運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版1<優(yōu)先2022/12/23作者:張旭仟版權(quán)所有歡迎盜版28關(guān)系運算符和表達(dá)式關(guān)系表達(dá)式關(guān)系表達(dá)式的值是邏輯值“真”或“假”,用1和0表示。例如:有語句inta=3,b=2,c=1,d,f;以下表達(dá)式的值分別是:a>b(a>b)==cb+c<ad=a>bf=a>b>c//表達(dá)式的值為:1//表達(dá)式的值為:1//表達(dá)式的值為:0//d的值為:1//f的值為:02022/12/16作者:張旭仟版權(quán)所有歡迎盜版2關(guān)系運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版29邏輯運算符種類:!、&&、||邏輯運算真值表ab!a!ba&&ba||b真假真假假假真真真假假假假假真真假假真真真假真真邏輯運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版3邏輯運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版30! (2)&& (11)|| (12)高低! :從右向左&& :從左向右|| :從左向右邏輯運算符優(yōu)先級結(jié)合性邏輯運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版4! (2022/12/23作者:張旭仟版權(quán)所有歡迎盜版31邏輯運算符和表達(dá)式邏輯表達(dá)式C語言中對于運算量:0表示“假”,非0表示“真”對于運算結(jié)果:0表示“假”,1表示“真”例如:若a=4;b=5;則下面表達(dá)式的值為:!aa&&ba||b!a||b4&&0||25>3&&2||8<4-!0‘c’&&‘d’值為1值為0值為1值為1值為1值為1相當(dāng)于(5>3)&&2||(8<(4-(!0))),值為12022/12/16作者:張旭仟版權(quán)所有歡迎盜版5邏輯運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版32邏輯運算的短路特性:邏輯表達(dá)式求解時,并非所有的邏輯運算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運算符才能求出表達(dá)式的解時,才執(zhí)行該運算符。例如:對于a&&b&&c,只在a為真時,才判別b的值;只在a、b都為真時,才判別c的值又如:對于a||b||c,只在a為假時,才判別b的值;只在a、b都為假時,才判別c的值例如:若a=1;b=2;c=3;d=4;m=1;n=1;

執(zhí)行表達(dá)式(m=a>b)&&(n=c>d);后,m、n的值為:m=0,n=1邏輯運算符和表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版6邏輯運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版33條件運算符與表達(dá)式一般形式:expr1?expr2:expr3執(zhí)行過程功能:相當(dāng)于條件語句,但不能取代一般if語句例if(a>b)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,a>b?a:b);例求a+|b|printf(“a+|b|=%d\n”,b>0?a+b:a-b);expr1取expr2值取expr3值非0=0例(a==b)?’Y’:’N’(x%2==1)?1:0(x>=0)?x:-x(c>=‘a(chǎn)’&&c<=‘z’)?c-’a’+’A’:c條件運算符可嵌套

如x>0?1:(x<0?-1:0)優(yōu)先級:13結(jié)合方向:自右向左

如a>b?a:c>d?c:da>b?a:(c>d?c:d)expr1、expr2、expr3類型可不同,表達(dá)式值取較高的類型例如:對于x>y?1:1.5

若x>y,值為1.0;

x<y,值為1.5條件運算符與表達(dá)式2022/12/16作者:張旭仟版權(quán)所有歡迎盜版7條件運2022/12/23作者:張旭仟版權(quán)所有歡迎盜版34形式二:格式:if(expression)statement1;

elsestatement2;執(zhí)行過程:例:if(x>y)printf(“%d”,x);exprstatement非0=0exprstatement1statement2非0=0例:if(x>y)max=x;elsemax=y;If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)if語句(條件選擇語句)if語句的三種形式形式一:格式:if(expression)statement;執(zhí)行過程:2022/12/16作者:張旭仟版權(quán)所有歡迎盜版8形式二2022/12/23作者:張旭仟版權(quán)所有歡迎盜版35形式三:格式:if(expr1)tatement1;elseif(expr2)statement2;elseif(expr3)statement3;…...[elsestatementn;]執(zhí)行過程:expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0例如:

if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版9形式三2022/12/23作者:張旭仟版權(quán)所有歡迎盜版36如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a(chǎn)’)printf(“%d”,’a’);說明:

if后面的表達(dá)式類型任意

語句可以是復(fù)合語句如:intx;scanf(“%d”,&x);if(x)printf(“x!=0”);elseprintf(“x==0”);If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版10如:2022/12/23作者:張旭仟版權(quán)所有歡迎盜版37if嵌套語句的一般形式:if(expr1)if(expr2)statement1elsestatement2elseif(expr3)statement3elsestatement4if(expr1)if(expr2)statement1elsestatement2if(expr1){if(expr2)statement1}elsestatement3if(expr1)statement1elseif(expr3)statement3elsestatement4If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版11if2022/12/23作者:張旭仟版權(quán)所有歡迎盜版38if~else配對原則:缺省{}時,else總是和它上面離它最近的未配對的if配對if(……)if(……)if(……)else…...else…...else…...If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版12if2022/12/23作者:張旭仟版權(quán)所有歡迎盜版39例如:if(a==b)if(b==c)printf(“a==b==c”);elseprintf(“a!=b”);可改為:if(a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);實現(xiàn)if~else正確配對方法是加{}If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版13例如2022/12/23作者:張旭仟版權(quán)所有歡迎盜版40main(){intx=100,a=10,b=20;intv1=5,v2=0;if(a<b)if(b!=15)if(!v1)x=1;elseif(!v2)x=10;x=-1;printf(“%d”,x);}結(jié)果:-1思考:下面程序輸出的結(jié)果:If語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版142022/12/23作者:張旭仟版權(quán)所有歡迎盜版41#include<stdio.h>main(){inta,b;printf("Enterintegera:");scanf("%d",&a);printf("Enterintegerb:");scanf("%d",&b);if(a==b)printf("a==b\n");elseprintf("a!=b\n");}例程:輸入兩個數(shù)并判斷兩數(shù)相等否運行:Enterintegera:12

Enterintegerb:12a==b運行:Enterintegera:12

Enterintegerb:9a!=bIf語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版15#i2022/12/23作者:張旭仟版權(quán)所有歡迎盜版42#include<stdio.h>main(){charc;printf("Enteracharacter:");c=getchar();if(c<0x20)printf("Thecharacterisacontrolcharacter\n");elseif(c>='0'&&c<='9')printf("Thecharacterisadigit\n");elseif(c>='A'&&c<='Z')printf("Thecharacterisacapitalletter\n");elseif(c>='a'&&c<='z')printf("Thecharacterisalowerletter\n");elseprintf("Thecharacterisothercharacter\n");}例程:判斷輸入字符種類運行:Enteracharacter:

Thecharacterisacontrolcharacter運行:Enteracharacter:8Thecharacterisadigit運行:Enteracharacter:DThecharacterisacapitalletter運行:Enteracharacter:hThecharacterisalowerletter運行:Enteracharacter:F1ThecharacterisothercharacterIf語句和用if語句構(gòu)成的選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版16#i2022/12/23作者:張旭仟版權(quán)所有歡迎盜版43小練習(xí):1、若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)的值是(2010年3月)

A)1

B)0

C)2

D)不知道a的值,不能確定2、以下程序中,與語句:k=a>b?(b>c?1:0):0;功能相同的是(2009年9月)

A)if((a>b)&&(b>c))k=1;B)if((a>b)||(b>c))k=1;elsek=0; elsek=0;C)if(a<=b)k=0;D)if(a>b)k=1;elseif(b<=c)k=1;elseif(b>c)k=1; elsek=0;2022/12/16作者:張旭仟版權(quán)所有歡迎盜版17小2022/12/23作者:張旭仟版權(quán)所有歡迎盜版44小練習(xí):3、有如下嵌套的if語句(2010年3月)

if(a<b)

if(a<c)k=a;

elsek=c;

else

if(b<c)k=b;

elsek=c;以下選項中與上述if語句等價的語句是(2010年3月)A)k=(a<c)?b:c;

B)k=(a<b)?((bc)?b:c);

C)k=(a<b)?((a<c)?a:c):((b<c)?b:c);

D)k=(a<c)?a:c;2022/12/16作者:張旭仟版權(quán)所有歡迎盜版18小2022/12/23作者:張旭仟版權(quán)所有歡迎盜版45switch(表達(dá)式){caseE1:

語句組1;break;caseE2:

語句組2;break;…….caseEn:

語句組n;break;[default:

語句組;break;]}switch表達(dá)式語句組1語句組2語句組n語句組…...E1E2Endefaultcaseswitch語句(開關(guān)分支語句)一般形式:執(zhí)行過程:switch語句和多分支選擇結(jié)構(gòu)2022/12/16作者:張旭仟版權(quán)所有歡迎盜版19sw2022/12/23作者:張旭仟版權(quán)所有歡迎盜版46switch語句和多分支選擇結(jié)構(gòu)說明:switch是關(guān)鍵字,switch后面一對圓括號內(nèi)的表達(dá)式可以是整形、字符型或枚舉型及其表達(dá)式。case也是關(guān)鍵字,與其后面的常量表達(dá)式合稱case語句標(biāo)號。注意:case語句和其后的常量表達(dá)式之間必須有空格,如case10,而不能寫成case10。E1,E2,…En必須是常量表達(dá)式,且值必須互不相同。default也是關(guān)鍵字,可以出現(xiàn)在語句體的任何位置上,也可以省略,它代表所有所有case標(biāo)號之外的標(biāo)號。case語句標(biāo)號后可包含由一個或多個可執(zhí)行語句組成的語句組,且不必加{},但也可省略。每個case語句組都必須用break跳出。Switch語句可以嵌套。2022/12/16作者:張旭仟版權(quán)所有歡迎盜版20sw2022/12/23作者:張旭仟版權(quán)所有歡迎盜版47多個case語句也可共用一組執(zhí)行語句形如:

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論