- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 选择结构程序设计0
第五章 选择结构程序设计 第一节 关系运算符和关系表达式(掌握) 第二节 逻辑运算符和逻辑表达式(掌握) 第三节 if语句(重点掌握) 第四节 switch语句(掌握) 第五节 程序举例(学会应用) 关系运算注意: 5.3 if语句 一、程序的三种基本结构 结构化程序设计 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫~ 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构 if ~ else 配对原则:缺省{ }时,else总是和它上面离它最近的未配对的if配对 条件运算符与表达式 一般形式: expr1 ? expr2 : expr3 执行过程 功能:相当于条件语句,但不能取代一般if语句 §5.5 选择结构程序设计举例 [案例5.6] 求一元二次方程ax2+bx+c=0的解(a≠0)。/*功能:求一元二次方程的解。*/ else {p=-b/(2*a); /*求出两个共轭复根*/ q=sqrt(fabs(disc))/(2*a); printf(“x1=%7.2f + %7.2f i\n“, p, q); /*输出两个共轭复根*/ printf(”x2=%7.2f - %7.2f i\n“, p, q); } }} [程序演示] 说明:由于实数在计算机中存储时,经常会有一些微小误差,所以本案例判断disc是否为0的方法是:判断disc的绝对值是否小于一个很小的数(例如10-6)。 思考题:如果将系数a、b、c定义成整数,能否直接判断disc是否等于0? [案例5.7] 已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元): profit≤1000 没有提成; 1000<profit≤2000 提成10%; 2000<profit≤5000 提成15%; 5000<profit≤10000 提成20%; 10000<profit 提成25%。 算法设计要点: 为使用switch语句,必须将利润profit与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的变化点都是1000的整数倍(1000、2000、5000、……),如果将利润profit整除1000,则当: profit≤1000 对应0、1 1000<profit≤2000 对应1、2 2000<profit≤5000 对应2、3、4、5 5000<profit≤10000 对应5、6、7、8、9、10 10000<profit 对应10、11、12、…… 为解决相邻两个区间的重叠问题,最简单的方法就是:利润profit先减1(最小增量),然后再整除1000即可: profit≤1000 对应0 1000<profit≤2000 对应1 2000<profit≤5000 对应2、3、4 5000<profit≤10000 对应5、6、7、8、9 10000<profit 对应10、11、12、…… main() {long profit; int grade; float salary=500; printf(Input profit: ); scanf(%ld, profit); grade= (profit – 1) / 1000; /*将利润-1、再整除1000,转化成 switch语句中的case标号*/ switch(grade) { case 0: break; /*profit≤1000 */ case 1: salary += profit*0.1; break; /*1000<profit≤2000 */ case 2: case 3: case 4: salary += profit*0.15; break; /*2000<profit≤5000 */ case 5: case 6: case 7: case 8: case 9: salary += profit*0.2; break; /*5000<profit≤10000 */ default: salary += profit*0.25; /*10000<prof
您可能关注的文档
最近下载
- 基于滤波技术的数控系统加减速研究.doc VIP
- 遗传的细胞学基础 (3).ppt VIP
- 505调速器指导书.pdf VIP
- 第1组 必修上册第二单元第4课群文阅读课件 30张-高中语文新教材必修上册同步单元备课视频+课件+教案.pptx
- 第五讲:卡尔曼滤波.pptx VIP
- 国家标准《道路交通标志和标线 第6部分:铁路平交口》(征求意见稿).doc VIP
- 《病史采集与技巧》课件.ppt VIP
- 不要随便相信陌生人.pptx VIP
- 第一单元第1课《假期视觉笔记》(课件)—2025-2026学年八年级美术上册(湘教版2024).pptx VIP
- 碧云天生物技术BeyotimeBiotechnology.PDF VIP
文档评论(0)