[计算机类试卷]2006年4月国家二级(C++)笔试真题试卷及答案与解析.doc
《[计算机类试卷]2006年4月国家二级(C++)笔试真题试卷及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]2006年4月国家二级(C++)笔试真题试卷及答案与解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、2006 年 4月国家二级( C+)笔试真题试卷及答案与解析 1 下列选项中不属于结构化程序设计方法的是 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 2 两个或两个以上模块之间关联的紧密程度称为 ( A)耦合度 ( B)内聚度 ( C)复杂度 ( D)数据传输特性 3 下列叙述中正确的是 ( A)软件测试应该由程序开发者来完成 ( B)程序经调试后一般不需要再测试 ( C)软件维护只包括对程序代码的维护 ( D)以上三种说法都不对 4 按照 “后进先出 ”原则组织数据的数据结 构是 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 5 下列叙述中正确的是 (
2、A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根结点的二叉树是线性结构 6 对如下二叉树进行后序遍历的结果为 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 7 在深度为 7的满二叉树中,叶子结点的个数为 ( A) 32 ( B) 31 ( C) 64 ( D) 63 8 “商品 ”与 “顾客 ”两个实体集之间的联 系一般是 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 9 在 E-R图中,用宋表示实体的图形是 ( A)矩形 ( B)椭圆形 ( C)菱形 ( D)三角
3、形 10 数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是 ( A) DB包含 DBS和 DBMS ( B) DBMS包含 DB和 DBS ( C) DBS包含 DB和 DBMS ( D)没有任何关系 11 下列关于 C+函数的说明中,正确的是 ( A)内联函数就是定义在另一个函数体内部的函数 ( B)函数体的最后一条语句必须是 return语句 ( C)标准 C+要求在调用一个函数之前,必须先声明其原型 ( D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式 12 由于常对象不能被更新,因此 ( A)通过常对象只能调用它的常成员函数 ( B)通过常对象只能
4、调用静态成员函数 ( C)常对象的成员都是常成员 ( D)通过常对象可以调用任何不改变对象值的成员函数 13 下列关于虚函数的说明中,正确的是 ( A)从虚基类继承的函数都是虚函数 ( B)虚函数不得是静态成员函数 ( C)只能通过指针或引用调用虚函数 ( D)抽象类中的成员函数都是虚函数 14 运算符重载是对已有的运算符赋予多重含义,因此 ( A)可以对基本类型 (如 int类型 )的数据,重新定义 “+”运算符的含义 ( B)可以改变一个已有运算符的优先级和操作数个数 ( C)只能重载 C+中已经有的运算符,不能定义新运算符 ( D) C+中已经有的所有运算符都可以重载 15 模板对类型的
5、参数化提供了很好的支持,因此 ( A)类模板的主要作用是生成抽象类 ( B)类模板实例化时,编译器将根据给出的模板实参生成一个类 ( C)在类模板中的数据成员都具有同样类型 ( D)类模板中的成员函数都没有返回值 16 下列关于 C+流的说明中,正确的是 ( A)与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现 ( B)从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作 ( C) cin是一个预定义的输入流类 ( D)输出流有一个名为 open的成员函数,其作用是生成一个新的流对象 17 下列符号中可以用作 C+标识符的是 ( A) _radius ( B) foo b
6、ar ( C) else ( D) 3room 18 下列语句中,错误的是 ( A) const int buffer=256; ( B) const int temp; ( C) const double *point; ( D) const double *rt new double(5.5); 19 有如下程序: int x 3; do x 2; coutx; while(!(-x); 执行这个程序的输出结果是 ( A) 1 ( B) 30 ( C) 1-2 ( D)死循环 20 有如下程序: #include iostream using namespace std; int main
7、() int *p; *p 9; cout “The value at p: “ *p; return 0; 编译运行程序将出现的情况是 ( A)编译时出现语法错误,不能生成可执行文件 ( B)运行时一定输出: The value at p:9 ( C)运行时一定输出: The value at p:*9 ( D)运行时有可能出 错 21 有如下程序: #include iostream using namespace std; int main() void function(double val); double val; function(val); cout val; return 0
8、; void function(double val) val 3; 编译运行这个程序将出现的 情况是 ( A)编译出错,无法运行 ( B)输出: 3 ( C)输出: 3.0 ( D)输出一个不确定的数 22 有如下类定义: class AA int a; public: int getRef()constreturn 其中的四个函数定义中正确的是 ( A) ( B) ( C) ( D) 23 有如下程序: #include iostream using namespace std; class Base public: void fun() cout “Base:fun“ endl; ; c
9、lass Derived: public Base public: void tim() _ cout “Derived: fun“endl; ; int main() Derived d; d.fun(); return O; 已知其执行后的输出结果为: Base:fun Derived:fun 则程序中下划线处应填入的语句是 ( A) Base.fun(); ( B) Base:fun(); ( C) Base- fun(); ( D) fun(); 24 下面是重载为非成员函数的运算符函数原型,其中错误的是 ( A) Fraction operator+(Fraction, Fracti
10、on); ( B) Fraction operator-(Fraction); ( C) Fraction ( D) Fraction ( B) ifstream file(“d: ncretest.txt“); ( C) ifstream file; file.open(“d:ncretest.txt“); ( D) ifstream* pFile=new ifstream(“d:ncretest.txt“); 27 有如下类定义: class Foo public: Foo(int v): value(v) / Foo() / private: Foo() / int value=0; /
11、 ; 其中存在语法错误的行是 ( A) ( B) ( C) ( D) 28 有如下类定义: class Point int x_,y_; public: Point(): x_(0), y_(0) Point(int x, int y=0): x_(x), y_(y) ; 若执行语句 Point a(2), b3, *c4; 则 Point类的构造函数被调用的次数是 ( A) 2次 ( B) 3次 ( C) 4次 ( D) 5次 29 有如下类定义: class Test public: Test()a=0;c=0; / int f(int a)const this- a=a; / stati
12、c int g()return a; / void h(int b)Test:b=b; ; / private: int a; static int b; const int c; ; int Test:b=0; 在标注号码的行中,能被正确编译的是 ( A) ( B) ( C) ( D) 30 有如下程序: #include iostream using namespace std; class A public: A()cout“A; A()cout “ A“; ; class B: public A A*p; public: B()cout “B“; p=new A(); B()cout
13、“ B“; delete p; ; int main() B obj; return 0; 执行这个程序的输出结果是 ( A) BAA A B A ( B) ABA B A A ( C) BAA B A A ( D) ABA A B A 31 有如下程序: #include iostream using namespace std; class Base private: void funl()const cout“funl“; protected: void fun2() constcout “fun2“; public; void fun3() const cout “fun3“; ; c
14、lass Derived: protected Base public; void fun4() const cout “fun4“; ; int main() Derived obj; obj.funl(); / obj.fun2(); / obj.fun3(); / obj.fun4(): / return 0; 其中有语法错误的语句是 ( A) ( B) ( C) ( D) 32 有如下程序: #include iostream using namespace std; class Base public: void funl()cout“Basea“; virtual void fun
15、2()tout“Basen“; ; class Derived: public Base public: void funl() cout“Derivedn“; void fun2() cout“Derivedn“; ; void f(Base b.fun2(); int main() Derived obj; f(obj); return 0; 执行这个程序的输出结果是 ( A) Base Base ( B) Base Derived ( C) Derived Base ( D) Derived Derived 33 有如下程序 : #include iostream using names
16、pace std; class Complex double re, im; public: Complex(double r, double i): re(r), im(i) double real() const return re; double image() const return im; Complex im += a.im; return *this; ; ostream int main() Complex x(1,-2), y(2,3); cout (x+=y) endl; return 0; 执行这个程序的输 出结果是 ( A) (1,-2) ( B) (2,3) ( C
17、) (3,5) ( D) (3,1) 34 有如下程序: #include iostream #include iomanip using namespace std; int main() cout.fill(*); cout left setw(4) 123 “OK“ endl; return 0; ( A) 123*OK ( B) 123*OK* ( C) *123OK ( D) *123*OK 35 有如下类声明: class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int nO); ; 下列关于 getValu
18、e 成员函数的实现中,正确的是 ( A) SAMPLE:setValue(int nO) n nO; ( B) void SAMPLE:setValue(int nO) n nO; ( C) void setValue(int nO) n nO; ( D) (int nO) n nO; 36 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为【 】。 37 在面向对象方法中,【 】描述的是具有相似属性与操作的一组对象。 38 在关系模型中,把数据看成是二维表,每一个二维表称为一个【 】。 39 程序测试分为静态分析和动态测试。其中【 】是指不执行程序,而只是对程序文本进行检查,通过
19、阅读和讨论,分析和发现程序中的 错误。 40 数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【 】。 41 有一种只在循环语句或 switch语句中使用的流程控制语句,表示该语句的关键字是【 】。 42 程序中有如下语句 for(int i=0; i 5; 1+)cout *(p+i) “,“; 能够依次输出 int型一维数组 DATA的前 5个元素。由此可知,变量 p的定义及初始化语句是【 】。 43 若下面程序运行时输出结果为 1,A,10.1 2,B,3.5 #include iostream using na
20、mespace std; int main() void test(int, char, doubie【 】 ); test(1, A, 10.1 ); test(2, B); return 0; void test(int a, char b, double c) cout a , b , c endl; 44 有如下类声明 : class MyClass int i; private: int j; protected: int k; public: int m, n; ; 其中,私有成员的数量为【 】 。 45 有如下程序: #include iostream using namespa
21、ce std; class Con char ID; public: Con(): ID(W) cout l; Con(char ID): ID(ID) cout 2; Con(Con char getlD0const return ID; ; void show(Con c) cout c.getID(); int main() Concl; show(cl); Con c2(B); show(c2); return 0; 执行上面程序的输出是【 】。 46 有如下程序: #include iostream using namespace std; class ONE public: vir
22、tual void f() cout “1“; ; class TWO: public ONE public: TWO() cout “2“; ; class THREE: public TWO public: virtual void f() TWO:f(); cout “3“; ; int main() ONE aa, *p; TWO bb; THREE cc; p = P- f(); return 0; 执行上面程序的输出是【 】 47 有如下程序: #include iostream using namespace std; class PARENT public: PARENT()
23、cout “PARENT“; ; class SON: public PARENT public: SON() cout “SON“; ; int main() SON son; PARENT *p; p = return 0; 执行上面程序的输出是【 】。 48 若以非成员函数形式,为类 Bounce重载 “!”运算符,其操作结果为一 bool型数据,则该运算符重载函数的原型是【 】。 49 下面是复数类 complex的定义,其中重载的运算符 “+”的功能是返回一个新的复数对象,其实部等于两个操作对象实部之 和,其虚部等于两个操作对象虚部之和;请 补充完整: class complex d
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 2006 国家 二级 笔试 答案 解析 DOC
