- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四课 选择结构程序设计
第四课 选择结构程序设计
计算机科学与技术学院 C培训讲义 钟良骥
关系表达式和逻辑表达式的复习
运算符的功能
运算符的优先级
运算符的正确使用
语句
表达式
假(0)
真(非0)
单分支if语句的执行过程
if控制语句的常见形式
单分支选择结构:if (表达式) 语句
如果表达式的值为真,则执行其后的语句, 否则不执行该语句。
【例】 输入一个数如果该数大于等于0,则输出它的平方根,如果小于0,则不做任何处理。
双分支选择结构:if(表达式) 语句1; else语句2;
语句1
表达式
假(0)
真(非0)
图4.2 双分支if语句的执行过程
语句2
如果表达式的值为真,则执行语句1,否则执行语句2
【例】输入一个数,如果该数大于等于0,则输出它的平方根,如果小于0,则输出数据出错信息“data error”。
多分支选择结构
if(表达式1)
语句1
else if(表达式2)
语句2
else if(表达式3)
语句3
…
else if(表达式m)
语句m
else
语句n
首先判断表达式1的值,当为真时,则执行对应的语句1。然后跳到整个if语句之外继续执行程序。 如果表达式1的值为假,则继续判断表达式2的值,依次类推。若所有的表达式都不为真,则执行语句n,然后继续执行后续程序。
【例】 从键盘上输入一个百分制成绩,输出相应的等级。90分以上为“A”,80~90分为“B”,60~79分为“C”,60分以下为“D”。
if语句的嵌套
在上述3种结构中,当if(表达式)或else后面的语句本身又是一个if语句时,就形成了if语句的嵌套。
if(表达式)
if(表达式1)
语句1_1
else
语句1_2
如:假
真
if(score=80)
score=80
if(score=90)
printf(A);
假
真
真
假
else
score=90
score=60
2
printf(B);
假
else
if(score=60)
D
B
C
A
printf(C);
else
printf(D);
使用if 语句的嵌套时要注意以下几点:
在嵌套内的if语句可以是前面讲的三种if语句形式。
if语句的嵌套可以是两层甚至是多层,这时要特别注意if与else配对的规则。
switch语句
根据一个表达式的值,选择多个分支,因此也称为分情况语句或开关语句。
其一般形式为:
switch(表达式)
{
case 常量表达式1:语句组;[break;]
case 常量表达式2:语句组;[break;]
......
case 常量表达式n:语句组;[break;]
[default:语句组;[break;]]
}
其中:表达式的值可以是整型或字符型;常量表达式必须是常量,不能是变量,仅代表入口地址,表示当表达式的值等于常量表达式,所执行其后的语句组。
如果没有任何一个case后面的“常量表达式”的值与“表达式”的值相同,则执行default 后面的语句(组)。若default在最后,就跳出switch语句。若default语句在中间,则直到最后遇到break语句时,才跳出switch语句。
使用switch语句时应注意以下几点:
表达式的值可以是整型或字符型。
default可以省略,也可以放在任何位置,但是建议一般放在最后面。若default放在中间时,执行完default语句组后,并不一定跳出switch语句,必须遇到break语句时,才跳出switch语句。
每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。
case后面的“常量表达式”仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,直到遇到break语句,就跳出switch语句。
各case先后次序,不影响程序执行结果。
多个case子句,可共用同一语句(组)。
多分支if结构和switch结构都可以用来实现多条分支,多分支if结构用来实现两条、三条分支情况比较方便,若包括有三条以上分支情况时,使用switch结构较为方便。但是,有些问题只能使用多分支if结构来实现,例如要判断一个值是否处在某个区间的情况。
程序举例
【例】编制程序要求输入整数a和b,若a2 + b2大于100,则输出a2 + b2百位及以上的数字,否则输出两数的和。
【例】试编程
您可能关注的文档
最近下载
- “信息技术+农业”大数据现代产业学院建设方案.docx VIP
- 汉得微扬-西凤酒CRM项目投标建议方案 20170106.pptx VIP
- 信用证试题库及答案.doc VIP
- 汉得信息_陆家嘴商业地产项目_投标文件_V2.02.pptx
- 医疗器械体系文件-软件部署管理规定.doc VIP
- WPS Office2019办公应用教程课件 项目四 WPS文字的图文混排.pptx VIP
- 汉得信息_陆家嘴商业地产项目_投标文件_V0.03.pptx
- 国家税务总局就非居民企业间接转让中国财产的税务问题予以进一步明确.doc VIP
- 故事大全:科学家的故事_名人故事:名人科学家的故事.doc VIP
- 35kV开关柜安装施工方案.doc VIP
文档评论(0)