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

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

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

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

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

    1、二级 C+笔试-138 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.有以下程序:#include iostream#include cmathusing namespace std;class Distance;class pointpublic:friend class Distance;Point(int a,int B) x=a;Y=b;void Print()cout“X= “Xend1;cout“Y= “Yend1;private:float X,Y;class Distancepublic:float Dis(Point i

    2、nt main()ofstream ofile; char ch;ofile.open(“d:/abc.txt“, W);docinch;ofile.put(ch);while(ch!=#);ofile.close();return 0;程序出错的原因是( )。(分数:2.00)A.成员函数 open 调用形式错误B.输入文件没有关闭C.成员函数 put 调用形式错误D.对象 ofile 定义错误12.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为( )。(分数:2.00)A.2B.3C.4D.513.若类 A 和类

    3、 B 的定义如下;class Aint i,j;public:int geti()return i;clasS B:public Aint k;public:void make()k=i*j;则上述定义中非法的表达式是( )。(分数:2.00)A.k=i*jB.int k;C.return i;D.void make()14.为完成下面的程序,应在划线处填入的语句是( )。#include iostreamusing namespace std;class Baseprivate:int x;public:Base(int i)x=i;Base();class Derived : public

    4、 Basepublic:_ /完成类 Derive 构造函数的定义;int main()Derived Obj;return 0;(分数:2.00)A.Derived(inti):Base(i)B.Derived()C.voidDerived(inti):Base(0)D.Derived(inti)Base(i);15.将 ER 图转换到关系模式时,实体与联系都可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域16.以下选项中,( )是合法的用户标识符。(分数:2.00)A.longB._2TestC.3DmaxD.dat17.若以下定义:struct linkint data;

    5、struct link *next;a,b,C,*p,*q;且变量 a 和 b 之间已有下图所示的链表结构。(分数:2.00)A.B.C.D.18.线性表的链式存储结构是一种( )的存储结构。(分数:2.00)A.随机存储B.顺序存储C.索引存储D.散列存储19.有以下程序:#include iostreamusing namespace std;int main()int y=18,i=0,j,a8;doai=y%2;i+;y=y/2;while(y=1);for(j=i-1;i=0;j-)coutaj;cout=0);D.int s=3379;while(s+%2+3%2)s+;23.首先

    6、访问结点的左子树,然后访问该结点,最后访问结点的右子树,这种遍历称为 ( )。(分数:3.00)A.前序遍历B.后序遍历C.中序遍历D.层次遍历24.有以下程序:#include iostreamusing namespace std;static int days= 31,28,31,30,31,30,31,31,30,31,30,31 ;class dateprivate:int month,day,year;public:date( int m,int d,int y )month = m;day = d;year = y;date()void disp()coutyear“-“mont

    7、h“-“dayend1;date operator+( iht day )date dt = * this;day += dt.day;while ( day days dt.month - 1 )day -= days dt.month - 1 ;if ( +dt.month = 13 )dt.month = 1;dt.year+;dt.day = day;return dt;int main()date dl( 6, 20, 2004 ), d2;d2 = dt + 20;d2.disp();return 0;执行后的输出结果是( )。(分数:3.00)A.2004-7-10B.2004-

    8、6-20C.2004-7-20D.程序编译时出错25.下面的程序段中,有( )处错误。template class T1,T2T2 func(T1 a,b) return (ab) ?((分数:3.00)_26.有以下程序:#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

    9、:int b;int main()Base b(5),*pb;Derived d(1);pb=day = d;year = y;date()void disp()coutyear“-“month“-“dayend1;date operator+( iht day )date dt = * this;day += dt.day;while ( day days dt.month - 1 )day -= days dt.month - 1 ;if ( +dt.month = 13 )dt.month = 1;dt.year+;dt.day = day;return dt;int main()dat

    10、e dl( 6, 20, 2004 ), d2;d2 = dt + 20;d2.disp();return 0;执行后的输出结果是( )。(分数:3.00)A.2004-7-10 B.2004-6-20C.2004-7-20D.程序编译时出错解析:解析 本题通过将“+”运算符重载为类 date 的成员函数实现简单的对象加法。类 date 中的“+”运算符重载函数中,将传入的实参值 day,加到类 date 的私有成员变量 day 上,并实现变量 month和 year 的相应变化,从而达到日期对象相加的目的。25.下面的程序段中,有( )处错误。template class T1,T2T2 f

    11、unc(T1 a,b) return (ab) ?((分数:3.00)_解析:解析 本题考核函数模板的定义。函数模板的一般说明形式如下:template类型形参表返回类型函数名(形参表)/函数体26.有以下程序:#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

    12、;int main()Base b(5),*pb;Derived d(1);pb=&d;pb-show();return 0;运行后的输出结果是( )。(分数:3.00)A.1B.5C.2 D.0解析:分析 基类 Base 派生出派生类 Derived,在主函数中,定义了基类对象 b,基类指针 pb,以及派生类对象 d,并让基类指针 pb 指向派生类对象 d。在 C+中,当派生类的对象赋值给基类对象时,只能使用派生类对象中从基类继承的成员。所以最后执行语句“pb-show();”是调用基类的成员函数 show(),输出 a 的值 2。27.以下各项中可以减少相同数据重复存储现象的是( )。(分

    13、数:3.00)A.记录B.字段C.文件D.数据库 解析:解析 数据库中的数据具有集成、共享的特点,可以被不同应用程序所使用,减少相同数据重复存储的现象。28.自顶向下分析方法从文法的开始符号出发,判断其能否( )出输入符号串。(分数:3.00)A.归纳B.归约C.推理D.推导 解析:解析 本题考核自顶向下分析方法的概念。29.下列对字符数组进行初始化的语句中,正确的是( )。(分数:3.00)A.char a=“Hello“; B.chara=H,e,1,1,0;C.char a5=“Hello“;D.char a25=“Hello“,“World“;解析:解析 本题考查对字符数组的初始化。选

    14、项 A 中,数组 a 在定义后紧跟初始化的情况下可省略数组长度,其最终数组长度由所赋字符串常量的长度给定。选项 A 是正确。选项 B 中,a 是一个二维数组,二维数组也能在定义时被初始化。如果对全部元素都赋初值,则定义数组时第一维的大小可以忽略,但第二维的大小不能省略。故选项 B 是错误。选项 C 和选项 D 都忽略了字符串的大小要比字符串中的字符数多 1 这一点,造成了数组的越界。30.下列语句段将输出字符*的个数为( )。int i=100;while(1)i-;if(i=0)break;cout*;(分数:3.00)A.98 个B.99 个 C.100 个D.101 个解析:解析 本题考

    15、核 while 循环语句。根据 if 条件表达式可知,当 i 的值为 1 时,进入循环体,执行i-后 i 的值变为 0,符合 if 条件执行 break 跳出 while 循环体。所以共循环 99 次,即输出字符 99 个。二、填空题(总题数:13,分数:30.00)31.一个节点的子节点个数称为该节点的 【1】 。(分数:2.00)填空项 1:_ (正确答案:度)解析:解析 在一个树结构中,一个节点拥有子节点个数称为该节点的度。所有节点中最大的度称为树的度。32.类是一个支持集成的抽象数据类型,而对象是类的 【2】 。(分数:2.00)填空项 1:_ (正确答案:实例)解析:解析 在面向对象

    16、方法中,将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。33.软件测试分 4 个步骤进行,即单元测试、集成测试、确认测试和 【3】 。(分数:2.00)填空项 1:_ (正确答案:系统测试)解析:解析 软件测试按 4 个步骤进行,即单元测试、组装测试、确认测试和系统测试。通过这些步骤地实施来验证软件是否合格。34. 【4】 是在进行了成功的测试之后才开始的。它与软件测试不同,测试的目的是发现错误,进一步诊断和改正错误,则是调试的任务。(分数:2.00)填空项 1:_

    17、(正确答案:程序调试)解析:解析 本题考查软件测试和软件调试的区别。软件测试贯穿整个软件生命期,它是尽可能的发现软件中的错误。软件调试主要在开发阶段,它是在测试成功后开始,诊断和改正程序中潜在的错误。35.数据库系统由数据库、 【5】 、硬件平台、数据库管理员和软件平台所组成。(分数:2.00)填空项 1:_ (正确答案:数据库管理系统)解析:解析 本题考查数据库系统的组成部分,其中硬件平台包括计算机、网络。软件平台包括操作系统、数据库系统开发工具和接口软件。36.有以下程序:#includeiostreamusing namespace std;int main()int i=1,sum=0

    18、;Loop:if(i=20)sum+=i;i+;goto Loop;coutsumend1;return 0;该程序运行后的输出结果是 【6】 。(分数:2.00)填空项 1:_ (正确答案:210)解析:解析 本题是 goto 跳转语句的应用。程序中,如果满足条件“i=20”,则执行语句“sum+=i;i+;”然后,又跳转到 Loop 处。直到条件“i=20”不满足。由此可知,此程序的功能是统计 120 的总和,即 210。37.fun()函数的功能是:首先对 a 所指的 N 行 N 列的矩阵,找出各行中的最大的数,再求这 N 个最大值中的最小的那个数作为函数返回值。请填空完成此程序。#de

    19、fine N 100int fun(int (*A) N)int row,col,max,min;for(row=0;rowN;row+)for(max=arow0,col=1;colN;col+)if( 【7】 )max=arowcol;if(row=0)min=max;else if( 【8】 )min=max;return min;(分数:4.00)填空项 1:_ (正确答案:7arowcolmax 或 arowcol=max 或 maxarowcol或 max=arowcol8maxmin 或 max=min 或 minmax 或 min=max。)解析:解析 由程序可知,第 2 个

    20、for 循环是用宋找出某一列中的最大值。由于 if 选择后面的语句是把数组元素值存入变量 max 中,说明此时的数组元素比开始设定的 max 值要大,所以 if 中的条件表达式为:arowcolmax。第 1 个 for 循环用于实现对矩阵的行扫描,由于 else if 后面的执行语句是把 max 赋给 min,说明此时 max 比开始设定的 min 还小,所以 else if 中的条件表达式为:maxmin 或max=min。38.下面程序的运行结果是 【9】 。#include iostreamusing namespace std;void fun(int &a, int b=3)sta

    21、tic int i=2;a = a + b + i;i = i + a;int main()int x=5, y=2;fun(x, y);coutx“,“;fun(x);coutxend1;return 0;(分数:2.00)填空项 1:_ (正确答案:9,23)解析:解析 本题主要考察 C+中变量的作用域、存储类别和参数默认值的使用。本题主函数中,第 1次调用 fun()函数时,利用实参 x 和 y 将 5 和 2 分别赋值给形参 a 和 b;由于形参 a 为传址方式传值,因此在函数 fun()内部,由于 a 的改变:a =a+b+i=5+2+2=9。导致实参 x 值也变为 9,因此程序第

    22、1 次输出x 值为 9。此后静态局部变量 i 值变为:i=i+a=2+9=11。主函数第 2 次调用 fun()时,只给出了一个实参 x,其值由上述计算应该为 9,而另一个参数由于 fun()函数定义中为形参 b 指定了默认值 3,因此此时程序将把 3 作为形参 b 的值代入 fun()函数中去。类似上面计算有:a=a+b+i=9+3+11=23。由于形参 a 采用传址方式传值,因此实参 x 值也随之变为 23,则程序第 2 次输出值应该为 23。故程序整体输出为“9,23”。39.虚函数必须是类的 【10】 。(分数:2.00)填空项 1:_ (正确答案:成员函数)解析:解析 C+中,只有类

    23、的成员函数才能说明为虚函数。这是因为,虚函数仅适用于有继承关系的类对象,所以普通函数不能说明为虚函数。40.下面是复数类 complex 的定义,其中作为友元函数重载的运算符“-”的功能是将参数对象的实部减1,然后返回对该对象的引用。请补充完整。class complexprivate:int real;int imag;public:complex(int r=0,int i=0):real(r),imag(i)void show()coutreal(imag0?“-“:“+“)imagi;【11】 ;complex& operator- (complex &C) Creal-;return C;(分数:2.00)填空项 1:_ (正确答案:friend complex& operator-(complex&))解析:分析 本题考核运算符重载的定义。程序要填入的是运算符函数 operator-在类 complex 中的声明。根据题目给出的条件,易得到答案。


    注意事项

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




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

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

    收起
    展开