




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,第四章,选择结构程序设计,几种选择结构,if(7座以下客车辆)通过1号收费通道; else if(7座以上客车辆) 通过2号收费通道; else if(军车牌照车辆) 通过3号收费通道; else if(本地牌照车辆) 通过4号收费通道; else 通过5号收费通道; 继续前行;,if(载客车辆)走左路; else 走右路; 继续前行;,if(加油、停车休息等) 进行相应服务 继续前行;,单分支选择结构,双分支选择结构,多分支选择结构,本章要点,if 语句基本形式 条件判断 多分支选择结构 编程举例,(1)if(表达式) 语句 例1: if(xy) printf(“%d”,x); 例2: i
2、f(x!=0) y=6/(2*x); printf(“y=%fn”,y);,4.1 if 语句的基本形式,(2)if(表达式) 语句1 else 语句2 例1: if(x=0) printf(“分母为0,无解!”); else y=6/(2*x); printf(“y=%fn”,y);,例2: if (x0) printf(“%d”,x); n+; else s=s+x;,例4.1: 输入两个学生a和b的成绩,输出其中高的成绩。 算法: 法一:比较两成绩,输出高的成绩。 法二:将较高的成绩存入一个变量max中, 最后输出max的值。,举例:,编写程序: #include void main()
3、 float a,b,max; scanf(%f,%f, ,双分支选择结构,#include void main() float a,b,max; scanf(%f,%f, ,或,使用单分支选择结构,条件相互排斥,例4.2:输入3个成绩a,b,c,要求按由高到低的顺序输出。,算法: 1. if a b 将a和b对换 2. if a c 将a和c对换 3. if b c 将b和c对换 4. 输出a,b,c的值,编写程序: #include void main ( ) float a,b,c,t; scanf(%f,%f,%f, ,4.2 条件判断,判断是实际应用的需求,例如: 如果考试不及格,要
4、补考; (需要判断是否及格) 70岁以上的老年人公园免票 (需要判断是否满70岁) 如果ab则打印a。 (需要判断a是否大于b),4.2.1 条件判断的含义,重要说明: 条件判断解决 “如果 那么否则”这样的问题。 条件判断的结果是一个逻辑值:“是”或“否” 。 “是”用“1”表示,“否”用“0”表示,说明: 关系运算符的优先级低于算术运算符 关系运算符的优先级高于赋值运算符,4.2.2关系运算符和关系表达式,1、关系运算符及其优先次序, (小于) = (小于或等于) (大于) = (大于或等于) = (等于) != (不等于),括号 ( ) ! +,-,sizeof *, /, % +, -
5、 = = =, != 位运算 double cost,price,total; printf(please enter number and price:); scanf(%d,%lf, ,允许用以下形式的if语句来代替上述结构:,if(表达式) 语句 else if(表达式) 语句 else if (表达式)语句 else if(表达式)语句 else 语句n,改写程序。 #include #include void main ( ) int number; double cost,price,total; scanf(%d,%lf, ,4.3 多分支选择结构switch语句,实际问题:百分
6、制成绩转换成等级制成绩,switch语句的一般形式:,switch (表达式) case 常量表达式: 语句 case 常量表达式: 语句 case 常量表达式: 语句 default: 语句 ,例: #include stdio.h void main() int m; scanf(%d, ,各表达式值应为整型或字符型数据,break语句的功能:使流程跳出switch结构 switch(m/10) case 10: printf(“优秀n”);break; case 9: printf(优秀n); break; case 8: printf(良好n); break; case 7: prin
7、tf(中等n); break; case 6: printf(及格n); break; default: printf(不及格n); ,例4.4: 运输公司对用户计算运费。 路程()越远,每吨每公里运费越低。标准如下: 没有折扣 折扣 折扣 折扣 折扣 折扣 设每公里每吨货物的基本运费为,货物重为, 距离为,折扣为,则总运费的计算公式为: *(),可以使用下面? switch (s) case 1: case 2: case 3: ,S的可能取值太多,无法逐一书写,分析折扣变化的规律性: 折扣的“变化点”都是的倍数 换用表达式 s/250 (整除),观察它的取值情况:,#include voi
8、d main( ) int c,s;float p,w,d,f;scanf(%f,%f,%d,4.4 程序综合举例,例4.5 写程序,判断某一年是否闰年。,解题思路: 设置标志变量leap,记录是否是闰年; 判断结束后,根据leap的值输出相应信息。,#include void main()int year, leap; scanf(“%d”,例4.6: 求ax2+bx+c=0方程的解。 基本算法: a=0,不是二次方程。 b2-4ac=0,有两个相等实根。 b2 -4ac0,有两个不等实根。 b2 -4ac0,有两个共轭复根。,#include #include void main ( ) float a,b,c,disc,x1,x2,realpart,imagpart; scanf(%f,%f,%f, else if(disc1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf(roots:%8.4f and %8.4fn,x1,x2); else realpart=-b/(2*a); imagpart=sqrt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版安全运输鸡苗运输与生物安全防控合作协议
- 二零二五年度个人股权信托纠纷解决与处理合同书
- 二零二五年度消防报警系统安装与维修合同范本
- 二零二五版25MW柴油发电机电站发电设备安装调试服务协议
- 二零二五年影视广告投放标准服务合同
- 二零二五年度移动互联网应用开发合作补充协议
- 二零二五年度绿色建筑项目财务预算与合同管理规范
- 二零二五年度高校博士研究生导师职务聘用合同范本
- 2025版装配式厕所建设与安装承包合同模板
- 二零二五年度材料代购及施工安全合同范本
- 烟头回收商业计划书
- 意健险销售手册
- 配电智能网关技术规范书
- 果蔬汁饮料加工工艺
- 通风与空调工程施工质量验收规范-50243-2016
- 《闭环思维》读书笔记思维导图
- T-GDAEPI 07-2022 广东省环保管家服务规范
- GB/T 25156-2020橡胶塑料注射成型机通用技术要求及检测方法
- 墙面抹灰施工方案35316
- 废弃物分类、清运、处理流程图
- 专职安全员工作培训课件
评论
0/150
提交评论