的基础。接下来就应该对框图中的那些比较抽象的、用文字描述的程序模块作进一步的分析 细化,每次细化的结果仍用结构化框图表示。最后,对如何求解问题的所有细节都弄清楚了, 就可以根据这些框图直接写出相应的程序代码。这就是所谓的“自顶向下,逐步求精”的程 序设计方法。在分析的过程中用结构化框图表示解题思路的优点是框图中的每个程序模块与 其他程序模块之间的关系非常简明,每次可以只集中精力分解其中的一个模块而几乎不影 响整个程序的结构 23C++的控制结构 23.1顺序结构 在用C艹+编写程序时,实现顺序结构的方法非常简单:只需将两个语句顺序排列即可。 如例1-1中交换两个整数的值的程序段 就是顺序结构 232选择结构 C++的选择结构是通过if-else语句实现的。其格式为 if(<表达式>) <内嵌语句1>; <内嵌语句2> 将其与图2-3比较,就会发现“程序模块1”和“程序模块2”分别对应于 if-else语句中的 内嵌语句1”和“内嵌语句2”。一般来说,内嵌语句可以是各种可以执行的语句,甚至包 括if-else语句和后面要介绍的循环语句。但是如果“程序模块1”和“程序模块2”比较复 杂,不能简单地用一条语句实现时怎么办呢?这时可以使用由一对花括号“{}”括起来的程 序段落代替“语句1”和“语句2”,即 if(<表达式>) else 这种用花括号括起来的程序段落又称为分程序。分程序是C++中的一个重要概念。具第 2 单元 控制结构 - 22 - 的基础。接下来就应该对框图中的那些比较抽象的、用文字描述的程序模块作进一步的分析 细化, 每次细化的结果仍用结构化框图表示。最后, 对如何求解问题的所有细节都弄清楚了, 就可以根据这些框图直接写出相应的程序代码。这就是所谓的“自顶向下, 逐步求精”的程 序设计方法。在分析的过程中用结构化框图表示解题思路的优点是框图中的每个程序模块与 其他程序模块之间的关系非常简明, 每次可以只集中精力分解其中的一个模块而几乎不影 响整个程序的结构。 2.3 C++的控制结构 2.3.1 顺序结构 在用C++编写程序时, 实现顺序结构的方法非常简单: 只需将两个语句顺序排列即可。 如例 1-1 中交换两个整数的值的程序段: r = p; p = q; q = r; 就是顺序结构。 2.3.2 选择结构 C++的选择结构是通过 if-else 语句实现的。其格式为: if(<表达式>) <内嵌语句 1>; else <内嵌语句 2>; 将其与图 2-3 比较, 就会发现“程序模块 1”和“程序模块 2”分别对应于 if-else 语句中的 “内嵌语句 1”和“内嵌语句 2”。一般来说, 内嵌语句可以是各种可以执行的语句, 甚至包 括 if-else 语句和后面要介绍的循环语句。但是如果“程序模块 1”和“程序模块 2”比较复 杂, 不能简单地用一条语句实现时怎么办呢? 这时可以使用由一对花括号“{}”括起来的程 序段落代替“语句 1”和“语句 2”, 即: if(<表达式>) { …... } else { …... } 这种用花括号括起来的程序段落又称为分程序。分程序是C++中的一个重要概念。具