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

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

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

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

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

    1、二级 C+笔试-406 及答案解析(总分:83.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.设有下列二叉树:(分数:1.00)A.B.C.D.2.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。A) 与虚基类下面的派生类个数有关 B) 多次 C) 两次 D) 一次(分数:1.00)A.B.C.D.3.以下叙述中不正确的是A) C+语言中的文本文件以 ASCII码形式存储数据B) C+语言中,对二进制文件的访问速度比文本文件快C) C+语言中,随机读写方式不适用于文本文件D) C+语言中,顺序读写方式不

    2、适用于二进制文件(分数:2.00)A.B.C.D.4.阅读以下程序#includeiostream.hvoid main()char line10;cinline;coutlineend1;如运行时输入“This is an example. CR”,则程序的输出结果是( )。A) This B) This is C) This is a D) This is an example(分数:2.00)A.B.C.D.5.下列关于 break语句的叙述不正确的是( )。A) break语句可用在循环体中,它将使执行流程跳出本层循环体B) break语句可用在 switch语句中,它将使执行流程跳出

    3、当前 switch语句C) break语句可用在 if语句中,它将使执行流程跳出当前 if语句D) break语句在一层循环体中可以出现多次(分数:1.00)A.B.C.D.6.当在使用类模板时,类模板本身被实例化咸了一个具体的 _。A) 对象 B) 实例C) 模板类 D) 类(分数:2.00)A.B.C.D.7.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序的易读性(分数:2.00)A.B.C.D.8.若有说明语句char a =“It is mine“;char *p=“It is mine“;则以下不正确的叙述是A) a+1表示

    4、的是字符 t的地址B) p指向另外的字符串时,字符串的长度不受限制C) p变量中存放的地址值可以改变D) a中只能存放 10个字符(分数:1.00)A.B.C.D.9.若有定义“int k,*q;”,则下列各选项中,赋值表达式正确的是( )。A) q=(class stack;class nodeint data;node *prev;public:node(int d, node *n)data=d;prev=n;friend class stack;class stacknode *top; /栈头public:stack()top=0;void push(int i)node *n=_;

    5、top=n;int pop()node *t=top;if (top)top=top-prev;int c= t-data;delete t;return c;return 0;int main ()stack s;s.push(6);s.push(3);s.push (1);return 0;(分数:1.00)填空项 1:_39.如果一个派生类只有一个直接基类,则该类的继承方式称为_继承;如果一个派生类同时有多个直接基类,则该类的继承方式称为_继承。(分数:2.00)填空项 1:_40.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_41.软件工程包括 3个要素,分别

    6、为方法、工具和 1。(分数:1.00)填空项 1:_42.定义一个函数名为 fun,返回值为 int,没有参数的纯虚函数的定义是 1。(分数:2.00)填空项 1:_43.下面程序的输出结果是 1。#define MIN(a,b) (a)(b)?a:b)#include iostream.hvoid main2int x= 3, y=5;cout MIN(x,y)end1;(分数:2.00)填空项 1:_44.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_45.一棵二叉树有 10个度为 1的结点,7 个度为 2的结点,则该二叉树共有 1 个结点。(分数

    7、:2.00)填空项 1:_46.下面程序的打印结果是_。#include iostreamusing namespace std;class Basepublic:Base(int x)a=x;void show()couta;private:int a;class Derived : public Basepublic:Derived(int i) :Base(i+1) ,b(i) void show()coutb;private:int b;int main ( )Base b(5) , *pb;Derived d(1);pb=pb-show();return 0;(分数:1.00)填空项

    8、 1:_47.有以下程序:#includeiostreamusing namespace std;class MyClasspublic:MyClass();MyClass();static int s;void SetValue(int val);int MyClass:s=0;MyClass:MyClass()s+;void MyClass:SetValue(int val)s=val;int main()MyClass my3,*p;p=my;for(int k=0;k3;k+)pSetValue(k+1);p+;coutMyClass:sendl;return 0;运行后的输出结果是_

    9、。(分数:2.00)填空项 1:_48.如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 1。(分数:1.00)填空项 1:_49.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 1。(分数:1.00)填空项 1:_50.程序:#include“iostream.h“void main()int i10;int j5;coutj+i+endl;的结果为_。(分数:2.00)填空项 1:_二级 C+笔试-406 答案解析(总分:83.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.设有下列二叉树:(分数:1.00)

    10、A.B. C.D.解析:解析 本题考查二叉树的遍历。解题要点 所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树与遍历右子树这 3者中,首先访问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用,即“根-左-右”。故该二叉树的前序遍历结果为“ATBZXCYP”。考点链接 对于本题,若使用后序遍历和中序遍历的结果分别为“ZBTYCPXA”和“TZBACYXP”。2.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。A) 与虚基类下面的派生类个数有关 B) 多次 C) 两次 D) 一次(分数:1.00

    11、)A.B.C.D. 解析:3.以下叙述中不正确的是A) C+语言中的文本文件以 ASCII码形式存储数据B) C+语言中,对二进制文件的访问速度比文本文件快C) C+语言中,随机读写方式不适用于文本文件D) C+语言中,顺序读写方式不适用于二进制文件(分数:2.00)A.B.C. D.解析:解析 本题考查 C+语言中文件的概念,包括二进制文件和文本文件,对不同的文件类型采用不同的读写方式。4.阅读以下程序#includeiostream.hvoid main()char line10;cinline;coutlineend1;如运行时输入“This is an example. CR”,则程序

    12、的输出结果是( )。A) This B) This is C) This is a D) This is an example(分数:2.00)A. B.C.D.解析:解析 本题考查 C+中 cin输入流对象的使用规则,其特点是以空格、回车和 tab为分隔符。因此 this和 is之间的空格告诉 cin对象停止接收后面的数据。故正确答案为 A。5.下列关于 break语句的叙述不正确的是( )。A) break语句可用在循环体中,它将使执行流程跳出本层循环体B) break语句可用在 switch语句中,它将使执行流程跳出当前 switch语句C) break语句可用在 if语句中,它将使执行

    13、流程跳出当前 if语句D) break语句在一层循环体中可以出现多次(分数:1.00)A.B.C. D.解析:6.当在使用类模板时,类模板本身被实例化咸了一个具体的 _。A) 对象 B) 实例C) 模板类 D) 类(分数:2.00)A.B.C.D. 解析:7.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序的易读性(分数:2.00)A.B.C.D. 解析:解析 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。8.若有说明语句char

    14、 a =“It is mine“;char *p=“It is mine“;则以下不正确的叙述是A) a+1表示的是字符 t的地址B) p指向另外的字符串时,字符串的长度不受限制C) p变量中存放的地址值可以改变D) a中只能存放 10个字符(分数:1.00)A.B.C.D. 解析:解析:本题考查字符串数组和指针的引用方式。在 C+语言中,系统在每个字符串或数组的最后自动加入一个字符/0,作为字符的结束标志,在本题中,char a =“It is mine”;所表示的。字符串实际含有 11个字符。9.若有定义“int k,*q;”,则下列各选项中,赋值表达式正确的是( )。A) q=(clas

    15、s stack;class nodeint data;node *prev;public:node(int d, node *n)data=d;prev=n;friend class stack;class stacknode *top; /栈头public:stack()top=0;void push(int i)node *n=_;top=n;int pop()node *t=top;if (top)top=top-prev;int c= t-data;delete t;return c;return 0;int main ()stack s;s.push(6);s.push(3);s.p

    16、ush (1);return 0;(分数:1.00)填空项 1:_ (正确答案:new node(i,top))解析:解析 本题考核友元类以及对象成员的应用,属于综合考题。本程序中定义了两个类 node和stack,用于实现堆栈的压入和弹出操作。其中,类 stack 是类 node的友元类,这样类 stack中的成员可以访问类 node中的所有成员。在类 node中,定义两个私有变量:整型变量 data和对象指针 prev。变量 data用于保存节点的数值,而对象指针 prey用于指向上一节点。在类 node的构造函数中,形参是数据 d和对象指针 n。在类 stack中,定义了一个私有变量,栈

    17、顶指针 top,并在构造函数中赋值 0(即指针为空)。函数 push()实现入栈操作,即把形参 i压入栈中,那么此时应该创建一个新的节点,并让这个节点的prev指针指向栈顶,即 top。然后让 top指针指向新的节点。所以在 push()函数中应填入“node*n=new node(i,top)”。类 stack中的 pop()函数实现数据的弹出功能。先定义了一个对象指针 t指向栈顶节点。然后判断堆栈是否为空,如果为空,则返回 0,否则就弹出栈顶节点的值。那么应该先将栈顶指针后退一个节点,然后把对象 t指针指向的节点值弹出,并删除节点 t。39.如果一个派生类只有一个直接基类,则该类的继承方式

    18、称为_继承;如果一个派生类同时有多个直接基类,则该类的继承方式称为_继承。(分数:2.00)填空项 1:_ (正确答案:单 多)解析:40.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_ (正确答案:调试或者程序调试或者软件调试或者 Debug或者调试程序或者调试软件)解析:解析 调试的相关内容。41.软件工程包括 3个要素,分别为方法、工具和 1。(分数:1.00)填空项 1:_ (正确答案:过程)解析:解析 本题考查软件工程的 3要素。【解题要点】软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的基础上的技术手段;工具支持软件的开发、管理、文档生

    19、成;过程支持软件开发的各个环节的控制、管理。【考点链接】软件工程的 3个要素及各要素的作用。42.定义一个函数名为 fun,返回值为 int,没有参数的纯虚函数的定义是 1。(分数:2.00)填空项 1:_ (正确答案:virtual int fun-|_|-=0;)解析:解析 纯虚函数是在声明虚函数时被“初始化”为 0的函数。定义的一般形式为:virtual 函数类型函数名(参数列表)=0。所以,根据题目要求,答案为“virtual int fun-|_|-=0;”。43.下面程序的输出结果是 1。#define MIN(a,b) (a)(b)?a:b)#include iostream.h

    20、void main2int x= 3, y=5;cout MIN(x,y)end1;(分数:2.00)填空项 1:_ (正确答案:3)解析:44.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_ (正确答案:存储 或 物理)解析:45.一棵二叉树有 10个度为 1的结点,7 个度为 2的结点,则该二叉树共有 1 个结点。(分数:2.00)填空项 1:_ (正确答案:25)解析:46.下面程序的打印结果是_。#include iostreamusing namespace std;class Basepublic:Base(int x)a=x;void s

    21、how()couta;private:int a;class Derived : public Basepublic:Derived(int i) :Base(i+1) ,b(i) void show()coutb;private:int b;int main ( )Base b(5) , *pb;Derived d(1);pb=pb-show();return 0;(分数:1.00)填空项 1:_ (正确答案:2)解析:解析 基类 Base派生出派生类 Derived,在主函数中,定义了基类对象 b,基类指针 pb,以及派生类对象 d,并让基类指针 pb指向派生类对象乙在 C+中,当派生类的

    22、对象赋值给基类对象时,只能使用派生类对象中从基类继承的成员。所以最后执行语句“pb-show();”是调用基类的成员函数 show(),输出 a的值 2。47.有以下程序:#includeiostreamusing namespace std;class MyClasspublic:MyClass();MyClass();static int s;void SetValue(int val);int MyClass:s=0;MyClass:MyClass()s+;void MyClass:SetValue(int val)s=val;int main()MyClass my3,*p;p=my;

    23、for(int k=0;k3;k+)pSetValue(k+1);p+;coutMyClass:sendl;return 0;运行后的输出结果是_。(分数:2.00)填空项 1:_ (正确答案:3)解析:解析 本题程序中把变量 s定义为静态数据成员,它的作用域是类范围。在类 MyClass的构造函数中,每创建一个对象,s 就增 1,由此可知 s用来记录建立对象的个数。由于创建对象指针 p时并不会调用构造函数,所以 s最后的值是 3。48.如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 1。(分数:1.00)填空项 1:_ (正确答案:friend

    24、void A-|_|-;)解析:解析 C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。49.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 1。(分数:1.00)填空项 1:_ (正确答案:关系)解析:解析 在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名;表中的一行称为一个元组,相当于记录值。50.程序:#include“iostream.h“void main()int i10;int j5;coutj+i+endl;的结果为_。(分数:2.00)填空项 1:_ (正确答案:15)解析:解析 考查+运算符的用法。解题要点 i+为先做与 i有关的运算后,i 自加 1,而+i 是先给 i加 1再进行与 i有关的操作。考点链接 各种运算符的应用,注意+、-。


    注意事项

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




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

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

    收起
    展开