欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】计算机二级C+++笔试及答案解析.doc

    • 资源ID:1338124       资源大小:78.50KB        全文页数:28页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】计算机二级C+++笔试及答案解析.doc

    1、计算机二级 C+笔试及答案解析(总分:83.00,做题时间:90 分钟)一、选择题(总题数:35,分数:56.00)1.不能重载的运算符是A) new B) sizeof C) .* D) +(分数:1.00)A.B.C.D.2.设 a=1;b=2;,则(a+)+b 和 a+b这两个表达式的值分别为( )。A3,3 B3,4 C4,3 D4,4(分数:2.00)A.B.C.D.3.设有以下说明和定义:#includeiostream. hVoid main() typedef unionlong i; int k5; char c;DATE;struct dateint cat; DATE c

    2、ow; double dog; too;DATE max;cout(sizeof(struct date)+sizeof(max)end1;A. 26 B. 52C. 18 D. 8(分数:2.00)A.B.C.D.4.下列关于多态性的描述,错误的是( )。A) C+语言的多态性分为编译时的多态性和运行时的多态性B) 编译时的多态性可通过函数重载实现C) 运行时的多态性可通过模板和虚函数实现D) 实现运行时多态性的机制称为动态绑定(分数:2.00)A.B.C.D.5.t为 int类型,进入下面的循环之前,t 的值为 0。while(t=1)则以下叙述中,正确的是( )。A) 循环控制表达式的值

    3、为 0 B) 循环控制表达式的值为 1C) 循环控制表达式不合法 D) 以上说法都不对(分数:1.00)A.B.C.D.6.下列描述中,( )是抽象类的特性。A可以说明虚函数 B可以进行构造函数重载C可以定义友元函数 D不能说明其对象(分数:1.00)A.B.C.D.7.有如下程序: #includelostreanl using namespace std; elass MyClass public: MyClass( )+count; MyClass( )-count; static int getCount( )return count; private: static int coun

    4、t; ; int MyClass:count=0; int main( ) MyClass obj; coutobjgetCount( ); MyClass*ptr=new MyClass; coutMyClass:getCount( ); delete ptr; coutMyCiass:getCount( ); return 0; 程序的输出结果是 A) 121 B) 232 C) 221 D) 122(分数:2.00)A.B.C.D.8.在下面的运算符重载函数的原型中,错误的是( )。A) Volume operator-(double,double);B) double Volume:o

    5、perator-(double);C) Volume Volume:operator-(Volume);D) Volume operator-(Volume);(分数:2.00)A.B.C.D.9.下列有关继承和派生的叙述中,正确的是A) 派生类不能访问基类的保护成员B) 作为虚基类的类不能被实例化C) 派生类应当向基类的构造函数传递参数D) 虚函数必须在派生类中重新实现(分数:2.00)A.B.C.D.10.下列关于 getline()函数的描述,不正确的是_。A) getline()函数是用来从输入流中读取字符串的B) getline()函数读取字符串的长度是受到限制的C) getline

    6、()函数读取字符串时,遇到终止符时就停止D) getline()函数中所使用的终止符只能是换行符(分数:2.00)A.B.C.D.11.有如下程序:#include iostreamusing namespace std;class Musicpublic:void setTitle(char* str) strcpy(title,str);protected:char type10;private:char title20;class Jazz:public Musicpublic:void set(char* str)strcpy(type,“Jazz“); /strcpy(title,s

    7、tr); /;下列叙述中正确的是( )。A程序编译正确 B程序编译时语句出错C程序编译时语句出错 D程序编译时语句和都出错(分数:2.00)A.B.C.D.12.软件工程的出现是由于A) 程序设计方法学的影响 B) 软件产业化的需要C) 软件危机的出现 D) 计算机的发展,(分数:1.00)A.B.C.D.13.假定 a为一个整型数组名,则元素 a4的字节地址为A) a+4 B) a+8 C) a+16 D) a+32(分数:2.00)A.B.C.D.14.如果表达式 y*x+中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为A)

    8、 x.operator+(0).operator*(y); B) operator*(x.operator+(0),y);C) y.operator*(operator+(x,0) D) operator*(operator+(x,0),y)(分数:2.00)A.B.C.D.15.复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。A) 详细设计 B) 系统设计C) 正式 D) 非正式(分数:2.00)A.B.C.D.16.继承机制的作用是A) 信息隐藏 B) 数据封装 C) 定义新类 D) 数据抽象(分数:1.00)A.B.C.D.17.下面的哪个选项不能作为函数的返回类型?A)vo

    9、id B)int C)new D)long(分数:1.00)A.B.C.D.18.在下面的引用定义中,正确的是 _。A) int x,D) float z;int x,y=class T2(分数:2.00)A.B.C.D.28.若有以下定义和语句:int s45,(*p)5;p=s;则指针对 s数组中第三个元素的正确引用形式是( )。A) p03 B) p12C) p02 D) p13(分数:2.00)A.B.C.D.29.在一个容量为 10的循环队列中,若头指针为 6,尾指针为 1,则此时该循环队列中共有的元素个数为( )。A) 4 B) 5 C) 6 D) 7(分数:1.00)A.B.C.

    10、D.30.若变量已正确定义并赋值,以下符合 C+语言语法的表达式是A) a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b(分数:1.00)A.B.C.D.31.如果类 A被说明成类 B的友元,则A) 类 A的成员即类 B的成员 B) 类 B的成员即类 A的成员C) 类 A的成员函数不得访问类 B的成员 D) 类 B不一定是类 A的友元(分数:1.00)A.B.C.D.32.若有如下程序: #include iostreamusing namespaces std;int s=O;class samplestatic int n;public:sample(

    11、int i)n=i;static void add()s+=n;int sample:s=O;int main()sample a(2),b(5);sample: :add();coutsend1;return 0;程序运行后的输出结果是A) 2 B) 5C) 7 D) 3(分数:1.00)A.B.C.D.33.有以下程序:#include iostreamusing namespace std;class sampleprivate:int x;static int y;public:sample(int a);static void print(sample s);sample: samp

    12、le(int a)x=a;y+=x;void sample: print(sample s)cout“x=“s. x“,y=“yend1;int sample: y=0;int main()sample s1(10);sample s2(20);sample: print(s2);return 0;程序运行后的输出结果是( )。Ax=10,y=20 Bx=20,y=30 Cx=30,y=20 Dx=30,y=30(分数:2.00)A.B.C.D.34.下列叙述中正确的是A) 数据的逻辑结构与存储结构必定一一对应B) 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)

    13、程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D) 以上三种说法都不对(分数:1.00)A.B.C.D.35.分析下面程序,该程序的运行结果是( )。#includeiostream.hclass cmmpublic:static int m;cmm()m+;cmm(int n)m=n;static void testm()m+;int cmm : m=0;void main()cmm A;cmm B(3);Atestm();cram : testm0;cout“m=“B.mendl;Am=3 Bm=4Cm=5 D m=6(分数:2.00)A.B.C.D.二、填空题(总

    14、题数:15,分数:27.00)36.数据库保护分为安全性控制、 1、并发性控制和数据的恢复。(分数:2.00)填空项 1:_37.类的具体表现是通过 1 定义来操作的。(分数:1.00)填空项 1:_38.具有相同函数名不同参数表的函数称为 【6】 。(分数:2.00)填空项 1:_39.数据结构分为逻辑结构与存储结构,循环队列属于 【1】 。(分数:2.00)填空项 1:_40.源程序文档化要求程序应加注释。注释一般分为序言性注释和 1。(分数:2.00)填空项 1:_41.以下程序的输出结果是 【8】 。#includeiostream.hclass objectprivate:int v

    15、al;public:object( );object(int i);object( );object:object( )val=0;cout“Default constructor for object“endl; object:object(int i)val=i;cout“Constructor for object“valendl;object:object( ) cout“Destructor for object“valendl;class container private:object one;object two;int data;public:container( );con

    16、tainer(int i,int j,int k);container( );container:container( )data=0;cout“Default constructor for container“endl;container:container(int i,int j,int k):two(i),one(j)data=k;cout“Constructor for container“endl;container:container( )cout“Destructor for container“endl;void main( )container anObj(5,6,10);

    17、(分数:1.00)填空项 1:_42.执行下列程序后的输出结果是_。#includeiostreamusing namespace std;int main()int x=3;int y+;coutxend1;return 0;(分数:2.00)填空项 1:_43.派生类构造函数的执行顺序是先执行 12 的构造函数,然后执行成员对象的构造函数,最后执行 13 的构造函数。(分数:2.00)填空项 1:_44.在概念设计阶段可用 E-R图,其中“矩形框表示实体, 5 表示实体间联系。(分数:2.00)填空项 1:_45.在计算机软件系统的体系结构中,数据库管理系统位于用户和 【1】 之间。(分数

    18、:2.00)填空项 1:_46.虚函数必须是类的 1。(分数:2.00)填空项 1:_47.指针数组是由 【7】 构成的数组。(分数:2.00)填空项 1:_48.下面是一个栈类的模板,其中 push函数将元素 i压入栈顶,pop 函数弹出栈顶元素栈初始为空,top值为 0,栈项元素在 stacktop-中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tclass Tstackenumsize1000;Tstacksize;int top;public:Tstack():top(0)void push(const T Tpop()if(top=0)exit(1);

    19、/栈空时终止运行return_;(分数:2.00)填空项 1:_49.通过使用 new和 delete两个运算符进行的分配为 1 存储分配。(分数:2.00)填空项 1:_50.数据的逻辑结构有线性结构和 【1】 两大类。(分数:1.00)填空项 1:_计算机二级 C+笔试答案解析(总分:83.00,做题时间:90 分钟)一、选择题(总题数:35,分数:56.00)1.不能重载的运算符是A) new B) sizeof C) .* D) +(分数:1.00)A.B.C. D.解析:解析 运算符重载的概念考查。解题要点 C+语言规定.*运算符是不能被重载的。考点链接 还有.,-*,:,?:这几个

    20、运算符不能重载。2.设 a=1;b=2;,则(a+)+b 和 a+b这两个表达式的值分别为( )。A3,3 B3,4 C4,3 D4,4(分数:2.00)A. B.C.D.解析:3.设有以下说明和定义:#includeiostream. hVoid main() typedef unionlong i; int k5; char c;DATE;struct dateint cat; DATE cow; double dog; too;DATE max;cout(sizeof(struct date)+sizeof(max)end1;A. 26 B. 52C. 18 D. 8(分数:2.00)A

    21、.B. C.D.解析:4.下列关于多态性的描述,错误的是( )。A) C+语言的多态性分为编译时的多态性和运行时的多态性B) 编译时的多态性可通过函数重载实现C) 运行时的多态性可通过模板和虚函数实现D) 实现运行时多态性的机制称为动态绑定(分数:2.00)A.B.C. D.解析:解析 C+中的多态性分为两类:编译时的多态性和运行时的多态性。编译时的多态性是通过函数重载和模板体现的,其实现机制称为静态绑定;运行时的多态性是通过虚函数体现的,其实现机制称为动态绑定。5.t为 int类型,进入下面的循环之前,t 的值为 0。while(t=1)则以下叙述中,正确的是( )。A) 循环控制表达式的值

    22、为 0 B) 循环控制表达式的值为 1C) 循环控制表达式不合法 D) 以上说法都不对(分数:1.00)A.B. C.D.解析:解析 本题考核对 while循环及逻辑表达式的理解。循环控制表达式为赋值表达式“t=1”,永远为 1(为真)。6.下列描述中,( )是抽象类的特性。A可以说明虚函数 B可以进行构造函数重载C可以定义友元函数 D不能说明其对象(分数:1.00)A.B.C.D. 解析:7.有如下程序: #includelostreanl using namespace std; elass MyClass public: MyClass( )+count; MyClass( )-coun

    23、t; static int getCount( )return count; private: static int count; ; int MyClass:count=0; int main( ) MyClass obj; coutobjgetCount( ); MyClass*ptr=new MyClass; coutMyClass:getCount( ); delete ptr; coutMyCiass:getCount( ); return 0; 程序的输出结果是 A) 121 B) 232 C) 221 D) 122(分数:2.00)A. B.C.D.解析:解析 类的对象在创建时调

    24、用构造函数,在撤销时调用析构函数,静态成员为类的不同对象所共享。8.在下面的运算符重载函数的原型中,错误的是( )。A) Volume operator-(double,double);B) double Volume:operator-(double);C) Volume Volume:operator-(Volume);D) Volume operator-(Volume);(分数:2.00)A. B.C.D.解析:解析 C+把重载的运算符视为特殊的函数,称为运算符函数,函数名就是在运算符前面保留字operator。运算符重载的定义格式:返回类型operator运算符号(参数说明);运算符

    25、”-”是二元运算符,A 选项中重载函数的形参列表都是 double,而重载函数的返回类型为类 Volume,显然是错误的。9.下列有关继承和派生的叙述中,正确的是A) 派生类不能访问基类的保护成员B) 作为虚基类的类不能被实例化C) 派生类应当向基类的构造函数传递参数D) 虚函数必须在派生类中重新实现(分数:2.00)A.B.C. D.解析:解析 本题考查的知识点是:继承和派生。无论使用哪种继承方式,派生类中的成员都不能访问基类中的私有成员,而可以访问基类中的公有成员和保护成员,因此选项 A) 不正确。在 C+中,只有抽象类不能被实例化,而虚基类不一定非得是抽象类,所以选项 B) 不正确。在派

    26、生类中可以重新定义从基类继承下来的虚函数,也可以不重新定义,因此选项 D) 不正确。故本题应该选择 C。10.下列关于 getline()函数的描述,不正确的是_。A) getline()函数是用来从输入流中读取字符串的B) getline()函数读取字符串的长度是受到限制的C) getline()函数读取字符串时,遇到终止符时就停止D) getline()函数中所使用的终止符只能是换行符(分数:2.00)A.B.C.D. 解析:解析 getline()函数从输入流中读取多个字符,并且允许指定输入终止符,其原型为:getline(char*line,int size, char=/n)其中,第

    27、 3个参数为自定义输入终止符。11.有如下程序:#include iostreamusing namespace std;class Musicpublic:void setTitle(char* str) strcpy(title,str);protected:char type10;private:char title20;class Jazz:public Musicpublic:void set(char* str)strcpy(type,“Jazz“); /strcpy(title,str); /;下列叙述中正确的是( )。A程序编译正确 B程序编译时语句出错C程序编译时语句出错 D

    28、程序编译时语句和都出错(分数:2.00)A.B.C. D.解析:12.软件工程的出现是由于A) 程序设计方法学的影响 B) 软件产业化的需要C) 软件危机的出现 D) 计算机的发展,(分数:1.00)A.B.C. D.解析:解析 软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。13.假定 a为一个整型数组名,则元素 a4的字节地址为A) a+4 B) a+8 C) a+16 D) a+32(分数:2.00)A.B.C. D.解析:解析 注意:VC 编译器分配给整数的内存是 4字节。14

    29、.如果表达式 y*x+中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为A) x.operator+(0).operator*(y); B) operator*(x.operator+(0),y);C) y.operator*(operator+(x,0) D) operator*(operator+(x,0),y)(分数:2.00)A.B.C. D.解析:解析 本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且 c1,c2都是该类的对象,则 c1.operator+(c2)与 c1+c2含义相同。如果+作为

    30、该类的非成员函数重载,则operator+(c1,c2)与 c1+c2含义相同。同理,运算符*作为成员函数重载,则 y*(x+)与 y.operator*(x+)含义相同,后缀+作为友元函数重载,那么 x+与 operator+(x,0)含义相同,所以选项 C 是正确的。15.复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。A) 详细设计 B) 系统设计C) 正式 D) 非正式(分数:2.00)A.B. C.D.解析:16.继承机制的作用是A) 信息隐藏 B) 数据封装 C) 定义新类 D) 数据抽象(分数:1.00)A.B.C. D.解析:解析 数据封装就是数据抽象,即信息隐藏;

    31、而继承是实现程序复用的基础。17.下面的哪个选项不能作为函数的返回类型?A)void B)int C)new D)long(分数:1.00)A.B.C. D.解析:解析 new 是动态申请内存空间时使用的关键宇,不能作为函数的返回类型,选项 A)为无返回值,选项 B)为返回整型,选项 D)为返回长整型。18.在下面的引用定义中,正确的是 _。A) int x,D) float z;int x,y=class T2(分数:2.00)A.B.C. D.解析:28.若有以下定义和语句:int s45,(*p)5;p=s;则指针对 s数组中第三个元素的正确引用形式是( )。A) p03 B) p12C

    32、) p02 D) p13(分数:2.00)A.B.C. D.解析:解析 “p=s;”语句将指针 p指向数组 s。而数组为二维数组,下标标识由 0开始,所以第二个元素是下标为 0行的 2列元素,即 p02。29.在一个容量为 10的循环队列中,若头指针为 6,尾指针为 1,则此时该循环队列中共有的元素个数为( )。A) 4 B) 5 C) 6 D) 7(分数:1.00)A.B. C.D.解析:解析 题中队列为循环队列,由于尾指针为 1比头指针小,说明尾指针已移动到 (10+1),即 11处,所以此时队列中元素个数为 11-6=5。30.若变量已正确定义并赋值,以下符合 C+语言语法的表达式是A)

    33、 a:=b+1 B) a=b=c+2C) int 18.5%3 D) a=a+7=c+b(分数:1.00)A.B. C.D.解析:解析 考查 C+语言的正确赋值方法。解题要点 a=b=c+2 实际上相当于 a=(b=c +2),进而可分解为两个表达式:b=c+2 和 a=b。错解分析选项 A中包含一个不合法的运算符“:=“;选项 C应改为(int)18.5%3;选项 D可理解为两个表达式:a+7=c+b 和 a=a+7,其中第一个是错的,因为 C+语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。考点链接 c+语言赋值语句的运用。31.如果类 A被说明成类 B的友元,则A) 类 A的成

    34、员即类 B的成员 B) 类 B的成员即类 A的成员C) 类 A的成员函数不得访问类 B的成员 D) 类 B不一定是类 A的友元(分数:1.00)A.B.C.D. 解析:解析 本题考查的是友元类的定义:类 A 为类 B的友元类,则类 A的所有成员函数都是类 B的友元函数,但反之则不一定成立。32.若有如下程序: #include iostreamusing namespaces std;int s=O;class samplestatic int n;public:sample(int i)n=i;static void add()s+=n;int sample:s=O;int main()sa

    35、mple a(2),b(5);sample: :add();coutsend1;return 0;程序运行后的输出结果是A) 2 B) 5C) 7 D) 3(分数:1.00)A.B. C.D.解析:解析 本题考核静态数据成员和静态成员函数的应用。程序中定义一个类 sample,它包括一个静态数据成员 n和一个静态成员函数 add,并在类的构造函数中给类私有静态数据成员 n赋值。在主函数 main中,定义对象 a(2)时,通过构造函数使静态数据成员 n的值变为 2,在定义对象 b(5)时,通过构造函数使静态数据成员 n=5(覆盖了前面的 n=2),再执行 sample:add()使全局变量 s=

    36、5。33.有以下程序:#include iostreamusing namespace std;class sampleprivate:int x;static int y;public:sample(int a);static void print(sample s);sample: sample(int a)x=a;y+=x;void sample: print(sample s)cout“x=“s. x“,y=“yend1;int sample: y=0;int main()sample s1(10);sample s2(20);sample: print(s2);return 0;程序

    37、运行后的输出结果是( )。Ax=10,y=20 Bx=20,y=30 Cx=30,y=20 Dx=30,y=30(分数:2.00)A.B. C.D.解析:34.下列叙述中正确的是A) 数据的逻辑结构与存储结构必定一一对应B) 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C) 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D) 以上三种说法都不对(分数:1.00)A.B.C.D. 解析:解析 一种数据的逻辑结构根据需要可以表示成多种存储结构,因此,数据的逻辑结构与存储结构不一定是一一对应的,因此选项 A错误。计算机的存储空间是向量式的存储结构,

    38、但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存储结构,数据的存储结构不一定是线性结构,因此选项 B错误。数组一般是顺序存储结构,但利用数组也能处理非线性结构。选项 C错误。只有选项 D的说法正确。35.分析下面程序,该程序的运行结果是( )。#includeiostream.hclass cmmpublic:static int m;cmm()m+;cmm(int n)m=n;static void testm()m+;int cmm : m=0;void main()cmm A;cmm B(3);Atestm();cram : testm0;cout“m=“B

    39、.mendl;Am=3 Bm=4Cm=5 D m=6(分数:2.00)A.B.C. D.解析:二、填空题(总题数:15,分数:27.00)36.数据库保护分为安全性控制、 1、并发性控制和数据的恢复。(分数:2.00)填空项 1:_ (正确答案:完整性控制。)解析:解析 安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏,完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发性控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生,数据的恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。37.类的具体表现是

    40、通过 1 定义来操作的。(分数:1.00)填空项 1:_ (正确答案:对象)解析:38.具有相同函数名不同参数表的函数称为 【6】 。(分数:2.00)填空项 1:_ (正确答案:重载函数)解析:解析 重载函数的定义。39.数据结构分为逻辑结构与存储结构,循环队列属于 【1】 。(分数:2.00)填空项 1:_ (正确答案:存储结构)解析:解析 数据结构分为逻辑结构与存储结构,循环队列属于存储结构因此,本题的正确答案为存储结构。40.源程序文档化要求程序应加注释。注释一般分为序言性注释和 1。(分数:2.00)填空项 1:_ (正确答案:功能性注释)解析:解析 注释一般分为序言性注释和功能性注

    41、释。41.以下程序的输出结果是 【8】 。#includeiostream.hclass objectprivate:int val;public:object( );object(int i);object( );object:object( )val=0;cout“Default constructor for object“endl; object:object(int i)val=i;cout“Constructor for object“valendl;object:object( ) cout“Destructor for object“valendl;class containe

    42、r private:object one;object two;int data;public:container( );container(int i,int j,int k);container( );container:container( )data=0;cout“Default constructor for container“endl;container:container(int i,int j,int k):two(i),one(j)data=k;cout“Constructor for container“endl;container:container( )cout“De

    43、structor for container“endl;void main( )container anObj(5,6,10);(分数:1.00)填空项 1:_ (正确答案:Constructor for object6Constructor for obiect5Constructor for containerDestructor for containerDestructor for object5Destructor for obiect6)解析:解析 C+语言中的构造函数和析构函数分别是在声明对象时和对象调用完毕后调用,本题中的调用就是这样成对出现的。42.执行下列程序后的输出结果是

    44、_。#includeiostreamusing namespace std;int main()int x=3;int y+;coutxend1;return 0;(分数:2.00)填空项 1:_ (正确答案:4)解析:解析 C+程序中的引用实际上是为变量起个别名,其后的任何操作都相当于对原变量的操作。所以最后输出 4。43.派生类构造函数的执行顺序是先执行 12 的构造函数,然后执行成员对象的构造函数,最后执行 13 的构造函数。(分数:2.00)填空项 1:_ (正确答案:12 基类13 派生类)解析:解析 本题主要考查的是派生类构造函数的执行顺序,在 C语言中构造函数的执行顺序是先基类后

    45、派生类,而析构函数的执行顺序正好相反,是先调用派生类,后调用基类。44.在概念设计阶段可用 E-R图,其中“矩形框表示实体, 5 表示实体间联系。(分数:2.00)填空项 1:_ (正确答案:菱形框)解析:45.在计算机软件系统的体系结构中,数据库管理系统位于用户和 【1】 之间。(分数:2.00)填空项 1:_ (正确答案:操作系统 或 OS)解析:46.虚函数必须是类的 1。(分数:2.00)填空项 1:_ (正确答案:成员函数)解析:解析 虚函数是允许在派生类中重新定义与基类同名的函数,并且通过基类指针或引用来访问基类和派生类中的同名函数。在基类中用 virtual声明成员函数为虚函数,

    46、所以虚函数是类的成员函数。47.指针数组是由 【7】 构成的数组。(分数:2.00)填空项 1:_ (正确答案:指针)解析:解析 如果一个数组中的每个元素均为指针类型,即由指针变量构成的数组,这种数组称之为指针数组,它是指针的集合。48.下面是一个栈类的模板,其中 push函数将元素 i压入栈顶,pop 函数弹出栈顶元素栈初始为空,top值为 0,栈项元素在 stacktop-中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tclass Tstackenumsize1000;Tstacksize;int top;public:Tstack():top(0)void push(const T Tpop()if(top=0)exit(1);/栈空时终止运行return_;(分数:2.00)填空项 1:_ (正确答案:stack-top或 stacktop-=1)或 stacktop=top-1。)解析:解析 本题考查的是堆栈数据结构。分析题目,首先利用函


    注意事项

    本文(【计算机类职业资格】计算机二级C+++笔试及答案解析.doc)为本站会员(progressking105)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开