ImageVerifierCode 换一换
格式:PPT , 页数:30 ,大小:422KB ,
文档编号:5656928      下载积分:16 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5656928.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(hwpkd79526)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(chp5 选择语句09.10.19.ppt)为本站会员(hwpkd79526)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

chp5 选择语句09.10.19.ppt

1、2023-4-2915.2 switch5.2 switch多分支选择语句多分支选择语句返回5.1 if5.1 if条件语句条件语句5.3 5.3 应用程序举例应用程序举例 C C语言的基本语句语言的基本语句1.熟练掌握熟练掌握 if 语句和语句和switch语句的格式及功能。语句的格式及功能。2.能够准确应用这两种语句进行选择结构的能够准确应用这两种语句进行选择结构的 程序设计。程序设计。2023-4-292 C语言的语句可分为以下四类:简单语言的语句可分为以下四类:简单语句(包括语句(包括输入输入/输出语句)、空语句、复合语句和流程控制语输出语句)、空语句、复合语句和流程控制语句。句。C语

2、言的基本语句语言的基本语句 下一页下一页 语句是用来对数据进行加工语句是用来对数据进行加工(完成操作任务完成操作任务),是是构成程序的基本单位。构成程序的基本单位。通常一个通常一个C程序由若干个函数程序由若干个函数(系统、用户)组成。(系统、用户)组成。每一个函数由若干条语句组每一个函数由若干条语句组成。成。每条语句总以每条语句总以“;”结束。结束。2023-4-293 一条完整的一条完整的C语句必须以语句必须以“;”结束。结束。“;”是是一个语句不可缺少的一部分。一个语句不可缺少的一部分。简单语句空语句(;)复合语句(一条或多条语句)表达式语句(表达式;)函数调用语句(函数名(参数表);)流

3、程控制语句结构化语句循环语句 while语句do-while语句 for语句非结构化语句 break语句continue语句 return语句 非限定转向语句 条件语句(if语句,switch语句)goto语句 2023-4-2941.表达式语句表达式语句 就是一个表达式加上一个就是一个表达式加上一个分号分号。下一页下一页A+;x=1;分号分号是是C语言语句的结束标志语言语句的结束标志 赋值语句赋值语句即赋值表达式后加即赋值表达式后加;构成。构成。要区别赋值表达式与赋值语句。要区别赋值表达式与赋值语句。如:如:if(a=b)0)t=a;注意:注意:(1)赋值表达式可包含在其他表达式中)赋值表达

4、式可包含在其他表达式中,而赋值语句而赋值语句不行。不行。(2)赋值语句只能作为一条单独的语句,或放在复赋值语句只能作为一条单独的语句,或放在复合语句中。合语句中。2023-4-295函数调用语句函数调用语句由函数调用表达式加由函数调用表达式加“;”构成构成printf(“%d”,a);3.空语句空语句空语句用一个分号表示,其一般形式为:空语句用一个分号表示,其一般形式为:;作用:什么也不做的循环体(待开发)。作用:什么也不做的循环体(待开发)。main();2023-4-2964 4控制语句控制语句,完成一定的控制功能,完成一定的控制功能,C C只有只有9 9种控制语句,它们种控制语句,它们是

5、:是:if()if()elseelse (条件语句条件语句)for()for()(循环语句)(循环语句)while()while()(循环语句循环语句)dodowhile()(while()(循环语句循环语句)continue continue (结束本次循环语句(结束本次循环语句)break (break (中止执行中止执行switchswitch或循环语句或循环语句)switch (switch (多分支选择语句多分支选择语句)gotogoto (转向语句转向语句)return return (从函数返回语句)(从函数返回语句)上面上面9 9种语句中的括号()表示其中是一个条件,表示内嵌的

6、语句。例如:种语句中的括号()表示其中是一个条件,表示内嵌的语句。例如:ifif()elseelse 的具体语句可以写成:的具体语句可以写成:ifif(x xy y)z=x;z=x;else z=y else z=y;2023-4-2975 5可以用可以用 把一些语句括起来成为把一些语句括起来成为复合语句复合语句,如下面是一个,如下面是一个复合语句。复合语句。While(i 100)While(i 100)sum+=i;sum+=i;i+;i+;注意注意:在复合语句中,在复合语句中,之后不能够有之后不能够有 ;复合语句中可以是简单语句、复合语句、空语句。复合语句中可以是简单语句、复合语句、空语

7、句。一个复合语句在语法上等同于一个语句,可以作为单个语句出一个复合语句在语法上等同于一个语句,可以作为单个语句出现在另一个复合语句中。现在另一个复合语句中。2023-4-298程序的三种基本结构程序的三种基本结构 近年来广泛采用结构化程序设结构化程序设计计方法,使程序结构清晰、易读性强,以提高程序设计的质量和效率。结构化程序结构化程序由若干个基本结构基本结构组成。每一个基本基本结构结构可以包含一个或若干个语句。有三种基本结构三种基本结构:1顺序结构顺序结构。先执行A操作,再执行B操作,两者是顺序执行的关系。图 a 是流程图。AB图图a2023-4-299 2.选择结构选择结构,见图,p代表一个

8、条件,当p条件成立(或称为“真”)时执行A,否则执行B。注意,只能执行A或B之一。两条路径汇合在一起然后出口。FT p A B2023-4-2910 3 3循环结构循环结构,有两种循环结构:(1)当型当型循环结构,见图见图1 1。当p条件成立(“真”)时,反复执行A操作。直到p为“假”时才停止循环。(2)直到型直到型循环结构,见图见图2。先执行A操作,再判断p是否为“真”,若p为“真”,再执行A、如此反复,直到p为“假”为止。FT P A P AFT 图图 1 图图 22023-4-2911例如例如:计算分段函数计算分段函数计算计算 x=0)y=2*x;if(x b,则输出,则输出 a,b;否

9、则输出否则输出 b,a;(2)对于三个数,有对于三个数,有6种可能:种可能:abc acb bac bca cab cba (3)使用判断使用判断交换法:交换法:1.若若ab,则交换,则交换a和和b 2.若若ac,则交换,则交换a和和c 3.若若bb)if(ab)t=a;a=b;b=t;t=a;a=b;b=t;if(ac)if(ac)t=a;a=c;c=t;t=a;a=c;c=t;if(bc)if(bc)t=b;b=c;c=t;t=b;b=c;c=t;printf(%d,%d,%d,a,b,cprintf(%d,%d,%d,a,b,c););运行情况如下:运行情况如下:3 3,7 7,1 1

10、1,3,72023-4-29152 2双分支选择语句双分支选择语句的形式:的形式:ifif(表达式)(表达式)语句语句1 else 1 else 语句语句2 2 见图见图:表达式表达式语句语句1语句语句2真假main()float x,y;scanf(“%f”,&x);if(x b 则输出a;否则,输出b。#include main()float a,b;scanf(“%f,%f”,&a,&b);if (ab)printf(“%f”,a);else printf(“%f”,b);2023-4-2917 3 3多分支选择语句多分支选择语句的形式:的形式:if if (表达式(表达式1 1)语句语

11、句1 1 else if else if(表达式(表达式2 2)语句语句2 2 else if else if(表达式(表达式3 3)语句语句3 3 else if else if (表达式(表达式n n)语句语句n n else else 语句语句n+1n+1 流程图流程图表达式表达式1FT表达式表达式3FT表达式表达式2FT表达式表达式4FT语句语句4语句语句5语句语句3语句语句2语句语句12023-4-2918 写一个程序完成下列功能写一个程序完成下列功能:1.输入一个分数输入一个分数score 2.score60 输出输出 E 3.60=score 70 输出输出 D 4.70=sco

12、re 80 输出输出 C 5.80=score 90 输出输出 B 6.90=score 输出输出 A多分支问题2023-4-2919#includemain()int score;scanf(“%d”,&score);if(score60)printf(“E”);else if(score 70)printf(“D”);else if(score 80)printf(“C”);else if(score=0)printf(“X is positive.”);x+;else printf(“X is negative”);if (x=0)printf(“X is positive.”);x+;

13、else printf(“X is negative”);2023-4-29215.1.2 if 语句的嵌套语句的嵌套在在ifif语句中又包含一个或多个语句中又包含一个或多个ifif语句称为语句称为ifif语句的嵌套。一般形式如下:语句的嵌套。一般形式如下:if()if()if if()语句)语句1 1 else else 语句语句2 2 else else if(if()语句)语句3 3 else else 语句语句4 4 应当注意应当注意ifif与与elseelse的配对关系。从最内层开始,的配对关系。从最内层开始,elseelse总是与它总是与它上面最近的(未曾配对的)上面最近的(未曾配

14、对的)ifif配对。配对。假如写成:假如写成:if if ()()ifif()语句()语句1 1 else else if if()语句()语句2 2 else else 语句语句3 32023-4-2922如果如果ifif与与elseelse的数目不一样,为实现程序设计者的企图,可以加的数目不一样,为实现程序设计者的企图,可以加花括弧来确定配对关系。花括弧来确定配对关系。例如:例如:if(if()if if ()语句)语句1 1 elseelse 语句语句2 2 例有一函数:例有一函数:-1 (x0)-1 (x0)1 (x0)编一程序,输入一个编一程序,输入一个x x值,输出值,输出y y值

15、。值。有以下几种写法,请判断哪些是正确的?有以下几种写法,请判断哪些是正确的?这时这时ifif限定了内嵌限定了内嵌ifif语句的范围,因此语句的范围,因此elseelse与第一个与第一个ifif配对。配对。2023-4-2923 程序程序1 1:main main()()int int x x,y;y;scanf scanf(”d”d”,x x););if(x0)y=-1if(x=0 x=0)if(x0)y=1;if(x0)y=1;else y=0 else y=0;else yelse y-1;-1;2023-4-2924 程序程序3 3:将上述将上述ifif语句改为:语句改为:y y一一1

16、 1;if(x!=0)if(x!=0)if if(x0 x0)y y1;1;else y else y0 0;程序程序4 4:y y0 0;if(x=0)if(x=0)if if(x0 x0)y y1 1;else yelse y-1;-1;只有程序只有程序1和和2是正确的。一般把内嵌的是正确的。一般把内嵌的if语句放在语句放在外层的外层的else子句中(如程序子句中(如程序1那样)那样),这样由于有外层的这样由于有外层的else相隔,内嵌的相隔,内嵌的else不会和外层的不会和外层的if配对,而只能与内配对,而只能与内嵌的嵌的if 配对,从而不致搞混,如像程序配对,从而不致搞混,如像程序3、

17、4那样就容易那样就容易混淆。混淆。2023-4-2925 5.2 switch语句语句 switchswitch语句是语句是多分支选择语句多分支选择语句。ifif语句只有两个分支可供选择,语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(而实际问题中常常需要用到多分支的选择。例如,学生成绩分类(9090分分以为以为AA等,等,80808989分为分为BB等,等,70707979分为分为c c 等,等,);人口);人口统计分类(按年龄分为老、中、青、少、儿童);工资统计分类;银行统计分类(按年龄分为老、中、青、少、儿童);工资统计分类;银行存款分类;存款分类;等

18、。等。当然这些都可以用嵌套的当然这些都可以用嵌套的ifif语句或语句或多分支多分支来处理,但来处理,但如果分支较多,则嵌套的如果分支较多,则嵌套的ifif语句层数多,程序冗长而且可读性降低。语句层数多,程序冗长而且可读性降低。C C语言提供语言提供switchswitch语句直接处理多分支选择,它的一般形式如下:语句直接处理多分支选择,它的一般形式如下:switch switch (表达式)(表达式)case case 常量表达式常量表达式1 1:语句:语句1 1 case case 常量表达式常量表达式2 2:语句:语句2 2 case case 常量表达式常量表达式i i:语句:语句n n

19、 default default :语句:语句n+1n+1 2023-4-2926v 语句中的表达式可以是整型或字符型、枚举型。常量表语句中的表达式可以是整型或字符型、枚举型。常量表达式达式 i 必须与表达式类型一致(整型与字符型通用)。必须与表达式类型一致(整型与字符型通用)。i 仅起语句标号作用,不做求值判断。仅起语句标号作用,不做求值判断。v 当表达式的值与某一个当表达式的值与某一个casecase后面的常量表达式的值相等后面的常量表达式的值相等时,就执行此时,就执行此casecase后面的语句后面的语句;若所有的若所有的casecase中的常量中的常量表达式的值都没有与表达式的值匹配的

20、,就执行表达式的值都没有与表达式的值匹配的,就执行defau1tdefau1t后面的语句。后面的语句。v 若有若有break语句,就从此语句,就从此break语句跳出程序;若无语句跳出程序;若无break语句,执行该语句后,流程控制转移到下一个分支语句,执行该语句后,流程控制转移到下一个分支:继继续执行这一个分支的语句,一直到最后个语句执行完。续执行这一个分支的语句,一直到最后个语句执行完。v 语句结构中各个语句结构中各个case后常量表达式的值必须互不相同;后常量表达式的值必须互不相同;否则执行时将出现矛盾。否则执行时将出现矛盾。v 各个各个casecase的出现次序不影响执行结果。例如,可

21、以先出的出现次序不影响执行结果。例如,可以先出现现caseDcaseD:,然后是,然后是caseAcaseA:下一页下一页注意注意2023-4-2927switch (i)case 1:printf(An);case 3:printf(Cn);case 4:printf(Dn);default:printf(En);假设假设i=3时,则会从时,则会从i=3时做起始语句。时做起始语句。运行结运行结果见右图。果见右图。如果给每条如果给每条语句加上语句加上break这样就这样就只执行一条语句。只执行一条语句。CDE下一页下一页看下面的例子看下面的例子运行结果运行结果case 2:printf(Bn)

22、;2023-4-2928v如果多种情况需要共用一个执行语句如果多种情况需要共用一个执行语句,可可用用casecase的常量表达式多种情况列出的常量表达式多种情况列出,最后最后一种情况后一种情况后,才放执行的语句。才放执行的语句。vcase后面的语句可以是一条语句,也可后面的语句可以是一条语句,也可以是复合语句,还可以是花括弧括起来以是复合语句,还可以是花括弧括起来的几条语句,还可以是空语句。有多条的几条语句,还可以是空语句。有多条语句时会顺序执行完所有语句。语句时会顺序执行完所有语句。下一页下一页说明说明2023-4-2929编程:根据输入的学生的成绩判断等级。编程:根据输入的学生的成绩判断等

23、级。当成绩当成绩score 90时为时为 A等等;成绩成绩70score 90 为为B等等;成绩成绩60score 70 为为C等等;成绩成绩score 60 为为D等;等;(score 为整数为整数)。分析分析:设设score为整型数,在为整型数,在score90 的范围内,的范围内,score可能取可能取100,99,.,90,利用两个整数相除,结果自动,利用两个整数相除,结果自动取整的特性取整的特性 score score/10 90 10,9 7089 7,8 6069 6 60以下以下 defaultscore和和 score/10 有如下对应关系:有如下对应关系:下一页下一页例如例如因此因此,可以用可以用score/10的值的值来确定分支来确定分支2023-4-2930#include main()/*用用switch 语句评级语句评级 */int score;scanf(%d,&score);switch(score/10)case 10:case 9:printf(%d:An,score);break;case 8:case 7:printf(%d:Bn,score);break;case 6:printf(%d:Cn,score);break;default:printf(%d:Dn,score);程序程序返回

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|