




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/6/5,.,-1-,C+高级语言程序设计,第3章C+控制语句北京邮电大学信息与通信工程工程学院,2020/6/5,.,-2-,用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。,2020/6/5,.,-3-,第3章过程化语句,3.1算法的基本控制结构3.2if选择语句3.3switch选择语句3.4循环语句3.5循环嵌套3.6应用举例,2020/6/5,.,-4-,3.1算法的基本控制结构,2020/6/5,.,-5-,3.1算法的基本控制结构,算法1、计算机执行的操作2、这些操作的顺序伪码采用类似计算机语言的分句格式,以自然语言描述算法。,2020/6/5,.,-6-,3.1算法的基本控制结构,流程图开始/结束执行判断联系,2020/6/5,.,-7-,3.1算法的基本控制结构,程序的三种基本控制结构(1)顺序结构(2)选择结构(3)循环结构,2020/6/5,.,-8-,3.1算法的基本控制结构,流程控制语句选择语句:if.else、switch循环语句:while、for、do.while转向语句:break、continue,2020/6/5,.,-9-,3.1算法的基本控制结构,算法及其表示伪代码表示类似于计算机语言的分句格式,以少量关键词和自然语言形式描述流程图表示以流程图符号表示程序的执行流程,2020/6/5,.,-10-,欧几里得算法描述举例,辗转相除法求两个自然数m和n的最大公约数,假定mn伪代码描述:流程图描述:,1.inputm,n2.r=m%n;3.while(r!=0)3.1m=n;3.2n=r;3.3r=m%n;4.outputn;,2020/6/5,.,-11-,3.2if选择语句,2020/6/5,.,-12-,3.2if选择语句,if_else1、没有else分支2、双分支3、多分支4、if语句的嵌套,2020/6/5,.,-13-,3.2if选择语句,1、没有else分支例如:比较x和y的大小,如果x大则输出x的值,if(表达式)语句;,if(xy)coutxy)coutxendl;elsecoutyyear;if(year%4=0),2020/6/5,.,-17-,3.2if选择语句,3、多分支,if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;else语句n;,2020/6/5,.,-18-,2020/6/5,.,-19-,例子:输出学生的成绩,#includeusingnamespacestd;voidmain()intx;cinx;if(x=90)cout=80)cout=60)cout“合格”endl;elsecout“不及格”abc;if(ab)if(ac)coutc)coutbendl;elsecoutcc?b:c);,2020/6/5,.,-23-,3.2if选择语句,注意:二义性intx=-1;if(x0)if(x50)cout“xis50”endl;elsecout“xis=0”x;switch(x/10)case10:case9:cout“优秀”endl;break;case8:cout“良好”endl;break;case7:case6:cout“合格”endl;break;default:cout“不及格”endl;,2020/6/5,.,-28-,switch语句注意事项,case的常量表达式可以是字符型、整型或枚举型,通常,也只是一个常量。不能放置条件不等式或变量.各个case的先后顺序不影响执行结果,由编程者合理安排。switch语句每当找到匹配的常量表达式,则从此标号开始执行下去,不再进行判断,即将此后的其它case下的语句也都执行。直到碰到break语句或switch语句结束。一般来说,在每个case的执行语句结束处,应该加上break语句。,2020/6/5,.,-29-,3.4循环语句,2020/6/5,.,-30-,3.4循环语句,三种基本语法1、while语句2、dowhile语句3、for语句,2020/6/5,.,-31-,#include#includeusingnamespacestd;voidmain()coutsetfill(*)setw(2)nsetw(3)nsetw(4)nsetw(5)nsetw(6)nsetw(7)nsetw(8)n;,*,2020/6/5,.,-32-,#include#includeusingnamespacestd;voidmain()inti=2;coutsetfill(*);while(i=8)coutsetw(i)n;i+;,*,循环变量,循环体,循环控制条件,2020/6/5,.,-33-,3.4循环语句,主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。,2020/6/5,.,-34-,3.4循环语句,while循环语句,while(表达式)循环体语句;,2020/6/5,.,-35-,例1:编程循环输出1-9这9个数字?,#includeusingnamespacestd;voidmain()inti=1;while(i9)coutiendl;i+;cout“循环结束”endl;,运行结果:123456789循环结束,2020/6/5,.,-36-,例2:编程计算1+2+3+.+10的值,#includeusingnamespacestd;voidmain()intsum=0,i=0;whil(i=10)sum+=i;i+;coutsumendl;,55,2020/6/5,.,-37-,例3:打印可视字符,#includeusingnamespacestd;voidmain()unsignedcharch=32;while(ch128)cout(int)chtchn;while(k0)coutsum/nendl;elsecoutn不能=0endl;,2020/6/5,.,-39-,3.4循环语句,do.while循环语句,do循环体语句;while(表达式);,2020/6/5,.,-40-,#include#includeusingnamespacestd;voidmain()inti=2;coutsetfill(*);while(i=8)coutsetw(i)n;i+;,*,docoutsetw(i)n;while(k0)coutsum/nendl;elsecoutn不能=0endl;,dosum=sum+k*k;k+;while(k=n);,2020/6/5,.,-42-,3.4循环语句,for循环语句循环结构1、表达式1循环变量初始化;2、表达式2循环控制条件;3、表达式3循环变量的变化;,for(表达式1;表达式2;表达式3)循环体;,2020/6/5,.,-43-,例1:编程循环输出1-9这9个数字?,#includeusingnamespacestd;voidmain()for(inti=1;i10;i+)coutiendl;cout“循环结束”endl;,运行结果:123456789循环结束,2020/6/5,.,-44-,例2:编程计算1+2+3+.+10的值,#includeusingnamespcestd;voidmain()intsum=0;for(inti=1;i=10;i+)sum+=i;coutsumendl;,运行结果:55,2020/6/5,.,-45-,#include#includeusingnamespacestd;voidmain()coutsetfill(*);,*,例3,for(inti=2;i=8;i+)coutsetw(i)n;,2020/6/5,.,-46-,3.4循环语句for语句,1、可以省略for(inti=1;i=9;i+)循环体;inti=1;for(;i=9;i+)循环体;,2020/6/5,.,-47-,3.4循环语句for语句,2、可以省略for(inti=1;i=9;i+)循环体;for(inti=1;i+)if(i=9)循环体;elsebreak;/跳转语句,用来跳出循环,2020/6/5,.,-48-,3.4循环语句for语句,3、可以省略for(inti=1;i=9;i+)循环体;for(inti=1;i=9;)循环体;i+;,2020/6/5,.,-49-,3.4循环语句for语句,3、同时省略for(inti=1;i=9;i+)循环体;inti=1;for(;i=9;)循环体;i+;,2020/6/5,.,-50-,3.4循环语句for语句,5、极端情况,可实现无限循环for(;)循环体;,2020/6/5,.,-51-,例4:判断输出结果?,#includeusingnamespacestd;voidmain()for(inti=0,j=10,k=0;ij;i+,j-)k+=i*j;coutkendl;,分析:ijk010019928253746467055跳出,2020/6/5,.,-52-,3.4循环语句,1、for:最适合循环次数固定,循环规律非常明显程序。2、while:使用最多最频繁的循环结构,具有普适性。3、do_while:最适合至少循环一次的循环结构。,2020/6/5,.,-53-,3.4.4转向语句,1、break语句2、continue语句,2020/6/5,.,-54-,3.4.4转向语句break,用途:常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。,2020/6/5,.,-55-,例1:判断输出结果?,#includeusingnamespacestd;voidmain()intsum=0;for(inti=1;i10;i+)if(i%3=0)break;sum+=i;coutsumendl;,分析isum11233跳出,2020/6/5,.,-56-,3.4.4转向语句continue,用途用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。,2020/6/5,.,-57-,例1:判断输出结果?,#includeusingnamespacestd;voidmain()intsum=0;for(inti=1;i10;i+)if(i%3=0)continue;sum+=i;coutsumendl;,分析isum11233371212192727跳出,2020/6/5,.,-58-,3.5循环嵌套,2020/6/5,.,-59-,3.5循环嵌套,编程输出国际象棋棋盘#includeusingnamespacestd;voidmain()for(inti=0;i8;i+)for(intj=0;j8;j+)if(i+j)%2=0)cout;elsecout;coutn;,2020/6/5,.,-60-,思考:写出每个程序各输出结果,A:for(i=0,k=1;i10;i+)if(i%5)k=i*10;elsecout”k:”k;,B:for(i=0,k=1;i10;i+)if(i%5)k=i*10;cout”k:”k;,D:for(i=0,k=1;i10;i+)if(i%5)k=i*10;cout”k:”k;,C:for(i=0,k=1;i10;i+)if(i%5!=0)k=i*10;cout”k:”k;,2020/6/5,.,-61-,思考,题目:使用For循环输出如下图形:*,2020/6/5,.,-62-,#includeusingnamespacestd;voidmain()for(inti=1;ii;j-)cout;for(j=1;j=i;j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广州理工学院《数控技术》2023-2024学年第二学期期末试卷
- 安徽涉外经济职业学院《网店运营与管理》2023-2024学年第二学期期末试卷
- 2025年中国通信服务湖南省通信产业服务有限公司招聘笔试参考题库含答案解析
- 2025年浙江温州瑞安市瓯飞建设投资开发有限公司招聘笔试参考题库含答案解析
- 圆形小猪创意美术课件
- 挥手怀念我的父亲
- 点亮创业之星-掌握市场策略遵循法律规定
- 迎接未来-固体饮料制造年终总结-固体饮料发布会
- 家装设计方案讲解要点
- 房产领域年度峰会
- 危险化学品企业安全标准化规范课件
- 体育科研方法试卷试题答案
- 客户退货处理流程图
- 《国家电网公司十八项电网反事故措施(试行)》实施细则
- 中国民主同盟入盟申请表(样表)
- 毕业设计(论文)-轴向柱塞泵设计(含全套CAD图纸)
- 公安机关通用告知书模板
- 山东省初中学业水平考试信息技术学科命题要求
- 年贴现值系数表
- 《呼吸机的使用管理》PPT课件.ppt
- 国民收入核算
评论
0/150
提交评论