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

上传人:eventdump275 文档编号:502752 上传时间:2018-11-29 格式:DOC 页数:24 大小:70KB
下载 相关 举报
[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc_第1页
第1页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc_第2页
第2页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc_第3页
第3页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc_第4页
第4页 / 共24页
[计算机类试卷]国家二级(C++)笔试模拟试卷48及答案与解析.doc_第5页
第5页 / 共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 【试题解

23、析】 选项 A)、选项 B)显然不合题意。数据定义语言 (Data Definition Language,简称 DDL)负责数据的模式 定义与数据的物理存取构建;数据操纵语言 (Data Manipulation Language,简称 DML)负责数据的操纵,包括查询及增、删、改等操作。 9 【正确答案】 C 【试题解析】 数据库 (Database,简称 DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有 “集成 ”、 “共享 ”之特点。 10 【正确答案】 D 【试题解析】 数据处理是指将数据转换成信息的

24、过程,故选项 A)叙述错误;数据的物理独立性是 指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项 B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项 C)叙述错误。 11 【正确答案】 C 【试题解析】 本题考查对函数定义的掌握程度。函数类型决定了函数返回值的类型。函数值返回类型可以由编译器自动完成类型转换。在函数有返回值的调用中,编译器将 return 后面的表达式的类型强制转换为该函数定义时指定的返回值类型。 12 【正确答案】 C 【试题解析】 C+中,类是用户自定义的一 种数据类型,对象是类的实例,类定义了属于该类的所有对象

25、的共同特性。一个类作为一种数据类型,它可以定义多个对象。 13 【正确答案】 D 【试题解析】 本题考核虚函数。虚函数是非静态的成员函数。它不能是友元函数,但可以在另一个类中被声明为友元函数,所以 A选项不正确;虚函数必须是类的成员函数,所以 B选项是错误的;虚函数声明只能出现在类定义的函数原型声明中,而不能在成员函数的函数体实现的地方,所以 C选项是不正确的;一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数 的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。故 D选项的说法是正确的。 14 【正确答案】 C 【试题解

26、析】 所谓函数重载,是指同一个函数名可以对应多个函数的实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。即重载函数具有不同的形参列表。 15 【正确答案】 C 【试题解析】 本题考核模板的定义。模板定义的类型参数表中包含一个或多个由逗号分隔的类型参数项,每一项由关键字 class 后跟一个用户命名的标识符,此标识符为类型参数, 它不是一种数据类型,但可以同一般数据类型一样使用。在使用类模板时,必须将其实例化,即用实际的数据类型代替它。 16 【正确答案】 A 【试题解析】 本题考核 C+的输入流。 cin是一个输入流对象,所以 A选项的叙述是错误的。 17 【正确答案】

27、B 【试题解析】 有关用户标识符的考题经常在考试中出现,考生应该重视。 A选项中 long是 C抖语言保留字,不能用于用户标识符。 C选项中的 3Dmax,它的第一个字符是数字 3,不是所规定的字母或下划线,所以也不是合法的用户标识符。 D选项中的 A.dat, 它中间出现了符号 .,不符合标识符的定义规则。所以只有 B选项中的标识符是合法的 C+标识符。 18 【正确答案】 A 【试题解析】 本题考查枚举类型的定义和使用。枚举类型定义了一些整型符号常量的集合,使用枚举类型时应该注意以下几点:枚举类型的第一个常量默认值是0;枚举类型常量的值允许彼此相同;虽然枚举类型常量是整数类型,但是不允许使

28、用整数直接赋值给枚举类型变量,也不允许与整数进行运算,只可以与整数进行比较。根据以上知识我们可以得出 B、 C、 D选项都不正确。 19 【正确答案】 B 【试题解析 】 本题考核 while循环的运用。在 while循环体中,先将变量 i减 1,然后通过判断 i是否为 0来结束循环,最后才执行输出。所以, cout *;语句在 i的值为 100 2时会被执行,而 i为 1时循环结束。即 cout *;语句被执行的次数是 99次。故应该选择 B。 20 【正确答案】 A 【试题解析】 本题考查对字符数组的初始化。 A选项中,数组 a在定义后紧跟初始化的情况下可省略数组长度,其最终数组长度由所赋

29、字符串常量的长度给定。 A选项正确。 B选项中, a是一个二维数组,二维数组也能在定义时被初始 化。如果对全部元素都赋初值,则定义数组时第一维的大小可以忽略,但第二维的大小不能省略。故 B 选项错误。 C选项和 D选项都忽略了字符串的大小要比字符串中的字符数多 1这一点,造成了数组的越界。 21 【正确答案】 C 【试题解析】 本题考核函数的调用。当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是变量本身。 22 【正确答案】 C 【试题解析】 上述类的定义共有 3处错误。第一处:类的成员变量不能在定义时进行初始化:第二处:类的构造函数不能有返回值 (包括 void类型 );第

30、三处: 类的析构函数不能有参数。 23 【正确答案】 A 【试题解析】 本题考核派生类的定义和访问权限。变量 i和 j都是基类 A的私有变量,它们是隐蔽的,在派生类中不能直接访问。 24 【正确答案】 B 【试题解析】 本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符 +,且 c1、 c2 都是该类的对象,则 c1 operator+(c2)与 c1+c2含义相同。如果 +作为该类的非成员函数重载,则 operator+(c1,c2)与 c1+c2含义相同。同理,运算符 “/”作为友元函数重载,则 (-x)/y与表达式 operator / (-x),y)相同。前缀运算符 “

31、-”作为友元函数重载,则 -X与 operator-(x)相同,所以组合起来是operator/(operator -(x),y);,即 B选项。 25 【正确答案】 C 【试题解析】 本题考核函数模板的使用。对于 C选项,编译系统从 3获得的信息是 “T对应于 int”,从 5.5处获得的信息是 “T对应于 double”,二者相互矛盾,在编译时会产生错误。对于 D选项中紧跟在函数名后的 int就是模板实参表,通过它通知编译系统在调 用过程中, double型的参数 5.5将被自动换成 int型。 26 【正确答案】 B 【试题解析】 本题考核格式控制数据的输入输出。函数 setfill(c

32、har c)用于设置填充字符,在输出数据时,如果数据宽度小于设置的宽度,则空闲位置要用填充字符填满,设置的填充符一直有效,直到再次设置填充字符为止,如题中调用函数setfill(*)将填充字符设置为 *,后又调用函数 setfill(#)将填充字符设置为 #。函数 setw(int n)用于设置输入输出宽度,宽度设置的效果只对一次输入或输出 有效,在完成一次数据的输出或输入后,宽度设置自动恢复为 0,如题中语句以宽度 10输出数据 “123”后,字符串 “OK”的输出宽度就自动恢复为 0了。而且题中输出的对齐方式为在输出宽度内左对齐。所以最终的输出为 123#OK。 27 【正确答案】 D 【

33、试题解析】 构造函数是类的一个特殊成员函数,它与类同名,并且没有返回值。 C+在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。构造函数可以是内联函数,也可以重载。 28 【正确答案】 C 【试题解析 】 本题考核 this 指针的应用。上述程序中 sample类定义了一个addvalue非静态成员函数。 addvalue 函数的原型是: void addvalue(sample*this,int m);,该函数的第一个参数是执行该类对象的一个指针即 this 指针。由于这个参数是系统隐含的,所以我们在定义该成员函数时并没有看到这样一个参数。在成员函数的定义体

34、中,可以通过 this 访问这一参数。上述程序的最后输出结果是 15。 29 【正确答案】 B 【试题解析】 本题考核静态数据成员和静态成员函数的应用。程序中 定义一个类sample,它包括一个静态数据成员 n和一个静态成员函数 add,并在类的构造函数中给类私有静态数据成员 n赋值。在主函数 main 中,定义对象 a(2)时,通过构造函数使静态数据成员 n 的值变为 2,在定义对象 b(5)时,通过构造函数使静态数据成员 n=5(覆盖了前面的 n=2),再执行 sample:add()使全局变量 s=5。 30 【正确答案】 C 【试题解析】 本题考核派生类的应用。本题中,类 B 是类 A

35、的私有派生类,在类 B 的成员函数 fun中调用基类 A的成员函数 move,并传入实参 3和 5。在类 B的 成员函数 fl中调用基类 A的成员函数 show,来显示基类数据成员 a和 b 的值。主函数 main 中,定义了派生类 B的对象 d,并赋初值 3和 4。然后调用对象 d的成员函数 fun和 fl,通过上述对函数 fun 和 n的功能的描述可知,程序最后输出 6和 9。 31 【正确答案】 D 【试题解析】 本题考核派生类构造函数的使用。本题中,派生类 C具有多重继承关系,所以在派生类 C的构造函数中应该包含基类 A和 B的成员初始化列表。 32 【正确答案】 A 【试题解析】 本

36、题考核派生类的定义和应用。本程序设计了一个点类 Point,包含了横、纵两个坐标数据 x和 y,由它派生出了圆类 Circle,并加入了新的数据成员,即一个半径 r和一个求圆面积的函数成员 area。在主函数 main 中,首先定义了一个圆 Circle类的对象 c1,并通过它的构造函数初始化其数据成员。由此可知,其半径 r的值为 10,所以其面积为 PI*1010=314,即对象 c1 的函数成员 area的返回值为 314。 33 【正确答案】 A 【试题解析】 本题考核运算符的重载。 C+中重载输入流运算符和输出流运算符只能作为非类成员函数重载,且必须使用如下原 形: istream&

37、operator (istream&,类名 &); ostream& operator (ostream&,类名 ); 34 【正确答案】 C 【试题解析】 本题考核文件 I/O 操作。 C+中可以在定义文件流对象的同时打开文件,也可以在定义文件流对象以后用 open 函数打开文件。可以通过构造函数或 open 函数的第 2个参数,确定文件的打开模式。根据以上知识点可知关于题中语句的描述中,只有 C选项是正确的。 35 【正确答案】 B 【试题解析】 使用 const 关键字修饰的对象成为常对象,题中对象 b 被声明为类 R 的常对象。使用 const关键字说明的成员函数称为常成员函数,类 R

38、中用 const重载了函数 print()。在使用常对象和常成员函数时应注意的是: const是函数类型的一个组成部分,因此在常成员函数部分也要带 const关键字:常成员函数不能更新对象的数据成员,也不能调用该类中没有用 const修饰的成员函数:如果将一个对象说明为常对象,则通过该常对象只能调用它的常成员函数,不能调用其他的成员函数; const关键字可以参与区分重载函数。本题中, b 为 类 R的常对象,通过 b 只能调用类 R的常成员函数 print()输出 20,52。 36 【正确答案】 350 【试题解析】 在任意一棵二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点

39、多一个。在根据完全二叉树的定义,在一棵完全二叉树中,最多有 1个度为 1的结点。因此,设一棵完全二叉树具有 n个结点,若 n 为偶数,则在该二叉树中有 n/2 个叶子结点以及 n/2-1个度为 2的结点,还有 1个是度为 1的结点;若 n为奇数,则在该二叉树中有 n/2+1个叶子结点以及 n/2个度为 2的结点,没有度为1的结点。本题中,完 全二叉树共有 700个结点, 700是偶数,所以,在该二叉树中有 350个叶子结点以及 349个度为 2的结点,还有 1个是度为 1的结点。本题的正确答案为 350。 37 【正确答案】 分类性 【试题解析】 在面向对象方法中,类是具有共同属性、共同方法的

40、对象的集合。所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质。而一个具体的对象则是其对应类的一个实例。由此可知,类是关于对象性质的描述,它包括一组数据属性和在数据上的一组合法操作。类之间这种共享属性和操作的机制称为分类性。 38 【正确答案】 数据字典 【试题解析】 在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典。 39 【正确答案】 E-R图 【试题解析】 E-R图是设计概念模型的有力工具。 40 【正确答案】 数据库管理系统 【试题解析】 数据库系统中实现各种数据管理功能的核心软件称为数据库管理系统,它负责数据库中所有数据的存储、检索、修改以及安全保

41、护等,数据库内的所有活动都是在其控制下进行的。 41 【正确答案】 9 【试题解析】 本题考核运算符的应用,题中的逗号运算符用于将多 个表达式串在一起,逗号运算符的左边总是不返回的,这就是说,逗号右边表达式的值才是整个表达式的值。逗号运算符的结合性为从左到右。所以从左开始计算, a被赋值为2, b 被赋值为 5,然后 a和 b 分别自增 1,最后返回 a+b,即 9。 42 【正确答案】 void fun(b22) 【试题解析】 此题考核的知识点是函数的定义形式与数组名作为函数的参数。函数头的定义形式是 “存储类型说明符数据类型说明符函数名 (形参列表 )”,此题没有涉及到函数的存储类别。如果

42、函数的参数是数组,其第 1维的长度可以省略。因此本题的函 数首部可以写成: void fun(b22)。 43 【正确答案】 efgh 【试题解析】 本题定义了一个字符型指针变量 p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量 r和一个长整型指针变量 q。首先通过语句 “a=(long*)p; ”,把 p 的地址值强制转换为长整型地址值并赋值给 q,然后执行“q+: ”,地址值增加了 4,执行语句 “r=(char*)q; ”,把长整型指针变量 q 的值再强制转换成字符型地址值并赋给 r, r的值应为字符串中字符 “e”的地址。最后输出 r指向的字符串。 44 【正确答案】

43、 c3=c1+c2 【试题解析】 本题考核运算符的重载。这是运算符重载应用的两种形式。 45 【正确答案】 1000 【试题解析】 本题考核引用作为函数参数的使用。引用作为形参,它实际上就是实参,函数对形参的访问和修改就是对实参的访问和修改,题中函数 fun 对形参的操作是自增 2倍,所以经过函数调用后,实参的值自增 2倍,即输出 1000。 46 【正确答案】 cout Base:a 【试题解析】 本题考核作用域分辨符号的使用。作用域分辨符号是 “:”,它可以用来限定 要访问的成员所在的类的名称。一般来说,在派生类中对基类成员的访问应该是惟一的。但是,多继承情况下可能造成对基类中某个成员的访

44、问出现不惟一的情况,通过使用对象作用域分辨符可以解决这种对基类成员访问的二义性问题。题中派生类 Derived与基类 Base定义了数据成员 a,所以要访问基类数据成员可以通过作用域分辨符来实现。 47 【正确答案】 拷贝构造 【试题解析】 本题考核拷贝构造函数的定义。拷贝构造函数是一种特殊的成员函数,它的作用是使用一个已存在的对象来初始化一个被创建的同类的对象。 48 【正 确答案】 T&x, T&y, T&z 【试题解析】 本题考核函数模板。本题要填入的是函数的形参表,此函数的功能是: x、 y和 z按从小到大的顺序排列,那么就涉及到改变传入的实参值的情况,因此要采用引用传递的方式。所以此题空白处应填入: T&x, T&y, T&z。

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

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

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