第3章 程序结构和流程控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.3.5 循环语句的嵌套
循环语句中又包含有循环语句的结构称为循 环语句的嵌套。 【例3.16】 求出100~200之间的所有素数,输出时 一行打印五个素数。
例程
3.4 控制执行顺序的语句
3.4.1 break语句 (1)作用: ①终止switch语句与单循环语句的执行; ②对多重循环循环语句,可从内循环体跳到外循环体。
for语句 执行过程
for语句
【例3.13】用for 语句计算: S=1+2+3+4+…+n。 例程 【例3.14】 用for 语句计算T=n!,即求 T=1×2×3×4…×n。
1 【例3.15】计算S= ,即求: k 1 k ( k 1)
20
例程
1 1 1 1 1 2 2 3 19 20 20 21
4.表达式语句
5.空语句 6.复合语句
3.2 分支语句
分支语句用于实现分支结构程序设计。 分支程序有两路分支结构和多路分支结构,两 路分支结构可用if语句实现,多路分支结构可用嵌 套的if语句和switch语句实现。
3.2.1 if语句
1.if语句的三种形式 ( 1)单选条件语句 单选条件语句的格式为: if (<表达式>) <语句>
表达 式
假(0)
真(非0) 语句
【例3.1】 输入两个整数a和b, (a) 输出其中较大的一个数。 例程
(b)
单选条件语句执 行过程
if语句的三种形式
(2)双选条件语句 双选条件语句的格式为: if (<表达式>) <语句1> else <语句2>
表达 式 真(非0) 语句1 假(0)
语句2
(a)
(2)格式:
break;
3.4.2 continue语句
(1)作用: (2)格式: continue;
在循环语句中,结束本次循环,重新开始下一次循环。
【例3.17】 输入10个整数,统计其中正数的和及正数 的个数。
例程
3.4.3 语句标号和goto语句
1.语句标号 (1)作用: 指示语句在程序中的位置,常常作为转移语句(goto 语句)的转移目标。 (2)格式: <语句标号>:<语句> 语句标号用标识符来表示,它的命名规则与标识符的 命名相同。
当型循环结构
直到型循环结构
S 真 B
假 (a) (b)
直到型循环结构
三种基本结构都具有下列的共同特征
(1)单入口和单出口,即只有一个入口和一个出口; (2)没有无用的部分,即结构中所有部分都有被执 行的机会; (3)不存在“死循环”(无终止的循环),即执行 时间是有限的。 已有人从理论上证明了,由三种基本结构顺序组合构 成的程序能处理任何复杂的问题。
例程
2.break语句在switch语句中的作用
(1)作用: 中止当前语句的执行,并跳转到下一条语句处执行。 (2)格式: break; 【例3.8】 商店打折售货。购货金额数量越大,折扣越大。具体标 准为(m:购货金额,d:折扣率): m<250(元) 250≤m<500 500≤m<1000 1000≤m<2000 m≥2000 d=0% d=5% d=7.5% d=10% d=15%
第3章 程序结构和流程控制语句
目的与要求 3.1 程序的三种基本结构和语句 3.2 分支语句 3.3 循环语句
3.4 控制执行顺序的语句
3.5 程序设计举例(习题课) 本章小结
目的与要求
通过本章学习,应掌握程序的三种基本结构, 即顺序结构、分支结构和循环结构,并掌握 C++语言中实现这三种基本结构的控制语句的 格式、功能和执行过程。能使用这些控制语句编 写具有顺序、分支和循环三种基本结构的程序。
例程
3.3.4 三种循环语句的比较
(1)while与for语句为先判断后执行(当型:可能一 次也不执行循环体); do…while语句是先执行后判断(直到型:循环体至 少执行一次)。 (2)三种语句都是循环条件为真时执行循环体,为假时 结束循环。 (3)在循环体至少执行一次的情况下,三种循环语句构 成的循环结构可以相互转换。 实际上,用得最多的是for语句,其次是while语句, 而do…while语句相对于前两种语句则用得较少。
(b) 两选条件语句执行 过程
【例3.2】 输入两个整数a和b, 输出其中较大的一个数。例程
if语句的三种形式
(3)多选条件语句 多选条件语句的格式为: if (<表达式1>) <语句1> else if (<表达式2>) <语句2> else if (<表达式3>) <语句3> ...... else if (<表达式n-1>) <语句n-1> else <语句n>
3.5 程序设计举例(习题课)
程序设计有三种基本结构,即顺序结构、分支结 构和循环结构。 分支结构程序主要是用分支语句(if、switch) 实现的,而循环结构程序则主要是用循环语句 (while、do… while、for)语句实现。 本节重点对分支与循环语句的应用编程举例。
3.5.1 分支语句应用举例
从键盘输入购货金额,计算实付的金额。
例程
项目三 分支语句练习
1.编写一个程序判定某年是否为闰年 判定闰年规则:年号能被400整除,或年号能被4整 除而不能被100整除,则是闰年。 2.输入0-6的整数,分别输出对应的星期几。 要求分别用if 、if else和switch语句编写。 3.编写一个程序输入年、月,打印出该月的天数。
3.3.3 for语句
1.for语句格式:
for (<表达式1>;<表达式2>;<表达式3>)
ቤተ መጻሕፍቲ ባይዱ
求解表达式1 假(0) 表达式2
<语句>
2.for语句的执行过程:
真(非0)
语句 ① ④
求解表达式3 for (<表达式1>;<表达式2>;<表达式3>)
T ② <语句> F 退出 ③ for 语句执行流程图
【例3.3】有下列分段函数: x+1 x<0 y= x2-5 0≤x<10 x3 x≥10 编一程序,输入x,输出y的 值。 例程
2.if语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。 其一般格式为: if (<表达式1>) if (<表达式2>)
<语句1>
else <语句2>
2.goto语句 (1)作用: 改变程序的流程,无条件地转移到指定语句标号的语 句处去执行。 (2)格式: goto <语句标号>;
3.4.4 exit( )和abort( )函数
1.exit( )函数 (1)作用: 无条件正常终止程序的执行,并将控制返回给操作系 统。 (2)格式: exit(<表达式>); 2.abort( )函数 (1)作用: 用于异常终止程序的执行。 (2)格式: abort( );
分支语句用于实现分支结构程序设计。 能够用分支结构程序解决的常见问题有:比较数的大 小、找出若干数中最大值与最小值、分段函数、解一 元二方程、判断闫年、多分支问题。 分支语句有if语句和switch语句。
(1)if 语句
if语句又有单选、双选与多选if语句,格式分别为: 单选if语句 if (<表达式>) <语句> 双选if语句 if (<表达式>) <语句1> else 多选if语句 if (<表达式1>) <语句1> else if <表达式2>
1.switch语句(开关语句) (1)作用: switch语句即开关语句,它根据给定的条件,决定执行多个分 支程序段中的某一个分支程序段。 (2)格式: switch (<表达式>) { case <常量表达式1>:〔<语句1>〕 case <常量表达式2>:〔<语句2>〕 ...... case <常量表达式n-1>:〔<语句n-1>〕 〔default:<语句n>〕 } 【例3.7】 输入0~6的整数,将其转换成对应的星期几。
3.1.2 C++程序的组成
编译预处理命令 函数说明部 数据定义 分 源 程 序 文 件 函数1 1 函数执行部 源 程 序 文 件 函数2 分 2 …… C++程 执行语句 …… 序 函数n 源程序文件 n C++程序的组成
3.1.3 C++程序的语句
C++程序的语句可以分成以下六大类: 1.说明语句 2.控制语句 3.函数调用语句
3.1 程序的三种基本结构和语句
3.1.1 程序的三种基本结构 1.顺序结构 S1 S2
(a)
(b)
顺序结构
2.分支结构
真 假 B
S1
S2 (b)
(a)
分支结构
多分支结构
B1 B2 . . . Bn 假 Sn+1 假 假
真 真 S2 真 S1
Sn
多分支结构
3.循环结构
假 B 真 S
(a)
(b)
(1)条件运算符: ? : (2)条件表达式: <表达式1>?<表达式2>:<表达式3> (3)执行过程:
if (表达式1) 条件表达式=表达式2
else (4)优先级 条件表达式=表达式3;
条件运算符的优先级高于赋值运算符和逗号运算符, 低于算术运算符、关系运算符和逻辑运算符。
3.2.3 switch语句
(b)
Do… while执行过程
【例3.11】用do…while语句计算S=1+2+3+4+…+n。 例程 【例3.12】 用do…while语句计算T=n!,即求连乘积: T=1×2×3×4…×n。 例程
项目四 循环语句编程
1. 编程完成题: P82,四-1,4,5 2. 写出程序运行结果 三-2,4
【例3.20】 输入某一年的年份和月份,计算该月的天数。
例程
3.5.2 循环语句应用举例
循环语句用于实现循环结构程序设计。 能够用循环结构程序解决的常见问题有:累加和、连 乘积、求一批数的和及最大值与最小值、求数列的前n 项、判素数、求两个整数的最大公约数和最小公倍数、 用迭代法求平方根、用穷举法求不定方程组的整数解、 打印图形等等。 循环语句有while语句、do…while语句和for语句。
<语句2>
… else
<语句2>
<语句n> if语句可以嵌套使用,但应当注意else与if的配对关系。C++ 规定:else总是与其前面最近的还没有配对的if进行配对。
if 语句
【例3.19】 编写程序,求一元二次方程ax2+bx+c=0 的解。 C++程序设计的一般步骤为: l进行数学分析建立求解数学模型; l 根据数学模型确定程序框架及所用语句; l 根据数学模型确定所要定义的变量及其数据类型; l给变量输入数据;
else
if (<表达式3>) <语句3>
else
<语句4>
【例3.5】 求三个整数a、b、 c中的最大者,a、b、c由键 盘输入。 例程 注意:if语句嵌套使用时, 应当注意else与if的配对关系。 C++规定:else总是与其前面 最近的还没有配对的if进行配 对。
3.2.2 条件运算符和条件表达式
l 编写计算程序,执行程序得到运算结果;
l输出运算结果。 例程
(2)switch语句
switch语句的格式为: switch (<表达式>) {case <常量表达式1>:〔<语句1>〕 ......
case <常量表达式n-1>:〔<语句n-1>〕
default:<语句n>〕 }
注意:在执行switch语句的过程中,一般用break语句 结束switch语句的执行
假(0) 表达式
真(非0)
语句
(a)
(b) while语句执行过程
【例3.9】用while语句计算:S=1+2+3+4+…+n。
例程
【例3.10】用while语句计算T=n!,即求连乘积: T=1×2×3×4…×n。
例程
3.3.2 do…while语句
(1)作用: 实现“直到型”循环结构。 (2)格式: 语句 do 假(0) <语句> while (<表达式>); 表达式 (3)执行过程: 真(非0) 先执行语句,然后计算 表达式的值,当表达式的 值为非0时, 就重复执行 指定的语句;当表达式的 值为0时,结束循环。 (a)
3.3 循环语句
所谓循环结构就是在给定条件成立的情况下,重 复执行一个程序段;当给定条件不成立时,退出循 环,再执行循环下面的程序。 实现循环结构的语句称为循环语句。在C++中, 循环语句有while语句、do…while语句和for语句。
3.3.1 while语句
(1)作用: 实现“当型”循环结 构。 (2)格式: while (<表达式>) <语句> (3)执行过程: 先计算表达式的值, 当表达式的值为非0 时,重复执行指定的 语句;当表达式的值 为0时,结束循环。
相关文档
最新文档