1、全国 计 算机等 级 考 试目录第一部分 公共基础知识第 1 章 算 法与 数据 结构 .1考点 1 算 法 .1考点 2 数 据结 构 .1考点 3 线 性表 及其 顺序 存储 结构 .1考点 4 栈 和队 列 .1考点 5 线 性链 表 .2考点 6 树 与二 叉树 .2考点 7 查 找技 术 .3考点 8 排 序技 术 .3第 2 章 程序 设计 基础 .4考点 1 程 序设 计方 法与 风格 .4考点 2 结 构化 程序 设计 .5考点 3 面 向对 象的 程序 设计 .5第 3 章 软 件工 程基 础 .5考点 1 软 件工 程基 本概 念 .5考点 2 软 件分 析方 法 .6考点
2、 3 结 构化 设计 方法 .7考点 4 软 件测 试 .8考点 5 程 序的 调试 .9第 4 章 数 据库 设计 基础 .9考点 1 数 据库 系统 的基 本概 念 .9考点 2 数 据库 系统 的基 本概 念 .10考点 3 关 系代 数 .12考点 4 数 据库 设计 与管 理 .12第二部分 二级 C 语言第 1 章 程 序设 计基 本概 念 .14考点 1 程 序设 计 .14考点 2 C 程序 的结 构 和 格式 .14考点 3 常 量和 变量 .14考点 4 算 术表 达式 .15考点 5 赋 值表 达式 .16考点 6 自 加、 自减 和逗 号运 算 .16第 2 章 顺 序
3、结 构 .17考点 1 字 符型 常量 与变 量 .17考点 2 putchar 与 getchar 函 数 .17考点 3 printf 函 数 .17考点 4 scanf 函 数 .18考点 5 位 运算 的含 义和 应用 .18第 3 章 选 择结 构 .19考点 1 关 系运 算符 和关 系表 达式 .19考点 2 逻 辑运 算符 和逻 辑表 达式 .19考点 3 if 语 句及 其构 成的 选择 结构 .19考点 4 switch 语 句 与 break 语句 .20第 4 章 循 环结 构 .20考点 1 while 循 环结 构 .20考点 2 do-while 循 环结 构 .
4、21考点 3 for 循 环结 构 .21考点 4 嵌 套循 环语 句 .21第 5 章 函 数 .21考点 1 库 函数 .21考点 2 函 数的 调用 .22考点 3 参 数传 递 .22考点 4 函 数的 递归 调用 .23考点 5 局 部、 全局 变量 和存 储分 类 .23第 6 章 地 址与 指针 .23考点 1 变 量的 地址 和指 针 .23考点 2 指 针变 量的 操作 .24考点 3 函 数之 间地 址的 传递 .24第 7 章 数 组 .24考点 1 一维数组的定义及元素的引用. 24考点 2 函数对一维数组及元素的引用. 25考点 3 二 维数 组的 定义 .25考点
5、4 二 维数 组和 指针 .25考点 5 二维数组名和指针数组作为实参. 26第 8 章 字 符串 .26考点 1 用 一维 字符 数组 存放 字符 串 .26考点 2 使 指针 指向 字符 串 .26考点 3 字 符串 的输 入和 输出 .26考点 4 字 符串 数组 .27考点 5 用 于字 符串 处理 的函 数 .27第 9 章 编译 预处 理和 动态 存储 分配 .27考点 1 编 译预 处理 .27考点 2 宏 替换 .27考点 3 文 件包 含处 理 .28考点 4 动 态存 储分 配 .28第 10 章 结构体、共用体和用户定义类型28考点 1 结 构体 .28考点 2 共 用体
6、 .29考点 3 用 户定 义类 型 .29第 1 1 章 文件 .29考点 1 文 件指 针 .29考点 2 文 件的 读写 .30选 择 题 考 点 秘 籍 二 级 C 语 言- 1 -第一部分 公共基础知识第 1 章 算法与数据结构考点 1 算法1什么是算法算法是指对解题方案的准确而完整的描述。计算机程序本质上就是一个算法,它告诉计算机确切的步骤来执行一个指定的任务。(1)算法的基本特征一 般 来 说 , 算 法 应 具 有 : 可 行 性 、 确 定 性 、有 穷 性 、 拥 有 足 够 的 情 报 这 几 个 特 征 。(2)算法的组成要素通 常 , 一 个 算 法 由 两 部 分
7、组 成 : 一 是 对 数 据对 象 的 运 算 和 操 作 , 二 是 算 法 的 控 制 结 构 。2算法的复杂度算 法 的 复 杂 度 是 算 法 规 模 的 度 量 , 一 个 算 法的 复 杂 度 高 低 体 现 在 运 行 该 算 法 所 需 要 的 计 算 机资 源 的 多 少 , 所 需 的 资 源 越 多 , 就 说 明 该 算 法 的复 杂 度 越 高 ; 反 之 , 所 需 的 资 源 越 少 , 则 该 算 法的 复 杂 度 越 低 。 算 法 复 杂 度 包 括 算 法 的 时 间 复 杂度 和 算 法 的 空 间 复 杂 度 。考点 2 数据结构1数据结构的概念所
8、谓 数 据 结 构 是 指 由 某 一 数 据 对 象 及 该 对 象中 所 有 数 据 成 员 之 间 的 关 系 组 成 的 集 合 。 成 员 之间 的 关 系 有 很 多 种 , 最 常 见 的 是 前 后 件 关 系 。2数据的逻辑结构(1)逻辑结构的定义数 据 的 逻 辑 结 构 , 是 指 反 映 数 据 之 间 逻 辑关 系 的 数 据 结 构 。 对 于 电 脑 上 的 数 据 而 言 , 逻辑 结 构 就 是 能 够 用 眼 睛 看 到 的 数 据 形 式 , 包 括在 屏 幕 上 看 到 的 文 本 、 图 片 、 视 频 等 。(2)逻辑结构的分类根据数据结构中各元素之
9、间前后关系的复杂程度,将数据的逻辑结构分成线性结构和非线性结构。一个非空的线性结构如果满足以下两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。3数据的存储结构数据的存储结构也称为数据的物理结构, 是指数据在计算机中存放的方式,包括数据元素的存储和关系的存储。通常,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链式存储结构。考点 3 线性表及其顺序存储结构1线性表的基本概念线性表是由 n 个数据元素组成的有限序列,是最简单、最常用的数据结构。其中的数据元素有着广泛的含义,可以是一个单独的数字或字母,可以是矩阵中的一行或一列向量, 也可以是二维表
10、中的一条记录。线性表是一种线性结构。数据元素在线性表中的位置,只取决于它们自己的序号,即数据元素之间的相对位置是线性的。2线性表的顺序存储结构一 种 数 据 的 逻 辑 结 构 根 据 需 要 可 以 表 示 成 多种 存 储 结 构 。 线 性 表 的 存 储 结 构 常 用 的 是 顺 序 存储 , 也 称 为 顺 序 分 配 。 线 性 表 的 顺 序 存 储 结 构 具有 以 下 两 个 基 本 特 点 : 线 性 表 中 所 有 元 素 所 占的 存 储 空 间 是 连 续 的 ; 线 性 表 中 各 数 据 元 素 在存 储 空 间 中 是 按 逻 辑 顺 序 依 次 存 放 的
11、。3顺序表的插入所 谓 “顺 序 表 ”指 的 是 使 用 顺 序 存 储 结 构 的线 性 表 。 在 顺 序 表 中 插 入 一 个 新 的 数 据 元 素 , 就像 是 在 排 队 买 票 的 时 候 进 来 了 一 个 插 队 的 人 。4顺序表的删除在 顺 序 表 中 删 除 一 个 数 据 元 素 , 就 像 是 在 排队 买 票 的 时 候 其 中 的 一 个 人 离 开 了 。 在 平 均 情 况下 , 要 在 线 性 表 中 删 除 一 个 元 素 , 需 要 移 动 线 性表 中 一 半 的 数 据 元 素 。考点 4 栈和队列1栈及其基本运算(1)什么是栈栈是一种特殊的线
12、性表。在这种特殊的线性表中,其插入和删除运算都只能在线性表的一端进行。一端是封闭的,不允许插入和删除数据元素;另一端是敞开的,允许插入和删除数据元素。在 栈 中 , 允 许 插 入 和 删 除 数 据 元 素 的 一 端称 为 栈 顶 , 而 不 允 许 插 入 和 删 除 数 据 元 素 的 一端 称 为 栈 底 。 栈 顶 元 素 总 会 是 被 最 后 插 入 的 元素 , 从 而 也 是 最 先 被 删 除 的 元 素 ; 栈 底 元 素 总是 最 先 被 插 入 的 元 素 , 从 而 也 是 最 后 才 能 被 删除 的 元 素 。 即 栈 是 按 照 “先 进 后 出 ”或 “后
13、 进先 出 ”的 原 则 组 织 数 据 的 。 栈 具 有 记 忆 的 功 能 , 支 持 子 程 序 的 调 用 。 通 常 用 指 针 top 来 指 示 栈 顶 位置 , 用 指 针 bottom 来 指 示 栈 底 的 位 置 。 往 栈 中插 入 一 个 元 素 称 为 入 栈 运 算 , 从 栈 中 删 除 一第一部分 公共基础知识- 2 -个 元 素 称 为 退 栈 运 算 。 通 过 栈 顶 指 针 top 来 反 反映 栈 中 元 素 的 动 态 变 化 情 况 。(2)栈的基本运算栈 的 基 本 运 算 有 3 种 : 入 栈 、 退 栈 与 读 栈顶 元 素 。 入 栈
14、 运 算 。 入 栈 运 算 是 指 在 栈 顶 位置 插 入 一 个 新 元 素 。 这 个 运 算 有 两 个 基 本 操作 : 首 先 将 栈 顶 指 针 进 一 ( 即 top 加 1) , 然 后将 新 元 素 插 入 到 栈 顶 指 针 指 向 的 位 置 。 退 栈运 算 。 退 栈 运 算 是 指 取 出 栈 顶 元 素 并 赋 给 指 定的 变 量 。 这 个 运 算 有 两 个 基 本 操 作 : 首 先 将 栈顶 元 素 赋 值 给 一 个 指 定 的 变 量 , 然 后 将 栈 顶 指针 退 一 ( 即 top 减 1) 。 读 栈 顶 元 素 。 读 栈 顶元 素 是
15、 指 将 栈 顶 元 素 赋 给 一 个 指 定 的 变 量 , 但是 不 删 除 栈 顶 元 素 。 因 此 , 在 这 个 运 算 中 , 栈顶 指 针 不 会 改 变 。 当 栈 顶 指 针 为 0 时 , 说 明 栈空 , 读 不 到 栈 顶 元 素 。2队列及其基本运算(1)什么是队列队 列 是 指 允 许 在 表 的 一 端 进 行 插 入 、 而 在 另一 端 进 行 删 除 的 线 性 表 。 允 许 插 入 的 一 端 称 为 队尾 , 通 常 用 一 个 队 尾 指 针 ( rear) 指 向 队 尾 元 素 ,队 尾 指 针 总 是 指 向 最 后 被 插 入 的 元 素
16、 ; 允 许 删除 的 一 端 称 为 排 头 ( 也 称 为 队 头 ) ,通 常 也 用 一个 排 头 指 针 (front ) 指 向 排 头 元 素 的 前 一 个 位置 。(2)循环队列及其运算队 列 的 顺 序 存 储 结 构 一 般 采 用 循 环 队 列的 形 式 。 所 谓 的 循 环 队 列 , 就 是 将 队 列 的 存 储空 间 的 最 后 一 个 位 置 绕 到 第 一 个 位 置 , 形 成 逻辑 上 的 环 状 空 间 , 供 队 列 循 环 使 用 。 入 队 运 算 。 入 队 运 算 是 指 在 循 环 队 列 的队 尾 加 入 一 个 新 元 素 。 这
17、个 运 算 有 两 个 基 本 操作:首先将队尾指针进一(即 re ar=rera+1) , 并当 rear=m+1 时 置 rear=1; 然 后 将 新 元 素 插 入 到队 尾 指 针 指 向 的 位 置 。 退 队 运 算 。 退 队 运 算 是指 在 循 环 队 列 的 排 头 位 置 退 出 一 个 元 素 并 赋 值 给指 定 的 变 量 。 这 个 运 算 有 两 个 基 本 操 作 : 首 先 将排 头 指 针 进 一 ( 即 front=front+1) , 并 当front=m+1 时 置 front=1; 然 后 将 排 头 指 针 指 向 的元 素 赋 给 指 定 的
18、 变 量 。考点 5 线性链表1线性链表(1)线性链表线性表的链式存储结构称为线性链表。在线 性 链 表 中 , 存 储 空 间 上 的 每 一 个 存 储 结 点 都要 分 成 两 部 分 : 一 部 分 用 于 存 储 数 据 元 素 的值 , 称 为 数 据 域 ; 另 一 部 分 用 于 存 储 该 数 据 元素 的 存 储 序 号 ( 存 储 结 点 的 地 址 , 即 指 向 后 件结 点 ) , 称 为 指 针 域 。(2)线性链表的查找在 非 空 的 线 性 链 表 中 查 找 指 定 元 素 的 操 作 :从 头 指 针 指 向 的 结 点 开 始 往 后 沿 着 指 针 进
19、 行 扫 描 ,如 果 找 到 要 查 找 的 内 容 , 则 查 找 成 功 ; 如 果 没 有对 应 的 要 查 找 的 元 素 , 则 查 找 失 败 。 为 了 弥 补 线性 单 链 表 的 这 个 缺 点 , 对 线 性 链 表 中 的 每 个 结 点设 置 两 个 指 针 , 一 个 称 为 左 指 针( Llink) ,用以指向其前件结点;另一个称为右指针( Rlink) ,用来指向其后件结点。这样的 线 性 表 称 为 双 向 链 表 。(3)线性链表的插入在 向 线 性 链 表 中 插 入 一 个 新 元 素 之 前 , 我们 先 要 给 该 元 素 分 配 一 个 新 结
20、点 , 其 中 包 括 值域 和 指 针 域 以 便 用 于 存 储 该 元 素 的 值 。 然 后 找到 插 入 位 置 , 将 插 入 位 置 前 件 的 指 针 指 向 新 结 点 ,将 新 接 点 的 指 针 指 向 插 入 位 置 后 件 的 结 点 。(4)线性链表的删除要 从 线 性 表 中 删 除 一 个 元 素 , 首 先 将 要 删 除元 素 的 前 后 件 两 个 指 针 断 开 , 然 后 把 要 删 除 结 点的 前 件 的 指 针 , 指 向 删 除 结 点 后 的 数 据 元 素 。2循环链表循环链表与单链表唯一的不同,就是最后一个结点的指针域中的值不同。单链表的
21、最后一个结点的指针域存放的是一个空指针,而循环链表的最后一个结点的指针域存放的是指向第一个结点的指针。考点 6 树与二叉树1树的基本概念树 是 一 种 比 较 简 单 的 非 线 型 结 构 。 在 树 中 所有 的 数 据 元 素 之 间 具 有 明 显 的 层 次 关 系 。 之 所 以将 这 种 数 据 结 构 命 名 为 “树 ”, 是 因 为 其 结 构看 上 去 像 一 棵 倒 长 着 的 树 。 在 树 的 图 形 表 示 中 ,上 端 的 结 点 是 前 件 , 下 端 的 结 点 是 后 件 。2二叉树及基本性质(1)二叉树二 叉 树 是 一 种 特 殊 的 树 , 是 一
22、种 很 有 用 的 非线 型 结 构 。 所 有 树 结 构 上 的 术 语 都 可 以 用 在 二 叉树 上 。 二 叉 树 具 有 以 下 两 个 特 征 : 非 空 二 叉 树 只有 一 个 根 结 点 ; 每 个 结 点 最 多 有 两 棵 子 树 ,选 择 题 考 点 秘 籍 二 级 C 语 言- 3 -且 分 别 称 为 该 结 点 的 左 子 树 和 右 子 树 。 在 二 叉 树中 , 每 个 结 点 的 度 最 大 为 2, 所 有 的 左 子 树 和 右子 树 也 均 是 二 叉 树 。 同 时 , 在 二 叉 树 中 所 有 的 结点 可 以 没 有 左 子 树 , 也
23、可 以 没 有 右 子 树 。 即 没 有左 子 树 又 没 有 右 子 树 的 结 点 是 叶 子 结 点 。(2)满二叉树所 谓 满 二 叉 树 是 指 : 除 最 后 一 层 外 , 每 一 层上 的 所 有 结 点 都 有 两 个 子 结 点 。 这 就 是 说 , 在 满二 叉 树 中 , 每 一 层 上 的 结 点 数 都 达 到 最 大 值 , 即满 二 叉 树 的 第 k 层 上 有 2k-1 个 结 点 , 且 深 度 为 m 的 满 二 叉 树 有 2m-1 个 结 点 。(3)完全二叉树所谓的完全二叉树是指:除最后一层外, 每一层上的结点数均达到最大值,最后一层上只缺少右
24、边的若干个结点。完全二叉树就是去掉最后一层若干个右边结点的满二叉树。(4)二叉树的基本性质 二 叉 树 的 基 本 性 质 。 二 叉 树 具 有 以 下 几个 基 本 性 质 : 性 质 1: 在 二 叉 树 的 第 K 层 上 最多 有 2k-1(k 1)个 结 点 。 性 质 2: 深 度 为 m 的 二 叉 树 最 多 有 2m-1 个 结 点 。 性 质 3: 在 任 意一 棵 二 叉 树 中 , 叶 子 结 点 ( 即 度 为 0 的 结 点 ) , 总比 度 为 2 的 结 点 多 一 个 。 性 质 4: 具 有 n 个 结 点的 二 叉 树 , 其 深 度 至 少 为 log
25、2n+1。 完 全 二 叉 树 的 两 项 特 性 。 完 全 二 叉 树 还具 有 以 下 两 项 特 性 : 性 质 5: 具 有 n 个 结 点 的完全二叉树,其深度为log 2n+1。性质 6: 设完 全 二 叉 树 共 有 n 个 结 点 。 如 果 从 根 结 点 开 始 , 按 层 序 ( 每 一 层 从 左 到 右 ) 用 自 然 数 “1,2,,n”给结点进行编号。3二叉树的遍历二 叉 树 的 遍 历 是 指 按 照 一 定 的 顺 序 访 问二 叉 树 中 的 结 点 , 每 个 结 点 只 被 访 问 一 次 。 为了 保 证 所 有 结 点 被 不 重 不 漏 地 访
26、问 , 必 须 按 照一 定 的 顺 序 进 行 。(1)前序遍历(DLR)首 先 访 问 根 结 点 , 然 后 遍 历 左 子 树 , 最 后 遍历 右 子 树 ; 在 遍 历 左 、 右 子 树 时 , 也 按 上 述 的 顺 序执 行 。 可 见 前 序 遍 历 二 叉 树 是 一 个 递 归 的 过 程 。 对 于二 叉 树 的 前 序 遍 历 , 具 有 如 下 的 规 则 : 对 于 空 的 二叉 树 , 不 进 行 操 作 返 回 空 值 。 对 于 非 空 的 二 叉 树 的遍 历 按 下 列 顺 序 执 行 : 访 问 根 结 点 ;前序遍历左子树;前序遍历右子树。(2)中
27、序遍历(LDR)首 先 遍 历 左 子 树 , 然 后 访 问 根 结 点 , 最 后 遍历 右 子 树 ; 在 遍 历 左 、 右 子 树 时 , 也 按 上 述 的 顺序 执 行 。 可 见 中 序 遍 历 二 叉 树 也 是 一 个 递 归 的 过程 。 对 于 二 叉 树 的 中 序 遍 历 , 具 有 的 规 则 : 对于 空 的 二 叉 树 , 不 进 行 操 作 返 回 空 值 。 对 于 非空 的 二 叉 树 的 遍 历 按 下 列 顺 序 执 行 : 中 序 遍 历 左子 树 ; 访 问 根 结 点 ; 中 序 遍 历 右 子 树 。(3)后序遍历(LRD)首先遍历左子树,然
28、后遍历右子树,最后访问根结点;在遍历左、右子树时,也按上述的顺序执行。可见后序遍历二叉树同样也是一个递归的过程。对于二叉树的后序遍历,具有的规则:对于空的二叉树,不进行操作返回空值。对于非空的二叉树的遍历按下列顺序执行:后序遍历左子树;后序遍历右子树;访问根结点。考点 7 查找技术查 找 就 是 从 给 定 的 一 个 数 据 结 构 中 , 找 出 指定 的 数 据 元 素 。 本 节 中 我 们 只 学 习 对 线 性 表 的 查 找 ,常 用 的 查 找 方 法 有 顺 序 查 找 和 二 分 法 查 找 。1顺序查找顺 序 查 找 的 过 程 是 : 从 线 性 表 的 第 一 个 元
29、 素开 始 , 依 次 将 线 性 表 中 的 数 据 与 要 查 找 的 数 据 进行 比 较 , 如 果 找 到 了 相 等 的 数 据 , 则 查 找 成 功 , 停 止 向 下 查 找 ; 如 果 比 较 完 了 线 性 表 中 的 所 有 数据 元 素 , 没 有 找 到 相 等 的 数 据 , 则 查 找 失 败 。2二分法查找二分法查找又称为折半查找,只能应用于顺序存储的有序表。有序表是指线性表中的元素已经按值非递减(从整体上看是升序,但相邻的元素的值可以相同)排列。考点 8 排序技术排序就是将一组无序的数据按照一定的顺序排列起来。本节中所指的顺序是非递减顺序( 整 体 上 呈
30、升 序 , 但 相 邻 的 数 据 可 以 相 等 ) , 基本 排 序 算 法 主 要 有 交 换 类 排 序 、 插 入 类 排 序 和选 择 类 排 序 3 大 类 。1交换类排序交换排序就是借助数据元素之间的互相交换进行排序的方法。常用的交换排序方法有冒泡排序和快速排序。(1)冒泡排序冒泡排序的过程简单,它的基本思想是通第一部分 公共基础知识- 4 -过对相邻元素进行比较,并根据比较的结果交换位置,从而逐步由任意序列变为有序序列。过程是:先从头往后扫描、然后从后往头扫描、再重复上述过程(2)快速排序快 速 排 序 就 是 一 种 可 以 通 过 一 次 交 换 而消 除 多 个 逆 序
31、 的 排 序 方 法 , 因 此 相 对 冒 泡 排 序法 而 言 , 速 度 要 快 。2插入类排序插 入 排 序 , 就 是 将 无 序 序 列 中 的 各 个 元 素 依次 插 入 到 已 经 排 好 序 的 线 性 表 中 。 常 用 的 插 入 排序 的 方 法 有 简 单 插 入 排 序 和 希 尔 排 序 。(1)简单插入排序简 单 插 入 排 序 的 方 法 是 : 在 初 始 序 列 中 , 将 只 包 含 第 1 个 元 素 的 子 序 列 看 成 是 一 个 有 序序 列 , 然 后 从 第 2 个 元 素 起 , 依 次 将 每 个 元 素插 入 到 前 1 个 有 序
32、 子 序 列 中 。(2)希尔排序希尔排序的基本思想是:将整个无序序列分割成若干个子序列,对每个子序列分别进行简单插入排序,最后再对全体元素进行一次简单插入排序。与简单插入排序的子序列构成方式不同,希尔排序是将原序列中相隔某个增量h 的 元 素 构 成 一 个 子 序 列 。 在 排 序 过 程 中 逐 步减 少 这 个 增 量 , 最 后 当 h 减 到 1 时 , 进 行 一 次插 入 排 序 , 排 序 就 完 成 了 。 增 量 序 列 一 般 取 hi = n/2k (k=1,2,, log2n), 其 中 n 为 待 排 序 序 列的 长 度 。 希 尔 排 序 的 效 率 与 所
33、 选 取 的 增 量 序 列有 关 。 通 过 希 尔 排 序 法 对 长 度 为 n 的 线 性 表 进行 排 序 , 如 果 选 取 了 上 述 增 量 序 列 , 最 坏 情 况下 , 需 要 比 较 的 次 数 为 O(n1.5)。3选择类排序常 用 的 选 择 排 序 有 两 种 , 简 单 选 择 排 序 和堆 排 序 。(1)简单选择排序简单选择排序的基本步骤是: 在 一 组 n 个 数 据 中 选 择 出 最 小 值 ; 若它 不 是 这 组 数 据 中 的 第 1 个 数 据 , 则 将 它 与 这组 数 据 中 的 第 1 个 数 据 互 换 位 置 ; 对 剩 下 的子
34、表 采 用 同 样 的 方 法 , 直 到 子 表 空 为 止 。(2)堆排序法在 学 习 堆 排 序 之 前 , 我 们 先 来 看 一 下 堆 的定 义 , 堆 的 定 义 如 下 :具 有 n 个 元 素 的 序 列 ( h1, h2, , hn) ,当且仅当满足或(i=1,2, ,n/2)时称之为堆。第 2 章 程序设计基础考点 1 程序设计方法与风格程 序 是 一 组 计 算 机 指 令 的 集 合 , 是 程 序 设 计 的最 终 成 果 。 程 序 设 计 方 法 所 要 做 的 工 作 是 , 如 何 对 实际 问 题 进 行 抽 象 和 归 纳 以 及 对 程 序 进 行 编
35、 排 , 才 能使 程 序 的 可 读 性 、 稳 定 性 、 可 维 护 性 、 效 率 等 更 好 。目 前 , 主 要 有 两 种 程 序 设 计 方 法 : 结 构 化 程 序 设 计 和面 向 对 象 程 序 设 计 。1源程序文档化 符 号 名 的 命 名 : 符 号 名 的 命 名 应 尽 量 表 达一 些 实 际 意 义 , 以 增 强 程 序 的 可 读 性 。 程 序 注释 : 良 好 的 注 释 能 够 帮 助 读 者 理 解 程 序 。 注 释 一般 分 为 序 言 性 注 释 和 功 能 性 注 释 , 以 给 出 程 序 的整 体 说 明 和 程 序 的 主 要 功
36、 能 。 序 言 性 注 释 一 般 位于 每 一 个 程 序 的 开 头 部 分 , 它 给 出 程 序 的 整 体 说明 ; 功 能 性 注 释 一 般 嵌 在 原 程 序 之 中 。 视 觉 组织 : 为 使 程 序 的 结 构 清 晰 明 了 , 可 以 在 程 序 中 利用 空 行 、 空 格 、 缩 进 等 技 巧 使 程 序 层 次 清 晰 。2数据说明的方法在编写程序时,一定要注意数据说明的方法。为使程序中的数据说明易于理解和维护。3语句的结构程 序 的 语 句 应 该 简 单 易 懂 , 在 编 写 程 序时 , 应 注 重 : 每 一 行 只 写 一 条 语 句 。 程 序
37、 编 写 优先 考 虑 清 晰 性 。 一 般 情 况 下 , 在 编 写 程 序 时 , 要做 到 清 晰 第 一 , 效 率 第 二 。 首 先 要 保 证 程 序 的 正确 性 , 然 后 再 提 高 速 度 。 避 免 使 用 临 时 变 量 而 使程 序 的 可 读 性 下 降 。 尽 可 能 使 用 库 函 数 。 避 免不 必 要 的 转 移 。 利 用 信 息 隐 蔽 , 保 证 每 一 个 模 块的 独 立 性 。 避 免 使 用 复 杂 的 条 件 嵌 套 语 句 。 避 免使 用 无 条 件 转 移 语 句 。 尽 量 做 到 模 块 功 能 单 一 化 。不 要 修 补
38、 不 好 的 程 序 , 要 重 新 编 写 。4输入和输出输入和输出的方式应尽可能方便用户的使用。系统能否让用户接受,往往取决于输入和输出的风格。选 择 题 考 点 秘 籍 二 级 C 语 言- 5 -考点 2 结构化程序设计1结构化程序设计的原则结 构 化 程 序 设 计 必 须 遵 守 模 块 化 、 自 顶 向下 、 逐 步 求 精 、 限 制 使 用 goto 语 句 的 原 则 。2结构化程序设计的基本结构与特点结 构 化 程 序 设 计 方 法 是 一 种 程 序 设 计 的先 进 方 法 。 实 事 证 明 , 在 程 序 设 计 时 , 只 要 使用 3 种 程 序 结 构
39、就 可 以 实 现 所 有 的 结 构 形 式 , 它 们 是 顺 序 结 构 、 选 择 结 构 和 循 环 结 构 。3结构化程序设计原则和方法的应用结 构 化 程 序 设 计 的 效 率 较 高 , 但 是 在 实 际设 计 程 序 时 , 应 要 注 意 : 使 用 程 序 设 计 语 言 中的 顺 序 、 选 择 、 循 环 等 有 限 的 控 制 结 构 表 示 程序 的 控 制 逻 辑 。 选 用 的 控 制 结 构 只 允 许 有 一 个入 口 和 一 个 出 口 。 程 序 语 句 组 成 容 易 识 别 的 语 句序 列 块 , 每 块 只 允 许 有 一 个 入 口 和
40、一 个 出 口 。 复杂 结 构 的 程 序 设 计 时 , 仅 用 嵌 套 的 基 本 控 制 结 构进 行 组 合 嵌 套 来 实 现 。 语 言 中 所 没 有 的 控 制 结构 , 应 采 用 前 后 一 致 的 方 法 来 模 拟 。 严 格 控 制 goto 语 句 的 使 用 , 但 不 是 完 全 不 能 用 。考点 3 面向对象的程序设计面 向 对 象 方 法 , 现 在 已 经 发 展 为 一 种 主 流的 软 件 开 发 方 法 。 它 历 经 了 多 年 的 研 究 和 发展 , 已 经 日 益 成 熟 和 完 善 , 应 用 也 越 来 越 深 入和 广 泛 。1面向
41、对象方法的特点面 向 对 象 的 程 序 设 计 , 是 在 结 构 化 程 序 设计 的 基 础 上 , 以 更 接 近 人 们 通 常 思 维 的 方 式 来解 决 问 题 的 一 种 全 新 的 软 件 开 发 技 术 。面 向 对 象 的 程 序 设 计 以 对 象 为 核 心 , 强 调对 象 的 “封 装 性 ”“继 承 性 ”“抽 象 性 ”和 “多 态性 ”。 其 本 质 就 是 主 张 从 客 观 世 界 固 有 的 事 物 出 发来 构 造 系 统 , 提 倡 用 人 类 在 现 实 生 活 中 常 用 的思 维 方 法 来 认 识 、 理 解 和 描 述 客 观 事 物 。2面向对象方法的基本概念(1)对象(object)面向对象方法认为:现实世界是由一系列的对象组成的。对象是现实世界中彼此相关并互通信息的实体。每个对象都包含了两部分的内容:描述对象状态的数据和描述对象行为。对象是面向对象方法中最基本的概念。因此, 面向对象方法中的对象是由描述该对象属性的