C++程序结构和流程控制.ppt
《C++程序结构和流程控制.ppt》由会员分享,可在线阅读,更多相关《C++程序结构和流程控制.ppt(83页珍藏版)》请在三一办公上搜索。
1、第3章 程序结构和流程控制语句,目的与要求3.1 程序的三种基本结构和语句3.2 分支语句3.3 循环语句3.4 控制执行顺序的语句3.5 程序设计举例(习题课)本章小结,目的与要求,通过本章学习,应掌握程序的三种基本结构,即顺序结构、分支结构和循环结构,并掌握C+语言中实现这三种基本结构的控制语句的格式、功能和执行过程。能使用这些控制语句编写具有顺序、分支和循环三种基本结构的程序。,3.1 程序的三种基本结构和语句,3.1.1 程序的三种基本结构1.顺序结构,2.分支结构,多分支结构,3.循环结构,直到型循环结构,三种基本结构都具有下列的共同特征,(1)单入口和单出口,即只有一个入口和一个出
2、口;(2)没有无用的部分,即结构中所有部分都有被执行的机会;(3)不存在“死循环”(无终止的循环),即执行时间是有限的。已有人从理论上证明了,由三种基本结构顺序组合构成的程序能处理任何复杂的问题。,3.1.2 C+程序的组成,3.1.3 C+程序的语句,C+程序的语句可以分成以下六大类:1.说明语句 2.控制语句 3.函数调用语句 4.表达式语句 5.空语句 6.复合语句,3.2 分支语句,分支语句用于实现分支结构程序设计。分支程序有两路分支结构和多路分支结构,两路分支结构可用if语句实现,多路分支结构可用嵌套的if语句和switch语句实现。,3.2.1 if语句,1.if语句的三种形式(1
3、)单选条件语句单选条件语句的格式为:if()【例3.1】输入两个整数a和b,输出其中较大的一个数。例程,if语句的三种形式,(2)双选条件语句双选条件语句的格式为:if()else【例3.2】输入两个整数a和b,输出其中较大的一个数。例程,if语句的三种形式,(3)多选条件语句多选条件语句的格式为:if()else if()else if().else if()else,【例3.3】有下列分段函数:编一程序,输入x,输出y的值。,例程,2.if语句的嵌套,在if语句中又包含一个或多个if语句称为if语句的嵌套。其一般格式为:if()if()else else if()else,【例3.5】求三
4、个整数a、b、c中的最大者,a、b、c由键盘输入。注意:if语句嵌套使用时,应当注意else与if的配对关系。C+规定:else总是与其前面最近的还没有配对的if进行配对。,例程,3.2.2 条件运算符和条件表达式,(1)条件运算符:?:(2)条件表达式:?:(3)执行过程:if(表达式1)条件表达式=表达式2 else 条件表达式=表达式3;(4)优先级 条件运算符的优先级高于赋值运算符和逗号运算符,低于算术运算符、关系运算符和逻辑运算符。,3.2.3 switch语句,1switch语句(开关语句)(1)作用:switch语句即开关语句,它根据给定的条件,决定执行多个分支程序段中的某一个分
5、支程序段。(2)格式:switch()case:case:.case:default:【例3.7】输入06的整数,将其转换成对应的星期几。,例程,2break语句在switch语句中的作用,(1)作用:中止当前语句的执行,并跳转到下一条语句处执行。(2)格式:break;【例3.8】商店打折售货。购货金额数量越大,折扣越大。具体标准为(m:购货金额,d:折扣率):m250(元)d=0%250m500d=5%500m1000d=7.5%1000m2000 d=10%m2000d=15%从键盘输入购货金额,计算实付的金额。,例程,3.3 循环语句,所谓循环结构就是在给定条件成立的情况下,重复执行一
6、个程序段;当给定条件不成立时,退出循环,再执行循环下面的程序。实现循环结构的语句称为循环语句。在C+中,循环语句有while语句、dowhile语句和for语句。,3.3.1 while语句,(1)作用:实现“当型”循环结构。(2)格式:while()(3)执行过程:先计算表达式的值,当表达式的值为非0时,重复执行指定的语句;当表达式的值为0时,结束循环。【例3.9】用while语句计算:S=1+2+3+4+n。【例3.10】用while语句计算T=n!,即求连乘积:T=1234n。,例程,例程,3.3.2 dowhile语句,(1)作用:实现“直到型”循环结构。(2)格式:do while(
7、);(3)执行过程:先执行语句,然后计算表达式的值,当表达式的值为非0时,就重复执行指定的语句;当表达式的值为0时,结束循环。【例3.11】用dowhile语句计算S=1+2+3+4+n。【例3.12】用dowhile语句计算T=n!,即求连乘积:T=1234n。,例程,例程,3.3.3 for语句,1.for语句格式:for(;)2.for语句的执行过程:,for语句,【例3.13】用for 语句计算:S=1+2+3+4+n。【例3.14】用for 语句计算T=n!,即求T=1234n。【例3.15】计算S=,即求:,例程,例程,例程,3.3.4 三种循环语句的比较,(1)while与for
8、语句为先判断后执行(当型:可能一次也不执行循环体);dowhile语句是先执行后判断(直到型:循环体至少执行一次)。(2)三种语句都是循环条件为真时执行循环体,为假时结束循环。(3)在循环体至少执行一次的情况下,三种循环语句构成的循环结构可以相互转换。实际上,用得最多的是for语句,其次是while语句,而dowhile语句相对于前两种语句则用得较少。,3.3.5 循环语句的嵌套,循环语句中又包含有循环语句的结构称为循环语句的嵌套。【例3.16】求出100200之间的所有素数,输出时一行打印五个素数。,例程,3.4 控制执行顺序的语句,3.4.1 break语句(1)作用:终止switch语句
9、与单循环语句的执行;对多重循环循环语句,可从内循环体跳到外循环体。(2)格式:break;,3.4.2 continue语句,(1)作用:在循环语句中,结束本次循环,重新开始下一次循环。(2)格式:continue;【例3.17】输入10个整数,统计其中正数的和及正数的个数。,例程,3.4.3 语句标号和goto语句,1.语句标号(1)作用:指示语句在程序中的位置,常常作为转移语句(goto语句)的转移目标。(2)格式::语句标号用标识符来表示,它的命名规则与标识符的命名相同。2.goto语句(1)作用:改变程序的流程,无条件地转移到指定语句标号的语句处去执行。(2)格式:goto;,3.4.
10、4 exit()和abort()函数,1.exit()函数(1)作用:无条件正常终止程序的执行,并将控制返回给操作系统。(2)格式:exit();2.abort()函数(1)作用:用于异常终止程序的执行。(2)格式:abort();,3.5 程序设计举例(习题课),程序设计有三种基本结构,即顺序结构、分支结构和循环结构。分支结构程序主要是用分支语句(if、switch)实现的,而循环结构程序则主要是用循环语句(while、do while、for)语句实现。本节重点对分支与循环语句的应用编程举例。,3.5.1 分支语句应用举例,分支语句用于实现分支结构程序设计。能够用分支结构程序解决的常见问题
11、有:比较数的大小、找出若干数中最大值与最小值、分段函数、解一元二方程、判断闫年、多分支问题。分支语句有if语句和switch语句。,(1)if 语句,if语句又有单选、双选与多选if语句,格式分别为:单选if语句 双选if语句 多选if语句if()if()if()else else if else if语句可以嵌套使用,但应当注意else与if的配对关系。C+规定:else总是与其前面最近的还没有配对的if进行配对。,if 语句,【例3.19】编写程序,求一元二次方程ax2+bx+c=0的解。C+程序设计的一般步骤为:l进行数学分析建立求解数学模型;l 根据数学模型确定程序框架及所用语句;l
12、根据数学模型确定所要定义的变量及其数据类型;l给变量输入数据;l 编写计算程序,执行程序得到运算结果;l输出运算结果。,例程,(2)switch语句,switch语句的格式为:switch()case:.case:default:注意:在执行switch语句的过程中,一般用break语句结束switch语句的执行【例3.20】输入某一年的年份和月份,计算该月的天数。,例程,3.5.2 循环语句应用举例,循环语句用于实现循环结构程序设计。能够用循环结构程序解决的常见问题有:累加和、连乘积、求一批数的和及最大值与最小值、求数列的前n项、判素数、求两个整数的最大公约数和最小公倍数、用迭代法求平方根、
13、用穷举法求不定方程组的整数解、打印图形等等。循环语句有while语句、dowhile语句和for语句。,循环语句格式,while语句、dowhile语句和for语句的格式如下:while语句 dowhile语句 while()do;while();for语句 for(;);应注意三种循环语句的特点、它们间的区别及由三种循环语句构成的嵌套循环结构。,循环语句应用举例,【例3.21】用公式,即:求自然对数底e的近似值(n=10)。分别用while语句、dowhile语句和for语句三种语句实现。【例3.22】,用累加和的方法求s值,直到 最后一项 0.00001为止。【例3.23】裴波那契数列的前
14、几个数为1,1,2,3,5,8,其规律为:f1=1(n=1)f2=1(n=2)fn=fn-1+fn-2(n3)编写程序求此数列的前面40个数。,例程,例程,例程,循环语句应用举例,【例3.24】有100个学生种100棵树,其中高中生每人种3棵树,初中生每人种2棵树,小学生每3人种1棵树,问高中生、初中生、小学生各有多少人?【例3.25】编写程序,按下列格式打印九九表。*1 2 3 4 5 6 7 8 9 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24
15、 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81,例程,例程,本章小结,一个C+程序由若干个源程序文件组成,一个源程序文件可以有若干个函数和编译预处理命令组成,一个函数由函数说明部分和函数执行部分组成,函数执行部分由数据定义和若干个执行语句组成。语句是组成程序的基本单元。,程序的三种基本结构和C+语句,1.程序的三种基本结构 组成C+程序的函数是由若干个基本结构组合而成的。有三种基本结构,即顺序结构、分支结构和循环结构。各种控制结构是通过语句来实现的。2.C+中的语句 C+语言的语句可以分成六大类,即说明语句、控制语句、函数调用语句、表达式语句、空语句和复
16、合语句。其中控制语句主要有分支语句与循环语句。,3.分支语句,分支语句用于实现分支结构程序设计。分支语句有if语句和switch语句。(1)if浯句 if语句的格式为:if()else if语句可以嵌套使用,但应当注意else与if的配对关系。C+规定:else总是与其前面最近的还没有配对的if进行配对。,(2)条件运算符和条件表达式,由条件运算符(?:)构成的条件表达式的一般格式为:?:,(3)switch语句,switch语句的格式为:switch()case:case:.case:default:,分支结构程序解决的常见问题,注意:在执行switch语句的过程中,每当执行完一个case后
17、面的语句后,程序会不加判断地自动执行下一个case后面的语句。如果要结束switch语句的执行,可用break语句来实现。能够用分支结构程序解决的常见问题有:比较数的大小、找出若干数中最大值与最小值、分段函数、解一元二方程、判断闫年、多分支问题。,4.循环语句,循环语句用于实现循环结构程序设计。循环语句有while语句、dowhile语句和for语句。(1)while语句 while语句用来实现“当型”循环结构,其格式为:while()(2)dowhile语句 dowhile语句用来实现“直到型”循环结构,其格式为:do while();,(3)for语句,for语句是功能较强的一种循环语句,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序结构 流程 控制
链接地址:https://www.31ppt.com/p-6153977.html