已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第四章选择(分支)结构Branching,信息对抗,2,程序的三种基本结构及其框图表示方法,1.顺序结构,B,A,3,2.选择结构,当P条件为非零时,执行A操作,否则执行B操作,4,3.循环结构,当P为非零时,反复执行A,直到P为零为止。,1)形式a,5,2)形式b,先执行A操作,再判断P是否为非零,若P为非零,再执行A,直到P为零为止。,A,P,非零,零,6,算法,按指定的语句和顺序来解决问题的过程称为算法。算法的两个重要方面:顺序语句算法的图形表示:流程图,7,流程图符号:,椭图,矩形,判断框,小圆圈,代表程序的开始或结束,代表程序所执行的动作,代表程序的分支,代表程序的连接,8,所有的流程图用一带箭头的线(流线)相连,就构成了程序的流程(顺序),如:,9,if选择结构条件判断,一、if的三种形式,功能:当表达式值非0时,执行语句体A,否则不执行语句体A.,形式1if(表达式),语句体A,10,其流程图,例如:if(xy)x=x%2;printf(%d,x);,11,形式2:if(表达式)语句else语句2,表达式,语句体1,语句体2,0,=0,例:if(xy)printf(%d,x);elseprintf(%d,y);,12,形式3if(表达式1),elseif(表达式2),elseif(表达式3),elseif(表达式n),else,语句体1,语句体2,语句体3,语句体n,语句体n+1,13,流程,表达1,表达2,表达3,表达n,语句体2,语句体3,语句体n,语句n+1,语句体1,0,=0,=0,0,0,0,14,如:if(3)printf(o.k);if(a),1.表达式可以是逻辑、关系,甚至是算术表达式,2.语句必须以分号结束,3.若语句不止一条,则必须用括起来。在外可以不用分号,二、注意的问题:,15,#includemain()floata,b,t;scanf(%f,%f,例1输入两个实数,按代数值由小到大次序输出这两个数。,3.6,3.23.20,3.60,运行情况如下:,16,例2输入三个数,按大小顺序输出。,#includemain()floata,b,c,t;scanf(“%f,%f,%f”,运行情况如下:,3,7,11.00,3.00,7.00,17,或if()if()语句(内嵌if)else语句2注:每个else都与距其最近的if配对。,内嵌if,内嵌if,if()if()语句else语句elseif()语句else语句,2.if语句的嵌套在if语句中又包含一个或多个if语句的形式。一般格式如下:,18,例:if(),if()语句2else语句3,if()if()语句1else,所以:必要时加.,if()语句1else,19,以下几种写法,请判断哪些是正确的,20,程序2:将程序1的if语句改为:/*exp52.c*/#includemain()intx,y;scanf(d,程序1:/*exp51.c*/#includemain()intx,y;scanf(d,21,程序4:将程序1的if语句改为:/*exp54.c*/#includemain()intx,y;scanf(%d,程序3:将程序1的if语句改为:/*exp53.c*/#includemain()intx,y;scanf(%d,22,1.程序1和程序2是正确的。它们代表的函数为:,2.程序3和程序4是错误的。它们代表的函数为:,结论:,思考练习:分别画出一个程序的流程图,23,该语句为开关语句,解决多分支的情况。格式:switch(表达式)case(常量表达式):语句块;case(常量表达式):语句块;case(常量表达式m):语句块m;default:语句块n;说明:(1)表达式可以是整型、字符型、枚举数据型的表达式。(2)计算表达式的值;(3)找到与表达式的值相同的case常量表达式,执行该case后边的语句块,之后依次往下执行语句块。,switch语句,24,(4)case后的语句序列可以是一条语句,也可以是多条语句,此时多条语句不必用括号括起来。(5)case后的“常量表达式”只起到语句标号的作用,而不进行条件判断,故在执行完某个case后的语句序列后,将自动转移到下一个case继续执行。其计算过程为:,25,a.计算表达式的值;b.找到与表达式的值相同的case常量表达式,执行该case后边的语句序列,之后依次往下执行语句块。,表达式,语句序列1,语句序列2,语句序列n,语句序列n+1,26,若每个语句序列的最后一条语句均为break语句,则执行流程为,表达式,语句序列1,语句序列n,语句序列n+1,语句序列2,27,例如:根据考试成绩的等级打印出百分制分数段:上述程序可写成多分支情况:switch(grade)caseA:printf(“85100n”);break;caseB:printf(“7084n”);break;caseC:printf(“6069n”);break;caseD:printf(“60n”);break;default:printf(“error”);若grade=A时,输出结果为?当grade=B时,输出结果为:7084,28,流程图为:,grade,输出“85100”,输出“60”,输出“60-69”,输出“error”,输出“70-84”,29,(6)case和default的次序可以交换。main()intc=3;switch(c)case1:c+;default:c+;case2:c+;printf(c=%dn,c);,case3:c+;,30,(7)多个case可以执行同一个语句序列。switch(c=getchar()casey:caseY:printf(“Youareright.n”);,31,例1写一程序,判断某一年是否闰年。其中:leap代表闰年的信息,leap=1闰年,leap=0非闰年程序为:main()intyear,leap;scanf(“%d”,32,例运输公司对用户计算运费。距离(s)越远,每公里运费越低。折扣为d(discount),每公里每吨货物的基本运费为p(price),货物重w(weight),总运费f(freight),f=p*w*s*(1-d),设c=s/250。,输入:1989结果为:1989isnotaleapyear输入:2000结果为:2000isaleapyear,33,程序为:main()intc,s;floatp,w,d,f;scanf(“%f,%f,%d”,case4:case5:,多个case可共用一组执行语句,34,case6:case7:d=8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应链优化决策支持数据模板
- 农业生产生物技术合作项目协议
- 2025年清洁能源发展政策对环境保护与经济增长的影响研究报告及未来发展趋势预测
- 不安全行为培训题库及答案解析
- 2025年人工智能教育行业人工智能教学与智能教育平台研究报告及未来发展趋势预测
- 2025年旅游业行业智慧旅游与文化传承研究报告及未来发展趋势预测
- 《中国画技法入门:美术基础课程教案》
- 产品质量控制与改进流程化模板
- 贵阳基金从业证考试及答案解析
- 玖龙纸业安全考试题库及答案解析
- 《揭开情绪的面纱-情绪气象站》教学课件-2025-2026学年北师大版七年级心理健康教育全册
- 慢性阻塞性肺病常见症状详解及护理方法
- 2025版慢性阻塞性肺疾病症状与健康管理指南
- 2025新版纪法知识测试题及答案
- 煤矿智能掘进员安全技术规程
- 5.1走近老师课件-2025-2026学年统编版道德与法治 七年级上册
- 矿山安全生产管理制度汇编
- GB/T 8984-2025气体分析气体中微量一氧化碳、二氧化碳和碳氢化合物含量的测定火焰离子化气相色谱法
- 2025-2026学年人教版(2024)七年级数学上册全册教案教学设计
- DB51T 3316-2025 碳资产管理服务指南
- 2024人教版八年级英语上册Unit5 大单元教学设计
评论
0/150
提交评论