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

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

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

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

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

    1、计算机二级(C+)51 及答案解析(总分:4230.00,做题时间:90 分钟)一、选择题(每小题 2分,共 70分) 下列各(总题数:60,分数:4200.00)1.下列叙述中正确的是(分数:70.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对2.下列对于线性链表的描述中正确的是_。 (分数:70.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的

    2、前面D.存储空间必须连续,且各元素的存储顺序是任意的3.下面对静态数据成员的描述中,正确的是( )。(分数:70.00)A.各个记录中的数据彼此间有一定的关联关系B.数据模型符合满足一定条件的二维表格式C.某两个数据库文件之间有一定的关系D.表中的两个字段有一定的关系4.数据库系统的核心是【 】(分数:70.00)A.数据模型B.数据库管理系统C.软件工具D.数据库5.若已定义: inta=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i9,则对 a数组元素不正确的引用是( )。 (分数:70.00)A.intB.doubleC.floatD.不确定6.下面程序错误的语句是(

    3、 )。 # include iostreamh void main( ) int * p=new int1; p=9; cout * p endl; delete p; (分数:70.00)A.ValueB.VisibleC.DefaultD.Enabled7.以下叙述正确的是( )。(分数:70.00)A.* * * * * * * * * 1 * 2B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *8.以下不合法的用户标识符是_。 (分数:70.00)A.j2_KEYB.DoubleC.4dD._8_9.若已定义: i

    4、nta=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i9,则对 a数组元素不正确的引用是( )。 (分数:70.00)A.ap-aB.,*(ai)C.piD.a1010.若二维数组 a有 m列,则计算任一元素 a i j 在数组中相对位置的公式为( )。 (假设 a0)0位于数组的第一个位置上)(分数:70.00)A.0B.1C.2D.311.下列选项中不全是 C+语言关键字的是( )。(分数:70.00)A.设计视图B.模板视图C.数据表视图D.SQL视图12.下面程序的执行结果是( )。 #include“ iostreamh“ void main( ) int * p

    5、,r; p=new in; * p=20; r=sizeof(* p); cout r end1; delete p; (分数:70.00)A.CDateB.IsDateC.DateD.IsText13.下列程序中画线处应填入的语句是( )。 classBase public: voidfun( )COUt“Baseoffun“endl; ; classDerived:publicBase voidfun( ) _/显示基类的成员函数 fun cout“Derivedoffun“endl; ; (分数:70.00)A.fun( );B.Base.fun( );C.Base:fun( );D.B

    6、ase-fun( );14.关于在调用模板函数时模板实参的使用,下列表述正确的是【 】(分数:70.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参。任何情况下都不能省略15.下面程序的运行结果是( )。 # include iostreamh void main( ) int num=1; intref=num; ref=ref+2; cout num; num=num

    7、+3; cout ref endl; (分数:70.00)A.13B.16C.36D.3316.通常拷贝构造函数的参数是( )。(分数:70.00)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名17.对于下面的程序,说法正确的是( )。 #includeiostreamh void main( ) int x=3,y=4,z=2; if(X=y+z) cout “x=y+Z“; else cout“x!=y+Z“; (分数:70.00)A.“工程”菜单B.“文件”菜单C.“工具”菜单D.“编辑”菜单18.C+语言中类定义中默认的访问权限是( )。(分数:70.00)

    8、A.publicB.protectedC.pfivateD.default19.以下不正确的定义语句是( )。(分数:70.00)A.Private Sub Form _ Db1Click( ) FormlHide Form2Show 0 End SubB.Private Sub Form _ Db1Click( ) FormHide Form 2Show 1 End SubC.Private Sub Form _ Click( ) Form lHide Form 2Show End SubD.Private Sub Form _ Dbl Click( ) Form lEnabled=Fals

    9、e Form 2Enabled=True End Sub20.每个 C+程序中都必须有且仅有一个( )。(分数:70.00)A.类B.预处理命令C.主函数D.语句21.决定 C+语言中函数的返回值类型的是( )。(分数:70.00)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型22.下面程序的运行结果为( )。 #includeiostreamh claSS A static int n; public: A( )n=1; A(int num)n=num; void print( )cout30Not30

    10、Or30 And30Like=8)break; if(a%2=1)a+=5;continue; a-=3; printf(“%d/n“,b); 程序运行后的输出结果是_。 (分数:70.00)A.3B.4C.5D.658.在一个类体的下列声明中,正确的纯虚函数声明是【 】(分数:70.00)A.virtual void vf()0;B.void vf(int)0;C.virtual int vf(int);D.virtual void vf(int) 59.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3种构造函数的调用顺序为

    11、( )。(分数:70.00)A.abcB.acbC.cabD.cba60.下面程序的结果为( )。 #include“ iostreamh“ void change(int a,int b) int temp; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:70.00)A.8 9B.9 8C.程序有错误D.9 9二、填空题(每空 2分,共 30分)(总题数:20,分数:30.00)61.以下程序运行后的输出结果是 1。 #include void fun(char

    12、 *s,int p,int k) int i; for(i=p;i2 char s=“abcdefg“; fun(s,3,strlen(s); puts(s); (分数:1.50)填空项 1:_62.开发一个 C+语言程序的步骤通常包括编辑、 1、链接、运行和调试。(分数:1.50)填空项 1:_63.类模板的使用实际上是将类模板实例化成一个具体的 1。(分数:1.50)填空项 1:_64.如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 1。(分数:1.50)填空项 1:_65.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构

    13、造 函数,最后执行 2 的构造函数。 (分数:1.50)填空项 1:_66.C+语言提供的基本控制结构可以分为 3种类型:顺序结构、 1 和循环结构。(分数:1.50)填空项 1:_67.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构造 函数,最后执行 2 的构造函数。 (分数:1.50)填空项 1:_68.如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 1。(分数:1.50)填空项 1:_69.C+语句 const char * const p= “hello“;,所定义的指针 p和它所指的内容都不能被 1。(分数:1.5

    14、0)填空项 1:_70.在 C+语言中每个类都有一个 1 指针,该指针指向正在调用成员函数的对象。(分数:1.50)填空项 1:_71.下列软件系统结构图的宽度为 1 (分数:1.50)填空项 1:_72.开发一个 C+语言程序的步骤通常包括编辑、 1、链接、运行和调试。(分数:1.50)填空项 1:_73.常数据成员和静态数据成员在使用前共同的要求是要进行 1。(分数:1.50)填空项 1:_74.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:1.50)填空项 1:_75.C+程序是从 1 函数开始执行的。(分数:1.50)填空项 1:_76.语句 int

    15、* i;i=new int 10;,释放指针 i的语句是 1。(分数:1.50)填空项 1:_77.下列 for语句的循环次数为 1。 for(int a=0,b=1;b for(b=1;b=8)break; if(a%2=1)a+=5;continue; a-=3; printf(“%d/n“,b); 程序运行后的输出结果是_。 (分数:70.00)A.3B.4 C.5D.6解析: break 和 continue 的区别是:continue 语句只结束本次循环,而不是终止整个循环的执行;而 break语句则是结束整个循环过程,不再判断执行的条件是否成立。58.在一个类体的下列声明中,正确的

    16、纯虚函数声明是【 】(分数:70.00)A.virtual void vf()0; B.void vf(int)0;C.virtual int vf(int);D.virtual void vf(int) 解析:本题考核纯虚函数的声明。声明纯虚函数的一般格式为:virtual类型函数名(参数表)0;59.建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这 3种构造函数的调用顺序为( )。(分数:70.00)A.abc B.acbC.cabD.cba解析:本题考查的是在继承中派生类的对象调用构造函数的顺序,应该 是先调用基类的构造函数

    17、,然后是成员中的对象对应类的构造函数,最后是派生类自己 的构造函数。60.下面程序的结果为( )。 #include“ iostreamh“ void change(int a,int b) int temp; temp=a; a=b; b=temp; void main( ) int m,n; m=8; n=9; change(m,n); tout m “ “ n end1; (分数:70.00)A.8 9 B.9 8C.程序有错误D.9 9解析:本题考查交换两整数的方法。两数只在函数 change内被使用,函数调用完后该内存被释放,因此没有交换两数。二、填空题(每空 2分,共 30分)(总

    18、题数:20,分数:30.00)61.以下程序运行后的输出结果是 1。 #include void fun(char *s,int p,int k) int i; for(i=p;i2 char s=“abcdefg“; fun(s,3,strlen(s); puts(s); (分数:1.50)填空项 1:_ (正确答案:abcfg)解析:函数 fun 的作用是将 s 所指的字符串中从第 p+3 到第 k+1 个字符向前移动两个位置。本题程序是将 数组 s 中从第 6 个元素开始的值分别向前移动两个位置。在执行 fun 函数时,p 的值是 3,k 的值是 7,所 以,具体执行“for(i=p;i

    19、62.开发一个 C+语言程序的步骤通常包括编辑、 1、链接、运行和调试。(分数:1.50)填空项 1:_ (正确答案:编译)解析:c+语言是以编译方式实现的高级语言,C+语言程序的实现,必须要使用 某种 C+语言的编译器对程序进行编译。 63.类模板的使用实际上是将类模板实例化成一个具体的 1。(分数:1.50)填空项 1:_ (正确答案:类)解析:本题考查的是类模板的使用方式,就是把类模板的一般化定义实例化为一个真正的类。64.如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 1。(分数:1.50)填空项 1:_ (正确答案:friend void

    20、 A-|_|-;)解析:C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。 65.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构造 函数,最后执行 2 的构造函数。 (分数:1.50)填空项 1:_ (正确答案:基类)解析:本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序是先基类后派生类,而析构函数的执行顺序正好相反,是先调用派生类后调用基类。 66.C+语言提供的基本控制结构可以分为 3种类型:顺序结构、 1 和循环结构。(分数:1.50)填空项 1:_

    21、 (正确答案:选择结构)解析:顺序结构(也叫连续结构)和循环结构是经常被使用的,不过选择结构(if 和 switch)也是一种重要的流程控制结构。67.派生类构造函数的执行顺序是先执行 1 的构造函数,然后执行成员对象的构造 函数,最后执行 2 的构造函数。 (分数:1.50)填空项 1:_ (正确答案:基类)解析:本题主要考查的是派生类构造函数的执行顺序,在 C+语言中构造函数的执行顺序是先基类后派生类,而析构函数的执行顺序正好相反,是先调用派生类后调用基类。 68.如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 1。(分数:1.50)填空项 1

    22、:_ (正确答案:friend void A-|_|-;)解析:C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。 69.C+语句 const char * const p= “hello“;,所定义的指针 p和它所指的内容都不能被 1。(分数:1.50)填空项 1:_ (正确答案:改变)解析:本题考查的是定义常量的关键字 const,由 sonst定义的变量的值不可以再改变,所以定义时必须进行初始化。70.在 C+语言中每个类都有一个 1 指针,该指针指向正在调用成员函数的对象。(分数:1.50)填空项

    23、 1:_ (正确答案:this)解析:C+语言中 this指针是类自带的一个指针,它指向正在调用成员函数的对象。71.下列软件系统结构图的宽度为 1 (分数:1.50)填空项 1:_ (正确答案:3)解析:在程序结构图的有关术语中,宽度的概念是:整体控制跨度,即各层中所含的模块数的最大值,由图可得此软件系统结构图的宽度为 3。72.开发一个 C+语言程序的步骤通常包括编辑、 1、链接、运行和调试。(分数:1.50)填空项 1:_ (正确答案:编译)解析:c+语言是以编译方式实现的高级语言,C+语言程序的实现,必须要使用 某种 C+语言的编译器对程序进行编译。 73.常数据成员和静态数据成员在使

    24、用前共同的要求是要进行 1。(分数:1.50)填空项 1:_ (正确答案:初始化)解析:C+语言中常数据成员和静态数据成员都要进行初始化,只是初始化的方法不一样。 74.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:1.50)填空项 1:_ (正确答案:19)解析:二叉树的性质 3:在任意一棵二叉树中,度为 0 的结点(即叶子结点)总是比度为 2 的结点多一个。 本题中度为 2 的结点数为 18,故叶子结点数为 18+1=19 个。75.C+程序是从 1 函数开始执行的。(分数:1.50)填空项 1:_ (正确答案:main)解析:所有的 C+语言程序都是从

    25、main函数刀:始执行,而普通函数的存在是为了 简化 main函数的复杂程度。 76.语句 int * i;i=new int 10;,释放指针 i的语句是 1。(分数:1.50)填空项 1:_ (正确答案:delete i)解析:申请内存空间时用 new,释放内存空间用 delete。77.下列 for语句的循环次数为 1。 for(int a=0,b=1;b&a填空项 1:_ (正确答案:5)解析:因为 b的值为 1,所以 ba5 相当于 a78.若要在 C盘根目录下作为二进制文件打开文件 testdat,则应该用的语句是 1。(分数:1.50)填空项 1:_ (正确答案:ifstream

    26、 fin(“C:/testdat“,ios_binary);或ifstream fin;finopen(c:/test daf“ios_binary);)解析:C+中打开文件有两种方式ifstream fin(“testdat“);ifstream fin;finopen(“testdat“);,ios_binary 的意义是以二进制文件打开。79.假定 A为一个类,则语句 A(A &a);为该类 1 函数的原型说明。(分数:1.50)填空项 1:_ (正确答案:拷贝构造)解析:本题考查的是拷贝构造函数的定义,它是一种特殊的成员函数,作用是使用 一个已知的对象来初始化一个被创建的同类的对象,定义格式是类名: :拷贝构造函数名 (类名引用名)。 80. 1是一系列相关函数的模型或样板,这些函数的 2 形式相同,只是所针对的 3 不同。(分数:1.50)填空项 1:_ (正确答案:函数模板)解析:本题考查 C+中函数模板的定义。函数模板是一系列相关函数的模型或样板,这些函数的源代码形式相同,只是所针对的数据类型不问。注意:声明一个函数的模板格式是:template 模板形参表声明 函数声明


    注意事项

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




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

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

    收起
    展开