书签 分享 收藏 举报 版权申诉 / 30
上传文档赚钱

类型分支程序设计.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3439597
  • 上传时间:2022-08-31
  • 格式:PPT
  • 页数:30
  • 大小:384KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《分支程序设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    分支 程序设计
    资源描述:

    1、程序设计 cs.sjtu 2011.9程序设计-1关系表达式关系表达式逻辑表达式逻辑表达式If 语句语句Switch语句语句程序设计 cs.sjtu 2011.9程序设计-2v关系表达式用来实现比较关系表达式用来实现比较v关系运算符关系运算符 ,=,=,=,=,=,=,!=优先级:高于赋值运算符,低于算术运算符。优先级:高于赋值运算符,低于算术运算符。关系运算符内部:关系运算符内部:=和和 !=较低较低 结合性:左结合结合性:左结合v关系表达式关系表达式 用关系运算符将二个表达式连接起来称为关系表达式用关系运算符将二个表达式连接起来称为关系表达式 关系表达式的结果是:关系表达式的结果是:tru

    2、e true 或或 falsefalseeg.x y a b=c d a b=c d 都是合法的关系表达式都是合法的关系表达式注意:注意:-2 -1 0 -2 -1 6-2(5+3)(6 2)程序设计 cs.sjtu 2011.9程序设计-4关系表达式关系表达式逻辑表达式逻辑表达式If语句语句Switch语句语句程序设计 cs.sjtu 2011.9程序设计-5v逻辑表达是用于实现更复杂的判断逻辑表达是用于实现更复杂的判断v逻辑运算符逻辑运算符&(and)|(or)!(not)优先级:优先级:!关系运算符关系运算符&|v逻辑表达式逻辑表达式 由逻辑运算符连接起来的表达式由逻辑运算符连接起来的表

    3、达式,其结果为其结果为“真真(true)”或或“假假(false)”程序设计 cs.sjtu 2011.9程序设计-6vC+C+中,参加逻辑运算的对象可为任意类型的数据,中,参加逻辑运算的对象可为任意类型的数据,0 0为假,非为假,非0 0 为真。为真。5%2&p p5%2&p p 5 3&2|8 3&2|8 b)&(n=c d)a=1,b=2,c=2,d=4,m=1,n=1.问执行后问执行后m,n的值分别为多少?的值分别为多少?m=0,n=1 程序设计 cs.sjtu 2011.9程序设计-8关系表达式关系表达式逻辑表达式逻辑表达式If语句语句Switch语句语句程序设计 cs.sjtu 2

    4、011.9程序设计-9vif语句的格式语句的格式 if (条件测试)(条件测试)语句语句 if (条件测试)(条件测试)语句语句1 else 语句语句2v条件测试为条件测试为true时所执行的程序块叫做时所执行的程序块叫做then子子句,条件为句,条件为false时执行的语句叫做时执行的语句叫做else子句。子句。eg.eg.程序设计 cs.sjtu 2011.9程序设计-10v条件的结果值应该是条件的结果值应该是 true true 或或 falsefalse,它们,它们是是C+C+中中boolbool类型的值类型的值v事实上,条件可为任意表达式,不一定是关事实上,条件可为任意表达式,不一定

    5、是关系表达式。系表达式。0 0 为为falsefalse,非,非 0 0 为为truetrue。v常见的错误:条件测试是比较相等时,用一常见的错误:条件测试是比较相等时,用一个等号个等号,v合理的缩排,使程序结构更加清晰合理的缩排,使程序结构更加清晰程序设计 cs.sjtu 2011.9程序设计-11#include using namespace std;int main()int year;bool result;cout year;result=(year%4=0&year%100!=0)|year%400=0;if(result)cout year 是闰年是闰年 endl;else c

    6、out year 不是闰年不是闰年 endl;return 0;程序设计 cs.sjtu 2011.9程序设计-12vif语句的语句的then子句或子句或else子句是子句是if语句,称语句,称为为if语句的嵌套语句的嵌套v歧义性:歧义性:if 语句可以没有语句可以没有else子句,如子句,如if(x 100)if(x 90)语句语句1 else if(x80)语句语句2 else 语句语句3 else 语句语句4;v配对原则:每个配对原则:每个else子句是和在它之前最子句是和在它之前最近的一个没有近的一个没有else子句的子句的if语句配对。语句配对。程序设计 cs.sjtu 2011.9

    7、程序设计-13v可以清晰地表示出层次可以清晰地表示出层次,便于程序员阅读,便于程序员阅读if(x 100)if(x 90)语句1 else if(x y)?x:y;v?:运算符用于输出。例如,想输出一个布尔变量?:运算符用于输出。例如,想输出一个布尔变量flag的值,的值,如果直接用如果直接用 cout flag;那么当那么当flag为为“真真”时,输出为时,输出为1;当;当flag为为“假假”时,输出为时,输出为0。如果我们想让如果我们想让flag为为“真真”时输出时输出true,为,为“假假”时输出时输出false,可以用可以用if 语句语句 if (flag)cout “true”;el

    8、se cout “false”;看上去太罗嗦。但如果用?:运算符只需要一行看上去太罗嗦。但如果用?:运算符只需要一行 cout (flag?true:false)=90 A90score=80 B80score=70 C70score=60 Dscore=90:cout=80:cout=70:cout=60:cout D;break;default:cout=90 A90score=80 B80score=70 C70score=60 Dscore60 E表达式表达式=成绩成绩/10 switch(score/10)case 10:case 9:cout A;break;case 8:cout

    9、 B;break;case 7:cout C;break;case 6:cout D;break;default:cout E;程序设计 cs.sjtu 2011.9程序设计-22生成题目生成题目switch(题目类型题目类型)case 加法:显示题目,输入和的值,判断正确与否加法:显示题目,输入和的值,判断正确与否 case 减法:显示题目,输入差的值,判断正确与否减法:显示题目,输入差的值,判断正确与否 case 乘法:显示题目,输入积的值,判断正确与否乘法:显示题目,输入积的值,判断正确与否 case 除法:显示题目,输入商和余数的值,判断正确与否除法:显示题目,输入商和余数的值,判断正

    10、确与否要求自动出要求自动出0-90-9之间的四则运算题,并批改结果之间的四则运算题,并批改结果程序设计 cs.sjtu 2011.9程序设计-23v如何让程序每次执行的时候都出不同的题目?如何让程序每次执行的时候都出不同的题目?v随机数生成器随机数生成器rand():能随机生成:能随机生成0到到RAND_MAX之间的整型数之间的整型数 v将生成的随机数映射到将生成的随机数映射到0-9之间:之间:Rand()%10rand()*10/(RAND_MAX +1)。v运算符的生成:用编码运算符的生成:用编码0-3表示四个运算符。表示四个运算符。因此题目的生成就是生成因此题目的生成就是生成0-3之间的

    11、随机数。之间的随机数。程序设计 cs.sjtu 2011.9程序设计-24v计算机产生的随机数称为计算机产生的随机数称为伪伪随机数,它是根据一随机数,它是根据一个算法计算出来的。个算法计算出来的。v系统为每个程序、每次执行指定的随机数的种子系统为每个程序、每次执行指定的随机数的种子都是相同的,因此程序每次执行生成的随机数序都是相同的,因此程序每次执行生成的随机数序列都是相同的。列都是相同的。rand()种子种子1234812348程序设计 cs.sjtu 2011.9程序设计-25v设置种子的函数设置种子的函数srand:srand(种子)(种子)v如何让程序每次执行时选择的种子都不一如何让程

    12、序每次执行时选择的种子都不一样呢样呢?v选择系统时间为种子:选择系统时间为种子:time(NULL)取当取当前的系统时间。前的系统时间。程序设计 cs.sjtu 2011.9程序设计-26#include /包含伪随机数生成函数包含伪随机数生成函数#include /包含取系统时间的函数包含取系统时间的函数#include using namespace std;int main()int num1,num2,op,result1,result2;/num1,num2:操作数,操作数,op:运算符,运算符,result1,result2:结果结果 srand(time(NULL);/随机数种子

    13、初始化随机数种子初始化 num1=rand()*10/(RAND_MAX+1);/生成运算数生成运算数 num2=rand()*10/(RAND_MAX+1);/生成运算数生成运算数 op=rand()*4/(RAND_MAX+1);/生成运算符生成运算符 0-+,1-,2-*,3-/自动出题程序程序设计 cs.sjtu 2011.9程序设计-27switch(op)/最容易忘的是最容易忘的是switch下的大括号下的大括号!case 0:cout num1 +num2 result1;if(num1+num2=result1)cout you are rightn;else cout you

    14、 are wrongn;break;case 1:cout num1 -num2 result1;if(num1-num2=result1)cout you are rightn;else cout you are wrongn;break;case 2:cout num1 *num2 result1;if(num1*num2=result1)cout you are rightn;else cout you are wrongn;break;程序设计 cs.sjtu 2011.9程序设计-28case 3:cout num1 /num2 result1;cout result2;if (nu

    15、m1/num2=result1)&(num1%num2=result2)cout you are rightn;else cout you are wrongn;break;return 0;程序设计 cs.sjtu 2011.9程序设计-29v每次执行只能出一道题每次执行只能出一道题v减法可能出现负值减法可能出现负值v除法可能出现除除法可能出现除0v结果太单调结果太单调程序设计 cs.sjtu 2011.9程序设计-30v本章主要介绍了计算机实现逻辑思维的机制。本章主要介绍了计算机实现逻辑思维的机制。主要包括两个方面:主要包括两个方面:如何表示一个逻辑判断如何表示一个逻辑判断如何根据逻辑判断的结果执行不同的处理如何根据逻辑判断的结果执行不同的处理v逻辑判断逻辑判断关系表达式实现关系表达式实现逻辑表达式逻辑表达式v根据逻辑判断执行不同的处理根据逻辑判断执行不同的处理if语句语句switch语句语句

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:分支程序设计.ppt
    链接地址:https://www.163wenku.com/p-3439597.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库