C++大学基础教程第三章.ppt

上传人:小飞机 文档编号:6153954 上传时间:2023-09-30 格式:PPT 页数:74 大小:368KB
返回 下载 相关 举报
C++大学基础教程第三章.ppt_第1页
第1页 / 共74页
C++大学基础教程第三章.ppt_第2页
第2页 / 共74页
C++大学基础教程第三章.ppt_第3页
第3页 / 共74页
C++大学基础教程第三章.ppt_第4页
第4页 / 共74页
C++大学基础教程第三章.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《C++大学基础教程第三章.ppt》由会员分享,可在线阅读,更多相关《C++大学基础教程第三章.ppt(74页珍藏版)》请在三一办公上搜索。

1、2023/9/30,北京科技大学计算机系,-1-,C+大学基础教程,第3章 过程化语句北京科技大学计算机系,2023/9/30,北京科技大学计算机系,-2-,用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。,2023/9/30,北京科技大学计算机系,-3-,第3章 过程化语句,3.1 算法的基本控制结构3.2 if选择语句3.3 switch选择语句3.4 循环语句3.5 循环嵌套3.6 应用举例,2023/9/30,北京科技大学计算机系,-4-,3.1 算法的基本控制结构,2023/9/30,北京科技大学计算机系,-5-,3.1 算法的基本控制结构,算法 1、计算机执

2、行的操作 2、这些操作的顺序伪码 采用类似计算机语言的分句格式,以自然语言描述算法。,2023/9/30,北京科技大学计算机系,-6-,3.1 算法的基本控制结构,流程图 开始/结束 执行 判断 联系,2023/9/30,北京科技大学计算机系,-7-,3.1 算法的基本控制结构,程序的三种基本控制结构(1)顺序结构(2)选择结构(3)循环结构,2023/9/30,北京科技大学计算机系,-8-,3.1 算法的基本控制结构,流程控制语句 选择语句:if.else、switch 循环语句:while、for、do.while 转向语句:break、continue,2023/9/30,北京科技大学计

3、算机系,-9-,3.2 if选择语句,2023/9/30,北京科技大学计算机系,-10-,3.2 if选择语句,if_else 1、没有else分支 2、双分支 3、多分支 4、if 语句的嵌套,2023/9/30,北京科技大学计算机系,-11-,3.2 if选择语句,1、没有else分支 例如:比较x和y的大小,如果x大则输出x的值,if(表达式)语句;,if(xy)coutxendl;,2023/9/30,北京科技大学计算机系,-12-,3.2 if选择语句,2、双分支例如:比较x,y的大小,将较大的数输出,if(表达式)语句1;else 语句2;,if(xy)coutxendl;else

4、 coutyendl;,2023/9/30,北京科技大学计算机系,-13-,例子,任意输入一个4位整数的年份,判断该年是否是润年?,是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年,2023/9/30,北京科技大学计算机系,-14-,#include using namespace std;void main()int year;cinyear;if(year%4=0),2023/9/30,北京科技大学计算机系,-15-,3.2 if选择语句,3、多分支,if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else 语句n;,20

5、23/9/30,北京科技大学计算机系,-16-,2023/9/30,北京科技大学计算机系,-17-,例子:输出学生的成绩,#include using namespace std;void main()int x;cinx;if(x=90)cout=80)cout=60)cout“合格”endl;else cout“不及格”endl;,2023/9/30,北京科技大学计算机系,-18-,3.2 if选择语句,4、if 语句的嵌套,if(表达式1)if(表达式2)语句1 else 语句2else if(表达式3)语句3 else 语句4,2023/9/30,北京科技大学计算机系,-19-,202

6、3/9/30,北京科技大学计算机系,-20-,例子:输出a,b,c中较大的数,#include using namespace std;void main()int a,b,c;cinabc;if(ab)if(ac)coutc)coutbendl;else coutcendl;,coutb?(ac?a:c):(bc?b:c);,2023/9/30,北京科技大学计算机系,-21-,3.2 if选择语句,注意:二义性int x=-1;if(x0)if(x50)cout“x is 50”endl;else cout“x is=0”endl;,if和else的对应关系,else总是与离它最近的if匹配

7、。,2023/9/30,北京科技大学计算机系,-22-,3.3 switch选择语句,2023/9/30,北京科技大学计算机系,-23-,3.3 switch选择语句,switch(表达式)case 常量表达式1:语句1 break;case 常量表达式2:语句2 break;case 常量表达式n:语句n break;default:语句n+1,2023/9/30,北京科技大学计算机系,-24-,2023/9/30,北京科技大学计算机系,-25-,例子:输出学生的成绩,int x;cinx;switch(x/10)case 10:case 9:cout“优秀”endl;break;case

8、8:cout“良好”endl;break;case 7:case 6:cout“合格”endl;break;default:cout“不及格”endl;,2023/9/30,北京科技大学计算机系,-26-,3.4 循环语句,2023/9/30,北京科技大学计算机系,-27-,3.4 循环语句,三种基本语法1、while 语句2、dowhile 语句3、for 语句,2023/9/30,北京科技大学计算机系,-28-,#include#include using namespace std;void main()coutsetfill(*)setw(2)n setw(3)n setw(4)n s

9、etw(5)n setw(6)n setw(7)n setw(8)n;,*,2023/9/30,北京科技大学计算机系,-29-,思路:寻找*按行增加的规律,域宽i从2变到8,第一行打印1个*,第二行打印2个*,-。每增加一行,打印的*增加一个。考虑设置一个变量i表示域宽,每增加一行使i增1,直到i的值超过8。i的初值设为2。,2023/9/30,北京科技大学计算机系,-30-,#include#include using namespace std;void main()int i=2;coutsetfill(*);while(i=8)coutsetw(i)n;i+;,*,循环变量,循环体,循

10、环控制条件,2023/9/30,北京科技大学计算机系,-31-,3.4 循环语句,主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。,2023/9/30,北京科技大学计算机系,-32-,3.4 循环语句,while循环语句,while(表达式)循环体语句;,2023/9/30,北京科技大学计算机系,-33-,例1:编程循环输出1-9这9个数字?,#include using namespace std;void main()int i=1;while(i9)coutiendl;i+;cout

11、“循环结束”endl;,运行结果:123456789循环结束,2023/9/30,北京科技大学计算机系,-34-,例2:编程计算1+2+3+.+10的值,#include using namespace std;void main()int sum=0,i=0;while(i=10)sum+=i;i+;coutsumendl;,55,思考程序段的输出?while(i=10)i+;sum=sum+i;,2023/9/30,北京科技大学计算机系,-35-,例3:打印可视字符,#includeusing namespace std;void main()unsigned char ch=32;whi

12、le(ch128)cout(int)chtcht;ch+;,2023/9/30,北京科技大学计算机系,-36-,例4:编程计算 的值,#include using namespace std;void main()int k=1,sum=0,n;cout0):;cinn;while(k0)coutsum/nendl;else coutn不能=0endl;,2023/9/30,北京科技大学计算机系,-37-,3.4 循环语句,do.while循环语句,do 循环体语句;while(表达式);,2023/9/30,北京科技大学计算机系,-38-,#include#include using nam

13、espace std;void main()int i=2;coutsetfill(*);while(i=8)coutsetw(i)n;i+;,*,do coutsetw(i)n;i+;while(i=8);,2023/9/30,北京科技大学计算机系,-39-,例子:编程计算 的值,#include using namespace std;void main()int k=1,sum=0,n;cout0):;cinn;while(k0)coutsum/nendl;else coutn不能=0endl;,do sum=sum+k*k;k+;while(k=n);,2023/9/30,北京科技大学

14、计算机系,-40-,3.4 循环语句,for循环语句 循环结构 1、表达式1 循环变量初始化;2、表达式2 循环控制条件;3、表达式3 循环变量的变化;,for(表达式1;表达式2;表达式3)循环体;,2023/9/30,北京科技大学计算机系,-41-,例1:编程循环输出1-9这9个数字?,#include using namespace std;void main()for(int i=1;i10;i+)coutiendl;cout“循环结束”endl;,运行结果:123456789循环结束,2023/9/30,北京科技大学计算机系,-42-,例2:编程计算1+2+3+.+10的值,#inc

15、lude using namespce std;void main()int sum=0;for(int i=1;i=10;i+)sum+=i;coutsumendl;,运行结果:55,2023/9/30,北京科技大学计算机系,-43-,#include#include using namespace std;void main()coutsetfill(*);,*,例3,for(int i=2;i=8;i+)coutsetw(i)n;,2023/9/30,北京科技大学计算机系,-44-,3.4 循环语句for语句,1、可以省略 for(int i=1;i=9;i+)循环体;int i=1;f

16、or(;i=9;i+)循环体;,2023/9/30,北京科技大学计算机系,-45-,3.4 循环语句for语句,2、可以省略 for(int i=1;i=9;i+)循环体;for(int i=1;i+)if(i=9)循环体;else break;/跳转语句,用来跳出循环,2023/9/30,北京科技大学计算机系,-46-,3.4 循环语句for语句,3、可以省略 for(int i=1;i=9;i+)循环体;for(int i=1;i=9;)循环体;i+;,2023/9/30,北京科技大学计算机系,-47-,3.4 循环语句for语句,3、同时省略 for(int i=1;i=9;i+)循环体

17、;int i=1;for(;i=9;)循环体;i+;,2023/9/30,北京科技大学计算机系,-48-,3.4 循环语句for语句,5、极端情况,可实现无限循环 for(;)循环体;,2023/9/30,北京科技大学计算机系,-49-,例4:判断输出结果?,#include using namespace std;void main()for(int i=0,j=10,k=0;ij;i+,j-)k+=i*j;coutkendl;,分析:i j k0 10 01 9 92 8 253 7 464 6 705 5 跳出,2023/9/30,北京科技大学计算机系,-50-,3.4 循环语句,1、f

18、or:最适合循环次数固定,循环规律非常明显程序。2、while:使用最多最频繁的循环结构,具有普适性。3、do_while:最适合至少循环一次的循环结构。,2023/9/30,北京科技大学计算机系,-51-,有关实验:,一个工作空间可包括几个工程,但一个工程文件只能有一个main函数。C+源程序的后缀名:.CPP,编译后:.OBJ;链接后,.EXE。#include和#include using namespace std;使用效果一样。注意看出错信息。,2023/9/30,北京科技大学计算机系,-52-,3.4.4 转向语句,1、break语句2、continue语句,2023/9/30,北

19、京科技大学计算机系,-53-,3.4.4 转向语句break,用途:常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。,2023/9/30,北京科技大学计算机系,-54-,3.4.4 循环中break的应用,break;,while语句,break;,do-while语句,break;,for语句,2023/9/30,北京科技大学计算机系,-55-,例1:判断输出结果?,#include using namespace std;void main()int sum=0;for(int i=1;i10;i+)if(i%3=0)break;sum+=i

20、;coutsumendl;,分析i sum1 12 33 跳出,2023/9/30,北京科技大学计算机系,-56-,3.4.4 转向语句continue,用途 用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。,2023/9/30,北京科技大学计算机系,-57-,3.4.4 continue语句及应用,continue;,while语句,continue;,do-while语句,continue;,for语句,2023/9/30,北京科技大学计算机系,-58-,例1:判断输出结果?,#include using namespace std;void main()int

21、 sum=0;for(int i=1;i10;i+)if(i%3=0)continue;sum+=i;coutsumendl;,分析i sum1 12 33 3 7 12 12 19 27 27 跳出,2023/9/30,北京科技大学计算机系,-59-,3.5 循环嵌套,2023/9/30,北京科技大学计算机系,-60-,while、do-while、for循环语句可以并列,也可以相互嵌套,但要层次清楚,不能出现交叉。多重循环程序执行时,外层循环每执行一次,内层循环都需要循环执行多次。例如:,for(a=1;a=10;a+)for(b=0;b=5;b+),外循环执行了10次,内循环执行6次循环

22、正常结束时,内循环执行了106=60次,2023/9/30,北京科技大学计算机系,-61-,3.5 循环嵌套,编程输出国际象棋棋盘#include using namespace std;void main()for(int i=0;i8;i+)for(int j=0;j8;j+)if(i+j)%2=0)cout;else cout;coutn;,2023/9/30,北京科技大学计算机系,-62-,思考,题目:使用For循环输出如下图形:*,2023/9/30,北京科技大学计算机系,-63-,#include using namespace std;void main()for(int i=1

23、;ii;j-)cout;for(j=1;j=i;j+)cout*;coutendl;,2023/9/30,北京科技大学计算机系,-64-,3.6 应用举例,2023/9/30,北京科技大学计算机系,-65-,3.6 应用举例1,任意输入一个整数,判断是否是素数?问题:什么是素数?,2023/9/30,北京科技大学计算机系,-66-,#include using namespace std;void main()int n,i;cinn;for(i=2;in;i+)if(n%i=0)break;if(in)coutn不是素数!n;elsecoutn是素数n;,2023/9/30,北京科技大学计算

24、机系,-67-,改进:输出2-100之间的素数,#include#include using namespace std;void main()for(int k=2;kn)coutkt;,2023/9/30,北京科技大学计算机系,-68-,3.6 应用举例2,题目 任意输入一个整数,按位翻转输出。例如输入124,输出421。,2023/9/30,北京科技大学计算机系,-69-,#include using namespace std;void main()int i,n,result=0;coutn;cout按位翻转的结果为:;while(n!=0)i=n%10;result=result*

25、10+i;n/=10;coutresultendl;,2023/9/30,北京科技大学计算机系,-70-,3.6 应用举例3,题目 一球从100米高度落下,每次落地后反弹回原高度的一半,再落下。编程求解它在第n次落地时,共经过多少米?,2023/9/30,北京科技大学计算机系,-71-,#include using namespace std;void main()double height=100;double sum=height;for(int i=1;i10;i+)sum+=height;height/=2;coutsumendl;,2023/9/30,北京科技大学计算机系,-72-,

26、3.6 应用举例4,题目 若一头小母牛,从出生起第四个年头开始每年开始生一头小母牛,按此规律,第n年时有多少头母牛?,f(1)=1;f(2)=1;f(3)=1;f(n)=f(n-1)+f(n-3);,2023/9/30,北京科技大学计算机系,-73-,#include using namespace std;void main()int n;long a=1,b=1,c=1,temp;cout n;for(int i=4;i=n;i+)temp=a+c;a=b;b=c;c=temp;cout c endl;,2023/9/30,北京科技大学计算机系,-74-,总结,三种基本结构:顺序、选择和循环流程图和伪码,帮助我们设计算法、完善算法,增强算法的可读性,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号