第三章C流程控制.ppt
文本预览下载声明
第三章 C++程序的流程控制 第三章 C++程序的流程控制 本章内容主要有: 流程控制与程序结构 条件分支结构 循环结构 其他流程控制 学习的目 掌握流程控制与程序结构 掌握条件分支结构 掌握循环结构 了解其他流程控制 第三章 C++程序的流程控制 3.1 流程控制与程序结构 高级语言源程序的基本组成单位是语句。在C++程序中,语句是最小的可执行单元,一条语句由一个分号结束。 C++程序的语句按其功能可以划分为两类: 操作运算语句 流程控制语句 为了能更好的发挥程序强大的功能。就需要有对程序流程进行控制的语句。 基本的控制结构有三种: 顺序结构,选择结构,循环结构 3.1 流程控制与程序结构 1 顺序结构 顾名思义,所谓顺序结构,就是指按照语句在程序中的先后次序一条一条的顺次执行。顺序控制语句是一类简单的语句,上述的操作运算语句即是顺序控制语句,包括表达式语句,输入/输出等。 示意图如书图3-1所示。 3.1 流程控制与程序结构 2 条件分支结构 顺序结构就像是一条流水线,将程序语句逐一执行,更多的时候我们需要对程序环境进行判断,当满足一定条件的,去执行相应的命令,这就要用到条件结构。 条件结构语句分两种:条件分支语句if和开关语句switch。 3.1 流程控制与程序结构 3 循环结构 当程序中有重复的工作要做时,就需要用到循环结构。它的应用使得大量重复的工作变得更容易,提高了程序的效率。 C++提高了三种循环语句:while、do while和for 上述程序结构的一个共同的特点是:只有一个入口和一个出口,因此程序结构之间的衔接非常简单:一个结构的出口就是另一结构的入口。 3.2 条件分支结构 1. if语句 if语句的语法格式为: if (条件表达式) 或: if (条件表达式) 语句; { 语句序列; } 它的意义为:如果条件表达式进行一次测试,且测试为真,则执行后面的语句。 当语句序列只包含一条语句时,包围该语句序列的花括号可以省略。 例如:判断用户的输入,如果输入的数值大于0,则在 屏幕上显示“正数”。 #includeiostream.h void main() { int a; cina; if(a0) cout”正数”endl; } 2. 空语句 编译器必须在if条件表达式的后面找到一个作为语句结束符的分号“;”,以标志if语句的结束。这样,如果是下面的代码: if (条件表达式); //空语句做if中的语句 语句; 则不管条件表达式为真为假,总是接着执行分号后的语句。即相当于if语句不做任何事。 3.2 条件分支结构 3.2 条件分支结构 3. if…else语句 if…else语句的语法格式为: if (条件表达式) { 语句序列1; } else { 语句序列2; } 它的意义为:如果“条件表达式”的判断结果为真,则执行语 句序列1;如果“条件表达式”的判断结果为假,则执行语句 序列2。 判断用户的输入,如果输入的数值大于0,则在屏幕上 显示“正数”;否则在屏幕上显示“不是正数”。 #includeiostream.h void main() { int a; cina; if(a0) cout”正数”endl; else cout”不是正数”endl; } if语句中也可以包含if语句,这就构成了if语 句的嵌套。当多个if…else语句嵌套时,为了 防止出现二义性,C++语言规定,由后向前 使每一个else都与其前面的最靠近它的if配 对。如果一个else的上面又有一个未经配对 的else,则先处理上面的(内层的)else的配 对。 3.2 条件分支结构 例如:判断a、b、c三个数中的最大值。 if (ab) if(ac) max=a; else max=c; else if(bc) max=b; else max=c; 3.2条件分支结构 当多个if…else语句嵌套时,在容易误解的地方可以 按照语法关系加上花括号来标识逻辑关系的正确性。 如上例可以改写为: if (ab) { if(ac) max=a; else max=c; } else { if(bc) max=b; else
显示全部