




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025/10/4北京邮电大学信息与通信工程学院-1-C++高级语言程序设计第3章C++控制语句
北京邮电大学信息与通信工程工程学院2025/10/4北京邮电大学信息与通信工程学院-2-用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。2025/10/4北京邮电大学信息与通信工程学院-3-第3章过程化语句3.1算法的基本控制结构3.2if选择语句3.3switch选择语句3.4循环语句3.5循环嵌套3.6应用举例2025/10/4北京邮电大学信息与通信工程学院-4-3.1算法的基本控制结构
2025/10/4北京邮电大学信息与通信工程学院-5-3.1算法的基本控制结构算法
1、计算机执行的操作2、这些操作的顺序伪码
采用类似计算机语言的分句格式,以自然语言描述算法。
2025/10/4北京邮电大学信息与通信工程学院-6-3.1算法的基本控制结构流程图
开始/结束执行判断联系2025/10/4北京邮电大学信息与通信工程学院-7-3.1算法的基本控制结构程序的三种基本控制结构(1)顺序结构(2)选择结构(3)循环结构2025/10/4北京邮电大学信息与通信工程学院-8-3.1算法的基本控制结构流程控制语句
选择语句:if..else、switch
循环语句:while、for、do..while
转向语句:break、continue2025/10/4北京邮电大学信息与通信工程学院-9-3.1算法的基本控制结构算法及其表示伪代码表示类似于计算机语言的分句格式,以少量关键词和自然语言形式描述流程图表示以流程图符号表示程序的执行流程2025/10/4北京邮电大学信息与通信工程学院-10-欧几里得算法描述举例辗转相除法求两个自然数m和n的最大公约数,假定m≥n伪代码描述:
流程图描述:1.inputm,n2.r=m%n;3.while(r!=0)3.1m=n;3.2n=r;3.3r=m%n;4.outputn;2025/10/4北京邮电大学信息与通信工程学院-11-3.2if选择语句
2025/10/4北京邮电大学信息与通信工程学院-12-3.2if选择语句if_else
1、没有else分支
2、双分支3、多分支4、if
语句的嵌套2025/10/4北京邮电大学信息与通信工程学院-13-3.2if选择语句1、没有else分支例如:比较x和y的大小,如果x大则输出x的值if(表达式)语句;if(x>y)cout<<x<<endl;2025/10/4北京邮电大学信息与通信工程学院-14-3.2if选择语句2、双分支例如:比较x,y的大小,将较大的数输出
if(表达式)语句1;else
语句2;if(x>y)cout<<x<<endl;else
cout<<y<<endl;2025/10/4北京邮电大学信息与通信工程学院-15-例子
任意输入一个4位整数的年份,判断该年是否是润年?
是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年2025/10/4北京邮电大学信息与通信工程学院-16-#include<iostream>usingnamespacestd;voidmain(){ intyear; cin>>year;
if((year%4==0)&&!((year%100==0)&&(year%400!=0))) cout<<"润年"<<endl; else cout<<"不是润年"<<endl;}2025/10/4北京邮电大学信息与通信工程学院-17-3.2if选择语句3、多分支if(表达式1)语句1;
elseif(表达式2)
语句2;
elseif(表达式3)
语句3;…
else
语句n;2025/10/4北京邮电大学信息与通信工程学院-18-2025/10/4北京邮电大学信息与通信工程学院-19-例子:输出学生的成绩#include<iostream>usingnamespacestd;voidmain(){ intx;cin>>x;
if(x>=90)cout<<“优秀”<<endl;elseif(x>=80)
cout<<“良好”<<endl;
elseif(x>=60)cout<<“合格”<<endl;elsecout<<“不及格”<<endl;}2025/10/4北京邮电大学信息与通信工程学院-20-3.2if选择语句4、if语句的嵌套if(表达式1)
if(表达式2)语句1
else
语句2elseif(表达式3)语句3
else
语句42025/10/4北京邮电大学信息与通信工程学院-21-2025/10/4北京邮电大学信息与通信工程学院-22-例子:输出a,b,c中较大的数#include<iostream>usingnamespacestd;voidmain(){ inta,b,c;cin>>a>>b>>c;
if(a>b) { if(a>c)cout<<a<<endl; elsecout<<c<<endl; } else { if(b>c)cout<<b<<endl; elsecout<<c<<endl; }}cout<<(a>b?(a>c?a:c):(b>c?b:c));2025/10/4北京邮电大学信息与通信工程学院-23-3.2if选择语句注意:二义性intx=-1;if(x>0)if(x<50)cout<<“xis<50”endl;elsecout<<“xis<=0”<<endl;
if和else的对应关系,else总是与离它最近的if匹配。{}2025/10/4北京邮电大学信息与通信工程学院-24-3.3switch选择语句
2025/10/4北京邮电大学信息与通信工程学院-25-3.3switch选择语句switch(表达式){case常量表达式1:语句1break;case常量表达式2:语句2break;┇case常量表达式n:语句nbreak;default:语句n+1}跳出switch语句2025/10/4北京邮电大学信息与通信工程学院-26-2025/10/4北京邮电大学信息与通信工程学院-27-例子:输出学生的成绩
intx;cin>>x;
switch(x/10){case10:case9:cout<<“优秀”<<endl;break;case8:cout<<“良好”<<endl;break;case7:case6:cout<<“合格”<<endl;break;default:cout<<“不及格”<<endl; }2025/10/4北京邮电大学信息与通信工程学院-28-switch语句注意事项case的常量表达式可以是字符型、整型或枚举型,通常,也只是一个常量。不能放置条件不等式或变量.各个case的先后顺序不影响执行结果,由编程者合理安排。switch语句每当找到匹配的常量表达式,则从此标号开始执行下去,不再进行判断,即将此后的其它case下的语句也都执行。直到碰到break语句或switch语句结束。一般来说,在每个case的执行语句结束处,应该加上break语句。2025/10/4北京邮电大学信息与通信工程学院-29-3.4循环语句
2025/10/4北京邮电大学信息与通信工程学院-30-3.4循环语句三种基本语法 1、while语句 2、do…while语句 3、for语句2025/10/4北京邮电大学信息与通信工程学院-31-#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){cout<<setfill('*') <<setw(2)<<'\n' <<setw(3)<<'\n' <<setw(4)<<'\n' <<setw(5)<<'\n' <<setw(6)<<'\n' <<setw(7)<<'\n' <<setw(8)<<'\n';}****************************2025/10/4北京邮电大学信息与通信工程学院-32-#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inti=2;cout<<setfill('*');
while(i<=8) {cout<<setw(i)<<'\n';i++;}}****************************循环变量循环体循环控制条件2025/10/4北京邮电大学信息与通信工程学院-33-3.4循环语句主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。2025/10/4北京邮电大学信息与通信工程学院-34-3.4循环语句while循环语句while(表达式)循环体语句;2025/10/4北京邮电大学信息与通信工程学院-35-例1:编程循环输出1-9这9个数字?
#include<iostream>usingnamespacestd;voidmain(){inti=1;
while(i<9){cout<<i<<endl;i++;}cout<<“循环结束”<<endl;}运行结果:123456789循环结束 2025/10/4北京邮电大学信息与通信工程学院-36-例2:编程计算1+2+3+….+10的值
#include<iostream>usingnamespacestd;voidmain(){intsum=0,i=0;
whil(i<=10){sum+=i;i++;}
cout<<sum<<endl;}552025/10/4北京邮电大学信息与通信工程学院-37-例3:打印可视字符#include<iostream>usingnamespacestd;voidmain(){unsignedcharch=32;while(ch<128){cout<<(int)ch<<'\t'<<ch<<'\t';ch++; }}2025/10/4北京邮电大学信息与通信工程学院-38-例4:编程计算的值#include<iostream>usingnamespacestd;voidmain(){ intk=1,sum=0,n; cout<<"inputn(n>0):"; cin>>n;
while(k<=n){sum=sum+k*k;k++; } if(n>0) cout<<sum/n<<endl; else cout<<"n不能<=0"<<endl;}2025/10/4北京邮电大学信息与通信工程学院-39-3.4循环语句do..while循环语句
do{
循环体语句;}while(表达式);2025/10/4北京邮电大学信息与通信工程学院-40-#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inti=2;cout<<setfill('*');
while(i<=8) {cout<<setw(i)<<'\n';i++;}}****************************do{cout<<setw(i)<<'\n';i++;}while(i<=8);2025/10/4北京邮电大学信息与通信工程学院-41-例子:编程计算的值#include<iostream>usingnamespacestd;voidmain(){ intk=1,sum=0,n; cout<<"inputn(n>0):"; cin>>n;
while(k<=n){sum=sum+k*k;k++;} if(n>0) cout<<sum/n<<endl; else cout<<"n不能<=0"<<endl;}do{sum=sum+k*k;k++;}while(k<=n);2025/10/4北京邮电大学信息与通信工程学院-42-3.4循环语句for循环语句
循环结构
1、表达式1循环变量初始化;
2、表达式2
循环控制条件;3、表达式3循环变量的变化;for(表达式1;表达式2;表达式3)循环体;2025/10/4北京邮电大学信息与通信工程学院-43-例1:编程循环输出1-9这9个数字?
#include<iostream>usingnamespacestd;voidmain(){
for(inti=1;i<10;i++)cout<<i<<endl;
cout<<“循环结束”<<endl;}运行结果:123456789循环结束2025/10/4北京邮电大学信息与通信工程学院-44-例2:编程计算1+2+3+….+10的值
#include<iostream.>usingnamespcestd;voidmain(){intsum=0;
for(inti=1;i<=10;i++)sum+=i;
cout<<sum<<endl;}运行结果:55 2025/10/4北京邮电大学信息与通信工程学院-45-#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){cout<<setfill('*');}****************************例3for(inti=2;i<=8;i++)cout<<setw(i)<<'\n';2025/10/4北京邮电大学信息与通信工程学院-46-3.4循环语句——for语句1、<表达式1>可以省略
for(inti=1;i<=9;i++)
循环体;
inti=1;for(;i<=9;i++)
循环体;2025/10/4北京邮电大学信息与通信工程学院-47-3.4循环语句——for语句2、<表达式2>可以省略for(inti=1;i<=9;i++)
循环体;
for(inti=1;;i++){if(i<=9)循环体;
elsebreak;//跳转语句,用来跳出循环}2025/10/4北京邮电大学信息与通信工程学院-48-3.4循环语句——for语句3、<表达式3>可以省略for(inti=1;i<=9;i++)
循环体;
for(inti=1;i<=9;){
循环体;i++;}2025/10/4北京邮电大学信息与通信工程学院-49-3.4循环语句——for语句3、<表达式1><表达式3>同时省略
for(inti=1;i<=9;i++)
循环体;
inti=1;for(;i<=9;){
循环体;i++;}2025/10/4北京邮电大学信息与通信工程学院-50-3.4循环语句——for语句5、极端情况,可实现无限循环
for(;;){循环体;}2025/10/4北京邮电大学信息与通信工程学院-51-例4:判断输出结果?#include<iostream>usingnamespacestd;voidmain(){
for(inti=0,j=10,k=0;i<j;i++,j--) k+=i*j; cout<<k<<endl;}分析:ijk010019928253746467055 跳出2025/10/4北京邮电大学信息与通信工程学院-52-3.4循环语句1、for:
最适合循环次数固定,循环规律非常明显程序。2、while:
使用最多最频繁的循环结构,具有普适性。3、do_while:
最适合至少循环一次的循环结构。2025/10/4北京邮电大学信息与通信工程学院-53-3.4.4转向语句1、break语句2、continue语句2025/10/4北京邮电大学信息与通信工程学院-54-3.4.4转向语句——break用途:
常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。2025/10/4北京邮电大学信息与通信工程学院-55-例1:判断输出结果?#include<iostream>usingnamespacestd;voidmain(){ intsum=0;for(inti=1;i<10;i++) { if(i%3==0)break; sum+=i; } cout<<sum<<endl;}分析isum11233跳出
2025/10/4北京邮电大学信息与通信工程学院-56-3.4.4转向语句——continue用途用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。2025/10/4北京邮电大学信息与通信工程学院-57-例1:判断输出结果?#include<iostream>usingnamespacestd;voidmain(){ intsum=0;for(inti=1;i<10;i++) { if(i%3==0)continue; sum+=i; } cout<<sum<<endl;}分析isum11233371212192727跳出 2025/10/4北京邮电大学信息与通信工程学院-58-3.5循环嵌套
2025/10/4北京邮电大学信息与通信工程学院-59-3.5循环嵌套编程输出国际象棋棋盘#include<iostream>usingnamespacestd;voidmain(){
for(inti=0;i<8;i++) { for(intj=0;j<8;j++) { if((i+j)%2==0) cout<<"■";else cout<<""; } cout<<"\n"; }}■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■2025/10/4北京邮电大学信息与通信工程学院-60-思考:写出每个程序各输出结果A:for(i=0,k=1;i<10;i++)if(i%5)k=i*10;elsecout<<”k:”<<k;B:for(i=0,k=1;i<10;i++){if(i%5)k=i*10;cout<<”k:”<<k;}D:for(i=0,k=1;i<10;i++)if(i%5){k=i*10;cout<<”k:”<<k;}C:for(i=0,k=1;i<10;i++){if(i%5!=0)k=i*10;}cout<<”k:”<<k;2025/10/4北京邮电大学信息与通信工程学院-61-思考题目:使用For循环输出如下图形:
* ** *** **********************2025
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国双丙酮丙烯酰胺项目商业计划书
- 商业银行经营管理肖诗顺 教学课件全套
- 中国快速成型胶行业市场前景预测及投资价值评估分析报告
- 货运相关知识培训课程课件
- 中国对硝基苯酚项目创业计划书
- 中国含氟制冷剂项目投资计划书
- 教育教学法规简答题、论述题
- 《苏武传》复习课件说课讲解
- 中国大黄素项目创业计划书
- 上海易行时代动力科技股份有限公司介绍企业发展分析报告
- 安全培训课件防范社会工程学攻击
- 肿瘤的诊断和治疗
- 环境专业大学生职业生涯规划书
- 在农村做混凝土创业计划书
- 《脾破裂手术配合》课件
- 中国居民赴巴基斯坦投资税收指南2023
- 安全驾驶指南图解
- 《夏夜荷花》阅读答案
- 投资最重要的事
- 2023年新高考I卷英语试题讲评课件-2024届高考英语一轮复习
- 2023年05月西藏林芝市司法局招考聘用专职人民调解员笔试题库含答案解析
评论
0/150
提交评论