C语言程序设计案例教程第3章 选择结构程序设计.ppt

上传人:春哥&#****71; 文档编号:71823636 上传时间:2023-02-06 格式:PPT 页数:8 大小:589.50KB
返回 下载 相关 举报
C语言程序设计案例教程第3章 选择结构程序设计.ppt_第1页
第1页 / 共8页
C语言程序设计案例教程第3章 选择结构程序设计.ppt_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《C语言程序设计案例教程第3章 选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计案例教程第3章 选择结构程序设计.ppt(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语言程序设计案例教程第3章 选择结构程序设计第3章选择结构程序设计程序有顺序、选择、循环三类流程结构程序。所有的复杂程序都可以由这三类结构来完成。顺序结构程序只可以顺序依次执行各条语句,而现实中许多问题需要根据一些具体情况和条件来选择不同的解决问题的方法,这就要求程序具有判断和选择的能力,能够根据一些条件是否成立,来决定执行哪些语句。选择结构程序设计正是用来解决这些问题。选择结构程序的特点是:根据所给定选择条件为真(即条件成立)与否,而决定从各种可能的不同操作分支中,选择执行某一分支的操作,不管分支有多少,仅执行其中一个。选择结构程序使用了条件结构语句,条件结构语句有if条件分支和switc

2、h开关分支两种语句。3.1if条件分支语句If条件分支语句有三种使用形式。有if单分支语句、ifelse双语句和ifelseifelse多分支语句,分别介绍如下。3.1.1if单单分支语句if单分支语句只对一个条件(可以是复合条件)进行判断,如果为真就执行其下所包含的语句体语句;否则跳过if语句下所包含的内容,去执行if语句后边的语句。1语句格式和功能【格式】if单分支语句使用格式如下。if(表达式)语句体【功能】当表达式的值为真(非0)时,依次执行“语句体”的各条语句,否则跳过“语句体”转去执行if语句下面的语句。if单分支语句的流程如图311所示。,图311if单分支语句的流程图例如:if

3、(x=85)x+elsex3.1.3ifelseifelse多多分支语句1语句格式与功能【格式】ifelseifelse多分支语句使用格式如下。if(表达式1)语句体1elseif(表达式2)语句体2elseif(表达式3)语句体3else语句体n【功能】ifelseifelse多分支语句可以对多个条件进行判断,并在条件成立时执行相应的语句。该语句将分别对表达式1、表达式2.依次进行测试,当某个表达式成立,其值为真时,转去顺序执行其下边相关的语句体内的语句,并由此退出条件结构。如果所有表达式均不成立,则顺序执行最后的“语句体n”内的语句。ifelseifelse多分支语句的流程图如图319所示

4、。可以发现,多分支if语句的实质就是ifelse语句的嵌套,,即在其else语56句中嵌入另一个if语句。图319多分支条件语句流程图例如:if(a=85)printf(评语是优!n)elseif(a=75&a=60&a75)printf(评语是及格!n)elseprintf(评语是不及格!n)例如:scanf(%d,&n)if(n%10|n%5)a=sum1+ab=sum2+aelseif(n%7|n%3)c=sum3+cd=sum4+delseprintf(n=%d,n)3.2switch开关分支语句和选择结构的嵌套在程序设计中,当有很多个分支时,可以使用ifelseifelse多分支语句

5、。C语言还提供了switch语句,该语句称为开关分支语句,它的用途类似于ifelseifelse多分支语句。不同的实,该语句的多路分支选择仅取决一个表达式不同的值。573.2.1switch开关分支语句1语句格式和功能【格式】switch开关分支语句的使用格式如下。switch(常量表达式)case:语句序列1breakcase:语句序列2breakcase:语句序列nbreakdefault:语句序列n+1break语句执行时,先对switch右边小括号内的常量表达式(即计算结果是一个整型、字符型或枚举型的表达式)进行计算,将计算结果与case后的常量表达式的值进行比较,如果相符,则转去执行

6、case后面的语句,最后执行break语句后跳出整个switch语句。break语句的作用是使程序的执行跳出整个switch语句。如果省略switch语句中case语句序列内的break语句,从该case语句开始以后的case则语句将不再进行条件检查,而是直接执行各语句序列内的语句,直到switch语句结束或遇到break语句。default是一个可选项,可以省略。使用default的意义在于,当所有case都不能与switch相匹配时,转去执行default后的语句。在default后边的break并不是多余的。虽然很多情况下break可以省略,但是当default不是switch结构末尾的

7、最后一个语句时,必须加上break。switch语句的执行流程如图321所示。不管break语句在何处,总是最后执行。58图321switch语句的程序流程注意:switch中常量表达式的值只能是整型、字符型或枚举型,switch中常量表达式值的类型必须与case中的常量表达式值的类型一致,即其值只能是整数、字符或枚举值。例如,根据输入的字母(英文大写字母“A”“B”“C”“D”“E”“F”、)不同,显示的数学题目也不同。程序如下。switch(shr1)caseA:printf(1+2+3+100=?)breakcaseB:printf(1+3+5+99=?)breakcaseC:print

8、f(10*9*2*1=?)breakcaseD:printf(1*1+2*2+10*10=?)breakcaseE:printf(1+1/2+1/3+1/10=?)breakcaseF:printf(1+(1+2)+(1+2+3)+(1+2+10)=?)breakdefault:printf(error!);例如,根据输入的数不同,给变量m累加的值也不同。当n20时k等于0或1,则m累加1;20n30时k等于2,则m累加2;30n40时k等于3,则m累加3;40n50时k等于4,则m累加4;50n60时k等于5,则m累加5;当n60时k等于6,则m累加6。程序如下。If(nb)if(x!=y)

9、elseelseif语句的嵌套结构形式有很多,表322列出了其中的一些形式。表322if语句的嵌套结构的形式形式1if(表达式1)if(表达式2)语句1else语句2else语句3形式4if(表达式1)语句1elseif(表达式2)语句2else语句3形式5if(表达式1)if(表达式2)语句1else语句260形式2if(表达式1)语句1elseif(表达式2)语句2else语句2if(表达式1)形式3if(表达式2)语句1形式6if(表达式1)switch(表达式2)case:)else语句n这些嵌套的if语句在执行时,先对表达式1进行判断,按判断的结果再决定是否要对嵌套语句中的表达式2进行判断。在以上格式中,需要注意的是形式3中的大括号是不能省略的,如果省略了该大括号,则变为形式5。因为if语句嵌套时,C语言语法规定,else总是与之前最近的、尚未配对的if语句相匹配。为了使程序不发生如上所述的错误,在if语句的嵌套结构中,最好是用花括号将内部的语句块括起来,以免产生歧义。上面的形式1形式4的if语句的嵌套结构形式的流程图如图328所示(与形式14按顺序依次对应)。图328嵌套选择结构(6)采用选择结构的嵌套方法,编写一个思考与练习31中第7题“计算运费”程序。61

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com