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

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

1、国家二级( C+)笔试模拟试卷 14及答案与解析 1 下列语言不属于高级语言的是 ( )。 ( A) C语言 ( B)机器语言 ( C) FORTRAN 语言 ( D) C+语言 2 数据库系统的核心是 ( )。 ( A)数据模型 ( B)数据库管理系统 ( C)软件工具 ( D)数据库 3 下列叙述中正确的是 ( )。 ( A)在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息 ( B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节 ( C)在模块化程序设计 中,一个模块内部的控制结构也要符合结构化原则 ( D)在程序设计过程中,不能同时采用结构化程序设计方法与

2、模块化程序设计方法 4 下列叙述中正确的是 ( )。 ( A)线性链表中的各元素在存储空间中的位置必须是连续的 ( B)线性链表中的表头元素一定存储在其他元素的前面 ( C)线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 ( D)线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储J顷序也是任意的 5 以下关于数据库系统的叙述中,正确的是 ( )。 ( A)数据库只存在数据项之间的联系 ( B)数据库的数据之间和记录之间都存在着联系 ( C)数据库的数据之间和记录之间都不存在着联系 ( D)数据库的数据项之间无联系,记录之间存在联系 6 调

3、试程序过程中主要会发现三类错误,不包括 ( )。 ( A)语法错误 ( B)逻辑错误 ( C)例外错误 ( D)常规错误 7 关系 R和关系 S的并运算是 ( )。 ( A)由关系 R和关系 S的所有元组合并组成的集合,再删去重复的元组 ( B)由属于 R而不属于 S的所有元组组成的集合 ( C)由 既属于 R又属于 S的元组组成的集合 ( D)由 R和 S的元组连接组成的集合 8 在结构化程序设计思想提出之前,在程序设计中强调程序的效率。与程序的效率相比,结构化程序设计思想更重视程序的 ( )。 ( A)安全性 ( B)一致性 ( C)可理解性 ( D)合理性 9 下述内容中 ( )不属于软

4、件工程管理的范畴。 ( A)软件管理学 ( B)软件心理学 ( C)软件工程经济 ( D)软件工程环境 10 为了使模块尽可能独立,要求 ( )。 ( A)模块的内聚程序要尽量高,且各模块间的耦合程 度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 11 关于面向对象的程序设计方法,下列说法正确的是 ( )。 ( A) “封装性 ”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理 ( B) “多态性 ”指的是对象的状态会根据运行时要求自动

5、变化 ( C)基类的私有成员在派生类的对象中不可访问,也不占内存空间 ( D)在面向对象的程序设计中,结构化程序 设计方法仍有着重要作用 12 面向对象程序设计思想的主要特征中不包括 ( )。 ( A)继承性 ( B)功能分解,逐步求精 ( C)封装性和信息隐藏 ( D)多态性 13 在派生类中重新定义虚函数时,除了 ( )方面,其他方面都必须与基类中相应的虚函数保持一致。 ( A)参数个数 ( B)参数类型 ( C)函数名称 ( D)函数体 14 关于抽象类,下列表述正确的是 ( )。 ( A)抽象类的成员函数中至少有一个是没有实现的函数 (即无函数体定义的函数 ) ( B)派生类必须实现作

6、为基类 的抽象类中的纯虚函数 ( C)派生类不可能成为抽象型 ( D)抽象类不能用来定义对象 15 下列关于构造函数的描述中,错误的是 ( )。 ( A)构造函数可以设置默认参数 ( B)构造函数在说明类变量时自动执行 ( C)构造函数可以对静态数据成员进行初始化 ( D)构造函数可以重载 16 下面对二维数组 array 的定义,正确的是 ( )。 ( A) int array4; ( B) char array3, 4; ( C) float array (3)(4); ( D) float array34; 17 已知程序中已经定义了函数 test,其原型是 int test (int,

7、int,int);,则下列重载形式中正确的是 ( )。 ( A) char test(int, int, int); ( B) double test (int,int,double); ( C) int test(int ,int, int=0); ( D) float test(int,int,float=3.5F); 18 有如下函数模板的定义: template class T T func(Tx, Ty)return x*x+ y*y;在下列对 func的调用中不正确的是 ( )。 ( A) func(3, 5); ( B) func (3, 5); ( C) func(3, 5.5

8、); ( D) func int (3, 5.5); 19 以下不属于运算符重载应注意的问题是 ( )。 ( A)重载的运算号应保持其原有的基本语义 ( B)重载的运算符应尽可能保持其原有的特性 ( C)运算符的重载尽量不配套 ( D)使用引用参数还是非引用函数 20 关于模板,下列说法不正确的是 ( )。 ( A)用类模板定义一个对象时,不能省略实参 ( B)类模板只能有虚拟类型参数 ( C)类模板本身在编译中不会生成任何代码 ( D)类模板的成员函数都是模板函数 21 下列关于子类型的描述中,错误的是 ( )。 ( A)子类型关系是可逆的 ( B)公有派生类的对象可以初始化基类的引用 (

9、C)只有公有的继承下,派生类是基类的子类型 ( D)子类型关系是可传递的 22 如果有以下的函数定义及变量声明: void fun(double a, double b, double break;case *:d=a*b; break;case /:d=a/b; break;void main()double r; 则下列函数中,调用正确的是( )。 ( A) r=fun(60,5,7); ( B) r=fun(9.8,3.3,r,-); ( C) fun(2.2,1.5,r); ( D) fun(fun(2,5,r,+),3,r,*); 23 有以下程序 #include iostream

10、 using namespace std;class MyClasspublic: MyClass(int n) number=n; /拷贝的构造函数 MyClass(MyClass MyClass() private: int number;MyClass fun(MyClass p) MyClass temp(p); return temp;int main() MyClass obj 1 (10), obj 2(0); MyClass obi 3 (obj 1); obj2=fun(obj3); return 0;程序执行时, MyClass 类的拷贝构造函数被调用的次数是 ( )。 (

11、 A) 5 ( B) 4 ( C) 3 ( D) 2 24 在公有继承的情况下,允许派生类直接访问的基类成员包括 ( )。 ( A)公有成员 ( B)公有成员和保护成员 ( C)公有成员、保护成员和私有成员 ( D)保护成员 25 友元运算符 obj1 obj2被 C+编译器解释为 ( )。 ( A) operator (obj1,obj2) ( B) (obj1,obj2) ( C) obj2.operator (obj1) ( D) obj1.operator (obj2) 26 下面关于类概念的描述中 ( )是错误的。 ( A)类是抽象数据类型的实现 ( B)类是具有共同行为的若干对象的

12、统一描述体 ( C)类是创建对象的样板 ( D)类就是 C语言中的结构体类型 27 下面对枚举类型的描述正确的是 ( )。 ( A)枚举类型的定义为: enum Monday, Tuesday, Wednesday, Thursday, Friday Day; ( B)在 C+语言中,用户自定义的枚举类型的第一个常量的默认值是 1 ( C)可以定义如下枚举类型: enum Monday, Tuesday, Wednesday=5, Thursday, Friday=5; ( D)以上说法都不正确 28 设有以下定义: class personint num; char name10; publ

13、ic: void init (int n, char *m); ; person std 30;则下面叙述中,不正确的是 ( )。 ( A) std是一个含有 30个元素的对象数组 ( B) std数组中的每个元素都是 person类的对象 ( C) std数组中的每个元素都有自己的私有变量 num和 name ( D) std数组中的每个元素都有各自的成员函数 init 29 一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是 ( )。 ( A)每个派生类的构造函数都要为虚基类构造函数提供实参 ( B)多继承时有 可能出现对基类成员访问的二义性问题 ( C)使用

14、虚基类可以解决二义性问题并实现运行时的多态性 ( D)建立最派生类对象时,虚基类的构造函数会首先被调用 30 有如下程序 #include iostream using namespace std;int i=1;class Fun public:static int i;int value() return i-1;int value()const return i+1;int Fun: i=2;int main() int i=3;Fun fun1;const Fun fun2;_return ();若程序的输出结果是 :123 ( A) cout fun1.value() Fun: i

15、fun2.value(); ( B) cout Fun:i fun1.value() fun2.value(); ( C) cout fun1. value() fun2.value() Fun: i; ( D) cout fun2.value() Fun: i fun 1.value(); 31 执行以下程序后的输出结果为 ( )。 #include iostream Using namespace std;void fun(int x, int y, int *cp, int *dp) *cp=x+ y; 2*dp=x- y;void maia() int a, b, c, d; a=30

16、; b=50; fun(a, b, cout c ,, d end1; ( A) 50, 30 ( B) 30, 50 ( C) 80, 20 ( D) 80, 20 32 下列关于派生类的构造函数的叙述中,正确的是 ( )。 ( A)派生类通过成员初设列表的方法调用基类的构造函数,实现对基类的初始化 ( B)派生类构造函数的调用顺序先基类后子对象构造函数 ( C)派生类构造函数的调用顺序先子对象构造函数后基类, ( D)派生类构造函数是不能继承基类的 33 有如下程序: #include iostream using namespace std;class point int x, y;pu

17、blic: point( int vx, int vy ) X=vx; y=vy; point() x=0; y=0; point operator+ ( point p1 ) point p; int px = x + p1.x; int py = y+ p1.y; return point( px, py ); point operator-( point p1 point p; int px = x - p1.x; int py = y - p1.y; return point( px, py ); void print() cout x “,“ y end1; ;int main()

18、point p1( 10, 10 ), p2( 20, 20 ); p1 = p1 + p2; p1.print(); return ();执行后的输出结果是 ( )。 ( A) 10, 10 ( B) 20, 20 ( C) 10, 20 ( D) 30, 30 34 执行以下程序后的输出结果为 ( )。 #include iostream. b class Sample int x, y; public: Sample() x=y=0; Sample(int a, int b) x=a; y=b; void disp () cout “x=“ x “y=“ y end1; ;void ma

19、in() Sample s(2,3), *p= p- disp(); ( A) x=1, y=3 ( B) x=2, y=4 ( C) x=3, y=2 ( D) x=2, y=3 35 有如下类声明 :class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n(0);下列关于 getValue 成员函数的实现中 ,正确的是 ( )。 ( A) SAMPLE: setValue(int n0) n=n0; ) ( B) void SAMPLE: setValue(int n0) n=n0; ( C) void set

20、Value (int n0) n=n0; ( D) setValue(int n0) n=n0; 36 下列软件系统结构图的宽度为【 】。 37 Jackson方法是一种面向【 】的结构化方法。 38 诊断和改正程序中错误的工作通常称为【 】。 39 如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体 “工人 ”与实体 “设备 ”之间存在【 】关系。 40 结构化程序设计方法的主要技术是【 】、逐步求精。 41 若 a=12, b=14, c=0,则表达式 (y=(a b)?a:b) c)?y:c的值为【 】 42 如果表达式 -x中的 “-”是重载的类运算符,采用运算符函数调用格

21、式,及表达式还可以表示为【 】。 43 若从键盘输入 70,则以下程序输出的结果是【 】。 #include iostream.h void main() int a; cin a; if(a 50) cout a; if(a 40) cout a; if(a 30) cout a; 44 有如下的程序 : #include iostream #include fstream using namespace std; int main() char s25=“Programming language“; ofstream f1(DATA.TXT“); f1 “C+ Programming“;

22、f1.close(); ifstream f2 (“DATA.TXT“); if(f2.good()f2 s; f2.close(); cout s; return 0; 执行上面的程序交输出【 】。 45 如果表达式 x=y*z中的 “ ”是作为成员函数重的运算符,采用运算符函数调用格式,该表达式还可以表示为【 】。 46 在 C+语言中每个类都有一个【 】指针,该指针指向正在调用成员函数的对象。 47 若以非成员函数形式,为类 Bounce重载 “!”运算符,其操作结果为一 bool 型数据,则该运算符重载函数的原型是【 】。 48 如果不使用多态机制,那么通过基类的指针虽然可以指向派生类

23、对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是【 】。 #include iostream using namespace std; class Base public: void print () ctout B; ; class Derived; public Base public: void print () cout D; ; int main() Derived* pd= new Derived(); Base* pb = pd; pb- print(); pd- print(); delete pd; return (); 49 下面程序的输出结果是【

24、 】。 #define MIN(a,b) (a) (b)?a:b) #include iostream.h void main() int x= 3, y=5; cout MIN(x,y) end1; 50 下列程序的输出结果是【 】。 #include iostream using namespace std; template typename T T total(T* data) Ts=0; while(*data) s+=*data+; return s; int main() int x=2,4,6,8,0,12,14,16,18; cout total(x) end1; retur

25、n 0; 国家二级( C+)笔试模拟试卷 14答案与解析 1 【正确答案】 B 2 【正确答案】 B 3 【正确答案】 C 4 【正确答案】 D 5 【正确答案】 B 6 【正确答案】 D 7 【正确答案】 A 8 【正确答案】 C 9 【正确答案】 D 10 【正确答案】 B 11 【正确答案】 D 12 【正确答案】 B 13 【正确答案】 D 14 【正确答案】 C 15 【正确答案】 C 16 【正确答案】 D 17 【正确答案】 B 18 【正确答案】 C 19 【正确答案】 C 20 【正确答案】 B 21 【正确答案】 A 22 【正确答案】 C 23 【正确答案】 B 24 【

26、正确答案】 B 25 【正确答案】 A 26 【正确答案】 D 27 【正确答案】 C 28 【正确答案】 D 29 【正确答案】 C 30 【正确答案】 A 31 【正确答案】 C 32 【正确答案】 C 33 【正确答 案】 D 34 【正确答案】 D 35 【正确答案】 B 36 【正确答案】 3 37 【正确答案】 数据结构 38 【正确答案】 调试 或 程序调试 或 软件调试 或 Debug(英文字母大小写均可 ) 或 调试程序或调试软件 39 【正确答案】 一对多 或 I:N, 40 【正确答案】 自顶向下 41 【正确答案】 14 42 【正确答案】 x. opelator-() 43 【正确答案】 707070 44 【正确答案】 C+ 45 【正确答案】 x=y. operator*(z) 46 【正确答案】 this 47 【正确答案】 bool operator!(Bounce); 48 【正确答案】 BD 49 【正确答案】 3 50 【正确答案】 20

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

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

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