版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,程序的三种结构 关系运算符和关系表达式 逻辑运算符和逻辑表达式 if语句 三元条件表达式 switch语句,第五章 选择结构的程序设计,2,一 程序的三种基本结构 结构化程序设计 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序:三种基本结构反复嵌套构成的程序 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构,3,选择结构,二分支选择结构,多分支选择结构,4,循环结构,当型循环结构,直到型循环结构,注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构,5,二、关系运算符和关系表达式 1、关系运算符: 、 = : 优先级
2、高于 = 、!= 例如:C a+b 即 C (a+b) 说明:算术运算符的优先级高于关系运算符 a=bc 即 a=(bc) 2、关系表达式的值:0 1 3、运算符的优先级和结合规则参见教材附录,6,三、逻辑运算符和逻辑表达式 1、逻辑运算符: ,形式二: 格式:if (expression) statement1 else statement2 执行过程:,例:if (xy) max=x; else max=y;,8,形式三: 格式:,if ( expr1 ) statement1 else if (expr2 ) statement2 else if (expr3 ) statement3
3、. else statement n ,执行过程:,例:if (salary1000) index=0.4; else if (salary800) index=0.3; else if (salary600) index=0.2; else if (salary400) index=0.1; else index=0;,9,再看一个例子:根据学生的成绩百分制划分为优、良、中、及格、不及格等级。 main( ) int score ; char grade; scanf(%d, ,10,如:if(a=b,说明: if后面的表达式类型任意,语句可以是复合语句 if(x) if(x!=0) if(
4、!x) if(x=0),例 考虑下面程序的输出结果: #include main() int x,y; scanf(“%d,%d”, ,Compile Error!,11,嵌套在if 语句之中。 if ( ) if ( ) if ( ) ; else ; else ; else ; 注意:层次关系。 例如:判断下列程序输出的结果,形式四:,12,例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,实现if else
5、 正确配对方法:加 ,13,例 考虑下面程序输出结果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; printf(“%d”,x); ,结果:-1,14,main( ) int n=-1,a=-2,b=3,z=0; if(n0) if (a0) z=a; else z=b; printf(%d n,z); 若把上面的if 语句该为下列形式,输出又是多少:,15,if(n0) if (a0) z=a; else z=b; if(n0) if (a0)
6、 z=a; else z=b; 理解括号改变嵌套关系。 自己修改“学生成绩百分制”成为语句格式4的形式。,16,五、三元条件表达式 表达式1 ? 表达式2 : 表达式3 -等价于- if (表达式1) 表达式2; else 表达式3;,17,例1:if (x =A ,18,六 switch语句(开关分支语句) 一般形式:,switch( 表达式) case E1: 语句组 1; break; case E2: 语句组 2; break; . case En: 语句组 n; break; default: 语句组 ; break; ,执行过程:,19,说明: E1,E2,En是常量表达式,且值必
7、须互不相同 语句标号作用,必须用break跳出 case后可包含多个可执行语句,且不必加 switch可嵌套 多个case可共用一组执行语句,如: case A: case B: case C: printf(“score60n”); break; .,20,例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); ,运行结果:score为5时,输出: Very good! Good! Pass! Fail! data error!,21,例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理团队医患沟通技巧
- 护理操作技能小讲课
- 2.1乡村和城镇空间结构 课件(41张)
- 2026年人教版科学五年级下册期中测试卷(含答案)
- 游戏应用商店上架对接协议
- 中小学数字教育出版产品服务指南
- 2026年小区智能快递柜使用服务合同协议
- 5年(2021-2025)辽吉黑蒙高考政治真题分类汇编专题07 探索世界与把握规律(原卷版)
- 2025年政务服务办事员(初级)考前通关必练题库-含答案
- 2026年山东德州市高三二模高考生物试卷试题(含答案详解)
- 区块链技术在智能合约应用
- 刑事证据审查手册
- 医疗器械经营质量管理制度、工作程序文件目录
- ACCAHA冠状动脉旁路移植术指南重点内容(全文)
- 2022年上海电机学院辅导员招聘考试真题
- 神经内科病例讨论演示文稿
- 珍珠的漂白处理 2
- 某工程甘肃段地质灾害危险性评估报告
- 节后复工复产安全隐患排查表
- GB/T 2828.10-2010计数抽样检验程序第10部分:GB/T 2828计数抽样检验系列标准导则
- 出版物发行员考试题库及答案
评论
0/150
提交评论