




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模块二模块二 分支程序设计训练分支程序设计训练能力目标 掌握关系表达式和逻辑表达式的应用。 掌握利用if语句实现的单分支和双分支选择结构。 掌握利用switch语句实现多分支选择结构。知识准备知识准备 任务引例-比较两个数的大小。#include void main( )float a,b;printf(请您输入两个实数:n);scanf(%f,%f,&a,&b);if (ab) printf(第一个数较大。n);else if (a=b) printf(两个数相等。n);else printf(第二个数较大。n);程程 序序 清清 单单程序运行程序运行 请您输入两个实数:请您
2、输入两个实数:4,84,8第二个数较大。第二个数较大。做中学做中学2-1 2-1 两个数的升序排序。两个数的升序排序。2.1 if-else语句2.1.1 单分支结构的if语句算法设计算法设计 定义三个变量定义三个变量a a,b b,t t,从键盘给,从键盘给a a、b b赋值赋值。使用。使用ifif语句判断语句判断a a和和b b大小大小,如果,如果abab,交换,交换a a、b b的值的值,算法见右图。,算法见右图。完毕程序运行程序运行 请输入两个实数:请输入两个实数:4.4,2.34.4,2.3 2.30 4.40 2.30 4.40 知识点u 语法格式:u if (条件表达式) u 语
3、句;u 单分支结构执行过程:u 单分支结构if语句的执行过程如图2-2所示,首先对表达式求解,当结果为真非0时,则执行指定的语句;否则跳过指定语句,接着执行该语句下面的语句。u 语法特征为:一个条件表达式,一个可选执行。图2-2 if 单分支结构B做中学做中学2-2 2-2 求绝对值。求绝对值。算法设计算法设计 定义两个变量定义两个变量x x,y y,从键盘读值给从键盘读值给x x。如果。如果x0 x0,y y赋赋值为值为-x-x;否则,;否则,y y赋值为赋值为x x。算法。算法见图见图2-32-3。2.1.2 双分支结构的if-else语句完毕#include void main( ) i
4、nt x,y; printf(输入一个整数:); scanf(%d,&x); if (x0) /*判断x0是否成立*/ y=-x; else /*若x0的值为假*/ y=x; printf(这个数的绝对值是:%dn,y); 程程序序清清单单程序运行程序运行 输入一个整数:输入一个整数:-5-5 这个数的绝对值是:这个数的绝对值是:5 5 知识点u 语法格式:uif (条件表达式) u 语句1;uelseu 语句2; u 双分支结构执行过程:u 语法特征:u 一个条件表达式,两个可选执行。u B做中学做中学2-3 2-3 某运输公司对用户收取运费的规定如下某运输公司对用户收取运费的规定如
5、下(s(s表示里程数表示里程数km)km): S S250 0250 0没有折扣)没有折扣) 250s 250s500 2%500 2% 500s 500s1000 5%1000 5% 1000s 1000s2000 8%2000 8% 2000s 2000s3000 10%3000 10% 3000s 15% 3000s 15% 设基本运费为每公里每吨设基本运费为每公里每吨p p元,货物重为元,货物重为w w吨,折扣为吨,折扣为d d,总运,总运费费f f的计算公式为的计算公式为 f = p f = pw ws s(1-d)(1-d)2.2 switch-case语句算法设计算法设计 通过分
6、析上述数据可以看到,通过分析上述数据可以看到,d d随着随着s s的增加而的增加而增加,有一定规律。增加,有一定规律。s s的每个取值范围,要么增加的每个取值范围,要么增加250250,或,或者者500500,或者,或者10001000,均是,均是250250的倍数。的倍数。我们可将公司对用户收取运费的规定理解如下表我们可将公司对用户收取运费的规定理解如下表距离距离s s折扣率折扣率d d距离距离s s折扣率折扣率d ds s25025001750s20008%8%250250s s5005002%2000s225010%10%500500s s7507505%2250s250010%10%7
7、50750s s100010005%2500s275010%10%10001000s s125012508%2750s300010%10%12501250s s150015008%3000s15%15%15001500s s175017508%8% #include void main( ) int c,s; float p,w,d,f; printf(请输入每公里运价(元/吨*公里),货物重量吨),运输里程公里):);scanf(%f,%f,%d,&p,&w,&s);if(s=3000) c=12;else c=s/250;switch(c) case 0:d=0;b
8、reak; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; default:printf(输入里程有错!n); f=p*w*s*(1-d/100.0f);printf(应缴运费:%15.4fn,f); 程序运行程序运行 请输入每公里运价元请输入每公里运价元/ /吨吨* *公里),货物重量公里),货物重量吨),运输里程公里):吨),运输里程公里)
9、:0.2,30,12000.2,30,1200 应缴运费应缴运费: 6624.0001: 6624.0001知识点知识点 使用使用switch-caseswitch-case语句可以实现多分支选择结构,流语句可以实现多分支选择结构,流程图如图程图如图2-52-5所示。所示。 图图2-5 switch2-5 switch语句流程图语句流程图知识点u 语法格式:uswitch (表达式)ucase常量1:语句1; ucase常量2:语句2;u ucase常量n:语句n;udefault:语句n+1;uu switch-case 语句使用说明:u v 表达式可以为任何整数类型。v 各个常量取不同的值
10、。v 表达式的值与某个case后的常量的值相等,就执行此常量后面的语句。v 如果表达式的值没有和任何常量相匹配,就执行default后面的语句。如果省略了default语句,则不作任何处理,执行switch结构后面的语句。v 如果在相匹配case的语句块中没有break语句,程序从此开始顺序执行,直到遇到某个case子句中的break语句,才跳出switch结构。否则,一直执行到switch语句结束。因而多个case可以共用同一组执行语句。如,case 8: case 9: case 10: case 11:d=10;break;v case后面必须是常量表达式,表达式中不能包含变量。v 如,
11、不能写成 case b。v default出现的位置不影响程序执行结果。所以可先出现default子句,再出现各case子句。u 语法特征为:一个表达式的值,对应n个常量表达式的值。边学边练边学边练 实现英寸与厘米的换算。 求方程ax2+bx+c=0的解。 菜单程序设计。 输入年份,判断是否为润年。 三个数排序(升序)。 根据利润计算工资。拓展提升拓展提升2.3 多分支结构的if-else语句 对于双分支结构的if语句,若它的子句语句1或语句2也是if语句,就出现了if语句的嵌套。执行过程见图2-8。图2-8 多路分支选择结构做中学做中学2-4 2-4 分段函数计算。分段函数计算。算法设计算法
12、设计 程序的功程序的功能为根据自变量能为根据自变量x x的取的取值范围,选择不同的值范围,选择不同的数值表达式计算出数值表达式计算出y y的的值,并输出。值,并输出。x x有四个有四个范围,可构成范围,可构成3 3个条件个条件表达式,表达式,4 4个可选分支个可选分支的结构,流程图右图的结构,流程图右图编程实现编程实现 多值函数的功能多值函数的功能)0或100(0)10020(3)2010(2)100(xxxxxxxxy完毕#include void main( ) int x,y; printf(请输入一个整数:); scanf(%d,&x); if(x0&x=10) /*如
13、果满足条件0 x10&x20) /*如果满足条件10 x=20&x100) /*如果满足条件20=x100 */ y=3*x; printf(x20,100),y=%dn,y); else y=0; printf(x的值太大或太小!y=%dn,y);程程序序清清单单程序运行程序运行 第一次运行第一次运行请输入一个整数:请输入一个整数:5 5x(0,10,y=5x(0,10,y=5第二次运行第二次运行请输入一个整数:请输入一个整数:1515x(10,20),y=30 x(10,20),y=30第三次运行第三次运行请输入一个整数:请输入一个整数:3030 x20,100),y=90
14、 x20,100),y=90第四次运行第四次运行请输入一个整数:请输入一个整数:120120 x x的值太大或太小!的值太大或太小!y=0y=0 知识点u 语法格式:u if (条件式1)u 语句1;u else if(条件式2)u 语句2;u else if条件式3)u 语句3u uelse if(条件式n)u 语句n;u elseu 语句n+1;u 执行过程:u 首先求解表达式l的值,若为“真”,执行语句1;否则求解表达式2的值,若为“真”,执行语句2;否则继续求解表达式3,若为“真”,执行语句3;否则接着进行判断,依此类推,直到找到结果为“真的表达式,并执行与之相关的语句。u 如果经过求
15、解,所有的表达式都为“假”,那么就执行最后一个else后面的语句。注 意 每一个else是和其前面最接近的if配对使用。做中学做中学2-5 2-5 运输公司对用户的运费计算与做中学运输公司对用户的运费计算与做中学2-32-3相同)。相同)。算法设计算法设计 高折扣率可以在低折扣率基础上加上一个常数得高折扣率可以在低折扣率基础上加上一个常数得到。假设折扣率到。假设折扣率2%2%用用d2d2表示、折扣率表示、折扣率5%5%用用d5d5表示、折扣率表示、折扣率8%8%用用d8d8表示、折扣率表示、折扣率10%10%用用d10d10表示、折扣率表示、折扣率15%15%用用d15d15表示,则表示,则可
16、以得到下表。可以得到下表。2.4 switch-case语句的巧用距离距离s s折扣率折扣率d d折扣率折扣率d d计算计算常数常数s s250250d0=0d0=d0+00 0250250s s500500d2=2%d2=d0+22 2500500s s10001000d5=5%d5=d2+33 310001000s s20002000d8=8%d8=d5+33 320002000s s30003000d10=10%d10=d8+22 230003000s sd15=15%d15=15%d15=d10+5d15=d10+55 5即即d15=d10+5=d8+2+5=d5+3+2+5=d2+3
17、+3+2+5=d0+2+3+3+2+5d15=d10+5=d8+2+5=d5+3+2+5=d2+3+3+2+5=d0+2+3+3+2+5。#include void main()int c,s;float p,w,d,f;printf(请输入每公里运价元/吨*公里),货物重量吨),运输里程公里):);scanf(%f,%f,%d,&p,&w,&s);d=0; if(s=3000) c=12; elsec=s/250; switch(c)case 12: d+=5; case 11: case 10: case 9: case 8: d+=2; case 7: case 6: case 5: case 4: d+=3; c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋七年级数学上册 第3章 一次方程与方程组3.4 二元一次方程组的应用 3列二元一次方程组解实际应用(二)教学设计(新版)沪科版
- 多媒体设计师全景复习方法试题及答案
- 地狱中的奥菲欧(教学设计)-2024-2025学年花城版音乐三年级上册
- 2024农业市场细分研究试题及答案
- 四年级语文下册 第八单元 26 巨人的花园第1课时教学设计 新人教版
- 深入研究福建事业单位考试中的经典案例试题及答案
- 工程变更洽谈合同
- 社区发展与公共事务管理会议协议
- Unit5 Section A 2a-2c教学设计 2023-2024学年人教版英语八年级下册
- 农业职业经理人考试学员经验交流会试题及答案
- 新中国外交政策的演变
- 麻疹预防主题班会
- 《广告摄影》 教案
- RTO蓄热焚烧系统操作规程
- 110kV升压站构支架组立施工方案
- CONSORT2010流程图(FlowDiagram)【模板】文档
- 柔性电子技术方案
- 钣金件通用检验作业指导书
- (完整版)施工单位工程竣工报告
- 走进阿卡贝拉
- 国家开放大学混凝土结构设计原理形考1-4参考答案
评论
0/150
提交评论