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

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

1、国家二级( C+)笔试模拟试卷 85及答案与解析 1 以下哪个特征不是面向对象思想中的主要特征 ( )。 ( A)多态 ( B)继承 ( C)封装 ( D)垃圾回收 2 下面关于虚函数的描述中,正确的是 ( )。 ( A)虚函数是一个静态成员函数 ( B)虚函数是一个非成员函数 ( C)虚函数既町以在函数说明时定义,也可以函数实现时定义 ( D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 3 有关构造函数的说法不正确的是 ( )。 ( A)构造函数名字和类的名字一样 ( B)构造函数在说明类变量时自动执行 ( C)构造函数无任何函数类型 ( D)构造函数有且只有一个 4 对于常

2、数据成员,下面描述正确的是 ( )。 ( A)常数据成员可以不初始化,并且不能更新 ( B)常数据成员必须被初始化,并且不能更新 ( C)常数据成员可以不初始化,并且可以被更新 ( D)常数据成员必须被初始化,并且町以被更新 5 下列描述中错误的是 ( )。 ( A)派生类可以作为基类派生其他的子类 ( B)派生类继承基类的所有数据成员 ( C)派生类可以有多个基类 ( D)派生类不 能继承一些函数成员 6 实现输出为八进制的符号是 ( )。 ( A) dec ( B) hex ( C) oct ( D) setw (8) 7 派生类的对象对它的基类成员中 ( )是可以访问的。 ( A)公有继

3、承的公有成员 ( B)公有继承的私有成员 ( C)公有继承的保护成员 ( D)私有继承的公有成员 8 下列说法中错误的是 ( )。 ( A)公有继承时基类中的 public成员在派生类中仍是 public的 ( B)公有继承时基类中的 private成员在派生类中仍是 private的 ( C)私有继承时基类中的 public成员在派生类中是 private的 ( D)保护继承时基类中的 public成员在派生类中是 protected的 9 有如下程序段 = 执行该程序段后,x的值为 ( A) ture ( B)假 ( C) 0 ( D) 1 10 若有说明: int s34=0则下面叙述正

4、确的 ( )。 ( A)只有元素 s00可得到初值 0 ( B)此说明语句不正确 ( C)数组 s中各个元素都可得到初值,但其值不一定为 0 ( D)数组 s中每个元素均可得到初值 0 11 关于虚函数下面说的正确的是 ( )。 ( A)若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数 ( B)虚函数不能声明为友元 ( C)子类必须重定义父类的虚函数 ( D)虚函数不能是 static的 12 关于纯虚函数和抽象 类的描述中, ( )是错误的。 ( A)纯虚函数是一种特殊的虚函数,它没有具体的定义 ( B)抽象类是指具有纯虚函数的类 ( C)一个基类中说明有纯虚函数,该基类的

5、派生类一定不再是抽象类 ( D)抽象类只能作为基类来使用,其纯虚函数的定义由派生类给出 13 有以下程序 ( )。 #include iostream.h int f(int n) if(n=1)return l; else return f(n-1)+1; void main() int i,j=-; for(i=1; i 3; i+) j+=f(i); cout j endl; 程序运行后输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 14 下列关于虚基类的描述中,错误的是 ( )。 ( A)虚基类子对象的初始化由最派生类完成 ( B)虚基类子对象的初始化次数

6、与虚基类下面的派生类个数有关 ( C)设置虚基类的 目的是消除二义性 ( D)带有虚基类的多层派生类构造函数的成员初始化列表中都要列出对虚基类构造函数的调用 15 以下哪个基类中的成员函数表示纯虚函数 ( )。 ( A) virtual void vf (int) ( B) void vf(int)=0 ( C) virtual void vf (=0) ( D) virtual void vf (int) 16 若定义 cin str;当输入 Object Windows Programming!所得的结果是 str() ( A) Object Windows Programming! (

7、B) Object ( C) Object Windows ( D) Object Windows Programming 17 一个类的友元函数或友元类能够通过成员操作符访问该类的 ( )。 ( A)私有成员 ( B)保护成员 ( C)公有成员 ( D)公用成员、保护成员和私有成员 18 ( )是一个在百慕大类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。 ( A)虚析构函数 ( B)虚构造函数 ( C)纯虚函数 ( D)静态成 员函数 19 线性表的顺序存储结构和线性表的链式存储结构分别是 ( )。 ( A)顺序存取的存储结构、顺序存取的存储结构 ( B)随机

8、存取的存储结构、顺序存取的存储结构 ( C)随机存取的存储结构、随机存取的存储结构 ( D)任意存取的存储结构、任意存取的存储结构 20 通常的拷贝初始化构造函数的参数是 ( )。 ( A)某个对象名 ( B)某个对象的成员名 ( C)某个对象的引用名 ( D)某个对象的指针名 21 关于虚函数,下列表述正确的是 ( )。 ( A)如果重定义虚函数时使 用了保留字 virtual,则该重定义函数仍然是虚函数 ( B)虚函数不得声明为静态函数 ( C)虚函数不得声明为另一个类的朋友函数 ( D)派生类必须重新定义基类的虚函数 22 有如下定义语句: int a=1,2,3,4,5;,则对语句 i

9、nt*p=a;正确的描述是 ( )。 ( A)语句 int*p=a;定义不正确 ( B)语句 int*p=a;初始化变量 p,使其指向数组对象 a的第一个元素 ( C)语句 int*p=a;是把 a0的值赋给变量 p ( D)语句 iht*p=a;是把 al的值赋给变 量 p 23 在 int a=10, *p= else return f(n-1)+1 voidmain() int i,j=0; for(i=l i 3; i+)=i+=f(i); cout j; 程序 运行后的输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 28 关于 getline()函数的下

10、列描述中, ( )是错误的。 ( A)该函数是用来从键盘上读取字符串的 ( B)该函数读取的字符串长度是受限制的 ( C)该函数读取字符串时,遇到终止符时便停止 ( D)该函数中所使用的终止符只能是换行符 29 C+中,由类 istream和类 ostream而派出的一个类 ( ),它提供双向 I/O操作。 ( A) iostream ( B) fstream ( C) strstream ( D) istream 30 下面的描述中,正确的是 ( )。 ( A) virtual可以用来声明虚函数 ( B)含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类 ( C)即使基类的构造函数没有参

11、数,派生类也必须建立构造函数 ( D)静态数据成员可以通过成员初始化列表宋初始化 31 关于二义性的描述错误的是 ( )。 ( A)一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性 ( B)解决二义性可以用对成员名的限定法 ( C)父类和子类中同时出现同名函数,也可能存在二义性 ( D)一个子类是从两个父类派生出来的,而这两个父类只有一个共同的父类,对该父类成员进行访问时,可能出现二义性 32 下列关于运算符重载的描述中, ( )是正确的。 ( A)运算符重载可以改变操作数的个数 ( B)运算符重载可以改变化先级 ( C)运算符重载可以改变结合性 ( D)运算符重载不可

12、以改变语法结构 33 当输入 “Thank you”时下列程序的输出结果为 ( )。 #include iostream.h #include iomanip.h void main() char line80; cin.getline(line,sizeof(80), k); cout line; ( A) Tha ( B) Thank you ( C) Thank ( D)以上结果都不对 34 下列关于动态联编的描述中,错误的是 ( )。 ( A)动态联编是以虚函数为基础的 ( B)动态联编是在运行时确定所调用的函 数代码的 ( C)动态联编调用函数操作是指向对象的指针或对象引用 ( D)

13、动态联编是在编译时确定操作函数的 35 下列关于虚基类的描述,错误的是 ( )。 ( A)设置虚基类的目的是为了消除二义性 ( B)虚基类的构造函数在非虚基类之后调用 ( C)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用 ( D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数 36 长度为 n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元 素的平均个数为【 】。 37 用树型结构表示实体类型及实体间联系的数据模型称为【 】。 38 类是一个支持集成的抽象数据类型,而对象是类的【 】。 39 数据流图的类型有

14、【 】和事务型。 40 当数据的物理结构 (存储结构、存取方式等 )改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【 】。 41 派生类的成员一般分为两部分,一部分是【 】,另一部分是自己定义的新成员。 42 以下程序输出的结果是【 】。 #include iostream.h void main( ) int a=5, b=4, c=3, d; d=(a b C) ; cout d; 43 设 i, j, k均为 int型变量,则执行完 for(i=0, j=10; i =j; i+, j-)k=i+j语句后, k的值为【 】。 44 如果要把返回值为 void的函

15、数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是【 】。 45 如果类 B继承了类 A,则称类 A为类 B的基类,类 B称为类 A的【 】。 46 将 x+y中的 +运算符用友元函数重载应写为【 】。 47 下列程序段的输出结果是【 】。 cout fixed 509 123456789 end1; 48 设置虚基类的目的是【 】,通过【 】表示虚基类。 49 【 】是一系列相关函数的模型或样板,这些函数的【 】形式相同,只是所针对的【 】不同。 国家二级( C+)笔试模拟试卷 85答案与解析 1 【正确答案】 D 2 【正确答案】 D 3 【正确答案】 D 4 【正确答案】 B

16、 5 【正确答案】 B 6 【正确答案】 C 7 【正确答案】 A 8 【正确答案】 B 9 【正确答案】 D 10 【正确答案】 D 11 【正确答案】 D 12 【正确答案】 C 13 【正确答案】 B 14 【正确答案】 B 15 【正确答案】 B 16 【正确答案】 B 17 【正确答案】 D 18 【正确答案】 C 19 【正确答案】 B 20 【正确答案】 C 21 【正确答案】 B 22 【正 确答案】 B 23 【正确答案】 C 24 【正确答案】 D 25 【正确答案】 D 26 【正确答案】 D 27 【正确答案】 B 28 【正确答案】 D 29 【正确答案】 A 30

17、【正确答案】 A 31 【正确答案】 C 32 【正确答案】 D 33 【正确答案】 A 34 【正确答案】 B 35 【正确答案】 B 36 【正确答案】 n/2 【试题解析】 在线性表的任何位置插入一个元素的概率相等,即概率为p=1/(n+1),则插入一个元素时 所需移动元素的平均次数为 E=1/(n+1) (n-i+1) =n/2。 37 【正确答案】 层次模型 【试题解析】 用树形结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体间联系的数据模型称为网状模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。 38 【正确答案】 实例 【试题解析】

18、将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。 39 【正确答案】 变换型 【试题解析】 典型的数据流类型有两种:变换型和事务型。变换型是指信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统;在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。 40 【正确答案】 物理独立性 【试题解析】 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依

19、赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取 方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。 41 【正确答案】 从基类继承的成员 【试题解析】 派生类的成员由继承的成员和自己定义的成员组成。 42 【正确答案】 0 【试题解析】 本题的关键在于对变量 c的赋值运算: 43 【正确答案】 10 【试题解析】 该 for语句以 i为 0、 j为 10初始化,循环条件是 i =j,每次循环后 i增 1、 j减 1,循环体是将 i与 j的和赋给 k。这样变量 k将保存的是最后一次赋给它的值。一次循环后 i为 1、 j为 9,二次循环后 i为 2、 j为 8, ,

20、五次循环后 i为 5、 j为 5,继续第六次循环,将 i与 j的和 10存于 k后, i为 6、 j为 4,结束循环。所以循环执行后 k为 10。 44 【正确答案】 friend void A(); 【试题解析】 C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。 45 【正确答案】 (派生类 【试题解析】 如果类 A为类 B的基类,那么类 B称为类 A的派生类。 46 【正确答案】 operator+(x, y) 【试题解析】 C+中用成员函数重载 x+y为 x.operator +(y); ,用友元函数重载x+y为 operator+(x, y)。 47 【正确答案】 123457 【试题解析】 fixed的意义是在小数点后保留六位,所以 fixed输出为509.123457。 48 【正确答案】 解决二义性问题 用关键字 virtual 【试题解析】 解决二义性的两个基本方法一是用域名进行限制,二是用虚基类的方法。注意: C+语言中解决二义性的方法。 49 【正确答案】 函数模板 源代码 数 据类型 【试题解析】 函数模板是一系列相关函数的模型或样板,这些函数的源代码形式相同,只是所针对的数据类型不同。注意:声明一个函数的模板格式是: template 模板形参表声明函数声明

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

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

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