[计算机类试卷]国家二级(C++)笔试模拟试卷205及答案与解析.doc

上传人:cleanass300 文档编号:502667 上传时间:2018-11-29 格式:DOC 页数:27 大小:82.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)笔试模拟试卷205及答案与解析.doc_第1页
第1页 / 共27页
[计算机类试卷]国家二级(C++)笔试模拟试卷205及答案与解析.doc_第2页
第2页 / 共27页
[计算机类试卷]国家二级(C++)笔试模拟试卷205及答案与解析.doc_第3页
第3页 / 共27页
[计算机类试卷]国家二级(C++)笔试模拟试卷205及答案与解析.doc_第4页
第4页 / 共27页
[计算机类试卷]国家二级(C++)笔试模拟试卷205及答案与解析.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、国家二级( C+)笔试模拟试卷 205及答案与解析 1 若已知一个栈的入栈序列是 1、 2、 3、 、 n,其输出序列是 p1、 p2、p3、 pn,则 pi为 ( )。 ( A) i ( B) n-i ( C) n-i+1 ( D)不确定 2 以下数据结构中,不属于线性数据结构的是 ( )。 ( A)队列 ( B)线性表 ( C)二叉树 ( D)栈 3 在软件开发中,下面不属于设计阶段的任务的是 ( )。 ( A)数据结构设计 ( B)定义模块 算法 ( C)给出系统模块结构 ( D)定义需求并建立系统模型 4 在一棵二叉树上,第 4层最多有几个结点 ( )。 ( A) 8 ( B) 16

2、( C) 32 D)15 5 在结构化方法中,软件开发阶段用数据流程图 (DFD)作为描述工具的是( )。 ( A)需求分析 ( B)详细设计 ( C)程序编码 ( D)可行性分析 6 下面的描述中,不属于面向对象方法的是 ( )。 ( A)多态 ( B)继承 ( C)类 ( D)过程调用 7 任何关系数据库系统都应该支持 ( )。 I、实体完整性约束 、参照完整性约束 、用户自定义完整性约束 ( A)仅 I ( B)仅 I、 ( C)都是 ( D)都不是 8 有三个关系 R、 S和 T如下: 由关系 R和 S通过运算得到关系 T,则所使用的运算为 ( )。 ( A)并 ( B)自然连接 (

3、C)笛卡尔积 ( D)交 9 下列叙述中,正确的选项是 ( )。 ( A)数据库设计是指设计数据库管理系统 ( B)数据库技术的根本目标是要解决数据共 享的问题 ( C)数据库是一个独立的系统,不需要操作系统的支持 ( D)数据库系统中,数据的物理结构必须与逻辑结构一致 10 下列选项中,作为是数据库系统的核心的是 ( )。 ( A)数据库 ( B)数据模型 ( C)软件工具 ( D)数据库管理系统 11 阅读以下程序: #include void main() static int a2: 5,3, 1, 2; im i, j, s1=0; for(i=0; i using namespac

4、e std; intmain() char*p=“abcdefgh”, *r; r=p; cout using namespace std; void fun(int &x, int y)int t=x; x=y; y=t; im main() int a2=1, 2; fun(a1, a0); std: cout intx=5; int fun(int a) int c; C=X*a: return c; void main() int x=3, a=4; x=x+fun(a); cout class TestClass public: static int m; TestClass() m

5、+: ) TestClass(int n) m=n; Static void test() m+: ; int TestClass: m=0; voidmain() TestClass A; TestClass B(3); A test(); TestClass: test(); cout using namespace std; class TestClass public: TestClass ()cout class TestClass1 public: void show1() tout ( B) template ( C) template ( D) template 27 有如下程

6、序: #include using namespace std; class AA int n; public: AA(int k): n(k) int get()return n; int get()eonstreturn n+1; ; intmain() AA a(5); const AA b(6); cout class Sample int n; public: Sample(int i)n=i; operator+()n+; 前缀重载运算符 operator+(int)n+=2; 后缀 重载运算符 voiddisp() cout”必须使用的原型为 ( )。 ( A) istream&

7、operator(istream&, ); ( B) istream&operator(istream, ); ( C) istream operator(istream, ); ( D) operator(istream&, ); 31 运算符函数调用格式的表达式 “y/x+”与表达式 “y operator (operator+(x,0)”的含义相同,由此可看出 ( )。 ( A) “ ”和 “+”都是作为成员函数重载的 ( B) “ ”和 “+”都是作为非成员函数重载的 ( C) “ ”是作为成员函数重载的, “+”是作为非成员函数重载的 ( D) “ ”是作为非成员函数重载的, “+”

8、都是作为成员函数重载的 32 派生类的构造函数的成员初始化列表中,不能包含 ( )。 ( A)基类的构造函数 ( B)派生类中子对象的初始化 ( C)基类中子对象的初始化 ( D)派生类中一般数据成员的初始化 33 在下面的类定义中,横线处应填入的内容是 ( )。 class Fred public: void print()cout fun(int a, int b) int m=0, i=2; i+=m+1: m=i+a+b: return m: void main() int k=4, m=1, p; p=fun(k, m); cout using namespace std; clas

9、s Point public: Point(int xx=0, int yy=0)X=xx; Y=yy; countP+; Point()countP-; int GetX()return X; int GetY()return Y static void GetC()cout using namespace std; class MyClass public: static int s; MyClass(); void SetValue(int val); ; int MyClass: s=0: MyClass: MyClass() s+; void MyClass: SetValue(in

10、t val) s=val; int main() MyClass my3, *p; P=my; for(int k=0; kSetValue(k+1); p+; cout函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。 27 【正确答案】 B 【试题解析】 语句 AA a(5)调用的是 AA(int k): n(k), a get()调用intget()return n; ),结果会输出 5;而常对象 constAAb(6), b get()调用的是 int get()constreturn n+1; ),会输 出结果

11、7。 28 【正确答案】 C 【试题解析】 所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。 29 【正确答案】 A 【试题解析】 此题考查的是 “+”运算符的重载。为了区分前缀和后缀运算符,规定:重载后缀运算符时必须多一个虚拟参数: int。本题中, A(2)首先给 n赋值2,语句 A+,调用的是后缀运算符重载语句,使得 n加 2变为 4。 B(2)首先给 n赋值 2,然后语句 +B,调用前缀 运算符重载函数,使得 n加 1。因此最终的输出结果是 n=4 n=3。 30 【正确答案】 A

12、 【试题解析】 C+流的输入运算符 “”和输出运算符 “”须使用以下原型: istream&operator(istream&, );。 31 【正确答案】 C 【试题解析】 运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即 y.operator*(z)或者 operator*(y,z):另一种是通过运算符构成表达式,即y*z。因为 “+”运算符既可以作为前缀运算符,又可以作为后缀运算符,所以重载这个运算符时,重载后缀 “+”时必须多一个虚拟参数: int。 32 【正确答案】 C 【试题解析】 在定义派生类的构造函数时,除了对自己的数据成员进行初始化外,还必须负责调用基类的构

13、造函数使基类的数据成员得以初始化。如果派生类中还有子对象,还应包含对子对象初始化的构造函数。 33 【正确答案】 C 【试题解析】 此题考查的是静态数据成员的定义。题目中 count数据成员要定义成静态的,其初始化的格式为:类型类名:静态 数据成员 =常量。 34 【正确答案】 D 【试题解析】 此题考查的是 this指针的使用。类的每一个非静态成员函数都有一个隐含的常量指针,即 this指针。类的静态成员函数不能含有 this指针,因为 this指针是一个指向本对象的指针。 35 【正确答案】 B 【试题解析】 此题考查的是复制构造函数的概念。用一个已知的对象初始化一个正在创建的同类对象时,

14、就会发生复制构造函数。因此,选项 A)、 C)、 D)均会调用复制构造函数,而只有选项 B)没有创建的动作,不调用复制构造函数。 36 【正确答案 】 有穷性 【试题解析】 算法的四个基本特性包括:可靠性、确定性、有穷性和拥有足够的情报,其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。 37 【正确答案】 栈顶 【试题解析】 栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做 “栈顶 ”,不允许插入和删除的一端叫做 “栈底 ”。 38 【正确答案】 投影 【试题解析】 对关系的投影操作是从关系中选择若干属性列组成新的关系。实际

15、上是对关系垂直分割,删去重复的元组。 39 【正确答案】 数据结构 【试题解析】 Jackson方法是一种结构化分析方法,它是一种面向数据结构的方法。 40 【正确答案】 关系的元组 【试题解析】 在关系型数据库中,用二维表来表示关系,二维表的表名即关系名,二维表的行称为关系的元组,二维表的列称为关系的属性。 41 【正确答案】 (*p)(x, y) 【试题解析】 一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的这个首地址 (或称入口地址 )赋予一个指针变量,使该指针变量指向该函数。然 后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量

16、称为 “函数指针变量 ”。函数指针变量定义的一般形式为:类型说明符 (*指针变量名 )();其中 “类型说明符 ”表示被指函数的返回值的类型。 “(*指针变量名 )”表示 ”后面的变量是定义的指针变量。最后的空括号表示指针变量所指的是一个函数。 42 【正确答案】 8 【试题解析】 由程序 main主函数入手,调用 fun函数,将返回值赋值给变量p,然后输出。主函数中 fun(k, m)语句是将主函数中的变量值 k=4, m=1分别传递给函数 fun中 a和 b。 在 fun函数中 “i+=m+1”语句为 i=i+m+1,根据函数 fun中变量 m=0, i=2的定义,得出 i=3,所以语句

17、“m=i+a十 b; ”的计算结果为 8。 43 【正确答案】 int Point: countP=0: 【试题解析】 此题考查的是类中静态数据成员的初始化,静态数据成员初始化的一般格式是:数据类型类名:静态数据成员名 =初始值,且初始化时前面不加关键字 static。分析题目,首先调用构造函数,然后输出 countP的值,所以 countP的初始值应设置为 0,即横线处填入 int Point: countP=0;。 44 【正确答案】 3 【试题解析】 分析题目, for(int k=0; kID=s ID或 s ID=this-ID 【试题解析】 此题考查运算符的重载。运算符 “=”作为成员 函数重载,所以横线处填入的表达式应该是对象本身 ID与对象 s ID的比较表达式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1