1、木泉论坛 学习交流技术交流学习资源 http:/ http:/ 年 9 月全国计算机等级考试二级 C+笔试试题及答案(考试时间 90 分钟,满分 100 分) 一、选择题(每小题 2 分,共 70 分)下列各题 A)、B)、 C)、D )四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是A)顺序存储的有序线性表 B)线性链表C)二叉链表 D)有序线性链表(3)
2、下列关于栈的描述正确的是A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一木泉论坛 学习交流技术交流学习资源 http:/ http:/ B)PAD 图C)N-S 图 D)DFD 图(7)下列叙述中正确的是A)软件交付使用后还需要进行维护木泉论坛 学习交流技术交流学习资源 http:/ http:/ B)数据安全问题C)大量数据存储问题 D)简化数据维护(9)设有如下关系表:则下列操作中正确的是A)TRS B)TRS C)TRS D)TR/S(10)数据库系统的核心是A)数据模
3、型 B)数据库管理系统C)数据库 木泉论坛 学习交流技术交流学习资源 http:/ http:/ C+函数的叙述中,正确的是A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明 D)函数不能自己调用自己(12)下列关于类和对象的叙述中,错误的是A)一个类只能有一个对象 B)对象是类的具体实例 C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系(13)在 C+中,用于实现运行时多态性的是A)内联函数 B)重载函数 C)模板函数 D)虚函数(14)下列关于运算符重载的叙述中,正确的是A)通过运算符重载,可以定义新的运算符B)有的运算符只能
4、作为成员函数重载C)若重载运算符+ ,则相应的运算符函数名是+D)重载一个二元运算符时,必须声明两个形参(15)下列关于模板的叙述中,错误的是木泉论坛 学习交流技术交流学习资源 http:/ http:/ templateB)在模板声明中用 括起来的部分是模板的形参表 C)类模板不能有数据成员D)在一定条件下函数模板的实参可以省略(16)对于语句 coutfun( );delete p;return 0;(12)请将下列类定义补充完整。class Base public: void fun( ) cout= 42.10-10 43.int point:count p=0 44.友元 45.私有
5、 46.virtual 47.Base:fun() 48.成员 49.stack-top2006 年 4 月全国计算机等级考试二级 C+笔试试题及答案一、选择题(1)(35)每小题 2 分,共 70 分) 下列各题 A)、B)、C)、D) 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项不属于结构化程序设计方法的是A自顶向下 B逐步求精木泉论坛 学习交流技术交流学习资源 http:/ http:/ D可复用(2)两个或两个以上模块之间关联的紧密程度称为A耦合度 B内聚度C复杂度 D数据传输特性(3)下列叙述中正确的是A软件测试应该由程序开发
6、者来完成B程序经调试后一般不需要再测试C软件维护只包括对程序代码的维护D以上三种说法都不对(4)按照“后进先出 ”原则组织数据的数据结构是A队列 B栈C双向链表 D二叉树(5)下列叙述中正确的是A线性链表是线性表的链式存储结构B栈与队列是非线性结构C双向链表是非线性结构D只有根结点的二叉树是线性结构木泉论坛 学习交流技术交流学习资源 http:/ http:/ BDBEAFCCABDECF DDEBFCA(7)在深度为 7 的满二叉树中,叶子结点的个数为A32 B31 C64 D63(8)“商品”与“顾客” 两个实体集之间的联系一般是A一对一 B一对多C多对一 D多对多(9)在 E-R 图中,
7、用来表示实体的图形是A矩形 B椭圆形 C菱形 D三角形(10)数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是木泉论坛 学习交流技术交流学习资源 http:/ http:/ 包含 DBS 和 DBMS BDBMS 包含 DB 和 DBSCDBS 包含 DB 和 DBMS D没有任何关系(11)下列关于 C+函数的说明中,正确的是A内联函数就是定义在另一个函数体内部的函数B函数体的最后一条语句必须是 return 语句C标准 C+要求在调用一个函数之前,必须先声明其原型D编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式(12)由于常对象不能被更新,因此A通过常对
8、象只能调用它的常成员函数B通过常对象只能调用静态成员函数C常对象的成员都是常成员D通过常对象可以调用任何不改变对象值的成员函数(13)下列关于虚函数的说明中,正确的是A从虚基类继承的函数都是虚函数 B虚函数不得是静态成员函数C只能通过指针或引用调用虚函数 D抽象类中的成员函数都是虚函数(14)运算符重载是对已有的运算符赋予多重含义,因此木泉论坛 学习交流技术交流学习资源 http:/ http:/ int 类型)的数据,重新定义“+” 运算符的含义B可以改变一个已有运算符的优先级和操作数个数C只能重载 C+中已经有的运算符,不能定义新运算符DC+ 中已经有的所有运算符都可以重载(15)模板对类
9、型的参数化提供了很好的支持,因此A类模板的主要作用是生成抽象类B类模板实例化时,编译器将根据给出的模板实参生成一个类C在类模板中的数据成员都具有同样类型D类模板中的成员函数都没有返回值(16)下列关于 C+流的说明中,正确的是A与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现B从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作Ccin 是一个预定义的输入流类D输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象(17)下列符号中可以用作 C+标识符的是A_radius 木泉论坛 学习交流技术交流学习资源 http:/ http:/ Celse D3room
10、(18)下列语句中,错误的是Aconst int buffer=256; Bconst int temp;Cconst double *point; Dconst double *rt =new double(5.5);(19)有如下程序:int x=3;dox -= 2;coutwhile(!(-x);执行这个程序的输出结果是A 1 B3 0 C l-2 D死循环(20)有如下程序:#includeusing namespace std;int main()int *p;*p = 9;cout“The value at p:“*p;return 0;编译运行程序将出现的情况是A够编译时出现语
11、法错误,不能生成可执行文件B运行时一定输出:The value at p: 9C运行时一定输出:The value at p: *9木泉论坛 学习交流技术交流学习资源 http:/ http:/ #includeusing namespace std;int main()void function(double val);double val;function(val);coutfun() Dfun();(24)下面是重载为非成员函数的运算符函数原型,其中错误的是AFraction operator + (Fraction, Fraction);BFraction operator - (Fr
12、action);CFractionDFraction(25)有如下函数模板:templateT cast(U u)return u;其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是Acast(i); Bcast(i);Ccast(i); Dcast (i);(26)若磁盘上已存在某个文本文件,其全路径文件名为d:ncretest.txt,下列语句中不 能打开该文件的是Aifstream file(“d:ncretest.txt“);Bifstream file(“d:ncretest.txt“);Cifstream file; file.open(“d:ncretest.txt“);