收藏 分享(赏)

C++程序设计教程第三章.ppt

上传人:hwpkd79526 文档编号:10023648 上传时间:2019-09-29 格式:PPT 页数:36 大小:951.50KB
下载 相关 举报
C++程序设计教程第三章.ppt_第1页
第1页 / 共36页
C++程序设计教程第三章.ppt_第2页
第2页 / 共36页
C++程序设计教程第三章.ppt_第3页
第3页 / 共36页
C++程序设计教程第三章.ppt_第4页
第4页 / 共36页
C++程序设计教程第三章.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、C+程序设计教程,Email:,C+程序设计教程 牛琳,1,目录,第1章 C/C+概述及开发环境简介 第2章 基本数据类型与表达式 第3章 控制结构 第4章 数组与字符串 第5章 函数 第6章 指针 ,C+程序设计教程 牛琳,2,第3章 控制结构,本章学习目标 了解算法的概念及结构化程序设计的特点 掌握C+的基本控制结构分支控制结构:if-else语句多分支控制结构:switch语句三种循环结构:for循环、while循环和do-while循环语句 了解其它控制语句,C+程序设计教程 牛琳,3,主要内容,3.1 程序的基本控制结构 3.2 C+的控制结构3.2.1 顺序结构3.2.2 分支结构

2、3.2.3 循环结构 3.3 C+的其它控制转移语句,C+程序设计教程 牛琳,4,3.1 程序的基本控制结构,在C+中,编写程序就是将解决实际问题所使用的算法用C+语句和函数进行描述,换句话说就是组织程序的结构。 算法的概念(补充) 算法:对某个特定问题求解步骤的一种描述称为算法。 算法的性能评价指标:1、执行算法所耗费的时间,称为算法的时间复杂度.2、算法中所使用的额外存储空间的开销,称为算法的空间复杂度。 算法的描述方法:自然语言、传统流程图、N-S结构化流程图和伪代码。,C+程序设计教程 牛琳,5,结构化程序设计:结构化程序设计的主要思想:自顶向下,逐步取精,即功能分解(即模块化)的思想

3、。按照结构化程序设计的观点,任何算法都可以通过由程序模块组成的3种基本程序结构顺序结构、选择结构和循环结构的组合来实现。 C+即支持面向对象的设计思想,同时支持结构化程序设计思想。,C+程序设计教程 牛琳,6,3.2 C+的控制结构,C+的控制结构:顺序结构:分支结构:双分支结构:if-else语句多分支结构:switch语句循环结构:while循环语句do-while循环语句for循环语句,C+程序设计教程 牛琳,7,顺序结构,分支结构,循环结构(当型),循环结构(直到型),多分支结构,C+程序设计教程 牛琳,8,3.2.1 顺序结构,只需将语句顺序排列即可。 例如,交换两个变量p和q的值的

4、程序段:r=p;p=q;q=r; 顺序结构是C+程序默认的执行方式,选择结构和循环结构可以打破程序中默认的顺序执行结构。,C+程序设计教程 牛琳,9,注意: VB.net中格式为 ifThenElseEnd if,3.2.2 分支结构,双分支结构: 1、ifelse语句其基本格式如下:if()语句序列1else语句序列2,不要添加分号,语句序列由多条语句构成,由花括号括起来,每条语句必须以分号结尾,如果语句序列中只包含一条语句,则可以不使用花括号,C+程序设计教程 牛琳,10,ifelse语句的嵌套使用(如:例3_1)其基本格式如下:if () 语句序列1 else if () 语句序列2 e

5、lse if ( ) 语句序列n else 语句序列n+1 ,能够实现多分支选择, 可与switch多分支语句 相互转换,C+程序设计教程 牛琳,11,if语句的嵌套使用 【例3-1】编程实现分段函数,C+程序设计教程 牛琳,12,2、switch语句:,用于实现多重分支,格式如下: switch() case; 模块1case; 模块2 case; 模块n-1 default:模块n ,switch语句的执行过程: 计算的值与每个case后的值依次比较 相等则执行其后每个case模块(无论表达式的值与这些case模块的进入值是否相等)如果需要在执行完本case模块后就跳出switch语句,可

6、在case模块后加上break语句,这样才能实现真正的多路分支。,表达式的值必须属于整型、字符型或枚举型,C+程序设计教程 牛琳,13,switch语句的特点: 根据具体的整数表达式的值判断执行的路线。 因此, 应用switch语句的关键问题就是将转换条件构造成合适的整数表达式。 灵活运用break语句可编写出所需的转换程序。,C+程序设计教程 牛琳,14,【例3-2】 编写程序,将学生成绩由百分制转换为五级制。90100优秀,8089良好,7079中等,6069及格、60分以下不及格。 算法分析:本题属于多分支结构,适合使用switch语句。本题转换标准为学生分数所属的范围。因此,可利用整数

7、的除法规则,构造一个整型表达式old_grade/10用于将分数段化为单个整数值。(例如,分数6069中的各分数值,上述表达式的值均为6。) 最后,在switch语句中各模块中灵活运用的break语句,即可编写出所需的转换程序。,C+程序设计教程 牛琳,15,构造整型表达式使 分数段化为单个整数值,灵活运用的break语句,C+程序设计教程 牛琳,16,3.2.3 循环结构,C+中,循环结构主要通过3种语句结构实现。 1)while语句(当型循环) 2)dowhile语句(直到型循环) 3)for语句(for循环,计数循环) 单层for循环 双层for循环,C+程序设计教程 牛琳,17,1)w

8、hile语句(当型循环),while语句格式:while()循环体注意:在循环体内应该有修改的部分,以此确保在执行一定次数之后可以退出循环,否则循环永不会结束,就会成为“死循环”。当while后面的表达式成立就执行循环体语句,不一定非有循环变量控制循环次数,适合于循环次数不确定场合。,C+程序设计教程 牛琳,18,例:某人在银行存款5000元,按年利率5%计,多少年后本息之和能达10000元? 计算本息和的公式: (p为本金 ,r是年利率 ,n是存款年数 , a为本息和),公式的理解:后一年的本息和是前一年的(1+r)倍。,C+程序设计教程 牛琳,19,2)dowhile语句(直到型循环),d

9、owhile语句格式:do循环体while();无论是否满足条件都会先执行一次循环体。直到条件不满足为止,重复执行循环体。 当循环至少应该被执行一次的情况下,while语句与dowhile语句可以相互转换。,C+程序设计教程 牛琳,20,用dowhile语句实现上例,有分号,C+程序设计教程 牛琳,21,3)for语句(for循环),for语句是一种应用更加广泛、灵活的循环语句。 格式如下: for( i=初值 ; i终值 ;i+) 注意:与VB.net格式区别。 For i =初值 To 终值 Step 步长 循环体 Next,i为循环变量,控制循环次数, i自增自减均可,以;分隔,可转换为

10、 i=初值; for( ; i终值; ) i+; ,C+程序设计教程 牛琳,22,应用:计数,例:计算1+1+1+1,(共100个1相加)。#includeusing namespace std;int main()int count=0; /count用来存放计算结果for(int i=1;i=100;i+) /循环100次count=count+1; /计数cout“ 1+1+1+1 =“countendl;return 0;,累加常量1,C+程序设计教程 牛琳,23,应用:求累加和,例3_5计算1+2+3+100。#includeusing namespace std;int main(

11、)int sum=0; /sum用来存放计算结果for(int i=1;i=100;i+) /循环100次sum=sum+i; /求累加和cout“1+2+3+100=“sumendl;return 0;,C+程序设计教程 牛琳,24,应用:计算n!,累乘积,累乘积:u初值取1,C+程序设计教程 牛琳,25,应用:打印水仙花数,C+程序设计教程 牛琳,26,双层for循环,例3_10编写程序制作九九乘法表。 算法:利用双层for循环按行按列输出数据。,C+程序设计教程 牛琳,27,双层for循环,第i行循环i次,C+程序设计教程 牛琳,28,练习:模仿例3_10编程输出如图所示图形及数字,C+

12、程序设计教程 牛琳,29,3.3 C+的其它控制语句(自学内容),1.goto语句 又称无条件转移语句,格式如下: goto 语句标号; 其中语句标号是书写在某一语句行开头的标号 。但是,一般不主张使用goto语句, 以免造成程序流程的混乱 。 2.break和continue语句break;在switch语句中,可使程序跳出switch结构。在循环语句中,可使程序跳出该循环,提前结束整个循环。continue;用于提前结束本轮循环,继续下一轮循环。在解决某些应用问题时恰当地使用这些语句,可使程序更加灵活。 3.exit( )和abort( )函数 均为中止整个程序的运行。使用是需要 #inc

13、lude,C+程序设计教程 牛琳,30,应用:for循环,C+程序设计教程 牛琳,31,C+程序设计教程 牛琳,32,应用:用while循环求解数列问题,例3-3计算e值(利用通项公式) 算法:定义3个变量e、n和u,分别用于存放以计算出结果的近似值、当前项序列号和当前通项值。 用伪代码描述的算法为:e=1.0;n=1;u=1.0;while(通项u大于等于10的-7次幂)计算新的通项值;将新通项值加到结果近似值上;准备处理下一项;,C+程序设计教程 牛琳,33,e=1.0;n=1;u=1.0; while(通项u大于等于10的-7次幂) 计算新的通项值;将新通项值加到结果近似值上;准备处理下一项; ,C+程序设计教程 牛琳,34,编程提示,编程的一个主要内容就是确定解决问题的算法,然后再利用某种程序设计语言完成算法到程序的转换。 代码的书写应该尽量层次清楚,容易阅读。所以每个程序模块应该使用缩进的对齐方式。 程序中的语句必须以分号结尾,一般程序的一行只书写一条语句,这样代码清晰,方便注释。 注意不要把for语句首部中的3个表达式之间的“;”号误写成“,”,另外在首部右括号后面直接加“;”会形成空循环,而后面的循环体将不进入循环操作。 在多分支语句switch中的每个case语句的结尾不要忘了加break,否则可能造成逻辑错误。,Thank you !,牛琳 Email:,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报