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

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

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

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

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

    1、二级 C+笔试 7及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.函数 fun的返回值是 fun(char * a,char * b) int num=0,n=0; while ( * (a+num)!=/0)num+; while (bn) * (a+num) =bn;num+;n+; return num;(分数:2.00)A.字符串 a的长度B.字符串 b的长度C.字符串 a和 b的长度之差D.字符串 a和 b的长度之和2.一个类的友元函数能够访问该类的(分数:2.00)A.私有成员B.保护成员C.公有成员D.所有成员3.若某二叉

    2、树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是(分数:2.00)A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca4.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据5.若定义 intk=7,x=12;,则能使值为 3的表达式是(分数:2.00)A.x%=(k=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=-(k%=5)6.在软件测试设计中,软件测

    3、试的主要目的是(分数:2.00)A.实验性运行软件B.证明软件正确C.找出软件中全部错误D.发现软件错误而执行程序7.下列关于构造函数说法不正确的是(分数:2.00)A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化9.下面程序段的运行结果是 voidmain( ) ihtt,a,b,C; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; couta“,“b“,“C; (分数:2.00)A.1,2,0B.2,1,0C.1,2,1D.2,1,110.开发软件时对提高开发人员工作效率至关重要的是(分数:2

    4、.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力11.已知有定义 constintD=5; inti=1; doublef=0.32; charc=15; 则下列选项错误的是(分数:2.00)A.+i;B.D-;C.c+;D.-f;12.下列关于模板的说法正确的是(分数:2.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数13.若已定义: inta=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i9,则对 a数组元素不正确的引

    5、用是(分数:2.00)A.ap-aB.,*(C.pD.a1014.以下程序的输出结果是 #includeiostream.h voidmain( ) intx=1,y=3; coutX+“,“; intx=0;X+=y*2; coutx“,“y“,“; coutx“,“y; (分数:2.00)A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D.1,7,3,2,316.以下叙述中正确的是(分数:2.00)A.构成 C+语言程序的基本单位是类B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义17.索引属于(分数:

    6、2.00)A.模式B.内模式C.外模式D.概念模式18.一些重要的程序语言(如 C语言和 Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用(分数:2.00)A.栈B.堆C.数组D.链表19.下列描述中哪个是正确的?(分数:2.00)A.私有派生的子类无法访问父类的成员B.类 A的私有派生子类的派生类 C无法初始化其祖先类 A对象的属性,因为类 A的成员对类 C是不可访问的C.私有派生类不能作为基类派生子类D.私有派生类的所有子孙类将无法继续继承该类的成员20.下面程序的结果为 #includeiostream.h intC; classA private: inta; s

    7、taticintb; public: A( )a=0;c=0; voidseta( )a+; voidsetb( )b+; voidsetc( )c+; voiddisplay( )couta“b“c; ; intA:b=0; voidmain( ) Aa1,a2; a1.seta( ); a1.setb( ); a1.setc( ); a2.seta( ); a2,setb( ); a2.setc( ); a2.display( ); (分数:2.00)A.121B.122C.112D.22221.下列程序中画线处应填入的语句是 classBase public: voidfun( )COU

    8、t“Baseoffun“endl; ; classDerived:publicBase voidfun( ) _/显示基类的成员函数 fun cout“Derivedoffun“endl; ;(分数:2.00)A.fun( );B.Basfun( );C.Base:fun( );D.Base-fun( );22.在位运算中,操作数每右移一位,其结果相当于(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数乘以 4D.操作数除以 423.在深度为 5的满二叉树中,叶子结点的个数为(分数:2.00)A.32B.31C.16D.1524.设有数组定义:chararray:“China“;

    9、,则数组 array所占的空间为(分数:2.00)A.4个字节B.5个字节C.6个字节D.7个字节25.数据处理的最小单位是(分数:2.00)A.数据B.数据元素C.数据项D.数据结构26.有以下结构体说明和变量的定义,且指针 p指向变量 a,指针 q指向变量 b。则不能把结点 b连接到结点 a之后的语句是 structnode chardata; structnode*next; a,b,*p=a,*q=b;(分数:2.00)A.next=q;B.next=b;C.p-next=b;D.(*.next=q;27.下面程序的输出结果是 #includeiostream.h #includest

    10、ring.h voidmain( ) charp110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“); charstr50=“xyz“; strcpy(str+2,strcat(p1,p2); coutstr; (分数:2.00)A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC28.数据库系统的核心是(分数:2.00)A.数据库B.数据库管理系统C.模拟模型D.软件工程29.软件工程的理论和技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用30.以下程序

    11、的输出结果是 #includeiostream.h voidreverse(inta,intn) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; voidmain( ) int b10:=1,2,3,4,5,6,7,8,9,10;inti,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; coutS; (分数:2.00)A.22B.10C.34D.3031.下面程序输出的结果是 #includeiostream.h voidmain( ) inti; inta33:1,2,3,4,5,6,7,8,9; for(

    12、i=0;iA.159B.753C.357D.59132.下面程序的功能是把 316表示为两个加数的和,使两个加数分别能被 13和 11整除,在划线处应填入的选项是 #includeiostream.h voidmain( ) inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:2.00)A.k/1lB.k%11C.k/11=0D.k%11=033.下列关于 C+语言类的描述中错误的是(分数:2.00)A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等

    13、的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络34.C+语言中,表示一条语句结束的标号是(分数:2.00)A.#B.;C./D.35.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是(分数:2.00)A.showbase( )和 eof( )B.showpoint( )和 eof( )C.showpoint( )和 bad( )D.showpoint( )和 good( )二、B填空题/B(总题数:13,分数:26.00)36.在树形结构中,树根结点没有 【1】 。(分数:2.00)填空项 1:_37.Jackson结构化程序设计方法是英国的 M.Jacks

    14、on提出的,它是一种面 【2】 的设计方法。(分数:2.00)填空项 1:_38.面向对象的模型中,最基本的概念是对象和 【3】 。(分数:2.00)填空项 1:_39.软件设计模块化的目的是 【4】 。(分数:2.00)填空项 1:_40.数据模型按不同应用层次分成 3种类型,它们是概念数据模型、 【5】 和物理数据模型。(分数:2.00)填空项 1:_41.派生类的成员一般分为两部分,一部分是 【6】 ,另一部分是自己定义的新成员。(分数:2.00)填空项 1:_42.以下程序输出的结果是 【7】 。 #includeiostream.h voidmain( ) inta=5,b=4,c=

    15、3,d; d=(abc); coutd; (分数:2.00)填空项 1:_43.设 i,j,k 均为 int型变量,则执行完 for(i=0,j=10;ifun( );解析:解析:如果在于类中要访问父类的函数应用“:”运算符。22.在位运算中,操作数每右移一位,其结果相当于(分数:2.00)A.操作数乘以 2B.操作数除以 2 C.操作数乘以 4D.操作数除以 4解析:解析:右移运算符“”是双目运算符。其功能是把“”左边的运算数的各二进位全部右移若干位,“”右边的数指定移动的位数。例如:设 a=15,a2 表示把 000001111右移为 00000011(十进制 3)。23.在深度为 5的满

    16、二叉树中,叶子结点的个数为(分数:2.00)A.32B.31 C.16D.15解析:解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个叶子结点。这就是说,在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第 A层上有 2k-1个结点,且深度为m的满二叉树有 2m-1个结点。24.设有数组定义:chararray:“China“;,则数组 array所占的空间为(分数:2.00)A.4个字节B.5个字节C.6个字节 D.7个字节解析:解析:在给数组赋值时,可以用一个字符串作为初值,这种方法直观,方便而且符合人们的习惯。数组 array的长度不是 5,而是 6,这

    17、点必须要注意。因为字符串常量的最后由系统加上一个 / ,因此,上面的初始化与下面的等价: char array ; C,h,i,na,/0 ;25.数据处理的最小单位是(分数:2.00)A.数据B.数据元素C.数据项 D.数据结构解析:解析:数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。故正确答案为选项 C)。26.有以下结构体说明和变量的定义,且指针 p指向变量 a,指针 q指向变量 b。则不能把结点 b连接到结点 a之后的语句是 structnode chardata; structno

    18、de*next; a,b,*p=a,*q=b;(分数:2.00)A.next=q;B.next=b; C.p-next=b;D.(*.next=q;解析:解析:要把结点 b连接到结点 a之后,必须把 b的地址给 a的 next指针,选项 A)中,指针变量 q保存的就是变量 b的地址,选项 B)中的 p是指针变量,应该是 p-next=b;在选项 D)中,用*运算符取出结构体变量,并且保存的就是 b的地址,所以正确。27.下面程序的输出结果是 #includeiostream.h #includestring.h voidmain( ) charp110,p210; strcpy(p1,“abc

    19、“); strcpy(p2,“ABC“); charstr50=“xyz“; strcpy(str+2,strcat(p1,p2); coutstr; (分数:2.00)A.xyzabcABCB.zabcABCC.xyabcABC D.yzabcABC解析:解析:该函数的调用方式是 strcpy(字符数组,字符串)其中“字符串”可以是串常量,也可以是字符数组。函数的功能是将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。使用该函数时注意:字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志/0一起复制。不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组

    20、,只能用 strcpy( )函数来处理。strcat(字符数组,字符串)功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志,被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。 连接前两个字符串都有结束标志/0,连接后“字符数组”中存储的字符串的结束标志/0被舍弃,只在目标串的最后保留一个/0。28.数据库系统的核心是(分数:2.00)A.数据库B.数据库管理系统 C.模拟模型D.软件工程解析:解析

    21、:数据库管理系统(DatabaseManagementSystem,简称 DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系统是数据库系统的核心。29.软件工程的理论和技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理 C.程序设计自动化D.实现软件可重用解析:解析:软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。工具和环境的使用又进一步提高了软件的开发效率、维护效率和软件质量。30.以下程序的输出结果是 #includeiostream.h voidreverse(int

    22、a,intn) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; voidmain( ) int b10:=1,2,3,4,5,6,7,8,9,10;inti,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; coutS; (分数:2.00)A.22 B.10C.34D.30解析:解析:在 main函数中,调用 reverse函数将 b数组中的前 8个成员进行互置,执行完毕后,b 数组中的成员为 18,7,6,5,4,3,2,1,9,10,在执行 for循环结构后,将 b6,b7b9的值相加,结果为 1+2+9+

    23、10:22。注意:在计算累加和时,应将累加变量赋值为零。31.下面程序输出的结果是 #includeiostream.h voidmain( ) inti; inta33:1,2,3,4,5,6,7,8,9; for(i=0;iA.159B.753 C.357D.591解析:解析:首先,当 i=0时,数组中的位置是 a20=7,当然,如果用排除法的话,就不用考虑后面的循环了,因为在 4个选项中,第 1个数为 7的选项只有 B)。本题执行第 2次循环时,i 的值为 1,则cout函数中的数组指向为 al1=5,依次循环,可求出答案。32.下面程序的功能是把 316表示为两个加数的和,使两个加数分

    24、别能被 13和 11整除,在划线处应填入的选项是 #includeiostream.h voidmain( ) inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:2.00)A.k/1lB.k%11 C.k/11=0D.k%11=0解析:解析:do-while 语句的一般形式是 do 语句 while(表达式); 特点是:“直到型”循环结构。先执行一次“语句”,判“表达式”,当“表达式”为非 0,再执行“语句”,直到“表达式”的值为 0时停止执行语句。在一般情况下,用 while和 do-while语

    25、句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当 while后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时 while循环的循环不被执行,而 do-while循环的循环体被执行一次。本题的关键是两个加数分别能被 13和 11整除,在 i=0时,直接将 316赋值给 k,当 k%11的值为 0时,则不必执行循环,将执行 j=k/11语句,输出结果,所以该表达式合理的条件是 k5%11。33.下列关于 C+语言类的描述中错误的是(分数:2.00)A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而

    26、不能组成层次结构 D.类与类之间可以通过一些方法进行通信和联络解析:解析:C+语言中的类是可以组成层次结构的,类是用于描述事物的属性和对事物的操作,类与类之间有相对的独立性,但其可以通过一些方法进行信息的通信。34.C+语言中,表示一条语句结束的标号是(分数:2.00)A.#B.; C./D.解析:解析:C+语言中语句的结束符是分号。35.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是(分数:2.00)A.showbase( )和 eof( )B.showpoint( )和 eof( ) C.showpoint( )和 bad( )D.showpoint( )和 good( )解

    27、析:解析:表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是 showpoint( )和 eof( )。二、B填空题/B(总题数:13,分数:26.00)36.在树形结构中,树根结点没有 【1】 。(分数:2.00)填空项 1:_ (正确答案:【1】前件)解析:解析:在树形结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件、它们都称为该结点的子结点。没有后件的结点称为叶子结点。37.Jackson结构化程序设计方法是英国的 M.Jackson提出的,它是一种面 【2】 的设计方法。(分数:2.00)填空项 1:_ (正确答案:

    28、【2】数据结构)解析:解析:结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),面向数据结构的 son方法(JSD-Jackson system development method)和面向数据结构的结构化数据系统开发方法(DSSD-Dates tured system development method)。38.面向对象的模型中,最基本的概念是对象和 【3】 。(分数:2.00)填空项 1:_ (正确答案:【3】类)解析:解析:面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起,可以

    29、构成一个类。39.软件设计模块化的目的是 【4】 。(分数:2.00)填空项 1:_ (正确答案:【4】降低复杂性)解析:解析:模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由此分解来降低复杂性。40.数据模型按不同应用层次分成 3种类型,它们是概念数据模型、 【5】 和物理数据模型。(分数:2.00)填空项 1:_ (正确答案:【5】逻辑数据模型)解析:解析:数据是现实世界符号的抽象,而数据模型(data model)则是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束行为,为数据库系统的信息表示与操作提供一个抽象的框架。 数据模型按不同的应用层次

    30、分成 3种类型,它们是概念数据模型(conceptual data model)、逻辑数据模型(logic data model)、物理数据模型(physical data model)。41.派生类的成员一般分为两部分,一部分是 【6】 ,另一部分是自己定义的新成员。(分数:2.00)填空项 1:_ (正确答案:【6】从基类继承的成员)解析:解析:派生类的成员由继承的成员和自己定义的成员组成。42.以下程序输出的结果是 【7】 。 #includeiostream.h voidmain( ) inta=5,b=4,c=3,d; d=(abc); coutd; (分数:2.00)填空项 1:_

    31、 (正确答案:【7】0)解析:解析:本题的关键在于对变量 c的赋值运算:d=(abc)d=(543)先算 54,为真,得 1,即:d=(13),此时 13,为假,得 0。43.设 i,j,k 均为 int型变量,则执行完 for(i=0,j=10;i=j;i+,j-)k=i+j;语句后,k 的值为 【8】 。(分数:2.00)填空项 1:_ (正确答案:【8】10)解析:解析:该 for语句以 i为 0、j 为 10初始化,循环条件是 i=j,每次循环后 i增 1、j 减 1,循环体是将 i与 j的和赋给 k。这样变量 k将保存的是最后一次赋给它的值。一次循环后 i为 1、j 为 9,二次循环

    32、后 i为 2、j 为 8,五次循环后 i为 5、j 为 5,继续第六次循环,将 i与 j的和 10存于 k后,i为 6、j 为 4,结束循环。所以循环执行后 k为 10。44.如果要把返回值为 void的函数 A声明为类 B的友元函数,则应在类 B的定义中加入的语句是 【9】 。(分数:2.00)填空项 1:_ (正确答案:【9】friend void A-|_|-;)解析:解析:C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。45.如果类 B继承了类 A,则称类 A为类 B的基类,类 B称为类 A的

    33、【10】 。(分数:2.00)填空项 1:_ (正确答案:【10】派生类)解析:解析:如果类 A为类 B的基类,那么类 B称为类 A的派生类。46.将 x+y中的+运算符用友元函数重载应写为 【11】 。(分数:2.00)填空项 1:_ (正确答案:【11】operator+(x,y))解析:解析:C+中用成员函数重载 x+y为 xoperator+(y);,用友元函数重载 x+y为 operator+(x,y)。47.已知程序的结果为 123,请填空。 #includeiostream.h templateclassT classA public: Tx,y,z; voiddisplay(

    34、)coutx“y“z; ; voidmain( ) Aintal; 【12】 【13】 【14】 al.display( ); (分数:2.00)填空项 1:_ (正确答案:【14】a1.z=3;)解析:【12】a1.x=1; 【13】a1.y=2; 解析:通过程序的结果知道数据类型是 int,所以调用时声明模板实参为 int的,再对 x,y,z 进行赋值。48.下列程序段的输出结果是 【15】 。 coutfixed509.123456789endl;(分数:2.00)填空项 1:_ (正确答案:【15】509.123457)解析:解析:fixed 的意义是在小数点后保留六位,所以 fixed输出为 509.123457。


    注意事项

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




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

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

    收起
    展开