




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++大学基础教程第3章C++控制语句
2023/11/271用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。2023/11/272第3章C++控制语句3.1算法的基本控制结构3.2if选择语句3.3switch选择语句3.4循环语句3.5循环嵌套3.6应用举例2023/11/2733.1算法的基本控制结构
2023/11/2743.1算法的基本控制结构算法
1、计算机执行的操作2、这些操作的顺序
伪码、流程图伪码
采用类似计算机语言的分句格式,以自然语言描述算法。
2023/11/2753.1算法的基本控制结构流程图以图形符号直观
开始/结束执行判断联系2023/11/2763.1算法的基本控制结构程序的三种基本控制结构
(1)顺序结构(2)选择结构(分支结构)(3)循环结构2023/11/2773.1算法的基本控制结构流程控制语句
选择语句:if..else、switch
循环语句:while、for、do..while
转向语句:break、continue2023/11/2783.2if选择语句
2023/11/2793.2if选择语句if_else语句基本语法
if(表达式)
语句1; else
语句2;2023/11/27103.2if选择语句if_else
1、没有else分支
2、双分支3、多分支4、if
语句的嵌套2023/11/27113.2if选择语句1、没有else分支例如:比较x和y的大小,如果x大则输出x的值if(表达式)语句;if(x>y)cout<<x<<endl;2023/11/27122、双分支例如:比较x,y的大小,将较大的数输出
if(表达式)语句1;else
语句2;if(x>y)cout<<x<<endl;else
cout<<y<<endl;3.2if选择语句2023/11/2713例子
任意输入一个4位整数的年份,判断该年是否是润年?
是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年2023/11/2714#include<iostream>usingnamespacestd;voidmain(){ intyear; cin>>year;
if((year%4==0)&&!((year%100==0)&&(year%400!=0))) cout<<"润年"<<endl; else cout<<"不是润年"<<endl;}2023/11/27153.2if选择语句3、多分支if(表达式1)语句1;
elseif(表达式2)
语句2;
elseif(表达式3)
语句3;…
else
语句n;2023/11/27162023/11/2717例子:输出学生的成绩#include<iostream>usingnamespacestd;voidmain(){ intx;cin>>x;
if(x>=90)cout<<“优秀”<<endl;elseif(x>=80)
cout<<“良好”<<endl;
elseif(x>=60)cout<<“合格”<<endl;elsecout<<“不及格”<<endl;}2023/11/27183.2if选择语句4、if语句的嵌套if(表达式1)
if(表达式2)语句1
else
语句2elseif(表达式3)语句3
else
语句42023/11/27192023/11/2720例子:输出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));2023/11/27213.2if选择语句注意:二义性intx=-1;if(x>0)if(x<50)cout<<“xis<50”endl;elsecout<<“xis<=0”<<endl;
if和else的对应关系,else总是与离它最近的if匹配。{}2023/11/27223.3switch选择语句
2023/11/27233.3switch选择语句switch(表达式){case常量表达式1:语句1
break;
case常量表达式2:语句2
break;┇case常量表达式n:语句n
break;default:语句n+1}跳出switch语句2023/11/27242023/11/2725例子:输出学生的成绩
intx;cin>>x;
switch(x/10){case10:case9:cout<<“优秀”<<endl;
break;case8:cout<<“良好”<<endl;
break;case7:case6:cout<<“合格”<<endl;
break;default:cout<<“不及格”<<endl; }2023/11/2726
switch(表达式){ case9: case8: case‘*’:case‘$’: case0.1:
}表达式值可为整型字符型、枚举型,但不能为实型2023/11/2727
switch(m/10) { case9:a+=1; case8:a+=1; case7:a+=1; case6:a+=1; cout<<“通过”<<endl;break; default cout<<“不通过”<<endl;
}2023/11/27283.4循环语句
2023/11/27293.4循环语句三种基本语法 1、while语句 2、do…while语句 3、for语句2023/11/2730#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';}****************************2023/11/2731#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inti=2;cout<<setfill('*');
while(i<=8) {cout<<setw(i)<<'\n';i++;}}****************************循环变量循环体循环控制条件2023/11/27323.4循环语句主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。2023/11/27333.4循环语句while循环语句while(表达式)循环体语句;2023/11/2734例1:编程循环输出1-9这9个数字?
#include<iostream>usingnamespacestd;voidmain(){inti=1;
while(i<10){cout<<i<<endl;i++;}cout<<“循环结束”<<endl;}运行结果:123456789循环结束 2023/11/2735例2:编程计算1+2+3+….+10的值
#include<iostream>usingnamespacestd;voidmain(){intsum=0,i=1;
while(i<=10){sum+=i;i++;}
cout<<sum<<endl;}552023/11/2736例3:打印ASCII码表中的可视字符#include<iostream>usingnamespacestd;voidmain(){unsignedcharch=32;while(ch<128){cout<<(int)ch<<'\t'<<ch<<'\t';ch++; }}2023/11/2737例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;}2023/11/27383.4循环语句do..while循环语句
do{
循环体语句;}while(表达式);2023/11/2739#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inti=2;cout<<setfill('*');
do {cout<<setw(i)<<'\n';i++; }while(i<=8);}****************************2023/11/2740例子:编程计算的值#include<iostream>usingnamespacestd;voidmain(){ intk=1,sum=0,n; cout<<"inputn(n>0):"; cin>>n;
do {sum=sum+k*k;k++; }while(k<=n); if(n>0) cout<<sum/n<<endl; else cout<<"n不能<=0"<<endl;}2023/11/27413.4循环语句for循环语句
循环结构
1、表达式1循环变量初始化;
2、表达式2
循环控制条件;3、表达式3循环变量的变化;for(表达式1;表达式2;
表达式3)循环体;2023/11/2742例1:编程循环输出1-9这9个数字?
#include<iostream>usingnamespacestd;voidmain(){
for(inti=1;i<10;i++)cout<<i<<endl;
cout<<“循环结束”<<endl;}运行结果:123456789循环结束2023/11/2743例2:编程计算1+2+3+….+10的值
#include<iostream>usingnamespacestd;voidmain(){intsum=0;
for(inti=1;i<=10;i++)sum+=i;
cout<<sum<<endl;}运行结果:55 2023/11/2744#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){cout<<setfill('*');}****************************例3for(inti=2;i<=8;i++)cout<<setw(i)<<'\n';2023/11/27453.4循环语句——for语句1、<表达式1>省略意味着赋初值提前
for(inti=1;i<=9;i++)
循环体;
inti=1;for(;i<=9;
i++)
循环体;2023/11/27463.4循环语句——for语句2、<表达式2>省略,用break跳出循环for(inti=1;i<=9;i++)
循环体;
for(inti=1;;i++){
if(i<=9)循环体;
else
break;//跳转语句,用来跳出循环}2023/11/27473.4循环语句——for语句3、<表达式3>省略:for(inti=1;i<=9;i++)
循环体;
for(inti=1,j=2;i<=9;){
循环体;i++;}2023/11/27483.4循环语句——for语句3、<表达式1><表达式3>同时省略
for(inti=1;i<=9;i++)
循环体;
inti=1;
for(;i<=9;){
循环体;i++;}2023/11/27493.4循环语句——for语句5、极端情况,可实现无限循环
for(;;){循环体;}2023/11/2750例4:判断输出结果?#include<iostream>usingnamespacestd;voidmain(){
for(inti=0,j=10,k=0;i<j;i++,j--) k+=i*j; cout<<k<<endl;}分析:ijk010019928253746467055 跳出2023/11/27513.4循环语句1、for:
最适合循环次数固定,循环规律非常明显程序。2、while:
使用最多最频繁的循环结构,具有普适性。3、do_while:
最适合至少循环一次的循环结构。2023/11/27523.4.4转向语句1、break语句2、continue语句2023/11/27533.4.4转向语句——break用途:
常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。2023/11/2754例1:判断输出结果?#include<iostream>usingnamespacestd;voidmain(){ intsum=0;for(inti=1;i<10;i++) { if(i%3==0)break; sum+=i; } cout<<sum<<endl;}分析isum11233跳出
2023/11/27553.4.4转向语句——continue用途用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。2023/11/2756例1:判断输出结果?#include<iostream>usingnamespacestd;voidmain(){ intsum=0;for(inti=1;i<10;i++) { if(i%3==0)continue; sum+=i; } cout<<sum<<endl;}分析isum11233371212192727跳出 2023/11/27573.5循环嵌套
2023/11/27583.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"; }}■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■2023/11/2759思考题目:使用For循环输出如下图形:
* ** *** **********************2023/11/2760#include<iostream>usingnamespacestd;voidmain(){for(inti=1;i<=7;i++){ for(intj=7;j>i;j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 研究生教育与保安专业发展的联系计划
- 车辆过户项目合同协议
- 演出用工协议书
- 车位出租转让合同协议
- 送水店转让合同协议
- 《古代小说选读》课件
- 消防双方协议书
- 陶瓷产品购销合同书
- 工程联合经营协议书
- 合同协议书管理规定
- 2025届河北省“五个一”名校联盟高三下学期4月联考化学试题(含答案)
- 2025年特种设备安全考试题库(设备拆除)试题
- 2025-2030中国环境监测发展分析及发展趋势与投资前景研究报告
- 少模掺铒光纤放大器增益均衡与平坦化设计研究
- 2025年教师资格证面试结构化模拟题:教师心理健康维护试题集
- 大疆精灵4 RTK无人机操作与测绘培训指南
- 2025届江苏省南京一中高三第二次模拟考试物理试卷含解析
- 初中语文第16课《有为有不为》课件-2024-2025学年统编版语文七年级下册
- 2025年内蒙古化工职业学院单招职业技能考试题库必考题
- 2025年陕西延长石油(集团)有限责任公司招聘笔试参考题库含答案解析
- 2024-2025下学期高二化学鲁科版期中必刷题之化学键与物质的性质
评论
0/150
提交评论