【计算机类职业资格】二级C++笔试-422及答案解析.doc
《【计算机类职业资格】二级C++笔试-422及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-422及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-422 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.下列程序段中的变量已正确定义:for(i=0;i4;i+,i+)for(k=1;k3;k+);printf(“*“);程序段的输出结果是( )。A) * B) *C) * D) *(分数:2.00)A.B.C.D.2.下列程序的运行结果是#inClUdeiostream.hclass Locationprivate:int X,Y;pubhc:void init(int0,int0) ;void valueX(int val) Xval;int valueX( ) ret
2、um X;void valueY(int val) Yval;int valueY( ) retum Y;void Location: :init(int initX,int initY) XinitX;YinitY;Void main( ) Location A,B;A. init( ) ;A. valueX(5) ;cout A. valueX( ) endl A. valueY( ) endl;B. init(6,2) ;B. valueY(4) ;cout B. valueX( ) endl B. valueY( ) endl;A) 5 B) 0 C) 5 D) 00 0 0 06 6
3、 6 64 4 2 2(分数:2.00)A.B.C.D.3.下面关于派生类的描述中错误的是( )。A) 派生类中至少有一个基类B) 一个派生类可以作为另一个派生类的基类C) 派生类只继承了基类中的公有成员和保护成员D) 派生类的缺省继承方式是私有(分数:2.00)A.B.C.D.4.下面对于友元函数描述正确的是( )。A) 友元函数的实现必须在类的内部定义B) 友元函数是类的成员函数C) 友元函数破坏了类的封闭性和隐藏性D) 友元函数不能访问类的私有成员(分数:2.00)A.B.C.D.5.在下列程序画线处填入的正确语句是( )。#include iostreamusing namespace
4、 std;class Basepublic:void fun()cout“Base:fun“,end1;class Derived:public Basevoid fun()_ /显式调用基类的函数 fun()cout“Derived:fun“ end1;A) fun(); B) Base.fun(); C) Base:fun(); D) Base-fun();(分数:1.00)A.B.C.D.6.下列叙述中正确的是( )。A) 有一个以上根结点的数据结构不一定是非线性结构B) 只有一个根结点的数据结构不一定是线性结构C) 循环链表是非线性结构D) 双向链表是非线性结构(分数:2.00)A.B
5、.C.D.7.对下面程序描述正确的是( )。#include iostream using namespace std;class A private:int i;public:class B private:int j;protected:int k;int fun1 ( );MyB;int fun2 ( ); A) 定义类 B的对象的语句是: A:B b;B) 类 A的成员函数 fun2()可以用 MyBj 的方式访问类 B的私有成员 j。C) 类 A的成员函数 fun2()可以用 MyBk 的方式访问类 B的保护成员 k。D) 类 B的成员函数 fun1()可以直接访问类 A的私有成员
6、i。(分数:2.00)A.B.C.D.8.有下列程序:#includestdio.h#include“string.h“typedestructchar name9;char sex;float score2;STU;void f(STU a)STU b=“Zhao“,m,85.0,90.0;int i;strcpy(a.name,b.name);a.sex=b.sex:for(i=0;i2;i+)a.scorei=b.scorei;void main()STU c=“Qian“,f,95.0,92.0);f(c);printf(“%s,%c,%2.0f,%2.0fn“,c.name,c.se
7、x,c.score0,c.score1);程序的运行结果是( )。A) Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m,85,90(分数:2.00)A.B.C.D.9.下列定义中 p指向的地址可更改,但*p 不能够更改的是( )。A) const int *p; B) int * const p;C) const int *const p; D) int * p;(分数:2.00)A.B.C.D.10.若有以下定义:inta1,2,3,4,5,6,7;char clb,c2=2;则数值不为 2的表达式是( )。A) a1 B) d-
8、c1 C) a3-c2 D) c2-0(分数:2.00)A.B.C.D.11.下面不属于软件设计原则的是A) 抽象 B) 模块化 C) 自底向上 D) 信息隐蔽(分数:1.00)A.B.C.D.12.下面对于友元函数描述正确的是A) 友元函数的实现必须在类的内部定义 B) 友元函数是类的成员函数C) 友元函数破坏了类的封装性和隐藏性 D) 友元函数不能访问类的私有成员(分数:1.00)A.B.C.D.13.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。A) 调用语句 B) 命令 C) 口令 D) 消息(分数:2.00)A.B.C.D.14.下列预算符不能重载为友元函数
9、的( )。A) = () ( ) - B) + - + - C) = = D) += -= *= /=(分数:1.00)A.B.C.D.15.有如下程序:#include iostreamusing namespace std;class AA int n;public:AA(int k):n(k) int get() return n;int get()const retnm n+1; int main()AA a(5);const AA b(6);cout a.get()b.get();return 0;执行后的输出结果是_ 。A) 55 B) 57 C) 75 D) 77(分数:2.00
10、)A.B.C.D.16.必须用一对大括号括起来的程序段是( )。A) switch语句中的 case标号语句 B) if 语句的分支C) 循环语句的循环体 D) 函数的函数体(分数:2.00)A.B.C.D.17.下面关于虚函数的描述中正确的是A) 虚函数是一个静态成员函数B) 虚函数是一个非成员函数C) 虚函数既可以在函数说明时定义,也可以在函数实现时定义D) 派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型(分数:1.00)A.B.C.D.18.下面有关重载函数的描述中正确的是A) 重载函数必须具有不同的返回值类型 B) 重载函数形参个数必须不同C) 重载函数必须具有不同的形参列
11、表D) 重载函数名可以不同(分数:1.00)A.B.C.D.19.为避免指针使用上的错误,可以在定义指针时就给指针一个值,这叫指针的初始化。不能初始化指针的值是( )。A) 8 B) 0 C) NULL D) 地址(分数:2.00)A.B.C.D.20.若调用一个函数,且此函数中没有 return语句,则正确的说法是该函数A) 没有返回值B) 返回若干个系统默认值C) 有返回值,但返回一个不确定的值D) 能返回一个用户所希望的函数值(分数:1.00)A.B.C.D.21.下面程序的运行结果为( )。#includeiostream.hvoid swap (int temp=a+;a=b;b=t
12、emp;void main()int a=2, b=3;swap(a,b);couta“,“bend1;A. 2,3 B. 3,2C. 2,2 D. 3,3(分数:2.00)A.B.C.D.22.开发软件时对提高开发人员工作效率至关重要的是A)操作系统的资源管理功能 B)先进的软件开发工具和环境C)程序人员的数量 D)计算机的并行处理能力(分数:1.00)A.B.C.D.23.假定 MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。A) voidMyClass(); B) MyClass(int n);C) MyClass(); D) MyClass();(分数:1.00)
13、A.B.C.D.24.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_ 。A) 控制流 B) 加工 C) 数据存储 D) 源(分数:2.00)A.B.C.D.25.若语句:coutsetfill()setw(5)3141512setw(5)“OK!“;是程序中第 1个输出语句,则输出结果是( )。A) 3141512OK! B) 3141512OK! C) 31415OK! D) 31415OK!(分数:2.00)A.B.C.D.26.面向对象程序设计将数据与( )放在一起,作为一个互相依存、不可分割的整体来处理。A) 信息
14、 B) 数据抽象C) 数据隐藏 D) 对数据的操作(分数:2.00)A.B.C.D.27.如在类中有如下函数定义Void fun(int a,int b,int c=0);则下列调用中,正确的是( )。A) fun(1) B) fun(1,1) C) fun() D) fun(2,2,3,4)(分数:2.00)A.B.C.D.28.下列叙述中错误的是( )。A) 一种数据的逻辑结构可以有多种存储结构B) 数据的存储结构与数据的处理效率无关C) 数据的存储结构与数据的处理效率密切相关D) 数据的存储结构在计算机中所占的空间不一定是连续的(分数:2.00)A.B.C.D.29.应在下列程序画线处填
15、入的正确语句是 ( )。#include iostreamusing namespace std;clas Basepublic:void fun()cout“Base:fun“end1;class Derived : public Basevoid fun()_/显示调用基类的函数 fun()cout“Derived:fun“end1;A) fun(); B) Base.fun(); C) Base:fun(); D) Base-fun();(分数:1.00)A.B.C.D.30.若有如下语句:#includeiostream.hvoid main( ) int x3;doxx2;cout
16、x;while(!(X) ) ;则上面程序段A) 输出的是 1 B) 输出的是 1和2C) 输出的是 3和 0 D) 是死循环(分数:2.00)A.B.C.D.31.若 AA为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a时,其书写格式为( )。A) a B) AA.a C) a() D) AA:a()(分数:2.00)A.B.C.D.32.已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是( )。A) 堆排序 B) 直接插入排序C) 快速排序 D) 直接选择排序(分数:2.00)A.B.C.D.33.下列 do.while循环的循环次数为( )。in
17、t i=5;do couti-endl;i-;while(i!=0);A) 0 B) 1C) 5 D) 无限(分数:2.00)A.B.C.D.34.有如下程序:#includeiostreamusing namespace std;class Pointint x,y;public:Point(int x1=0,int y1=0):x(x1),y(y1)int get()return x+y;class CirclePoint center;int radius;public:Circle(int cx,int cy,int r):center(cx,cy),radius(r)int get(
18、)return center.get()+radius;int main()Circle c(3,4,5);coutc.get()end1;return 0;运行时的输出结果是( )。A) 5 B) 7 C) 9 D) 12(分数:2.00)A.B.C.D.35.所有在函数中定义的变量,连同形式参数,都属于A) 全局变量 B) 局部变量 C) 静态变量 D) 寄存器变量(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:27.00)36.多继承情况下,派生类对基类成员的访问会出现二义性。解决二义性的方法是 1、 2 和 3。(分数:2.00)填空项 1:_填空项 1:_填空项 1
19、:_37.软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于 1 中的一个阶段。(分数:2.00)填空项 1:_38.表达式 x.operator+(y.operator+(0)还可以写成_。(分数:2.00)填空项 1:_39.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:2.00)填空项 1:_40.下列程序编译时发现 pb-f(10);语句出现错误,其原因是_。#includeiostream.hclass Basepublic:void f(int x)cout“Base:“xendl;);class Derived:public Basepublic:v
20、oid f(char*str)cout“Derived:“strendl;void main(void)Derived*pd=new Derived;Pd-f(10);(分数:2.00)填空项 1:_41.如下程序声明了一个电话号码类 PhoneNumber,重载了流插入运算符,以便于电话号码的输出。请将程序补充完整。#includeiostream#includeiomanip#includestringusing namespace std;class PhoneMunberpublic:void setNumber(string number)this-number=number; /重
21、载流插入操作符friend_(ostream output,const PhoneNumber num)outputnum.number; return output; private:string number;int main()PhoneNumber phone;phone.setNumber(“8008100598“);eout“The phone number is:“phoneendl;return 0;(分数:2.00)填空项 1:_42.任何非空树中有且仅有一个结点没有前驱结点,该结点就是树的 1。(分数:1.00)填空项 1:_43.己知一个函数的原型是:int fn(dou
22、ble x);若要以 5.27为实参调用该函数,应使用表达式 1。(分数:2.00)填空项 1:_44.将一个函数声明为一个类的友元函数必须使用关键字 1。(分数:2.00)填空项 1:_45.一个抽象类的派生类可以实例化的必需条件是实现了所有的 1。(分数:2.00)填空项 1:_46.C+语言中的多态性是在编译时通过_和模板体现的,在运行时是通过_体现的。(分数:1.00)填空项 1:_47.长度为 n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。(分数:1.00)填空项 1:_48. 1允许用户为类定义一种模式,使得类中的某些数据成
23、员及某些成员函数的返回值能取任意类型。(分数:2.00)填空项 1:_49.若有 int x5,*p=x;则数组元素 x3可以表示为*(p+ 1),也可以表示为 p3。(分数:2.00)填空项 1:_50.数据库系统中实现各种数据管理功能的核心软件是 1。(分数:2.00)填空项 1:_二级 C+笔试-422 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.下列程序段中的变量已正确定义:for(i=0;i4;i+,i+)for(k=1;k3;k+);printf(“*“);程序段的输出结果是( )。A) * B) *C) * D) *(分数:2
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 422 答案 解析 DOC
