【计算机类职业资格】二级C++笔试-420及答案解析.doc
《【计算机类职业资格】二级C++笔试-420及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-420及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-420 及答案解析(总分:84.00,做题时间:90 分钟)一、选择题(总题数:35,分数:60.00)1.针对数组定义 int data10;,下列表述中错误的是( )。A) 用*data 可访问到数组的首元素B) 用 data9可访问到数组的末元素C) 用 data10访问数组元素会超出数组边界D) data 共有 10 个元素,其首元素是 data-1(分数:2.00)A.B.C.D.2.执行语句: coutsetfill(*)setw(10)setfill(#)left123 “OK“end1;后将输出A) 123*OKB) 123#OKC) 123*OK*D) 123
2、#OK#(分数:1.00)A.B.C.D.3.定义如下枚举类型:enumMonday,Tuesday,Wednesday,Thrusday,Friday=2:则下列语句正确的是A) 表达式 Wednesday=Friday 的值是 trueB) Day day;day=3;C) Day day;day=Monday+3;D) Day day;day=Tuesday+10;(分数:1.00)A.B.C.D.4.以下程序的输出结果是( )。#include iostream.hVoid main()int a33=1,2),3,4,5,6i,j,s=0;for(i=1;i3;i+)for(j=0;
3、ji;j+) s+=aij;coutsendl;A) 14 B) 19C) 20 D) 21(分数:2.00)A.B.C.D.5.有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中,正确的是( )。A) XB:XB(int a,int b):x(a),y(b)B) XB:XB(int a,int b):XA(a),y(b)C) XB:XB(int a,int b):x(a),XB(b)D) XB:XB(int a,int b):XA(a),
4、XB(b)(分数:2.00)A.B.C.D.6.在数据流图(DFD) 中,带有名字的箭头表示A) 模块之间的调用关系 B) 程序的组成成分C) 控制程序的执行顺序 D) 数据的流向(分数:2.00)A.B.C.D.7.有以下程序:#include iostreamusing namespace std;int main()int num23,*p;int t,i,j,k=10;p=num0;for(i=0;i2;i+)for(j=0;j3;j+)k+;*p=k;for(t=2;t*p;t+)if(!(*pt)j-; *p-;break;*p+;cout*(p-1)end1;return 0;程
5、序运行后的输出结果是( )。A) 19 B) 11 C) 29 D) 23(分数:1.00)A.B.C.D.8.C+中的类有两种用法:一种是类的实例比,即生成类的对象,并参与系统的运行;另一种是通过( )派生出新的类。A) 复用 B) 继承 C) 封装 D) 引用(分数:1.00)A.B.C.D.9.在 C+中,实现封装性需借助于( )。A) 枚举 B) 类 C) 数组 D) 函数(分数:2.00)A.B.C.D.10.设有以下程序段:int a5=0,*p,*q;p=a;q=a;则下列选项中,合法的运算是( )。A) p+q B) p-qC) p*q D) p%q(分数:2.00)A.B.C
6、.D.11.下列说法有错误的是 _。A) 公有继承时基类的 public 成员在派生类中仍是 publicB) 私有继承时基类的 public 成员在派生类中为 privateC) 保护继承时基类的 protected 成员在派生类中是 protectedD) 保护继承时基类的 private 成员在派生类中是 protected(分数:2.00)A.B.C.D.12.下列程序的运行结果为 #includeiostreamhvoid print(double a) cout+a;void print(int a,int b)coutba;Void main()print(1.2); cout“
7、 “; print(3,4);A)1.2 34 B)2.2 34 C)1.2 43 D)2.2 43(分数:1.00)A.B.C.D.13.有如下函数模板定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对 func 的调用中,错误的是 A) func(3,5); B) func(30,55); C) func(3,55); D) funeint(3,55);(分数:2.00)A.B.C.D.14.下列叙述中错误的是A) 二叉树不是线性结构 B) 线性表是非线性结构C) 线性链表是线性结构 D) 栈与队列是线性结构(分数:2.00)A.
8、B.C.D.15.在 C+语言中函数返回值的类型是由( )决定的。A) 调用该函数时系统临时B) return 语句中的表达式类型C) 定义该函数时所指定的函数类型D) 调用该函数时的主调函数类型(分数:2.00)A.B.C.D.16.下列不是在关系代数中专门的关系运算的是( )。A) 插入 B) 连接 C) 选择 D) 投影(分数:2.00)A.B.C.D.17.在数据库系统中,把具有以下特征中之 _ 两个特征的数据模型称为网状模型。A) 允许有一个以上的结点没有双亲B) 有且仅有一个结点无双亲C) 根以外的结点有且仅有一个双亲D) 一个结点可以有多个双亲(分数:2.00)A.B.C.D.1
9、8.在位运算中,操作数每左移一位,其结果相当于A)操作数乘以 2 B)操作数除以 2 C)操作数除以 4 D)操作数乘以 4(分数:1.00)A.B.C.D.19.数据库设计的根本目标是要解决A) 数据共享问题 B) 数据安全问题C) 大量数据存储问题 D) 简化数据维护(分数:2.00)A.B.C.D.20.有如下程序:#includeiostream)using namespace std;classBasepublic:Base(int x0)coutx;Class Derived:public Basepublic:Derived(int x0)coutx;private:Base V
10、al;int main()Derived d(1);return 0;A) 100 B) 000 C) 010 D) 001(分数:2.00)A.B.C.D.21.“商品”与“顾客”两个实体集之间联系一般是( )。A) 一对一 B) 多对多 C) 一对多 D) 多对一(分数:2.00)A.B.C.D.22.设有 int x11;,则表达式(x+*2/3)的值是( )。A) 7 B) 8 C) 11 D) 12(分数:2.00)A.B.C.D.23.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。A与虚基类下面的派生类个数有关 B多次
11、 C两次 D一次(分数:1.00)A.B.C.D.24.语句 ofstream f(“SALARYDAT“,iosappiosbinary);的功能是建立流对象 f,试图打开文件SALARYDAT 并与之连接,并且A)若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B)若文件存在,将其置为空文件;若文件不存在,打开失败C)若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D)若文件存在,打开失败;若文件不存在,建立一个新文件(分数:1.00)A.B.C.D.25.若执行下面的程序时,从键盘上输入 3 和 4,则输出结果是main( )int a,b,s;cin
12、ab;s=a;if(aB)s=b;s=s*s;coutsendl;A) 14 B) 16 C) 18 D) 20(分数:2.00)A.B.C.D.26.有如下函数模板定义:templatetypename T1,typename T2,typename T3T2 plus T1 t1,T3 t3)return t1+t3;则以下调用中正确是A) plus(3,5L);B) plus(3,5L);C) plusint(3,5L);D) plusint,double(3,5L);(分数:1.00)A.B.C.D.27.有以下程序:#include iostream#include mathusin
13、g namespace std;class pointprivate:double x;double y;public:point(double a,double b) x=a;y=b;friend double distance(point a,point b) ;double distance(point a,point b) return sqrt (a.x-b.x)* (a.x-b.x)+(a.y-b.y)*(a.y-b.y);int main ( )point pl(1,2);point p2 (5, 2);coutdistance (pl,p2) end1;return 0;程序运
14、行后的输出结果是( )。A) 1 B) 5 C) 4 D) 6(分数:1.00)A.B.C.D.28.在下列函数原型中,可以作为类 AA 构造函数的是( )。A) void AA(int); B) int AA();C) AA(int)const; D) AA (int);(分数:2.00)A.B.C.D.29.一个函数带有参数说明时,则参数的默认值应该在( )中给出。A) 函数定义 B) 函数声明C) 函数定义或声明 D) 函数调用(分数:2.00)A.B.C.D.30.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )来实现。A) 调用语句 B) 命令C) 中令 D) 消息
15、(分数:2.00)A.B.C.D.31.下列叙述中正确的是A) 在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息B) 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节C) 在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D) 在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法(分数:2.00)A.B.C.D.32.最简单的交换排序方法是( )。A) 快速排序 B) 选择排序C) 堆排序 D) 冒泡排序(分数:2.00)A.B.C.D.33.设栈 S 的初始状态为空。元素 a,b,c,d,e,f 依次通过栈 S,若出栈的顺序为 b,d,
16、 c,f,e,a,则栈 S 的容量至少应该为A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B.C.D.34.下列 for 循环语句执行的次数是 _。for (int i=0, x=0; !xi+)A) 5 B) 6C) 1 D) 无限(分数:2.00)A.B.C.D.35.以下程序的输出结果是( )。#include iostream.hVoid main()int a33= 1,2 , 3,4 , 5,6 , i, j, s=0;for(i=1;i3;i+)for(j=0;ji; j+) s+=aij;coutsend1;A) 14 B) 19C) 20 D) 21(分数:2.
17、00)A.B.C.D.二、填空题(总题数:15,分数:24.00)36.在面向对象方法中,允许作用于某个对象上的操作称为_。(分数:1.00)填空项 1:_37.以下程序的功能是输出 1 至 100 之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*21+2,故不输出该数:对于 27,有 2*72+7,故输出该数。请填空。#includeiostream.hvoid main()int n,k=1,s=o,m;for (n=1:n=100:n+=k=1;s=0;_,while( )k*=m10;s+=m10;_;if(ks)coutn:(分数:1.00)填空项 1:_38.请将下列
18、程序补充完整,使得输出结果为 bbaa。#includeiostreamusing namespace std;class Apublic:_cout“aa“;class B:public Apublic:B()cout“bb“;int main()B *p=new B;delete p;return 0;(分数:2.00)填空项 1:_39.下面是“二维向量”vector2D 的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量 x 和 y 对应相加,然后返回作为相加结果的新对象。请填空补充完整。class vector2Ddouble x; x 分量double y; y 分量
19、public:vector2D(double x0=0,double y0=0) :x(x0),y(y0)void show(cout (,y) ;vector2D operator + (vector2D) ;_operator + (vector2D a) return vector2D(_);(分数:1.00)填空项 1:_40.以下程序的执行结果是_#includeiostreamh#includeiomanip.hvoid print(int n)if(n!=0)print(n-1);for(int i=1;i=n;i+=coutsetw(3)i;coutendl;void main
20、()print (4);(分数:1.00)填空项 1:_41.将代数式 (分数:1.00)填空项 1:_42. 1 是从二维表列的方向进行的运算。(分数:1.00)填空项 1:_43.下列程序的运行结果是_。#inclUde(iostreamh)Class Apublic:Virtual void use()cout“inA/n”;class B:public Apublic:virtual void use()cout“inB/n”;;class C:public Bpublic:Virtual void use()cout“in C/n”;void main()A *obj;Obj=new
21、 C;Obj-use();delete obj;(分数:2.00)填空项 1:_44.己知类 sample 是一个抽象类,其成员函数 display 是无形参、无返回类型的纯虚函数,请完成其声明:class samplepublic:sample();_;(分数:2.00)填空项 1:_45.目前,有两种重要的高级语言,分别是结构化程序和 1。(分数:2.00)填空项 1:_46.一棵二叉树第八层(根结点为第一层)的结点数最多为 1 个。(分数:2.00)填空项 1:_47.已知一个函数的原型是:int fn(double a);若要以 5.27 为实参调用该函数,应使用表达式_。(分数:2.
22、00)填空项 1:_48.一个模块直接调用的其他模块个数称为 1。(分数:2.00)填空项 1:_49.假定 A 为一个类,则语句 A(Afor(i=1;i3;i+)for(j=0;ji;j+) s+=aij;coutsendl;A) 14 B) 19C) 20 D) 21(分数:2.00)A. B.C.D.解析:5.有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数 XB 的下列定义中,正确的是( )。A) XB:XB(int a,int b):x(a),y
23、(b)B) XB:XB(int a,int b):XA(a),y(b)C) XB:XB(int a,int b):x(a),XB(b)D) XB:XB(int a,int b):XA(a),XB(b)(分数:2.00)A.B. C.D.解析:解析 此题考查的是派生类中构造函数的定义。派生类的构造首先要调用基类的构造函数,对基类成员初始化;然后对派生类中的新增成员初始化。格式:派生类名(构造函数形参表)基类构造函数(形参表)。6.在数据流图(DFD) 中,带有名字的箭头表示A) 模块之间的调用关系 B) 程序的组成成分C) 控制程序的执行顺序 D) 数据的流向(分数:2.00)A.B.C.D.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 420 答案 解析 DOC
