C++高级语言程序设计第三章.ppt

上传人:wuy****n92 文档编号:80434936 上传时间:2023-03-23 格式:PPT 页数:69 大小:329KB
返回 下载 相关 举报
C++高级语言程序设计第三章.ppt_第1页
第1页 / 共69页
C++高级语言程序设计第三章.ppt_第2页
第2页 / 共69页
点击查看更多>>
资源描述

《C++高级语言程序设计第三章.ppt》由会员分享,可在线阅读,更多相关《C++高级语言程序设计第三章.ppt(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+高级语言程序设计高级语言程序设计第第3 3章章 C+C+控制语句控制语句 北京邮电大学北京邮电大学 信息与通信工程工程学院信息与通信工程工程学院2022/12/211北京邮电大学信息与通信工程学院用计算机解决实际问题,首先要分析问题,设计合适的算法,然后编程实现算法。2022/12/212北京邮电大学信息与通信工程学院第第3 3章章 过程化语句过程化语句3.1 算法的基本控制结构3.2 if选择语句3.3 switch选择语句3.4 循环语句3.5 循环嵌套3.6 应用举例2022/12/213北京邮电大学信息与通信工程学院3.1 3.1 算法的基本控制结构算法的基本控制结构2022/12

2、/214北京邮电大学信息与通信工程学院3.1 3.1 算法的基本控制结构算法的基本控制结构算法 1、计算机执行的操作 2、这些操作的顺序伪码 采用类似计算机语言的分句格式,以自然语言描述算法。2022/12/215北京邮电大学信息与通信工程学院3.1 3.1 算法的基本控制结构算法的基本控制结构流程图 开始/结束 执行 判断 联系2022/12/216北京邮电大学信息与通信工程学院3.1 3.1 算法的基本控制结构算法的基本控制结构程序的三种基本控制结构 (1)顺序结构 (2)选择结构 (3)循环结构2022/12/217北京邮电大学信息与通信工程学院3.1 3.1 算法的基本控制结构算法的基

3、本控制结构流程控制语句 选择语句:if.else、switch 循环语句:while、for、do.while 转向语句:break、continue2022/12/218北京邮电大学信息与通信工程学院3.1 3.1 算法的基本控制结构算法的基本控制结构算法及其表示算法及其表示n伪代码表示伪代码表示 类似于计算机语言的分句格式,以少量类似于计算机语言的分句格式,以少量关键词和自然语言形式描述关键词和自然语言形式描述n流程图表示流程图表示 以流程图符号表示程序的执行流程以流程图符号表示程序的执行流程2022/12/219北京邮电大学信息与通信工程学院欧几里得算法描述举例辗转相除法求两个自然数辗转

4、相除法求两个自然数m m和和n n的最大公约的最大公约数,假定数,假定mn mn 伪代码描述:伪代码描述:流程图描述:流程图描述:1.input m,n2.r=m%n;3.while(r!=0)3.1 m=n;3.2 n=r;3.3 r=m%n;4.output n;2022/12/2110北京邮电大学信息与通信工程学院3.2 3.2 if选择语句选择语句2022/12/2111北京邮电大学信息与通信工程学院3.2 3.2 if选择语句选择语句if_else 1、没有else分支 2、双分支 3、多分支 4、if 语句的嵌套2022/12/2112北京邮电大学信息与通信工程学院3.2 3.2

5、if选择语句选择语句1、没有else分支 例如:比较x和y的大小,如果x大则输出x的值if(表达式)语句;if(xy)coutxy)coutxendl;else coutyendl;2022/12/2114北京邮电大学信息与通信工程学院例子 任意输入一个4位整数的年份,判断该年是否是润年?是指年份能被4整除的那些年,但不包括能被100整除而不能被400整除的年2022/12/2115北京邮电大学信息与通信工程学院#include using namespace std;void main()int year;cinyear;if(year%4=0)&!(year%100=0)&(year%40

6、0!=0)cout润年endl;else cout不是润年endl;2022/12/2116北京邮电大学信息与通信工程学院3.2 3.2 if选择语句选择语句3 3、多分支、多分支if(表达式1)语句1;else if (表达式2)语句2;else if (表达式3)语句3;else 语句n;2022/12/2117北京邮电大学信息与通信工程学院2022/12/2118北京邮电大学信息与通信工程学院例子:输出学生的成绩#include using namespace std;void main()int x;cinx;if(x=90)cout“优秀”=80)cout“良好”=60)cout“合

7、格”endl;else cout“不及格”endl;2022/12/2119北京邮电大学信息与通信工程学院3.2 3.2 if选择语句选择语句4、if 语句的嵌套if(表达式1)if(表达式2)语句1 else 语句2else if(表达式3)语句3 else 语句42022/12/2120北京邮电大学信息与通信工程学院2022/12/2121北京邮电大学信息与通信工程学院例子:输出a,b,c中较大的数#include using namespace std;void main()int a,b,c;cinabc;if(ab)if(ac)coutaendl;else coutcc)coutbe

8、ndl;else coutcendl;coutb?(ac?a:c):(bc?b:c);2022/12/2122北京邮电大学信息与通信工程学院3.2 3.2 if选择语句选择语句注意:二义性int x=-1;if(x0)if(x50)cout“x is 50”endl;else cout“x is=0”x;switch(x/10)case 10:case 9:cout“优秀”endl;break;case 8:cout“良好”endl;break;case 7:case 6:cout“合格”endl;break;default:cout“不及格”endl;2022/12/2127北京邮电大学信息

9、与通信工程学院switch语句注意事项语句注意事项case case 的常量表达式可以是字符型、整型或枚举型,通的常量表达式可以是字符型、整型或枚举型,通常,也只是一个常量。常,也只是一个常量。不能放置条件不等式或变量不能放置条件不等式或变量.各个各个casecase的的先后顺序先后顺序不影响执行结果,由编程者合理不影响执行结果,由编程者合理安排。安排。switchswitch语句每当找到匹配的常量表达式,则从此标号语句每当找到匹配的常量表达式,则从此标号开始执行下去,不再进行判断,即将此后的其它开始执行下去,不再进行判断,即将此后的其它casecase下的语句也都执行。直到碰到下的语句也都执

10、行。直到碰到breakbreak语句语句或或switchswitch语句语句结束。结束。一般来说,在每个一般来说,在每个casecase的执行语句结束处,应该加上的执行语句结束处,应该加上breakbreak语句。语句。2022/12/2128北京邮电大学信息与通信工程学院3.4 3.4 循环循环语句语句2022/12/2129北京邮电大学信息与通信工程学院3.4 循环语句循环语句三种基本语法1、while 语句2、dowhile 语句3、for 语句2022/12/2130北京邮电大学信息与通信工程学院#include#include using namespace std;void mai

11、n()coutsetfill(*)setw(2)n setw(3)n setw(4)n setw(5)n setw(6)n setw(7)n setw(8)n;*2022/12/2131北京邮电大学信息与通信工程学院#include#include using namespace std;void main()int i=2;coutsetfill(*);while(i=8)coutsetw(i)n;i+;*循环变量循环体循环控制条件2022/12/2132北京邮电大学信息与通信工程学院3.4 循环语句循环语句主要包括3个部分:1、循环控制条件:判断循环操作是否进行的条件;2、循环体:重复进行

12、的操作;3、循环控制变量:记录循环体执行的次数,或控制循环的结束条件。2022/12/2133北京邮电大学信息与通信工程学院3.4 循环语句循环语句while循环语句循环语句while(表达式)循环体语句;2022/12/2134北京邮电大学信息与通信工程学院例1:编程循环输出1-9这9个数字?#include using namespace std;void main()int i=1;while(i9)coutiendl;i+;cout“循环结束”endl;运行结果:123456789循环结束2022/12/2135北京邮电大学信息与通信工程学院例2:编程计算1+2+3+.+10的值#in

13、clude using namespace std;void main()int sum=0,i=0;whil(i=10)sum+=i;i+;coutsumendl;552022/12/2136北京邮电大学信息与通信工程学院例3:打印可视字符#includeusing namespace std;void main()unsigned char ch=32;while(ch128)cout(int)chtcht;ch+;2022/12/2137北京邮电大学信息与通信工程学院例4:编程计算 的值#include using namespace std;void main()int k=1,sum

14、=0,n;cout0):;cinn;while(k0)coutsum/nendl;else coutn不能=0endl;2022/12/2138北京邮电大学信息与通信工程学院3.4 循环语句循环语句do.while循环语句循环语句 do 循环体语句;while(表达式);2022/12/2139北京邮电大学信息与通信工程学院#include#include using namespace std;void main()int i=2;coutsetfill(*);while(i=8)coutsetw(i)n;i+;*do coutsetw(i)n;i+;while(i=8);2022/12/2

15、140北京邮电大学信息与通信工程学院例子:编程计算 的值#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);2022/12/2141北京邮电大学信息与通信工程学院3.4 循环语句循环语句for循环语句 循环结构 1、表达式1 循环变量初始化;2、表达式2 循环控制条件;3、表达式3 循环变量的变化;for(表达式1;表达式2;表达式3)循环体;2022/12/2142北

16、京邮电大学信息与通信工程学院例1:编程循环输出1-9这9个数字?#include using namespace std;void main()for(int i=1;i10;i+)coutiendl;cout“循环结束”endl;运行结果:123456789循环结束2022/12/2143北京邮电大学信息与通信工程学院例2:编程计算1+2+3+.+10的值#include using namespce std;void main()int sum=0;for(int i=1;i=10;i+)sum+=i;coutsumendl;运行结果:552022/12/2144北京邮电大学信息与通信工程

17、学院#include#include using namespace std;void main()coutsetfill(*);*例3for(int i=2;i=8;i+)coutsetw(i)n;2022/12/2145北京邮电大学信息与通信工程学院3.4 循环语句循环语句for语句语句1、可以省略 for(int i=1;i=9;i+)循环体;int i=1;for(;i=9;i+)循环体;2022/12/2146北京邮电大学信息与通信工程学院3.4 循环语句循环语句for语句语句2、可以省略 for(int i=1;i=9;i+)循环体;for(int i=1;i+)if(i=9)循环

18、体;else break;/跳转语句,用来跳出循环 2022/12/2147北京邮电大学信息与通信工程学院3.4 循环语句循环语句for语句语句3、可以省略 for(int i=1;i=9;i+)循环体;for(int i=1;i=9;)循环体;i+;2022/12/2148北京邮电大学信息与通信工程学院3.4 循环语句循环语句for语句语句3、同时省略 for(int i=1;i=9;i+)循环体;int i=1;for(;i=9;)循环体;i+;2022/12/2149北京邮电大学信息与通信工程学院3.4 循环语句循环语句for语句语句5、极端情况,可实现无限循环 for(;)循环体;20

19、22/12/2150北京邮电大学信息与通信工程学院例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 跳出2022/12/2151北京邮电大学信息与通信工程学院3.4 循环语句循环语句1、for:最适合循环次数固定,循环规律非常明显程序。2、while:使用最多最频繁的循环结构,具有普适性。3、do_while:最适合至少循环一次的循环结构。2022/12/2152北京邮电

20、大学信息与通信工程学院3.4.4 转向语句转向语句1、break语句2、continue语句2022/12/2153北京邮电大学信息与通信工程学院3.4.4 转向语句转向语句break用途:用途:常用在while、do-while、for和switch语句中,用来跳出循环或switch语句。2022/12/2154北京邮电大学信息与通信工程学院例1:判断输出结果?#include using namespace std;void main()int sum=0;for(int i=1;i10;i+)if(i%3=0)break;sum+=i;coutsumendl;分析i sum1 12 33

21、 跳出 2022/12/2155北京邮电大学信息与通信工程学院3.4.4 转向语句转向语句continue用途 用于循环语句中,结束本次循环,进行下一次循环;即跳过循环体中尚未执行的部分。2022/12/2156北京邮电大学信息与通信工程学院例1:判断输出结果?#include using namespace std;void main()int sum=0;for(int i=1;i10;i+)if(i%3=0)continue;sum+=i;coutsumendl;分析i sum1 12 33 34 75 126 127 198 279 2710 跳出2022/12/2157北京邮电大学信

22、息与通信工程学院3.5 3.5 循环循环嵌套嵌套2022/12/2158北京邮电大学信息与通信工程学院3.5 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;2022/12/2159北京邮电大学信息与通信工程学院思考:写出每个程序各输出结果A:for(i=0,k=1;i10;i+)if(i%5)k=i*10;else cout”k:”k;B:for(i=0,k=1;i10;i+)i

23、f(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;2022/12/2160北京邮电大学信息与通信工程学院思考题目题目:使用使用For循环输出如下图形:循环输出如下图形:*2022/12/2161北京邮电大学信息与通信工程学院#include using namespace std;void main()for(int i=1;ii;j-)cout;for(j=1;j=i;j+)cout*;cout0,-4ac0,有

24、两个不等的实根有两个不等的实根;w(4)b(4)b2 2-4ac0,-4ac0,有两个共轭复根有两个共轭复根.所以,程序中将使用选择结构分别实现各种情况。所以,程序中将使用选择结构分别实现各种情况。2022/12/2164北京邮电大学信息与通信工程学院注意注意:由于由于a,b,ca,b,c数据类型为浮点数,当数据类型为浮点数,当b b2 2-4ac-4ac很很小时,可近似为小时,可近似为0 0。因此判断时若。因此判断时若=10=10-6-6,可,可认为是认为是0 0具体代码请看见课本具体代码请看见课本P66.P66.2022/12/2165北京邮电大学信息与通信工程学院3.6 3.6 应用举例

25、应用举例2 2任意输入一个整数,判断是否是素数?问题:什么是素数?2022/12/2166北京邮电大学信息与通信工程学院#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;2022/12/2167北京邮电大学信息与通信工程学院改进:输出2-100之间的素数#include#include using namespace std;void main()for(int k=2;k100;k+)int n=sqrt(k);for(int i=2;in)coutkt;2022/12/2168北京邮电大学信息与通信工程学院总结三种基本结构:顺序、选择和循环流程图和伪码,帮助我们设计算法、完善算法,增强算法的可读性2022/12/2169北京邮电大学信息与通信工程学院

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁