[计算机类试卷]国家二级(C++)笔试模拟试卷71及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷71及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷71及答案与解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 71及答案与解析 1 在数据结构中,从逻辑上可以把数据结构分成 ( )。 ( A)动态结构和静态结构 ( B)线性结构和非线性结构 ( C)集合结构和非集合结构 ( D)树形结构和图状结构 2 在一个长度为 n的线性表中插入一个元素,以下说法不正确的是 ( )。 ( A)最好情况下需要移动的数据元素数目为 0 ( B)最坏情况下需要移动的数据元素数目为 n ( C)在平均情况下需要移动的数据元素数目为 n/2 ( D)最坏情况下需要移动的数据元素数目为 n/2 3 下 列关于栈的叙述中,不正确的是 ( )。 ( A)在栈的两端都能插入或删除数据 ( B)在栈中只
2、能从一端插入或删除数据 ( C)栈中的数据是先进后出 ( D)栈是一种特殊的线性表 4 下列各项中,属于面向对象程序设计语言不同于其他语言的主要特点的是 ( )。 ( A)继承性 ( B)消息传递 ( C)多态性 ( D)静态联编 5 在结构化方法中,软件功能分解属于下列软件开发中的阶段是 ( )。 ( A)详细设计 ( B)需求分析 ( C)总体设计 ( D)编程调试 6 下列各种调试方法 中,靠演绎、归纳以及二分法来实现的是 ( )。 ( A)强行排错法 ( B)回溯法 ( C)原因排除法 ( D)静态调试 7 设树 T的度为 4,其中度为 1, 2, 3, 4的节点个数分别为 4, 2,
3、 1, 1。则 T中叶子节点数为 ( )。 ( A) 8 ( B) 7 ( C) 6 ( D) 5 8 数据管理技术的发展是与计算机技术及其应用的发展联系在一起的,经历了由低级到高级的发展过程。分布式数据库、面向对象数据库等新型数据库是属于 ( )。 ( A)人工管理阶段 ( B)文件系统阶段 ( C)数据库系统阶段 ( D)高级数据库技术阶段 9 一棵含 18个节点的二叉树的高度至少为 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 10 设有 n元关系 R及 m元关系 S,则关系 R与 S经笛卡儿积后所得新关系是一个( )元关系。 ( A) m ( B) n ( C) m
4、+n ( D) m*n 11 下列关于对象概念的描述中,错误的是 ( )。 ( A) C+中的对象就是 C语言中的结构变量 ( B)对象代表着正在创建的系统中的一个实体 ( C)对象是一个状态和操作 (或方法 )的封装体 ( D)对象之间的 信息传递是通过消息进行的 12 下列变量定义中,合法的是 ( )。 ( A) short_a=1-1e-1; ( B) doubleb=1+5e2.5; ( C) long do=0xfdaL; ( D) float2_and=1-e-3; 13 下列关于 C+运算符结合性的说法中,正确的是 ( )。 ( A)赋值运算符是左结合的 ( B)复合运算符是左结
5、合的 ( C)单目运算符是左结合的 ( D)双目算术运算符是左结合的 14 t为 int类型,进入下面的循环之前, t的值为 0。 while(t=1) 则以下叙述中,正确的是 ( )。 ( A)循环控制表达式的值为 0 ( B)循环控制表达式的值为 1 ( C)循环控制表达式不合法 ( D)以上说法都不对 15 下列关于指针运算的描述中,错误的是 ( )。 ( A)在一定条件下,两个指针可以相加 ( B)在一定条件下,两个指针可以进行逻辑判断 ( C)在一定条件下,指针可以为空值 ( D)在一定条件下,两个指针可以相互赋值 16 有以下程序: #include iostream using
6、namespace std; void fun(int i,int j) cout (i+j) end1; void fun(int i) cout i+end1; int main() int a=1; fun(A) ; return 0; 该程序执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 17 下列关于静态数据成员的描 述中,正确的是 ( )。 ( A)静态数据成员是类的所有对象共享的数据 ( B)类的每个对象都有自己的静态数据成员 ( C)类的不同对象有不同的静态数据成员值 ( D)静态数据成员不能通过类的对象调用 18 下列关于构造函数的描述中
7、,错误的是 ( )。 ( A)构造函数可以设置默认参数 ( B)构造函数在定义类对象时自动执行 ( C)构造函数可以是内联函数 ( D)构造函数不可以重载 19 下列描述中,表达错误的是 ( )。 ( A)公有继承时基类中的 public成员在派生类中仍是 public的 ( B)公有继承时基类中的 private成员在派生类中仍是 private的 ( C)公有继承时基类中的 protected成员在派生类中仍是 protected的 ( D)私有继承时基类中的 public成员在派生类中是 private的 20 下列关于虚函数的说法中,正确的是 ( )。 ( A)如果在重定义虚函数时使用
8、了保留字 virtual,则该重定义函数仍然是虚函数 ( B)虚函数不得声明为静态函数 ( C)虚函数不得声明为另一个类的私有函数 ( D)派生类必须重新定义基类的虚函数 21 有以下程序: #include iostream using namespace std; int main() int intone; int intone=5; rInt=7; cout intOne“,“ rInt end1; return 0; 上述程序执行后的输出结果是 ( )。 ( A) 5,7 ( B) 7,5 ( C) 5,5 ( D) 7,7 22 若有以下程序: #include iostream
9、using namespace std; int main() int a4 4 = 1,2,3,-4,0,-12,-13,14, -21,23,0,-24,-31,32,-33,0; int i,j,s = 0; for(i=0;i 4;i+) for(j=O;j 4;j+) if(ai j =0) continue; s+=a i j; cout s end1; return 0; 执行后的输出结果是 ( )。 ( A) -138 ( B) 141 ( C) 75 ( D) -1 23 若有如下程序: #include iostream using namespace std; int m
10、ain() char *p=“abcdefgh“,*r; long *q; q=(long *)p; q+; r=(char *)q; cout r end1; return 0; 上述程序的输出结果是 ( )。 ( A) abcdefgh ( B) 0 ( C) abcd ( D) efgh 24 有以下程序: #include iostream using namespace std; class R public: R(int f1,int r2) R1=r1; R2=r2; void print(); void print ()const; private: int R1, R2; ;
11、 void R: :print() cout R1 “, “R2 end1; void R: :print() const cout Rl “, “ R2end1; int main () R a(5,4); const R b(20,52); b.print (); return 0; 执行后的输出结果是 ( A) 5,4 ( B) 20,52 ( C) 0,0 ( D) 4,5 25 有以下程序: #include iostream using namespace std; class sample private: int x; public: void setx(int i) x=i;
12、 int putx () return x; ; int main ( ) sample *p; sample A3; A0 .setx(5); A1 .setx (6); A2 .setx(7); for (int j=0;j 3;j+) p= cout p- putx () “, “; cout end1; return 0; 执行后执行结果是 ( )。 ( A) 5,6,7, ( B) 5,5,5, ( C) 6,6,6, ( D) 7,7,7, 26 有以下程序: #include iostream #include string using namespace std; class
13、Y; class X private: int x; char *strx; public: X(int a, char *str) x=a; strx=new charstrlen(str)+1; strcpy(strx,str); void show(Y ; class Y private: int y; char *stry; public: Y(int b,char *str) y=b; stry=new charstrlen(str)+1; strcpy(stry, str); friend void X: :show(Y ; void X: :show(Y cout ob, str
14、y end1; int main ( ) X a(10,“X“); Y b (20, “Y“); a. show(B) ; return 0; 执行后的输出结果是 ( )。 ( A) X,Y ( B) a,b ( C) X,X ( D) Y,Y 27 若有以下程序: #include iostream using namespace std; #define PI 3.14 class Point private: int x,y; public: Point(int a,int b) x=a; y=b; int getx() return x; int gety() return y; ;
15、class Circle : public Point private: int r; public: Circle(int a, int b,int c) :Point(a,b) r=c; int getr() return r; double area() return PI*r*r; ; int main() Circle c1(5,7,10); cout c1.area() end1; return 0; 程序执行后的输出结果是 ( )。 ( A) 314 ( B) 157 ( C) 78.5 ( D) 153.86 28 若有以下程序: #include iostream using
16、 namespace std; class Base private: int a,b; public: Base(int x, int y) a=x; b=y; void disp () cout a “ “ b end1; ; class Derived : public Base private: int c; int d; public: Derived(int x,int y, int z,int m) :Base(x,y) c=z; d=m; void disp () cout c “ “ d end1; ; int main() Base b(5,5),*pb; Derived
17、obj(1,2,3,4); pb= pb- disp(); return 0; 执行程序后的输出结果是( )。 ( A) 1,2 ( B) 3,4 ( C) 2,3 ( D) 5,5 29 下面是 “二维向量 ” vector2D 的定义,其中作为成员函数重载的运算符 “+”的功能是将两向量的分量 x和 y对应相加,然后返回作为相加结果的新对象。 那么应该在横线上填入的语句是 ( )。 class vector2D private: double x; /x分量 double y; /y分量 public: vector2D(double x0=0,double y0=0) :x(x0),y(
18、y0) void show(cout ( , y ) ; _; ; vector2D : operator + (vector2D a) return vector20(x+a.x,y+a.y); ( A) vector2D operator + (vector2D b) ( B) vector2D operator + (vector2D cout i; void print() cout i end1; ; class ClassTwo public: ClassTwo(int v=O) i=v;cout i; void print() cout i end1; private: Clas
19、sOne myObj; int i; ; void main() ClassTwo obj(1); obj.print(); ( A) 11 ( B) 111 ( C) 110 ( D) 101 31 设栈 S和队列 Q的初始状态为空,元素 e1、 e2、 e3、 e4、 e5和 e6依次通过栈S,一个元素出栈后即进入队列 Q,若 6个元素出队的顺序是 e2、 e4、 e3、 e6、e5、 e1,则栈 S的容量至少应是【 】。 32 下图所示的二叉树的先序遍历序列是【 】。 33 数据库管理系统是位于【 】之间的软件系统。 34 有以下程序: #include iostream using n
20、amespace std; int main() int i=010, j=10; cout (+i) “,“ i- end1; return 0; 则该程序运行后的输出结果是【 】。 35 若有以下程序: #include iostream using namespace std; int main() char a; a=H-A+0; cout a end1; return 0; 执行后输出的结果是【 】。 36 若二维数组 b有 m列,则在 bij前的元素的个数为【 】。 37 若有如下程序段: #include iostream using namespace std; int mai
21、n() char *p=“abcdefgh“, *r; long *q; q=(long *)p; q+; r=(char *)q; cout r end1; return 0; 该程序的输出结果是【 】。 38 以下程序的输出结果是【 】。 #include iostream using namespace std; void fun() static int a=0; a+=2; cout a; int main() int CC; for(CC=1; cc 4; CC+) fun(); cout end1; return 0; 39 假定用户没有给一个名为 MyClass的类定义析构函数
22、,则系统为其定义的默认析构函数首部形式为【 】。 40 【 】使一个函数可以定义成对许多不同数据类型完成同一个任务。 41 若有以下程序: #include iostream using namespace std; class Sample private: const int n; public: Sample(int i) :n(i) ) void print() cout “n=“ n end1; ; int main() sample a(10); a.print(); return 0; 上述程序运行后的输出结果是【 】。 42 有以下程序: #include iostream #
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 71 答案 解析 DOC
