全国计算机等级考试二级C题库1共17套.pdf_第1页
全国计算机等级考试二级C题库1共17套.pdf_第2页
全国计算机等级考试二级C题库1共17套.pdf_第3页
全国计算机等级考试二级C题库1共17套.pdf_第4页
全国计算机等级考试二级C题库1共17套.pdf_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

第一套第一套 1 下面叙述正确的是 A 算法的执行效率与数据的存储结构无关 B 算法的空间复杂度是指算法程序中指令 或语句 的条数 C 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D 以上三种描述都不对 算法的设计可以避开具体的计算机程序设计语言 但算法的实现必须借助程序设计语言中提供的数据 类型及其算法 数据结构和算法是计算机科学的两个重要支柱 它们是一个不可分割的整体 算法在运行 过程中需辅助存储空间的大小称为算法的空间复杂度 算法的有穷性是指一个算法必须在执行有限的步骤 以后结束 本题答案为 C 2 数据库系统的核心是 A 数据模型 B 数据库管理系统 C 软件工具 D 数据库 数据库管理系统DBMS是数据库系统的核心 DBMS是负责数据库的建立 使用和维护的软件 DBMS建立 在操作系统之上 实施对数据库的统一管理和控制 用户使用的各种数据库命令以及应用程序的执行 最 终都必须通过DBMS 另外 DBMS还承担着数据库的安全保护工作 按照DBA所规定的要求 保证数据库的完 整性和安全性 本题答案为 B 3 在结构化方法中 用数据流程图 DFD 作为描述工具的软件开发阶段是 A 可行性分析 B 需求分析 C 详细设计 D 程序编码 软件开发阶段包括需求分析 总体设计 详细设计 编码和测试五个阶段 其中需求分析阶段常用的 工具是数据流图和数据字典 本题答案为 B 4 在软件开发中 下面任务不属于设计阶段的是 A 数据结构设计 B 给出系统模块结构 C 定义模块算法 D 定义需求并建立系统模型 软件设计一般分为总体设计和详细设计两个阶段 总体设计的任务是确定软件的总体结构 子系统和 模块的划分 并确定模块间的接口和评价模块划分质量 以及进行数据分析 详细设计的任务是确定每一 模块实现的定义 包括数据结构 算法和接口 本题答案为 D 5 下列叙述中正确的是 A 数据库是一个独立的系统 不需要操作系统的支持 B 数据库设计是指设计数据库管理系统 C 数据库技术的根本目标是要解决数据共享的问题 D 数据库系统中 数据的物理结构必须与逻辑结构一致 数据库是存储在计算机存储设备中的 结构化的相关数据的集合 数据库中的数据不只是面向某一项特 定的应用 而是面向多种应用 可以被多个用户 多个应用程序共享 不具有独立的系统 设计数据库的 目的实质上是设计出满足实际应用需求的实际关系模型 数据库技术的主要目的是有效地管理和存取大量 的数据资源 包括 提高数据的共享性 使多个用户能够同时访问数据库中的数据 减小数据的冗余 以 提高数据的一致性和完整性 提供数据与应用程序的独立性 从而减少应用程序的开发和维护代价 本题答案为 C 6 下面描述中 符合结构化程序设计风格的是 A 使用顺序 选择和重复 循环 三种基本控制结构表示程序的控制逻辑 B 模块只有一个入口 可以有多个出口 C 注重提高程序的执行效率 D 不使用 goto 语句 基于对结构化程序设计原则 方法以及结构化程序基本构成结构的掌握和了解 在结构化程序设计的 具体实施中 要注意把握如下要素 1 使用程序设计语言中的顺序 选择 循环等有限的控制结构表示程序的控制逻辑 2 选用的控制结构只准许有一个入口和一个出口 3 程序语句组成容易识别的块 每块只有一个入口和一个出口 4 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 5 语言中所没有的控制结构 应该采用前后一致的方法来模拟 6 严格控制GOTO语句的使用 其意思是指 1 用一个非结构化的程序设计语言去实现一个结构化的构造 2 若不使用GOTO语句会使功能模糊 3 在某种可以改善而不是损害程序可读性的情况下 本题答案为 A 7 下列模式中 能够给出数据库物理存储结构与物理存取方法的是 A 内模式 B 外模式 C 概念模式 D 逻辑模式 数据库管理系统的三级模式结构由外模式 模式和内模式组成 外模式 或子模式 或用户模式 是指数据库用户所看到的数据结构 是用户看到的数据视图 模式 或逻辑模式 是数据库中对全体数据的逻辑结构和特性的描述 是所有用户所见到的数据视图 的总和 外模式是模式的一部分 内模式 或存储模式 或物理模式 是指数据在数据库系统内的存储介质上的表示 即对数据的物理 结构和存取方式的描述 本题答案为 A 8 下面概念中 不属于面向对象方法的是 A 对象 B 继承 C 类 D 过程调用 面向对象方法是一种运用对象 类 封装 继承 多态和消息等概念来构造 测试 重构软件的方法 面向对象方法从对象出发 发展出对象 类 消息 继承等概念 本题答案为 D 9 在一棵二叉树上第 5 层的结点数最多是 A 8 B 16 C 32 D 15 根据二叉树的性质 二叉树第i i 1 层上至多有2i 1个结点 得到第5层的结点数最多是16 本题答案为 B 10 以下数据结构中不属于线性数据结构的是 A 队列 B 线性表 C 二叉树 D 栈 线性表 栈和队列等数据结构所表达和处理的数据以线性结构为组织形式 栈是一种特殊的线性表 这种线性表只能在固定的一端进行插入和删除操作 允许插入和删除的一端称为栈顶 另一端称为栈底 一个新元素只能从栈顶一端进入 删除时 只能删除栈顶的元素 即刚刚被插入的元素 所以栈又称后进 先出表 Last In First Out 队列可看作是插入在一端进行 删除在另一端进行的线性表 允许插入的 一端称为队尾 允许删除的一端称为队头 在队列中 只能删除队头元素 队列的最后一个元素一定是最 新入队的元素 因此队列又称先进先出表 First In First Out 本题答案为 C 11 下列程序的输出结果是 include using namespace std int main char a Hello World char ptr a while ptr if ptr a else cout n switch n case 1 case 2 cout 1 case 3 case 4 cout 2 break default cout 3 时 若键盘输入 1 则屏幕显示 A 1 B 2 C 3 D 12 switch语句又称为开关语句 它也是一种选择语句 switch语句的功能是根据给定表达式的不同取值 来决定从多个语句序列中的哪一个开始执行 break语句又称为跳出语句 break语句只能用在switch语句和循环语句中 在switch语句中 break 用来使执行流程跳出switch语句 而继续执行switch后面的语句 在循环语句中 break用来使执行流程无 条件地跳出本层循环 本题答案为 D 1414 有以下类定义 有以下类定义 class Point public Point int x 0 int y 0 x x y y void Move int xOff int yOff x xOff y yOff void Print const cout x y endl private int x y 下列语句中会发生编译错误的是 A Point pt pt Print B const Point pt pt Print C Point pt pt Move 1 2 D const Point pt pt Move 1 2 本题主要考查了const关键字的使用 可以在类型或类名前加上const来声明一个在运行时不可改变的 对象或变量 如果声明了一个常量对象 则其内部成员均不可改变 在编译时会检查其对应类的成员变量 是否为左值 如果是 则会出现错误 对于B而言 由于在对象pt中的print方法中没有发现存在左值成员 变量 故在编译时不会出错 本题答案为 D 15 有以下类定义 class MyClass private int id char gender char phone public MyClass id 0 gender phone NULL MyClass int no char ge char ph NULL id no gender ge phone ph 下列类对象定义语句中错误的是 A MyClass myObj B MyClass myObj 11C MyClass myObj 12 m D MyClass myObj 12 对于A 由于在创建MyClass的实例myObj时 没有参数 所以其调用了第一个构造函数 对于B 由于 有两个参数 故其调用了第二个构造函数 第二个构造函数有两个缺省参数 在调用时 实参会按从左到 右的顺序依次传给形参 所以第二个参数会传递给形参ge 而在原型中ge为字符型 实参为 指向字符的指针 故在编译时会出现错误 C与D都能够正确的实现参数的传递 本题答案为 B 16 下列函数原型声明中错误的是 A void Fun int x 0 int y 0 B void Fun int x int y C void Fun int x int y 0 D void Fun int x 0 int y 在C 中 可以为参数指定默认值 在函数调用时没有指定与形参相对应的实参时就自动使用默认值 默认参数可以简化复杂函数的调用 默认参数通常在函数名第一次出现在程序中的时候 如在函数原型中 指定默认参数值 指定默认参 数的方式从语法上看与变量初始化相似 例如 void myfunc int x 0 int y 1 如果一个函数中有多个参数 则默认参数应从右至左逐个定义从右至左逐个定义 本题答案为 D 17 关于面向对象的程序设计方法 下列说法正确的是 A 封装性 指的是将不同类型的相关数据组合在一起 作为一个整体进行处理 B 多态性 指的是对象的状态会根据运行时要求自动变化 C 基类的私有成员在派生类的对象中不可访问 也不占内存空间 D 在面向对象的程序设计中 结构化程序设计方法仍有着重要作用 封装性是指将数据和算法捆绑成一个整体 这个整体就是对象 描述对象的数据被封装在其内部 多 态性是指当多种事物继承自一种事物时 同一种操作在它们之间表现出不同的行为 基类的私有成员对派 生类来说是不可访问的 因此在派生类中直接引用基类的私有变量成员是不允许的 可以通过基类的公用 成员函数来引用基类的私有变量成员 C 是一种优秀的高级程序设计语言 它是以C语言为基础而逐渐发 展起来的 C 语言既保留了传统的结构化程序设计方法 又对流行的面向对象程序设计方法提供了完整的 支持 本题答案为 D 18 下列是模板声明的开始部分 其中正确的是 A template B template C template D template 本题主要考查了模板的定义 在C 中可以在定义类时不指定具体的数据类型 而在编译时进行前期绑 定 对于多参数的模板 在参数间用 隔开 如果模板参数为一个类 在模板参数前面必须加上class关 键字 本题答案为 C 19 有以下程序 include int i 0 void fun static int i 1 std cout i std cout i int main fun fun return 0 程序执行后的输出结果是 A 1 2 1 2 B 1 2 2 3 C 2 0 3 0 D 1 0 2 0 本题主要考查了static型的变量 在C 中可以为函数或类指定static型的变量 如果将一个变量指定 为static型 则该变量在内存中仅有一个副本 同时在函数或类执行完成后空间不会被释放 以前的值将 会被保留 同时还考查了C 中变量作用域的问题 在C 中如果要将一个变量限定在指定的范围内 可以 将该作用域用 包含起来 同时可在函数的外部指定全局变量 该变量的作用范围是从当前位置开始到程 序结束 对于 static int i 1 中的i 初始值为1 在调用std cout i 后 将输出 1 然后 自加1 对于第二句std cout i 该i所代表的应该是全局变量 i 故输出 0 在第二次执行fun 时 由于第一i为static型变量 其值是保留的 故输出 2 对于第二个i则输出 0 本题答案为 D 20 有以下程序 include using namespace std class MyClass public MyClass int n number n 拷贝构造函数 MyClass MyClass MyClass private int number MyClass fun MyClass p MyClass temp p return temp int main MyClass obj1 10 obj2 0 MyClass obj3 obj1 obj2 fun obj3 return 0 程序执行时 MyClass 类的拷贝构造函数被调用的次数是 A 5 B 4 C 3 D 2 obj1 10 将执行一次构造函数 obj2 0 也将执行一次构造函数 obj3 obj1 将以obj1作为参数执行一次构造函数 fun obj3 中的temp p 也将执行一次构造函数 而fun本身是按值传递参数的 形参在fun函数内也要 分配独立的空间 故也要执行一次构造函数 对于其返回结果也是MyClass类型的 同样需要执行一次构造 函数 故一共要执行4次 本题答案为 B 21 已知 int m 10 在下列定义引用的语句中 正确的是 A int B int y C int D int 本题主要考查了对引用及地址 B double Volume operator double C Volume Volume operator Volume D Volume operator Volume Volume 本题主要考查了运算符的重载 对于运算符的重载 通常有两种形式 1 操作结果 operator 运算符 操作数1 操作数2 2 操作结果 类 operator 运算符 操作数 对于上述选项中 B C为第二种类型 A D为第一种类型 在第一种类型中 两个操作数必须至少有 一个自定义类 对选项A而言 其两个操作数均为double型数据 因此选项A是错误的运算符重载 本题答案为 A 23 执行语句序列 ofstream outfile DATA DAT if cout OK else cout FAIL 后 如果文件打开成功显示 OK 否则就显示 FAIL 由此可知 上面 if 语句的 处的表达式应是 A outfile fail 或 outfile B outfile good 或 outfile C outfile good 或 outfile D outfile fail 或 outfile 在采用ofstream类打开文件时 在创建其实例时 可在构造函数中输入要打开的文件名 如果打开成 功 则返回一个ofstream类的实例 否则创建实例失败 返回0 同时可通过good 或fail 方法来判断文 件是否已打开 如果正常打开则fail 方法返回0 good 方法返回非零 否则fail 返回非零 good 返回0 本题答案为 C 24 在一个类体的下列声明中 正确的纯虚函数声明是 A virtual void vf 0 B void vf int 0 C virtual int vf int D virtual void vf int 本题考查了纯虚函数的定义 在C 中要定义一个函数为虚函数 可在函数定义前加上virtual关键字 如果要定义一个函数为纯虚函数 只要在函数原型后加上 0 就可以了 对于纯虚函数 必须要在其派生 类中实现 因此对于一个拥有纯虚函数的类 实质上就是一个抽象类 对于这种类 不能为其创建实例 本题答案为 A 25 有以下类定义 class MyClass public MyClass cout 1 则执行语句 MyClass a b 2 p 2 后 程序的输出结果是 A 11 B 111 C 1111 D 11111 class MyClass定义了一个类 其中MyClass cout 1 为其的构造函数 当程序创建类MyClass的实 例时 该函数将会被调用 在执行 MyClass a b 2 p 2 时 一共创建了3个这样的实例 故一共执行 构造函数3次 对于变量p 则是声明了一个指针数组 该数组中的元素是指向类MyClass实例的指针 本身 并没有创建类的实例 本题答案为 B 26 有以下程序 include using namespace std class Complex public Complex double r 0 double i 0 re r im i double real const return re double imag const return im Complex operator Complex c const return Complex re c re im c im private double re im int main Complex a Complex 1 1 Complex 5 cout a real a imag i 是一个 A 用于输出操作的非成员函数 B 用于输入操作的非成员函数 C 用于输出操作的成员函数 D 用于输入操作的成员函数 C 流的输入运算符 和输出运算符 或 A B x y C x y D x y 对于 这样的运算 其操作数必须为一变量 因为x y是表达式故答案C是错误的 本题答案为 C 36 数据的逻辑结构在计算机存储空间中的存放形式称为数据的 标准答案为 模式 或 逻辑模式 或 概念模式 模式也称逻辑模式或概念模式 是数据库中全体数据的逻辑结构和特征的描述 是所有用户的公共数 据视图 例如数据记录由哪些数据项构成 数据项的名字 类型 取值范围等 外模式是模式的子集 所以也称子模式或用户模式 是数据库用户能够看见的和使用的 局部的逻辑 结构和特征的描述 是与某一应用有关的数据的逻辑表示 内模式也称物理模式或存储模式 一个数据库只有一个内模式 它是数据物理结构和存储方式的描述 是数据库内部的表示方法 例如 记录的存储方式是顺序存储 索引按照什么方式组织 数据是否压缩存 储 是否加密等 37 关系数据库管理系统能实现的专门关系运算包括选择 连接和 标准答案为 投影 专门的关系运算主要包括对单个关系进行垂直分解 投影操作 或水平分解 选择操作 和对多个关 系的结合 连接操作 等 38 如果一个工人可管理多个设施 而一个设施只被一个工人管理 则实体 工人 与实体 设备 之间存在 联系 标准答案为 一对多 或 1 对多 或 一对 n 或 1 N 或 1 n 或 1 n 或 1 N 或 一对 m 或 1 M 或 1 m 或 1 m 或 1 N 实体之间的对应关系称为联系 它反映现实世界事物之间的相互关联 两个实体间的联系可以归结为 三种类型 一对一联系表现为某一实体与另一实体一一对应相关联 一对多联系表现为某一实体与相关多 个实体相关联 多对多联系表现为多个实体与相关多个实体相关联 39 算法的复杂度主要包括 复杂度和空间复杂度 标准答案为 时间 一个程序在计算机上运行时所耗费的时间由下列因素所决定 程序运行时所需输入的数据总量 对源 程序进行编译所需时间 计算机执行每条指令所需时间 程序中的指令重复执行的次数 前一条取决于实 现算法的计算机软 硬件系统 习惯上常常把语句重复执行的次数作为算法运行时间的相对量度 称做算 法的时间复杂度 算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度 40 若按功能划分 软件测试的方法通常分为白盒测试方法和 测试方法 标准答案为 黑盒 软件测试的方法有三种 动态测试 静态测试和正确性证明 设计测试实例的方法一般有两类 黑盒 测试方法和白盒测试方法 在使用黑盒法设计测试实例时 测试人员将程序看成一个 黑盒 也就是说 他不关心程序内部是如何实现的 而只是检查程序是否符合它的 功能说明 所以使用黑盒法设计的测试 用例完全是根据程序的功能说明来设计的 如用白盒法 则需要了解程序内部的结构 此时的测试用例是 根据程序的内部逻辑来设计的 如果想用白盒法发现程序中所有的错误 则至少必须使程序中每种可能的 路径都执行一次 实际上这是不可能的 即使测遍所有的路径 仍不一定能保证符合相应的功能要求 41 设有定义语句 int a 12 则表达式 a 2 3 的运算结果是 标准答案为 60 根据运算的优先级和结合性 可以将表达式的计算顺序规则总结为以下 3 条 1 优先计算带有括号 的子表达式 2 在没有括号的部分 依照运算优先级 由高到低进行计算 3 具有相同优先级的运 算符 按照结合性规定 依次进行计算 本题中 的结合性是右结合 所以表达式 a 2 3 相当于 a a 2 3 所以 a 60 42 下列程序的输出结果是 include using namespace std class Test public Test cnt Test cnt static int Count return cnt private static int cnt int Test cnt 0 int main cout Test Count Test t1 t2 Test pT3 new Test Test pT4 new Test cout Test Count delete pT4 delete pT3 cout Test Count endl return 0 标准答案为 0 4 2 本题主要考查了类的静态成员的概念 在 C 中可以用 static 关键字为类指定静态成员 静态成员为 类的所有实例所共享 对于类中的静态函数 可以通过类名 函数名的方法来调用 并且该函数只能访问 类中的静态数据 对于静态 int 型数据 在编译时将会被初始化为 0 故在 main 函数中第一句将会输出 0 在 Test t1 t2 语句中将创建类的两个实例 一共调用了两次构造函数 故类的静态数据 cnt 将会执行两 次自加运算 变为 2 main 中接下来的两条语句通过 new 方法也创建了该类的两个实例 此时 cnt 变为 4 故第二次执行输出时将输出 4 接下来执行了两条 delete 语句 将销毁 pT4 pT3 所对应的实例 这将执 行两次析构函数 故 cnt 的值将变为 2 最后的一条输出语句将输出 2 后面有回车 43 下列程序的输出结果是 include using namespace std int main int i 5 int r 7 cout i endl return 0 标准答案为 7 本题主要考查了引用的概念 引用实质上是为变量取一个别名 因为系统不会为引用变量所代表的数 据对象再次分配空间 本题中引用变量 r 与它所代表的数据对象 i 共用一个存储空间 所以所有对 r 的操 作就是对 i 的操作 故本题在执行 r 7 后 i 的值也就是 7 44 下列程序的输出结果是 include using namespace std template T fun T a T b return a b a b int main cout fun 3 6 fun 3 14F 6 28F endl return 0 标准答案为 3 3 14 本题主要考查了模板的定义及使用 在 C 中为了能够实现代码的重用 提供了模板机制 在本题中 定义了一个模板函数 其参数 a b 及返回结果均为 T 类型 分析 fun 函数的可知 其功能是返回 a b 中 数值较小的数 在 main 函数中第一次调用 fun 时 实际上是调用了 int fun int a int b 这个函数 故 返回 3 第二次调用时 实质上是调用了函数 float fun float a float b 返回值为一个浮点型数据 3 14 45 将一个函数声明为一个类的友元函数必须使用关键字 标准答案为 friend 友元函数不是当前类的成员函数 而是独立于当前类的外部函数 包括普通函数和其他类的成员函数 但它可以访问该类的所有对象的成员 包括私有成员 保护成员和公有成员 友元函数要在类定义时声明 声明时要在其函数名前加上关键字 friend 该声明可以放在公有部分 也可以放在私有部分 友元函数的 定义既可以在类内部进行 也可以在类外部进行 46 请按下面注释的提示 将类B的构造函数定义补充完整 请按下面注释的提示 将类B的构造函数定义补充完整 class A int a public A int aa 0 a aa class B public A int b A c public 用aa初始化基类A 用aa 1初始化类对象成员c B int aa A aa c aa 1 b aa 2 标准答案为 A aa c aa 1

温馨提示

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

最新文档

评论

0/150

提交评论