免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章选择结构程序设计,第6章选择结构程序设计,6.1if语句6.2switch语句6.3程序举例6.4本章小结,6.1if语句,6.1.1if语句的三种形式1if(表达式)语句单分支选择语句单分支的if选择语句的一般形式如下:if(表达式)语句A;,6.1if语句,if选择结构的流程图如图6.1所示。,6.1if语句,2if(表达式)语句Aelse语句B双分支选择语句if-else是双分支的选择结构,一般形式如下:if(表达式)语句A;else语句B;,6.1if语句,if-else选择语句的流程图如图6.2所示。,6.1if语句,3多分支选择语句if-elseif-else多分支选择语句的一般形式如下:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;elseif(表达式n)语句n;else语句n+1;,6.1if语句,if-elseif-else多分支选择结构(假设有4个条件)的流程图如图6.3所示。,6.1if语句,if(x12*/y=3*x*x-25;/*y=3x2-25*/,6.1if语句,【例6.1】通过键盘输入两个实数,编写程序,按照从小到大的顺序输出这两个数。#includevoidmain()floatx,y,temp;/*定义了3个浮点数*/printf(请输入两个数:n);/*输入提示信息*/scanf(%f,%f,/*按照从小到大的顺序输出x和y*/,6.1if语句,交换两个数可分为两个步骤:(1)将第2个数(y的值)存入到第1个变量x中。(2)将第1个变量x中的值存入到变量y中。,6.1if语句,【例6.2】使用if-elseif-else多分支选择结构编写程序,对输入的学生成绩按照90100为优秀,8090(不包括90)为良好,7080(不包括80)为一般,6070(不包括70)为及格,060(不包括60)为不及格。,6.1if语句,6.1if语句,#includevoidmain()floatscore;/*定义变量score表示成绩*/printf(请输入一个学生成绩(0100)n);scanf(%f,/*输出不及格*/,6.1if语句,6.1.2if语句的嵌套,6.1if语句,例如,求a、b、c三者中的最大者,代码如下:if(ab)if(bb时,将a的值赋给max;当ab时,将b的值赋给max。无论ab是否满足,都对同一个变量赋值。可用以下条件运算符实现:max=(ab)?a:b;,6.1if语句,条件表达式的一般形式如下:表达式1?表达式2:表达式3表达式1、表达式2和表达式3可以是任意类型的表达式。,6.1if语句,【例6.3】输入整型变量a、b、c的值,求出a、b、c三者中的最大者,并输出。#includevoidmain()inta,b,c,max;/*定义变量a、b、c和max*/printf(输入a、b、c的值:n);scanf(%d,%d,%d,/*输出max*/,6.2switch语句,当分支过多时,常用switch语句代替if语句来简化程序的设计。switch语句就像多路开关一样,使过程控制流形成多个分支,根据一个表达式可能产生的不同结果,选择其中一个或者几个分支语句去执行,所以又称开关语句。,6.2switch语句,C语言提供的switch语句直接处理多分支选择,它的一般形式如下:switch(表达式)case常量表达式1:语句1;break;case常量表达式2:语句2;break;case常量表达式n:语句n;break;default:语句n+1;break;,6.2switch语句,switch语句的流程图如图6.10所示。,6.2switch语句,【例6.4】通过键盘输入一个学生的成绩(0100),按照以下规则对学生成绩划分等级。学生成绩90,等级为A80学生成绩90,等级为B70学生成绩80,等级为C60学生成绩70,等级为D学生成绩60,等级为E,6.2switch语句,#includevoidmain()floatscore;intgrade;printf(请输入一个学生成绩:n);scanf(%f,6.2switch语句,case6:/*成绩在60分以上70分以下*/printf(等级为D.n);break;case7:/*成绩在70分以上80分以下*/printf(等级为C.n);break;case8:/*成绩在80分以上90分以下*/printf(等级为B.n);break;case9:/*成绩在90分以上*/case10:/*成绩为100分*/printf(等级为A.n);break;,6.3程序举例,【例6.5】编写程序,判断某一年是否是闰年。#includevoidmain()intyear,leap;scanf(%d,6.3程序举例,【6.6】给定一个不多于5位的正整数,要求:1.求它是几位数;2.分别打印每一位数字;3.按逆序打印各位数字。,6.3程序举例,【例6.7】运输公司根据路程的远近对用户计算运费。路程(s)越远,每公里运费就越低。标准如下:s250km没有折扣250s5002的折扣500s10005的折扣1000s20008的折扣2000s300010的折扣3000s15的折扣设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为:,6.3程序举例,#includevoidmain()intc,s;doublep,w,d,f;scanf(%lf%lf%d,5.4格式输入输出,case4:case5:case6:case7:d=8;break;case8:case9:case10:case11:d=10;break;case12:d=15;break;f=p*w*s*(1-d/100.0);printf(总费用:%fn,f);,6.4本章小结,本章主要介绍了C语言中的选择结构程序设计。选择结构主要通过if语句和switch语句实现,如果都向同一个变量赋值,也可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理管理中的PDCA循环技巧
- 【中考真题】四川省达州2026年中考地理试题(解析版)
- 大肠癌患者的心理康复与支持
- 护理人员心理健康的自我提升方法
- 【高考真题】2024年海南省高考地理真题(含答案)
- 多发伤患者的肠外营养护理
- 2026生物求职面试题及答案
- 中国海洋大学海洋科教创新园区(西海岸校区)医药工程大楼实验室项目报告表
- 2026网络慈善面试题及答案
- 2026届山东省高三数学高考冲刺模拟试卷(含答案详解与评分标准)
- 【高分复习笔记】东南大学等四校合编《土力学》(第3版)笔记和课后习题(含考研真题)详解
- 标准气体管理制度内容
- 《地方国有企业中层管理者绩效考核体系研究》
- 长沙理工大学城南学院《光纤通信原理》2022-2023学年第一学期期末试卷
- 手术室外来器械使用管理
- 2024年无人机测绘操控员(高级)技能鉴定理论考试题库资料(含答案)
- DL∕T 2010-2019 高压无功补偿装置继电保护配置及整定技术规范
- 青岛版五年级下册分数的加减法练习200题及答案
- 房屋居住权合同
- 《电路分析基础》网孔分析法
- 磁浮风机技术说明(招标专用)
评论
0/150
提交评论