[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 48及答案与解析 1 栈和队列的共同特点是 ( A)都是先进先出 ( B)都是先进后出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 2 已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 ( A) acbed ( B) decab ( C) deabc ( D) cedba 3 链表不具有的特点是 ( A)不必事先估计存储空间 ( B)可随机访问任一元素 ( C)插入删除不需要移动元素 ( D)所需空间与线性表长度成正比 4 结构化程序设计的 3种结构是 ( A)顺序结构、选择结构、转移结构 ( B)分支结构、等价
2、结构、循环结构 ( C)多分支结构、赋值结构、等价结构 ( D)顺序结构、选择结构、循环结构 5 为了提高测试的效率,应该 ( A)随机选取测试数据 ( B)取一切可能的输入数据作为测试数据 ( C)在完成编码以后制定软件的测试计划 ( D)集中对付那些错误群集的程序 6 算法的时间复杂度是指 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中 的指令条数 7 软件生命周期中所花费用最多的阶段是 ( A)详细设计 ( B)软件编码 ( C)软件测试 ( D)软件维护 8 数据库管理系统 DBMS中用来定义模式、内模式和外模式
3、的语言为 ( A) C ( B) Basic ( C) DDL ( D) DML 9 下列有关数据库的描述,正确的是 ( A)数据库是一个 DBF文件 ( B)数据库是一个关系 ( C)数据库是一个结构化的数据集合 ( D)数据库是一组文件 10 下列有关数据库的描述,正确的是 ( A)数据处理是将信息转化为数据的过程 ( B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 ( C)关系中的每一列称为元组,一个元组就是一个字段 ( D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 11 在 C+语言中函数返回值的类型是由 (
4、 )决定的。 ( A)调用该函数时系统临时 ( B) return语句中的表达式类型 ( C)定义该函数时所指定的函数类型 ( D)调用该函数时的主调函数类型 12 关于类和对象描述错误的是 ( A)对象 (Object)是现实世界中 的客观事物,对象具有确定的属性 ( B)类是具有相同属性和行为的一组对象的集合 ( C)对象是类的抽象,类是对象的实例 ( D)类是对象的抽象,对象是类的实例 13 下面关于虚函数的描述中正确的是 ( A)虚函数是一个静态成员函数 ( B)虚函数是一个非成员函数 ( C)虚函数既可以在函数说明时定义,也可以在函数实现时定义 ( D)派生类的虚函数与基类中对应的虚
5、函数具有相同的参数个数和类型 14 下面有关重载函数的描述中正确的是 ( A)重载函数必须具有不同的返回值类型 ( B)重载函数形参个数必须 不同 ( C)重载函数必须具有不同的形参列表 ( D)重载函数名可以不同 15 下列对模板的声明中正确的是 ( A) template T ( B) template class T1,T2 ( C) template class T1,class T2 ( D) template class T1 ;class T2 16 对于语句 cin x;中的各个组成部分,下列叙述中错误的是 ( A) “cin” 是一个输出流对象 ( B) “;”的作用是表示语
6、句结束 ( C) “x”是一个变量 ( D) “ ” 称作提取运算符 17 以下选项中合法的用户标识符是 ( A) long ( B) _2Test ( C) 3Dmax ( D) A.dat 18 定义如下枚举类型; enum Monday, Tuesday, Wednesday, Thrusday, Friday=2;则下列语句正确的是 ( A)表达式 Wednesday = Friday 的值是 true ( B) Day day; day=3; ( C) Day day; day = Monday + 3; ( D) Day day; day = Tuesday + 10; 19 下列
7、语句段将输出字符 *的个数为 int i=100; while(1) i-; ; if(i=0) break; cout *; ( A) 98个 ( B) 99个 ( C) 100个 ( D) 101个 20 下列对字符数组进行初始化的语句正确的是 ( A) char a = “Hello“; ( B) char a = H,e,l,l,o; ( C) char a5 = “Hello“; ( D) char a2 5 = “Hello“,“World“ ; 21 函数定义为 Fun(int ( B) Fun(20+n); ( C) Fun(n); ( D) Fun( 22 下面类的定义,有
8、( )处错误。 class MyClass public: void MyClass(); MyClass(int Value); private: int i=0; ; ( A) 1 ( B) 2 ( C) 3 ( D) 4 23 若类 A和类 B的定义如下: class A int i,j; public: int geti() return i; ; class B: public A int k; public: void make() k=i*j ; 则上述定义中 ( A) k=i*j; ( B) int k; ( C) return i; ( D) void make() 24 如
9、果表达式 -x/y中的 “-”和 “/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为 ( A) operator/(x.operator-(),y); ( B) operator/(operator-(x),y); ( C) x.operator-().operator/(y); ( D) y. operator/(operator-(x); 25 有如下函数模板的定义: template class T T func(Tx,Ty) return x*x+y*y; ( A) func(3,5); ( B) func (3,5); ( C) func(3,5.5); (
10、 D) func int (3,5.5); 26 执行语句: cout setfill(*) setw(10) setfill(#) left 123 “OK“ end1;后将输出 ( A) 123*OK ( B) 123#OK ( C) 123*OK* ( D) 123#OK# 27 下列关于构造函数的描述中,错误的是 ( A)构造函数可以设置默认参数 ( B)构造函数在定义类对象时自动执行 ( C)构造函数可以是内联函数 ( D)构造函数不可以重载 28 有以下 程序: #include iostream using namespace std; class sample private:
11、 iht n; public: sample() sample(int m) n=m; void addvalue(int m) sample s; s.n=n+m; *this=s; void disp() cout “n=“ n end1; ; int main() sample s(10); s.addvalue(5); s.disp(); return 0; 程序运行后的输出结果是 ( A) n=10 ( B) n=5 ( C) n=15 ( D) n=20 29 有如下程序: #include iostream using namespace std; int s=0; class
12、sample static int n; public: sample(int i) n=i; static void add() s+=n; ; ( A) 2 ( B) 5 ( C) 7 ( D) 3 30 有以下程序: #include iostream using namespace std; class A public: A(int i,int j) a=i; b=j; void move(int x,int y) a+=x; b+=y; void show() cout a “,“ b end1; private: int a,b; ; class B: private A pub
13、lic: B(int i,int j): A(i,j) void fun() move(3,5); void fl () A:show(); ; int main() B d(3,4); d.fun(); d.f1(); return 0; 程序执行后的输出结果是 ( A) 3,4 ( B) 6,8 ( C) 6,9 ( D) 4,3 31 有以下程序: #include iostream using namespace std; class A private: iht a; public: A(int i) a=i; void disp() cout a “,“; class B priv
14、ate: int b; public: B(int j) b-j; void disp() cout b “,“; ; class C: public B,public A private: int c; public: C(int k):A(k-2),B(k+2) c=k; void disp() A:disp(); B:disp(); cout cendl; , int main() C obj(l0); obj.disp(); return 0; 程序执行后的 输出结果是 ( A) 10,10,10 ( B) 10,12,14 ( C) 8,10,12 ( D) 8,12,10 32 有
15、以下程序: #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; ( A) 314 ( B) 157 ( C) 78.5 ( D) 153.86 33 重载输入流运算符必须使用的原型为 ( A) ostream class R public: R(int r1,int r2) R1=r1; R2=r2; void print(); void print()const
16、; private: iht R1,R2; ; ( A) 5,4 ( B) 20,52 ( C) 0,0 ( D) 4,5 36 设一棵完全二叉树共有 700个结点,则在该二叉树中有【 】个叶子结点。 37 在面向对象方法中,类之间共享属性和操作的机制称为【 】。 38 在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为【 】。 39 在数据库的概念结构设计中,常用的描述工具是【 】。 40 数据库系统中实现各种数据管理功能的核心软件称为【 】。 41 假设 a、 b均是整型变量,则表达式 a=2, b=5, a+, b+, a+b 值 为【 】。 42 设在主函数中有以下定义
17、和函数调用语句,且 fun()函数为 void类型,请写出fun()函数的首部【 】。 int main() double s1022; int n; fun(s); return 0; 43 若有如下程序段: #include iostream using namespace std; int main() char*p=“abcdefgh“, *r; long*q; q=(long*)p; q+; r=(char*)q; cout r endl; return 0; 该程序的输出结果是【 】。 44 表达式 c3=c1 operator+(c2)或 c3=operator+(c1,c2)还
18、可以表示为【 】。 45 下列程序的输出结果是【 】。 #include iostream using namespace std; void fun (int &rf) rf*=2; int main() int num: 500; fun(num); cout num endl; return 0; 46 在下面的程序的横线处填上适当的语句,是该程序的输出为 12。 #include iostream using namespace std; class Base public: int a; Base(int i)a=i; ; class Derived: public Base int
19、 a; public: Derived(int x): Base(x), b(x+1) void show() 【 】; /输出基类数据成员 a的值。 cout b endl; ; int main() Derived d(1); d show(); return 0; 47 假定 A为一个类,则语句 A(A &A) ;为该类【 】函数的原型说明。 48 下列程序将 x、 y和 z按从小到大的顺序排列,请将下面的函数模板补充完整。 template class T void order(【 】 ) T a; if( y) a=X; x=y; y=a; if (y z) a=y: y=Z: Z=
20、a: if(x y) a=X; x=y; y=a; 国家二级( C+)笔试模拟试卷 48答案与解析 1 【正确答案】 C 【试题解析】 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出 ”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种 “先进先出 ”的线性表。 2 【正确答案】 D 【试题解析】 依据后序遍历序列可确 定根结点为 c;再依据中序遍历序列可知其左子树由 deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为 d,右子树由
21、ba构成,如下图 所示。求得该二叉树的前序遍历序列为选项 D)。 3 【正确答案】 B 【试题解析】 链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。但是链式存储结构也有不足之处: 每个结点中的指针域需额外占用存储空间; 链式存储结构是一种非随机存 储结构。 4 【正确答案】 D 【试题解析】 顺序结构、选择结构和循环结构 (或重复结构 )是结构化程序设计的3种基本结构。 5 【正确答案】 D 【试题解析】 测试的目的是发现软件中的错误。经验表明,程序中存在错误的概率与该程序中已发现的错误数成正
22、比。这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。 6 【正确答案】 C 【试题解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复 杂度一般是指执行这个算法所需要的内存空间。 7 【正确答案】 D 【试题解析】 软件生命周期分为软件定义、软件开发及软件运行维护 3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。 8 【正确答案】 C 【试题解
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
本资源只提供5页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 48 答案 解析 DOC
