- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
程序的控制结构
教学目标2了解使用伪代码或流程图描述算法的方法。02理解控制语句的作用和分类,掌握相关语句的使用方法;01
基本内容301基本控制结构 02选择结构03循环结构
3.1基本控制结构4三大基本程序结构:01顺序结构:程序是按程序语句或模块在执行流中的顺序逐个执行。02选择结构:程序是按设定的条件实现程序执行流的多路分支。03循环结构:程序是按给定的条件重复地执行指定的程序段或模块。04结论:理论上已经证明,用以上三种基本程序结构的组合可以实现任何复杂的算法。05
三大基本结构示意图5顺序结构选择结构循环结构模块(语句)A模块(语句)B条件程序模块1成立不成立程序模块2条件程序模块不成立成立(当型循环)程序模块成立不成立条件(直到型循环)
顺序结构的实现6p=q;02r=p;01q=r;03
例3-1交换两个变量的值7#includeiostreamusingnamespacestd;intmain(){ inta=1,b=2; inttmp; //定义一个整型变量作为中间交换之用 cout交换前:a=a,b=bendl; tmp=a; a=b; b=tmp; cout交换后:a=a,b=bendl; return0; }
3.2选择结构8C++语言中实现选择结构的语句形式主要有两种:01.if语句02.switch语句03.
1.if语句一路分支:if(表达式) 语句序列两路分支:if(表达式) 语句序列1else语句序列29条件?成立不成立语句序列条件?语句序列1成立不成立语句序列2语句序列可以是一个语句,也可以是用花括号括起来的复合语句结构
例3-2:判断成绩是否及格10#includeiostreamusingnamespacestd;intmain(){ inti; cout请输入(百分制)分数:; cini; if(i=60) cout及格endl; else cout不及格endl; return0; }
例3-3:求一元二次方程的根#includeiostream#includecmathusingnamespacestd;intmain(){ doublea,b,c,delta,p,q; cout请输入系数a,b,c=; cinabc; if((a==0)(b==0)(c==0)) //最极端情况 cout方程的根可为任意值endl; elseif((a==0)(b!=0)) //转换为一元一次方程情况 coutx1=x2=-c/bendl; else //一般情况 { delta=b*b-4*a*c; p=-b/(2*a); q=sqrt(fabs(delta))/(2*a); if(delta=0) //实根情况 coutx1=p+qendlx2=p-qendl; else //存在共轭复根情况 { coutx1=p+qiendl; coutx2=p-qiendl; } } return0;}11
2.switch语句12多路(开关)选择语句:switch(表达式){case数值1:语句序列1;case数值2:语句序列2;case数值3:语句序列3;...default:语句序列n;}
实现真正的多路选择13在每一个case模块的最后加上一个break语句
例3.2百分制化为优秀、良好、中等、及格和不及格的五级制成绩12取一个百分成绩经过运算得到5级制成绩。构造什么样的表达式呢?算法分析:共有5个分数档,选择分支大于2,因此用多路开关语句switch。计算结果应该是唯一的。转换后应从switch中break出来。“百分成绩/10=”?
#includeiostreamusingnamespacestd;intmain(){ intgrade; cout请输入(百分制)分数:; cingrade; switch(grade/10) //根据转换值进行分支选择 { case10: case9: cout优秀endl; break; case8: cout良好endl; break; c
文档评论(0)