计算机等级考试二级C语言重点难点分析与题解_第1页
计算机等级考试二级C语言重点难点分析与题解_第2页
计算机等级考试二级C语言重点难点分析与题解_第3页
计算机等级考试二级C语言重点难点分析与题解_第4页
计算机等级考试二级C语言重点难点分析与题解_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第 2 章章 数据结构数据结构与算法与算法 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解 与模拟 本章节主要考查算法的基本概念 基本的数据结构及其基本操作 查找和排序 算法 本章的内容在历次试题中所占的比例约为 11 2 都是以选择题和填空题的形式出 现的 本章历次试题分数分布如表 2 1 所示 从 计算机等级考试二级 C 语言考点分析 题解与模拟 表 2 1 中我们可以看出 算法 的基本概念 数据结构的定义 栈和树几乎是每次必考的知识点 查找和排序基本上每次 有一道试题 线性表 队列和线性链表很少单独出题 但经常与其它知识点结合出题 本章涉及知识点分值在历次试题中比重如图 2 1 所示 2 1 算法的基本概念算法的基本概念 从 计算机等级考试二级 C 语言考点分析 题解与模拟 图 2 1 可以看出 该节知识点 所占试题比重为 18 属于重点考查对象 基本上每次必考 主要考查算法的定义和对算 法复杂度的理解 历次试题分值在 0 4 分之间波动 其变化趋势如图 2 2 所示 2 1 1 考点考点 1 算法的定义 算法的定义 算法是对一个问题求解步骤的一种描述 是求解问题的方法 它是指令的有限序列 其 中每条指令表示一个或者多个操作 一般来说 一个算法具有以下 5 个主要的特征 1 有穷性 一个算法 对任何合法的输入 在执行有穷步后能够结束 并且在有限的 时间内完成 2 确定性 算法中的每一步都有确切的含义 3 可行性 算法中的操作能够用已经实现的基本运算执行有限次来实现 4 输入 一个算法有零个或者多个输入 零个输入就是算法本身缺定了初始条件 5 输出 一个算法有一个或者多个输出 以反映出数据加工的结果 本章节内容来自希赛全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解与模拟 购书请见 例 2 1 1 问题处理方案的正确而完整的描述称为 2005 年 4 月 填空第 5 题 答案 算法 例 2 1 2 一个算法应该具有 确定性 等 5 个特性 下面对另外 4 个特性的描述中错误的 是 A 有零个或多个输入 B 有零个或多个输出 C 有穷性 D 可行性 答案 B 例 2 1 3 算法具有 5 个特性 以下选项中不属于算法特性的是 A 有穷性 B 简洁性 C 可行性 D 确定性 答案 B 第第 3 章章 程序设计基础程序设计基础 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题 解与模拟 本章主要考查程序设计的一些基本知识 比如程序设计的方法与风格 结构 化程序设计与面向对象程序设计的基本思想 从历次的试题来看 本章试题分值约占 2 4 属于非重点考查对象 尽管分值所占的比例较少 但基本上每次至少有一道试题 试题以选择和填空的形式出现 本章历次试题分数分布如表 3 1 所示 从 计算机等级考试二级 C 语言考点分析 题解与模拟 表 3 1 中我们可以看出 本 章知识点试题的分值在 0 4 分之间波动 结构化程序设计和面向对象程序设计是重点 本章涉及的知识点分值在历次试题中比重如图 3 1 所示 3 1 程序设计程序设计 从 计算机等级考试二级 C 语言考点分析 题解与模拟 图 3 1 可以看出 该节知识 点所占试题比重为 17 属于非重点考查对象 到目前为止 该知识点只出过一道选择题 从考试大纲来看 主要考查程序设计的方法 程序设计风格 历次试题分值分布如图 3 2 所示 3 1 1 考点考点 1 程序设计的方法 程序设计的方法 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题 解与模拟 购书请见 指令的有序集合 它是为了解决某一问题而设计的一系列指令 程序设计是使用计算机系 统的指令或语句 组成求解不同问题 实现不同算法所需的完整序列的一个工作过程 随 着计算机硬件技术的发展以及计算机技术的广泛应用 根据需求程序设计的方法也经过了 几个发展的过程 在程序设计早期 由于受到计算机硬件的限制 运行速度慢 存储空间少 使得程序 员不得不提高程序的效率 在这种情况下 编程成了一种技巧和艺术 程序的可理解性和 可扩充性没有得到重视 在这个时期出现的高级语言有 Fortran COBOL ALGOL Basic 等语言 在这个时期不注重程序的结构 可以说这是没有固定程序设计方法的时期 计算机硬件得到了很大的发展 在编程的时候 运行速度和存储空间不再困扰程序员 计算机技术应用范围的扩大使得程序必须要有良好的结构 在这种需求下 提出了结构化 程序设计方法 这时出现的高级语言有 PASCAL C 等 20 世纪 60 年代后期 提出了类 和对象的概念 程序设计已经不是问题的中心 如何更好地描述问题已经成为了主题 因 此在这种情况下 面向对象的程序设计方法发展起来了 并得到广泛地应用 进入 20 世纪 80 年代后 出现了一系列的面向对象程序设计语言 如 C 等 下面我们会详细讨论结构化程序设计和面向对象程序设计 3 1 2 考点考点 2 程序设计的风格 程序设计的风格 我们在编写程序时要养成良好的程序设计习惯 对程序的要求不仅能够在计算机上正 确运行 而且要便于阅读和被别人理解 便于程序的调试和维护 好的程序设计风格有助 于提高程序的正确性 可读性 可维护性和可用性 要使程序具有良好的风格 概括起来 可以分成 4 部分 源程序文档化 数据说明 语句结构 输入 输出方法 1 源程序文档化 源程序文档化 源程序文档化主要包括 标识符的命名 程序中添加注释以及程序的编辑风格 1 标识符的命名 标识符即符号名 包括变量名 模块名 常量名 标号名 函数名 数据区名和缓冲 区名等 一个程序中必然有很多的标识符 特别是在一个复杂大型的程序中 标识符可能 成千上万 对标识符作用的正确理解是读懂程序的前提 如果程序员随意命名标识符 程 序的可读性会很差 因此 标识符的命名应该要规范化 具体要根据下面几个原则来命名 选取有实际意义的标识符名称 为了方便理解标识符的作用 标识符的名字要能够 反映其作用 如用于存储数量的变量的名称可以是 count 等 为了便于程序的输入 标识符的名字不宜太长 必要时可以用一些缩写 但是要注 意缩写规则要一致 并且要给每一个变量加上注释 为了便于区分 不同的标识符不要取过于相似的名字 由于程序中通常需要大量不同类型的标识符 为了使说明部分阅读起来更加清晰 在对其进行类型说明时应注意以下几点 按照某种顺序对各种类型的变量进行集中说明 如先说简单类型 再说明记录类型 在使用一个说明语句对同一类型的多个变量进行说明 时 按照变量名中的字母顺序进行排列 2 程序中加注释 注释是程序员与日后的程序读者之间通信的重要工具 用自然语言或伪码描述 它说 明了程序的功能 特别在维护阶段 对理解程序提供了明确指导 一些正规的程序文本中 注释行的数量占到整个源程序的 1 3 1 2 甚至更多 注释分序言性注释和功能性注释 序言性注释 一般置于每个程序模块的开头部分 它应当给出程序的整体说明 用 来引导读者理解程序 主要描述内容可以包括 程序标题 程序功能说明 主要算法 接 口说明 有关数据描述 程序位置 开发简历 程序设计者 复审者 复审日期和修改日 期等 功能性注释 一般置于程序体中 用来描述其后的语句或程序段是用来做什么的 或者是执行了其下面的语句或程序段会产生什么样的效果 而不要解释下面该怎么做 3 程序的编辑风格 为了使程序的结构一目了然 可以在程序中利用空格 空行 缩进等技巧使程序层次 清晰 便于程序的理解 可以按照以下几个原则来编辑程序 恰当地利用括号 可以突出运算的优先性 避免发生运算错误 程序段之间可用空行隔开 对于选择语句和循环语句 应该做适当的缩进 使得程序的逻辑结构更加清晰 2 数据说明 数据说明 在程序设计时 应该注意数据说明的风格 为了使数据定义更易于理解和维护 有以 下指导原则 1 数据说明顺序应规范化 使数据的属性更易于查找 从而有利于测试 纠错与维 护 原则上 数据说明的次序与语法无关 其次序是任意的 但是便于阅读和理解 最好 使其规范化 使说明次序按照某种规则固定 例如 按以下顺序 常量说明 类型说明 全程量说明及局部量说明 2 语句中变量的说明应有序化 多个变量在同一个说明语句中说明时 各变量名按 字典序排列 3 使用注释来说明复杂的数据结构时 要说明在程序实现这个数据结构时的特点 3 语句结构 单个语句结构是编码阶段的任务 语句结构追求简单直接 不能为了追求效率而使代 码复杂化 我们可以根据下面的原则来构造语句 为了便于阅读和理解 不要一行多个语句 要避免复杂的判定条件 避免多重的循环嵌套 表达式中使用括号以提高运算次序的清晰度 程序编写首先应当考虑程序结构的清晰性 不要刻意追求技巧性 使得程序复杂 除非对效率有特殊要求 否则先要考虑程序的清晰性 不要追求高效率而丧失程序 的清晰度 程序编写要简单 要直截了当地表达出程序员的用意 首先要保证程序正确 然后才要求提高速度 避免使用临时变量而使程序可读性下降 尽可能使用库函数 4 输入和输出 输入和输出是程序的一个重要的组成部分 是用户和计算机交互直接相关的 输入和 输出的方式应当尽量方便用户的使用 一定要避免输入输出的不当而导致用户使用软件麻 烦 因此 在软件需求分析阶段和设计阶段 就应基本确定输入和输出的风格 软件能否 被用户接受 有时就取决于输入和输出的风格 一个良好的输入输出风格能够使用户很方便地使用系统 我们在编码阶段可以根据下 面的原则来设计一个好的输入输出 对所有输入的数据都要进行有效性检查 要能够识别出错误的输入 对错误的输入 做出异常处理 使得每个输入数据都具有有效性 检查输入数据项的各种重要组合的合理性 必要时报告输入状态信息 在输入时 输入的步骤和方式应该尽量简单 输入数据时 应允许使用自由格式输入 允许默认值 输入一批数据时 最好使用输入结束标志 而不要用户指定输入数据数目 在交互输入时 要给用户提示信息 如可使用选择项的种类和取值范围 在输入结 束时 给出状态信息 当程序设计语言对输入 输出格式有严格要求时 应保持输入格式与输入语句的要 求的一致性 给所有的输出加注解 并设计输出报表格式 本章节内容来自全国计算机等级考试 用书 计算机等级考试二级 C 语言考点分析 题解与模拟 购书请见 例 3 1 1 以下叙述中错误的是 2005 年 9 月 选择第 11 题 A 用户所定义的标识符允许使用关键字 B 用户所定义的标识符应尽量做到 见名知意 C 用户所定义的标识符必须以字母或下划线开头 D 用户定义的标识符中 大 小写字母代表不同标识 答案 A 第第 4 章章 软件工程软件工程基础基础 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解 与模拟 本章主要掌握以下几个方面内容 1 软件工程的基本概念 软件生命周期概念 软件工具和软件开发环境 2 结构化分析方法 数据流图 数据字典和软件需求规格说明书 3 结构化设计方法 总体设计和详细设计 4 软件测试的方法 白盒测试与黑盒测试 测试用例设计 软件测试的实施 单元测 试 集成测试和系统测试 5 程序调试 静态调试与动态调试 6 软件维护 通过对历次试卷内容的分析 软件工程考核内容占卷面分数 6 8 历次试题分数分布如 表 4 1 所示 从 计算机等级考试二级 C 语言考点分析 题解与模拟 表 4 1 可以看出 软件工程历 次试题分数均在 6 10 分之间 其中 结构化设计方法和软件测试几乎每次必考 这两节应 重点掌握 程序调试和软件维护试题均在 0 2 分之间波动 也应该引起注意 到目前为止 还没有出过与结构化分析方法相关的题目 但切不可掉以轻心 本章涉及知识点分值在历次试题中比重如 计算机等级考试二级 C 语言考点分析 题解 与模拟 图 4 1 所示 4 1 软件工程的基本概念 软件工程的基本概念所涉及的试题分值在本章中所占比重为 16 试题分值变化趋势如 计算机等级考试二级 C 语言考点分析 题解与模拟 图 4 2 所示 4 1 1 考点考点 1 软件与软件工程概述 软件与软件工程概述 1 软件的定义 软件的定义 软件是程序 数据与相关文档的集合 相对于计算机硬件而言 软件是逻辑产品而不是 物理产品 是计算机的无形部分 软件包括系统软件和应用软件 系统软件是计算机管理自身资源 提高计算机使用效率 而编写的软件 系统软件依赖于机器的指令系统 中断系统 以及运算 控制 存储部件 和外部设备 系统软件包括操作系统 如 Windows UNIX Linux Macintosh 等 各种 语言编译的编译程序 数据库管理系统 文件编辑系统 系统检查与诊断软件等 应用软 件是专门为了某种使用目的而编写的程序系统 常用的有文字处理软件 如 WPS 和 Word 专用的财务软件 人事管理软件 计算机辅助软件 如 AutoCAD 和绘图软件 如 3DS 等 与硬件相比 软件的特点包括 1 软件是一种逻辑实体 2 软件的生产与硬件不同 它没有明显的制作过程 3 软件在运行 使用期间不存在磨损 老化问题 4 软件的开发 运行对计算机系统具有依赖性 受计算机系统的限制 这导致了软件 存在移植的问题 5 软件复杂性高 成本昂贵 6 软件开发涉及诸多的社会因素 2 软件工程的定义 软件工程的定义 随着计算机的应用范围日益广泛 传统的软件开发成本难以控制 进度不可预计 软件 系统的质量和可靠性很差 软件文档相当缺乏 软件系统不可维护 软件开发生产率很低 软件产品供不应求 软件产品成本十分昂贵等特点日益显现 成为计算机应用的一个 瓶颈 出现了所谓的 软件危机 1968 年 北大西洋公约组织 NATO 召开计算机科学会议 首次提出了软件工程的概念 试图用工程化的方法开发软件 从而解决或缓解软件危机 软件工程是采用工程化的方法开发和维护软件的工程学科 把经过时间考验而证明正确 的管理技术和当前能够得到的最好的技术和方法结合起来 以便经济地开发出高质量的软 件并有效地维护它 软件工程包括 3 个要素 分别是方法 工具和过程 软件工程的基本思想是在软件开发过程中需要应用工程化原则进行软件开发 并将这个 思想贯穿到软件开发的整个过程中 软件工程的目标是在给定成本 进度的前提下 利用工程化原则 开发出具有可修改性 有效性 可靠性 可理解性 可维护性 可重用性 可适用性 可移植性 可追踪性和可 互操作性并满足用户需求的软件产品 本章节内容来自希赛全国计算机等级考试用书 计 算机等级考试二级 C 语言考点分析 题解与模拟 购书请见 3 例题 例题 例 4 1 1 下列描述中正确的是 2005 年 4 月 选择第 8 题 A 程序就是软件 B 软件开发不受计算机系统的限制 C 软件既是逻辑实体 又是物理实体 D 是程序 数据与相关文档的集合 答案 D 例 4 1 2 下列描述中正确的是 2005 年 9 月 选择第 5 题 A 软件工程只是解决软件项目的管理问题 B 软件工程主要解决软件产品的生产率问题 C 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D 软件工程只是解决软件开发中的技术问题 答案 C 本章节内容来自希赛全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解与模拟 购书请见 第第 5 章章 数据库设计基础数据库设计基础 本章节内容来自希赛全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解与模拟 本章主要掌握以下几个方面内容 1 数据库的基本概念 数据库 数据库管理系统和数据库系统 2 数据模型 实体联系模型 E R 图和从 E R 图导出关系数据模型 3 关系代数运算 包括集合运算及选择 投影 连接运算 和数据库规范化理论 4 数据库设计方法和步骤 需求分析 概念设计 逻辑设计和物理设计的相关策略 通过对历次试卷内容的分析 本章考核内容占卷面分数 8 8 历次试题分数分布如表 5 1 所示 从 计算机等级考试二级 C 语言考点分析 题解与模拟 表 5 1 可以看出 数据库基础 知识和数据模型每次必考 且分值比重较大 应该重点掌握 关系运算与数据库设计试题 所占比例虽不算太大 但对这两节的相关知识也应该充分理解 从最近一次考试看 各章 试题分数有趋同的倾向 数据库设计基础涉及知识点分值在历年试题中的比重如 计算机等级考试二级 C 语言考 点分析 题解与模拟 图 5 1 所示 5 1 数据库基础知识数据库基础知识 信息在现代社会中起着越来越重要的作用 信息资源的开发和利用水平已成为衡量一个 国家综合国力的重要标志 在计算机应用领域中 数据处理是其主要方面 数据库技术就 是作为数据处理中的一门技术而发展起来的 本节介绍数据库系统的基本概念和发展历史 初步了解数据库系统的概貌 数据库基础知识所涉及的试题分值在本章中所占比重为 41 试题分值变化趋势如 计算 机等级考试二级 C 语言考点分析 题解与模拟 图 5 2 所示 5 1 1 考点考点 1 数据库 数据库 数据库 Database DB 可以看成是长期存储在计算机内的 大量的 有结构的和可共 享的数据集合 数据是描述现实世界中各种具体事物和抽象概念的可存储并有明确意义的 信息 数据库可以被直观地理解为存放数据的仓库 只不过这个仓库是在计算机的大容量存储 器上 例如 硬盘就是一种最常见的计算机大容量存储设备 数据必须按一定的格式存放 因为它不仅需要存放 而且还要便于查找 数据库的特点如下 1 数据按一定的数据模型组织 描述和储存 2 冗余度较小 数据共享大大减少了数据冗余 3 数据独立性较高 数据独立性是数据库领域中一个常用的术语 也是数据库技术的 重要特点之一 数据独立性是指数据的组织结构和存储方法与应用程序互不依赖 彼此独 立 它包括数据的物理独立性和数据的逻辑独立性 物理独立性是指用户的应用程序与存 储在磁盘上的数据库中的数据是相互独立的 也就是当数据的物理存储改变了 用户程序 也可以不变 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的 也就是 说 数据的逻辑结构改变了 用户程序也可以不变 4 易扩展 5 可为各种用户共享 不同的用户可以使用同一个数据库 可以取出他们所需要的子 集 而且容许子集任意重叠 本章节内容来自希赛全国计算机等级考试用书 计算机等级 考试二级 C 语言考点分析 题解与模拟 购书请见 例 5 1 1 数据独立性是数据库技术的重要特点之一 所谓数据独立性 是指 2005 年 4 月 选择第 9 题 A 数据与程序独立存放 B 不同的数据被存放在不同的文件中 C 不同的数据只能被对应的应用程序所使用 D 以上三种说法都不对 答案答案 D 例 5 1 2 数据库设计的根本目标是要解决 2005 年 9 月 选择第 8 题 A 数据共享问题 B 数据安全问题 C 大量数据存储问题 D 简化数据维护 答案答案 A 例 5 1 3 下列叙述中正确的是 2004 年 9 月 选择第 9 题 A 数据库系统是一个独立的系统 不需要操作系统的支持 B 数据库设计是指设计数据库管理系统 C 数据库技术的根本目标是要解决数据共享的问题 D 数据库系统中 数据的物理结构必须与逻辑结构一致 答案答案 C 第第 6 章章 C 程序设计的初步知识程序设计的初步知识 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题 解与模拟 本章主要考查 C 程序构成与格式 常用数据类型 运算符和表达式 通过对 历年试卷内容的分析 本章考核内容约占 12 属于重点考查内容 由命题走势 计算机 等级考试二级 C 语言考点分析 题解与模拟 图 6 1 可知 本章部分所涉及考题分值有下 降的趋势 6 1 C 程序简介程序简介 6 1 1 考点 1 C 源程序编译与执行 由高级语言编写的程序称为 源程序 机器可以接受和处理的二进制代码称为 目标程 序 把 源程序 翻译成 目标程序 的软件称为 编译程序 每一种高级语言都有与它对应 的编译程序 C 语言也不例外 其编译程序的功能如 计算机等级考试二级 C 语言考点分 析 题解与模拟 图 6 2 所示 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题 解与模拟 由 C 语言构成的指令序列称 C 源程序 C 源程序经过 C 语言编译程序编译之 后生成一个后缀为 OBJ 的二进制文件 称为目标文件 最后要由 连接程序 把此 OBJ 文 件与 C 语言提供的各种库函数连接起来生成一个后缀为 EXE 的可执行文件 在 DOS 状态 下 输入此文件名字 不必输入后缀 EXE 该文件就可以执行 例 6 1 1 以下叙述中错误的是 2006 年 4 月 选择第 44 题 A C 语言源程序经编译后生成后缀为 obj 的目标程序 B C 程序经过编译 连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C 用 C 语言编写的程序称为源程序 它以 ASCII 代码形式存放在一个文本文件中 D C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 答案 D 第第 7 章章 顺序结构程序设计顺序结构程序设计 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题 解与模拟 本章主要考查输入输出和顺序结构设计方法 顺序结构程序设计属于最基本 的程序设计方法之一 掌握这一部分对后续学习及程序阅读作用极大 通过对历年试卷内 容的分析 本章考核内容约占 4 属于一般考查对象 由下面的 计算机等级考试二级 C 语言考点分析 题解与模拟 命题走势图 7 1 可知 本节部分所涉及的直接考题有下降 的趋势 但是由于这部分内容属于基础考点 别的试题或多或少与之相关 所以考生务必 熟练掌握这一部分内容 7 1 基本概念 7 1 1 考点 1 顺序程序概述 顺序结构是按照语句的排列顺序依次执行 流程图如 计算机等级考试二级 C 语言考 点分析 题解与模拟 图 7 2 所示 程序执行完语句组 1 后再接着按照顺序执行语句组 2 有一个比较经典的例子来表达顺序结构的思想 交换两整数的值 本章节内容来自希 赛全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解与模拟 购 书请见 例如 a 0 b 99 交换 a b 的值 达到最后的结果 a 99 b 0 在实现这个算法的时候 定义一个中间变量 c 用它来临时保存 a 的值 再把 b 的值赋给 a 这个时候 a 就得到 b 的值 的 我们再把保存 a 的变量 c 赋给 b 这时 b 就得到原 a 的值 正确的程序为 void main int a b int c a 0 b 99 c a a b b c 执行完这 3 条语句后 a 99 b 0 如果改变其顺序 写成 void main int a b int c a 0 b 99 a b c a b c 则执行结果就变成 a b 99 不能达到预期目的 因为程序顺序执行 所以先把 b 的值 赋给 a a 变成 99 然后再把 a 赋给 c c 也变成 99 这时再把 c 赋给 b b 也变成 99 没 有达到我们程序的目的 按照上面的程序 顺序结构可以独立使用构成一个简单的完整程序 常见的输入 计 算 输出三步曲的程序就是顺序结构 例如 计算长方形的面积 其程序的语句顺序就是 输入长方形的长 length 和宽 wide 计算 S length wide 输出它的面积 S 而大多数情况 下 顺序结构都是作为程序的一部分 与其他结构一起构成一个复杂的程序 例如 分支 结构中的块体 循环结构中的循环体等 例 7 1 1 下列描述正确的是 A 顺序结构不能单独构成一个完整的程序 B 顺序结构 循环结构 选择结构是三种最基本的结构 C 程序从文件最开始执行 不一定是从 main 函数开始执行 D 程序按照语句的书写顺序执行 答案 B 第第 8 章章 选择结构程序设计选择结构程序设计 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题 解与模拟 本章主要考查选择结构设计方法 其中包括关系运算符 逻辑运算符 条件 运算符以及最常见的 if 条件判断语句 选择结构程序属于 3 种基本的程序设计方法之一 通过对历年试卷内容的分析 本章考核内容约占 4 属于一般考查内容 由下面的命题 走势图 8 1 可知 本章部分所涉及的直接考题有上升的趋势 8 1 基本概念 8 1 1 考点 1 关系运算和逻辑运算 选择结构是按照条件的真假选择执行某段代码 流程图如 计算机等级考试二级 C 语 言考点分析 题解与模拟 图 8 2 所示 如果条件 1 为真 则执行语句组 1 否则执行语 句组 2 条件 1 中的真 T 和假 F 就是 C 语言中的两种逻辑值 真用非 0 代表 假用 0 代 表 关系运算和逻辑运算的结果只有真 非 0 或者假 0 关系运算符包括 等于 不等于 小于 大于 大于等于 优先级的关系是 和 比其余的低 相同的优先级运算规则是从左到 右 例如 1 1 真 1 1 假 1 2 真 22 假 2 2 真 若 a 5 b 3 c 1 则 a b c 的计算过程是 先计算 a b 结果为真 值为 1 再计算 1 c 结果为假 值为 0 所以 a b c 表达式为假 f b c a 的计算过程是 先计算 b c 结果为 1 再计算 1 a 结果为 1 最后将 1 赋值给 f 逻辑运算符包括 逻辑非 当输入回车的时候退出 int i 10 while i printf d i i 输出从 10 到 1 的数据 在 0 的时候退出 对 while 语句的几点说明 1 在 while 循环体内也允许空语句 如第一个例子中 并且当循环条件一开始就为假 或为 0 的时候 循环体不执行一次 直接跳出循环 2 可以有多层 while 循环嵌套 3 语句组是多条语句的时候 必须用 和 括起来 4 while 语句中的表达式一般是关系表达式或逻辑表达式 只要表达式的值为真 非 0 即可继续循环 应该避免非人为的死循环 例 9 1 1 有以下程序 main int y 10 while y printf y d n y 程序执行后的输出结果是 2006 年 4 月选择第 30 题 A y 0 B y 1 C y 1 D while 构成无限循环 答案 B 解析 注意这个 while 语句循环体是空语句 一直执行到 y 为 0 只有当 y 0 的时候执 行 y 才为 0 这个时候退出循环 但是 y 已经是 1 此类题目 可以列出每次循环的循环 变量的值分析 选择更形象 本章节内容来自希赛全国计算机等级考试用书 第第 10 章章 函函 数数 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解 与模拟 本章主要考查函数的定义与调用 函数中的数据传递和变量的类型等 包括函 数的基本概念 函数的返回值 参数传递中的传值方法与传地址方法 函数递归调用的分 析 静态存储变量的特点和全局变量与局部变量的作用域等 通过对历年试卷内容的分析 本章考核内容约占卷面分数的 10 属于重点考查内容 由命题走势图 10 1 可知 本节部 分所涉及考题分值逐渐上升 目前已呈平稳趋势 10 1 函数基本概念函数基本概念 10 1 1 考点 1 函数的概念 函数是 C 语言的基本组成部分 用来完成子程序的功能 一个完整的 C 程序包括一个 main 函数 主函数 和若干个其他函数 C 程序从 main 函数开始执行 当 main 函数执 行完毕时 整个程序就结束了 在 C 语言中 函数定义是平行的 函数不能嵌套定义 即函数之间没有从属关系 虽然 函数之间可以相互调用 但 main 函数不能被调用 根据用户使用情况 函数可以分为库函数和自定义函数两种 根据函数的形式 函数可 以分为无参函数和有参函数 本章节内容来自希赛全国计算机等级考试用书 计算机等级 考试二级 C 语言考点分析 题解与模拟 购书请见 例 10 1 1 以下关于函数的叙述中正确的是 2005 年 9 月 选择第 14 题 A 每个函数都可以被其他函数调用 包括 main 函数 B 每个函数都可以被单独编译 C 每个函数都可以单独运行 D 在一个函数内部可以定义另一个函数 解析 main 函数不能被调用 A 选项错误 C 程序的执行必须从 main 函数开始 C 选 项错误 函数不能嵌套定义 D 选项错误 答案 B 例 10 1 2 以下叙述中错误的是 2006 年 4 月 选择第 46 题 A C 程序必须由一个或一个以上的函数组成 B 函数调用可以作为一个独立的语句存在 C 若函数有返回值 必须通过 return 语句返回 D 函数形参的值也可以传回给对应的实参 答案 D 第第 11 章章 指针与数组指针与数组 本章节内容来自全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解 与模拟 本章主要考查指针的基础知识 数组的基础知识和字符串的应用 包括指针的 基本应用 一维数组的基本应用 二维数组的基本应用 指针和数组的关系 指针与数组 在函数参数传递中的应用 字符数组的应用和字符串的应用等 通过对历年试卷内容的分 析 本章考核内容约占卷面分数的 19 属于重点考查内容 由 计算机等级考试二级 C 语言考点分析 题解与模拟 命题走势图 11 1 可知 本章部分所涉及考题分值逐渐下降 目前已呈平稳趋势 11 1 指针基础知识 指针是 C 语言的精华之一 合理地运用指针可以有效地利用内存 提高程序效率 完成 复杂的数据结构 本章节内容来自希赛全国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解与模拟 购书请见 11 1 1 考点 1 地址 指针和指针变量 计算机内存是一个连续编码的单元 每个存储单元都有一个固定的编号 这个编号就是 地址 在 C 程序中定义变量 编译系统都会给这个变量分配相应的存储单元 因此 C 语言 中的变量就代表了内存中的一些存储单元 该单元的固定编号就是变量的地址 也称为指 针 在 C 语言中存在直接存取和间接存取两种访问内存数据的方法 前者利用变量名隐式地 访问内存 首先定义变量 然后由编译系统完成从变量名到内存地址的映射工作 用户通 过变量名访问内存空间 变量地址对用户完全透明 后者则通过指针显式地访问内存 用 户直接使用变量的地址 或者将变量的地址值储存于特殊的变量中 然后通过此特殊的变 量获取地址值访问内存 这个专门存放地址的特殊的变量就是指针变量 又称为指向某变 量的指针 为了更好地使用指针变量 C 语言提供了获取变量地址和通过地址访问变量的运算符 这里的 类型名 必须是在此语句之前已有定义的类型标识符 可以是任何基本类型 结 构或联合类型符号 也可以是 typedef 定义的类型名 标识符 是一个用户定义标识符 用 作新的类型名 例如 typedef int INTEGER 该语句把一个用户命名的标识符 INTEGER 说明成一个 int 类型的类型名 在此说明之后 就可以用 INTEGER 来代替 int 做整型变量的类型说明了 例如 INTEGER a b 它等效于 int a b 警钟长鸣 对于类型定义符 typedef 考生需要注意以下几点 本章节内容来自希赛全 国计算机等级考试用书 计算机等级考试二级 C 语言考点分析 题解与模拟 购书请 见 1 typedef 语句的作用仅仅是用 标识符 来代表已存在的 类型名 并未产生新的数据 类型 原有的类型名依然有效 2 新类型名一般用大写表示 以便区别 3 也可用宏定义来代替 typedef 的功能 但是宏定义是由预处理完成的 而 typedef 则 是在编译时完成的 后者更为灵活方便 4 用 typedef 定义新类型名可以使程序参数化 便于移植 如果将影响程序移植的因素 定义成符号 则程序移植时只需要修改相应的符号定义 而不需要修改程序 5 用 typedef 定义数组 指针 结构等类型将带来很大的方便 不仅使程序书写简单 而且使程序意义更为明确 也增强了程序的可读性 本章节内容来自希赛全国计算机等级 考试用书 计算机等级考试二级 C 语言考点分析 题解与模拟 购书请见 typedef char NAME 20 表示 NAME 是字符数组类型 数组长度为 20 然后可用 NAME 说明变量 如 NAME a1 a2 s1 s2 完全等效于 char a1 20 a2 20 s1 20 s2 20 例 13 1 1 以下叙述中错误的是 2006 年 4 月填空第 50 题 A 可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论