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

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

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

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

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

    1、二级 C+笔试 87 及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列关于模板的说法正确的是(分数:2.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数2.若定义 int k=7,x=12;,则能使值为 3 的表达式是(分数:2.00)A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=-(k%=5)3.下列程序中画线处应填入的语句是 class Base public: void fun()cout“Base

    2、of fun“end1: ; class Derived:public Base void fun() _/显示基类的成员函数fun cout“Derived of fun“end1; ;(分数:2.00)A.fun();B.Basfun();C.Basefun();D.Base- fun();4.若已定义: int a=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i9,则对 a 数组元素不正确的引用是(分数:2.00)A.ap-aB.*(3;i+) couta2-ii“ “; (分数:2.00)A.1 5 9B.7 5 3C.3 5 7D.5 916.以下程序的输出结果是

    3、 #includeiostreamh void reverse(int a,int n) int i ,t; for(i=0;n/2;i+) t=ai=ai =an-1-i;an-1-i=t; void main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; couts; (分数:2.00)A.22B.10C.34D.307.软件工程的理论和技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用8.下面程序的功能是把

    4、 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,在划线处应填入的选项是 #includeiostreamh Void main() int i=0,j,k; doi+;k=316-13*i; while( );j=k/11; cout “316=13*“i“+11*“j; (分数:2.00)A.k/11B.k%11C.k/110D.k%11=09.下列关于 C+语言类的描述中错误的是(分数:2.00)A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络

    5、10.以下叙述中正确的是(分数:2.00)A.构成 C+语言程序的基本单位是类B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义11.下面程序段的运行结果是 void main() int t,a,b,c; a=1;b=2;C=2; while(abc) t=a;a=b;b=t;c-; cout a “ ,“ b “ ,“ c; (分数:2.00)A.1,2,0B.2,1,0C.1,2,1D.2,1,112.设有数组定义:char array=“China“;,则数组 array 所占的空间为(分数:2.00)A.4 个字节B

    6、.5 个字节,C.6 个字节D.7 个字节13.已知有定义 const int D=5; int i=1; double f=0.32; char c=15; 则下列选项错误的是(分数:2.00)A.+i;B.D-;C.c+;D.-f14.索引属于(分数:2.00)A.模式B.内模式C.外模式D.概念模式15.开发软件时对提高开发人员工作效率至关重要的是(分数:2.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力16.下面程序的结果为 #includeiostreamh int C; class A private: int a; stat

    7、ic int b; public: A() a=0;c=0; void seta()a+; voidsetb()b+; voidsetc()c+; void display() cout a “ “ b “ ” c; ; int Ab=0; void main() A a1,a2; a1seta(); a1setb(); a1setc(); a2seta(); a2seth(); a2setc(); a2display(); (分数:2.00)A.1 2 1B.1 2 2C.1 1 2D.2 2 217.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则

    8、其后序遍历的结点访问顺序是(分数:2.00)A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca18.下列关于构造函数说法不正确的是(分数:2.00)A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化19.在深度为 5 的满二叉树中,叶子结点的个数为(分数:2.00)A.32B.31C.16D.1520.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据21.以下

    9、程序的输出结果是 #includeiostreamh void main() int x=1,y=3; cout x+ “ , “; int x=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,322.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是(分数:2.00)A.showbase()和 eof()B.showpoint()和 eof()C.showpoint()和 bad()D.showpoint()和 good()23.有以下结构体说明和变量

    10、的定义,且指针 p 指向变量 a,指针 q 指向变量 b。则不能把结点 b 连接到结点 a 之后的语句是 struct node char data; struct node * next; a,b,*p= d=(abC) ; coutd; (分数:2.00)填空项 1:_43.设 i,j,k 均为 int 型变量,则执行完 for(i=0,j=10;i=j; i+,j-)k=i+j;语句后,k 的值为U 【8】 /U。(分数:2.00)填空项 1:_44.如果要把返回值为 void 的函数 A 声明为类 B 的友元函数,则应在类 B 的定义中加入的语句是U 【9】 /U。(分数:2.00)填

    11、空项 1:_45.如果类 B 继承了类 A,则称类 A 为类 B 的基类,类 B 称为类 A 的U 【10】 /U。(分数:2.00)填空项 1:_46.将 x+y 中的+运算符用友元函数重载应写为U 【11】 /U。(分数:2.00)填空项 1:_47.已知程序的结果为 1 2 3,请填空。 #includeiostreamh templateclass T class A public: T x,y,z; void display() cout x “ “ y “ “ z; ; void main() Ainta1; U 【12】 /U U 【13】 /U U 【14】 /U a1disp

    12、lay(); (分数:2.00)填空项 1:_48.下列程序段的输出结果是U 【15】 /U。 coutfixed509.123456789endl;(分数:2.00)填空项 1:_二级 C+笔试 87 答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列关于模板的说法正确的是(分数:2.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数 解析:解析 在 C+中规定如果一个类被声明为类模板,那么其中的所有成员函数就都成为了模板函数。2.若定义 i

    13、nt k=7,x=12;,则能使值为 3 的表达式是(分数:2.00)A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=-(k%=5) 解析:解析 运算符“%”的两侧都应该是整型数。另外,本题需要掌握的知识点是 x%=k 等价于 x=x%k。3.下列程序中画线处应填入的语句是 class Base public: void fun()cout“Base of fun“end1: ; class Derived:public Base void fun() _/显示基类的成员函数fun cout“Derived of fun“end1; ;(分数:2.00)A.fun

    14、();B.Basfun();C.Basefun(); D.Base- fun();解析:解析 如果在子类中要访问父类的函数应用“”运算符。4.若已定义: int a=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i9,则对 a 数组元素不正确的引用是(分数:2.00)A.ap-aB.*(3;i+) couta2-ii“ “; (分数:2.00)A.1 5 9B.7 5 3 C.3 5 7D.5 91解析:解析 首先,当 i=0 时,数组中的位置是 a20=7,当然,如果用排除法的话,就不用考虑后面的循环了,因为在 4 个选项中,第 1 个数为 7 的选项只有 B)。本题执行第

    15、 2 次循环时,i 的值为 l,则cout 函数中的数组指向为 a11=5,依次循环,可求出答案。6.以下程序的输出结果是 #includeiostreamh void reverse(int a,int n) int i ,t; for(i=0;n/2;i+) t=ai=ai =an-1-i;an-1-i=t; void main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; couts; (分数:2.00)A.22 B.10C.34D.30解析:解析 在 main 函数中,调用 r

    16、everse 函数将 b 数组中的前 8 个成员进行互置,执行完毕后,b 数组中的成员为8,7,6,5,4,3,2,l,9,10,在执行 for 循环结构后,将 b6,b7b9的值相加,结果为 l+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。7.软件工程的理论和技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理 C.程序设计自动化D.实现软件可重用解析:解析 软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软

    17、件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。8.下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,在划线处应填入的选项是 #includeiostreamh Void main() int i=0,j,k; doi+;k=316-13*i; while( );j=k/11; cout “316=13*“i“+11*“j; (分数:2.00)A.k/11B.k%11 C.k/110D.k%11=0解析:解析 dowhile 语句的一般形式是 do 语句 while(表达式); 特点是:“直到型”循环结构。先执行一次“语句”,判“表达

    18、式”,当“表达式”为非 0,再执行“语句”,直到“表达式”的值为。时停止执行语句。在一般情况下,用 while 和 dowhile 语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当 while 后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时 while 循环的循环不被执行,而 dowhile 循环的循环体被执行一次。本题的关键是两个加数分别能被 13 和 11 整除,在 i=0 时直接将 316 赋值给 k,当 k%11 的值为 0 时,则不必执行循环,将执行 j=k/11 语句,输出结果,所以该表达式合理的条件是 k%11。9.下列关于 C+语言类

    19、的描述中错误的是(分数:2.00)A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构 D.类与类之间可以通过一些方法进行通信和联络解析:解析 C+语言中的类是可以组成层次结构的,类是用于描述事物的属性和对事物的操作,类与类之间有相对的独立性,但其可以通过一些方法进行信息的通信。10.以下叙述中正确的是(分数:2.00)A.构成 C+语言程序的基本单位是类 B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义解析:解析 关于 C+语言,我们应该了解以下必

    20、须要掌握的基础知识: C+程序是由类构成的。一个函数由两部分组成:函数的首部和函数体。一个类由两部分组成:类成员变量和类成员函数。一个 C+程序总是从 main 函数开始执行的,而不论 main 函数在整个程序中的位置如何(main 函数可以放在程序最前头,也可以放在程序最后,或写在一些函数之前,在另 一些函数之后)。C+程序在书写上,表现形式比较自由,一行内可以写几个语句,一个语句可以分写在几行上。每个语句和数据定义的最后必须有一个分号。可以用*/和/对 C+语言的程序的任何部分作注释。11.下面程序段的运行结果是 void main() int t,a,b,c; a=1;b=2;C=2;

    21、while(abc) t=a;a=b;b=t;c-; cout a “ ,“ b “ ,“ c; (分数:2.00)A.1,2,0 B.2,1,0C.1,2,1D.2,1,1解析:解析 本题中(abc)的运算次序是先算 ab,返回 1,再运算 1c,返回 1,所以表达式 a bc 的值为 1。12.设有数组定义:char array=“China“;,则数组 array 所占的空间为(分数:2.00)A.4 个字节B.5 个字节,C.6 个字节 D.7 个字节解析:解析 在给数组赋值时,可以用一个字符串作为初值,这种方法直观,方便而且符合人们的习惯。数组 array 的长度不是 5,而是 6,

    22、这点必须要注意,因为字符串常量的最后由系统加上一个/0,因此,上面的初始化与下面的等价: char array=C,h,i,n,a,/0;13.已知有定义 const int D=5; int i=1; double f=0.32; char c=15; 则下列选项错误的是(分数:2.00)A.+i;B.D-; C.c+;D.-f解析:解析 “+”,“-”运算符不能用于常量。14.索引属于(分数:2.00)A.模式B.内模式 C.外模式D.概念模式解析:解析 内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据

    23、存储的文件结构、索引、集簇及 hash 等存取方式与存取路径。15.开发软件时对提高开发人员工作效率至关重要的是(分数:2.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境 C.程序人员的数量D.计算机的并行处理能力解析:解析 软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。工具和环境的使用又进一步提高了软件的开发效率、维护效率和软件质量。16.下面程序的结果为 #includeiostreamh int C; class A private: int a; static int b; public: A() a=0;c=0; void seta()a+; voidset

    24、b()b+; voidsetc()c+; void display() cout a “ “ b “ ” c; ; int Ab=0; void main() A a1,a2; a1seta(); a1setb(); a1setc(); a2seta(); a2seth(); a2setc(); a2display(); (分数:2.00)A.1 2 1B.1 2 2 C.1 1 2D.2 2 2解析:解析 C+语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中 c 为全局变量,b 为静态变量,a 为普通变量,b 和c 在

    25、类 A 的对象 a1 和 a2 中都自加 l。所以 b,c 为 2,a 为 1。17.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是(分数:2.00)A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca 解析:解析 前序遍历的第一个结点 a 为树的根结点;中序遍历中 a 的左边的结点为 a 的左子树,a 右边的结点为 a 的右子树;再分别对 a 的左右子树进行上述两步处理,直到每个结点都找到正确的位置。18.下列关于构造函数说法不正确的是(分数:2.00)A.构造函数必须与类同名B.构造函数可以省

    26、略不写C.构造函数必须有返回值 D.在构造函数中可以对类中的成员进行初始化解析:解析 构造函数是一类特殊的函数,其特点是函数名与类同名,没有返回值,也可以省略不写,还可以刘类中的成员进行初始化。19.在深度为 5 的满二叉树中,叶子结点的个数为(分数:2.00)A.32B.31C.16 D.15解析:解析 所谓满二叉树是指这样的一种二义树:除最后一层外,每一层上的所有结点都有两个叶子结点。这就是说,在满二叉树中,层上的结点数都达到最大值,即在满二义树的第 k 层上有 2k-1个结点,且深度为 m 的满二义树有 2m-1个结点。20.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库

    27、系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据解析:解析 数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。21.以下程序的输出结果是 #includeiostreamh void main() int x=1,y=3; cout x+ “ , “; int x=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,3 D.1,7,3,

    28、2,3解析:解析 coutx+;语句中,程序先输出 x 的值,然后再加 l,所以结果为 1,此时 x 的值为2;布 int x=0;x+=y*2;语句中,将 0 的值赋给 x,然后再运算 x+=y*2 的值,结果为 x=6(此时 x 的值为局部变量),y 的值不变,在最后在执行了 x 语句后的值,所以应为 2。22.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是(分数:2.00)A.showbase()和 eof()B.showpoint()和 eof() C.showpoint()和 bad()D.showpoint()和 good()解析:解析 表示在输出时显示小数位,和在文

    29、件输入时判断文件尾的函数分别是 showpoint()和 eof()。23.有以下结构体说明和变量的定义,且指针 p 指向变量 a,指针 q 指向变量 b。则不能把结点 b 连接到结点 a 之后的语句是 struct node char data; struct node * next; a,b,*p= d=(abC) ; coutd; (分数:2.00)填空项 1:_ (正确答案:0)解析:解析 水题的关键在于对变量 c 的赋值运算: d=(abc) d=(543) 先算 54,为真,得1,即:d=(13),此时 13,为假,得 0。43.设 i,j,k 均为 int 型变量,则执行完 fo

    30、r(i=0,j=10;i=j; i+,j-)k=i+j;语句后,k 的值为U 【8】 /U。(分数:2.00)填空项 1:_ (正确答案:10)解析:解析 该 for 语句以 i 为 0、j 为 10 初始化,循环条件是 i=j 每次循环后 i 增 1、j 减 1,循环体是将 i 与 j 的和赋给 k。这样变量 k 将保存的是最后一次赋给它的值。一次循环后 i 为 1、j 为 9,二次循环后 i 为 2、j 为 8,五次循环后 i 为 5、j 为 5,继续第六次循环,将 i 与 j 的和 10 存于 k 后,i 为 6、j 为 4,结束循环。所以循环执行后 k 为 10。44.如果要把返回值为

    31、 void 的函数 A 声明为类 B 的友元函数,则应在类 B 的定义中加入的语句是U 【9】 /U。(分数:2.00)填空项 1:_ (正确答案:friend void A();)解析:解析 C+中类的友元函数在声明时应在该函数前面加上关键字 friend,同样如果要声明一个类为另一个类的友元类也要在前面类名前加上 friend。45.如果类 B 继承了类 A,则称类 A 为类 B 的基类,类 B 称为类 A 的U 【10】 /U。(分数:2.00)填空项 1:_ (正确答案:派生类)解析:解析 如果类 A 为类 B 的基类,那么类 B 称为类 A 的派生类。46.将 x+y 中的+运算符用

    32、友元函数重载应写为U 【11】 /U。(分数:2.00)填空项 1:_ (正确答案:operator+(x,y))解析:解析 C+中用成员函数重载 x+y 为 xoperator +(y);,用友元函数重载 x+y 为operator+(x,y)。47.已知程序的结果为 1 2 3,请填空。 #includeiostreamh templateclass T class A public: T x,y,z; void display() cout x “ “ y “ “ z; ; void main() Ainta1; U 【12】 /U U 【13】 /U U 【14】 /U a1display(); (分数:2.00)填空项 1:_ (正确答案:12a1x=1;)解析:13a1y=2; 14a1z=3; 解析 通过程序的结果知道数据类型是 int,所以调用时声明模板实参为 int 的,再对 x,y,z 进行赋值。48.下列程序段的输出结果是U 【15】 /U。 coutfixed509.123456789endl;(分数:2.00)填空项 1:_ (正确答案:509.123457)解析:解析 fixed 的意义是在小数点后保留六位,所以 fixed 输出为 509.123457。


    注意事项

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




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

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

    收起
    展开