info
对应 GESP C++ 2 级知识块③:流程图
官方要求:了解流程图的概念及基本表示符号,掌握绘制流程图的方法,能正确使用流程图描述程序设计的三种基本结构(顺序、分支、循环)。
第12章 流程图的概念与描述
12.1 流程图定义与作用
流程图是标准化图形工具,用图形、箭头、文字描述算法/程序执行步骤。 作用:梳理逻辑、排查漏洞、方便沟通、编程前规划思路。
流程图四大标准符号
- 圆角矩形:开始 / 结束(唯一入口,可多个出口);
- 矩形:处理框(赋值、计算、输入输出操作);
- 菱形:判断框(分支条件,多条出口标注 是/否);
- 平行四边形:输入 / 输出;
- 箭头:流程走向,从上到下、从左到右。
tip
画流程图三步走 ① 把问题拆成"开始→每一步处理→判断→输出→结束"; ② 用对的符号画每个步骤; ③ 用箭头把顺序连起来,分支用菱形并标"是/否"。
12.2 三种基础流程结构(所有程序均可组合)
1. 顺序结构
步骤从上到下依次执行,无分支无循环。 例:输入 a、b → 求和 → 输出结果。
2. 分支(选择)结构
根据条件选择执行路径
- 双分支:
if … else - 多分支:
if - else if、switch
3. 循环结构
- 当型
while:先判断条件,满足再执行循环体; - 直到型
do-while:先执行一次,再判断是否继续。
caution
顺序 / 分支 / 循环是全部程序的"积木" 无论多复杂的程序,都能由这三种基本结构组合而成。考试选择题常给一张流程图,让你判断它属于哪种结构,或让你把代码还原成流程图。
12.3 绘制规则
- 符号规范,判断必须菱形;
- 单入口,分支最后汇合;
- 文字简洁,流向不交叉;
- 复杂流程用连接标记拆分。
12.4 流程图与 C++ 代码对应
下面用一个完整例子,把"流程图 → 代码"串起来:求两数中较大值。
- 顺序:逐行代码
- 双分支
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b; // 输入(平行四边形)
int max;
if (a > b) // 判断(菱形)
max = a; // 是
else
max = b; // 否
cout << max << endl; // 输出(平行四边形)
return 0;
}
- 当型循环
初始化;
while (条件)
{
循环体;
}
- 直到型循环
do
{
循环体;
} while (条件);
tip
练习
试着把"输入 3 个数,输出最大值"画成流程图:先用一个菱形比 a 和 b,再用一个菱形把较大的和 c 比。画完再用 if 嵌套写出代码——这正是第 15 章"分支嵌套"的雏形。
练习题(2 级单选风格)
- 流程图中表示"判断/分支"应使用的符号是?
- A. 圆角矩形
- B. 平行四边形
- C. 菱形
- D. 矩形
- 表示程序"开始/结束"的符号通常是?
- A. 菱形
- B. 圆角矩形(起止框)
- C. 平行四边形
- D. 箭头
- 流程图中用于表示"输入/输出"的符号是?
- A. 矩形
- B. 平行四边形
- C. 菱形
- D. 圆形
- 结构化程序的"三种基本结构"不包括?
- A. 顺序结构
- B. 分支结构
- C. 循环结构
- D. 递归结构
- 流程图里带箭头的连线表示?
- A. 数据内容
- B. 程序的执行顺序(流向)
- C. 判断结果
- D. 存储位置
参考答案(点击展开)
- C — 菱形是判断框,内部写条件,引出"是/否"两条分支。
- B — 起止框用圆角矩形(或椭圆),标"开始/结束"。
- B — 平行四边形表示输入/输出(I/O)。
- D — 三种基本结构是顺序、分支、循环;递归是函数调用技巧,不属于基本控制结构。
- B — 流程线(带箭头)表示执行流向,箭头方向即执行顺序。