ImageVerifierCode 换一换
格式:PPT , 页数:30 ,大小:384KB ,
资源ID:388489      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-388489.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章 分支程序设计.ppt)为本站会员(progressking105)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

第3章 分支程序设计.ppt

1、第3章 分支程序设计,关系表达式 逻辑表达式 If 语句 Switch语句,关系表达式,关系表达式用来实现比较 关系运算符 , =, =, =, , != 优先级:高于赋值运算符,低于算术运算符。关系运算符内部:=和 !=较低结合性:左结合 关系表达式 用关系运算符将二个表达式连接起来称为关系表达式 关系表达式的结果是: true 或 false,eg. x y,a b = c d 都是合法的关系表达式,注意:-2 -1 0 与PYTHON中的含义不一样,关系表达式 续,算术运算符的优先级比关系运算符高 注意事项 “等于”运算符是由两个等号组成。常见的错误是在比较相等时用一个等号。 要小心避免

2、冗余。主要是在关系表达式中需要判别布尔型的变量的值时。判别一个布尔变量flag的值是否为true,初学者常常会用表达式flag = true。事实上,只要用一个最简单的表达式:flag就可以了,5 + 3 6 - 2,(5 + 3) (6 2),第3章 逻辑思维及分支程序设计,关系表达式 逻辑表达式 If语句 Switch语句,逻辑表达式,逻辑表达是用于实现更复杂的判断 逻辑运算符 & (and) | (or) ! (not) 优先级: ! 关系运算符 & | 逻辑表达式 由逻辑运算符连接起来的表达式,其结果为“真(true)”或“假(false)”,逻辑表达式须注意,C+中,参加逻辑运算的对

3、象可为任意类型的数据,0为假,非0 为真。5 % 2 & p p5 3 & 2 | 8 4 - !0 1 短路求值:逻辑表达式在执行时,先处理左边。如左边已能决定此逻辑表达式的结果,则右边不执行。,逻辑表达式须注意 续,在& 逻辑表达式中,应把false可能性较大的条件放在左边,在|表达式中,应把true可能性较大的条件放在左边,这样可以减少程序执行的时间 尽量避免在一个逻辑表达式中完成多项任务,eg. (m = a b) & (n = c d) a = 1, b = 2, c = 2, d = 4, m = 1, n = 1.问执行后m,n的值分别为多少?,m=0, n=1,第3章 逻辑思维

4、及分支程序设计,关系表达式 逻辑表达式 If语句 Switch语句,条件检查与if语句,if语句的格式if (条件测试) 语句if (条件测试) 语句1 else 语句2 条件测试为true时所执行的程序块叫做then子句,条件为false时执行的语句叫做else子句。 eg. if (grade = 60) cout = 60)cout “passed”;elsecout “failed”;,条件语句使用注意,条件的结果值应该是 true 或 false,它们是C+中bool类型的值 事实上,条件可为任意表达式,不一定是关系表达式。0 为false,非 0 为true。 常见的错误:条件测试

5、是比较相等时,用一个等号, 合理的缩排,使程序结构更加清晰,判断闰年的程序,#include using namespace std;int main() int year;bool result;cout year;result = (year % 4 = 0 ,if语句的嵌套,if语句的then子句或else子句是if语句,称为if语句的嵌套 歧义性:if 语句可以没有else子句,如 if (x 100) if (x 90) 语句1 else if (x80) 语句2 else 语句3 else 语句4; 配对原则:每个else子句是和在它之前最近的一个没有else子句的if语句配对。,

6、缩进对齐,可以清晰地表示出层次 ,便于程序员阅读,if (x 100) if (x 90) 语句1 else if (x80) 语句2 else 语句3 else 语句4;,条件表达式,?:运算符 :问号冒号运算符 作用:更加简练的用来表达条件执行的方式 形式 :(条件) ? 表达式1 : 表达式2 执行过程:首先计算条件值。如果条件结果为true,则计算表达式1的值,并将它作为整个表达式的值。如果条件结果为false,则整个表达式的值为表达式2的值。,实例,例如将x和y中值较大的一个赋值给max,可以用下列语句:max = (x y) ? x : y; ?:运算符用于输出。例如,想输出一个布

7、尔变量flag的值,如果直接用 cout flag;那么当flag为“真”时,输出为1;当flag为“假”时,输出为0。如果我们想让flag为“真”时输出true,为“假”时输出false,可以用if 语句if (flag) cout “true”;else cout “false”;看上去太罗嗦。但如果用?:运算符只需要一行cout ( flag ? “true“ : “false“ ) endl;,第3章 逻辑思维及分支程序设计,关系表达式 逻辑表达式 If语句 Switch语句,switch语句,格式: switch (表达式)case 常量表达式1:语句1case 常量表达式2:语句2

8、.case 常量表达式n:语句ndefault:语句n+1,执行过程: 当表达式值为常量表达式1时,执行语句1到语句n+1; 当表达式值为常量表达式2时,执行语句2到语句n+1;。 当表达式值为常量表达式n时,执行语句n到语句n+1; 否则,执行语句n+1,用于多分支的情况,switch语句 续,default子句可以省略 default子句省略时,当表达式的值不等于表达式1到表达式n的值时,直接跳出switch语句,执行switch语句的下一语句,Break语句,作用:跳出当前的switch语句,switch (表达式)case 常量表达式1:语句1;break;case 常量表达式2:语句

9、2 ;break;.case 常量表达式n:语句n ;break;default:语句n+1,执行过程: 当表达式值为常量表达式1时,执行语句1; 当表达式值为常量表达式2时,执行语句2;。 当表达式值为常量表达式n时,执行语句n; 否则,执行语句n+1,eg1. 按下表将百分制成绩转换成5 级记分制。,switch(score)case score = 90: cout = 80: cout = 70: cout = 60: cout “D“;break;default: cout “E“;,表达式=成绩/10,switch(score / 10) case 10: case 9: cout

10、 “A“;break;case 8: cout “B“;break;case 7: cout “C“;break;case 6: cout “D“;break;default: cout “E“;,计算机自动出四则运算计算题,生成题目 switch(题目类型) case 加法:显示题目,输入和的值,判断正确与否case 减法:显示题目,输入差的值,判断正确与否case 乘法:显示题目,输入积的值,判断正确与否case 除法:显示题目,输入商和余数的值,判断正确与否 ,要求自动出0 - 9之间的四则运算题,并批改结果,关键问题,如何让程序每次执行的时候都出不同的题目? 随机数生成器rand():

11、能随机生成0到RAND_MAX之间的整型数 将生成的随机数映射到0 - 9之间: Rand() % 10 rand() * 10 / (RAND_MAX + 1)。 运算符的生成:用编码0 - 3表示四个运算符。因此题目的生成就是生成0 - 3之间的随机数。,随机数的种子,计算机产生的随机数称为伪随机数,它是根据一个算法计算出来的。系统为每个程序、每次执行指定的随机数的种子都是相同的,因此程序每次执行生成的随机数序列都是相同的。,改变随机数的种子,设置种子的函数srand : srand (种子) 如何让程序每次执行时选择的种子都不一样呢? 选择系统时间为种子:time(NULL) 取当前的系

12、统时间。,#include /包含伪随机数生成函数 #include /包含取系统时间的函数 #include using namespace std;int main() int num1, num2, op, result1, result2;/num1,num2:操作数,op:运算符,result1,result2: 结果srand(time(NULL); /随机数种子初始化num1=rand() * 10 / (RAND_MAX + 1); / 生成运算数num2=rand() * 10 / (RAND_MAX + 1); /生成运算数op=rand() * 4 / (RAND_MAX

13、 + 1);/ 生成运算符 0-+, 1- -, 2-*,3- /,自动出题程序,switch (op) /最容易忘的是switch下的大括号!case 0: cout result1;if (num1 + num2 = result1) cout result1;if (num1 - num2 = result1) cout result1;if (num1 * num2 = result1) cout “you are rightn“;else cout “you are wrongn“;break;,case 3: cout result1;cout result2;if (num1 / num2 = result1) ,该程序的缺陷,每次执行只能出一道题 减法可能出现负值 除法可能出现除0 结果太单调,小结,本章主要介绍了计算机实现逻辑思维的机制。主要包括两个方面: 如何表示一个逻辑判断 如何根据逻辑判断的结果执行不同的处理 逻辑判断 关系表达式实现 逻辑表达式 根据逻辑判断执行不同的处理 if语句 switch语句,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1