【计算机类职业资格】二级C++笔试-310及答案解析.doc
《【计算机类职业资格】二级C++笔试-310及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-310及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-310 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列程序的输出结果是#includeiostream.hclass Myclasspublic:Myclass(int i0,int j0) xi;yj;void show( ) cout “x“ x “ “ “y“ y endl;void show( ) constcout “x“ “ “ “y“ y endl;privated:int x; int y;void main( ) Myclass my1(3,4) ;const my2(7,8) ;my1.show( )
2、 ;my2.show( ) ;(分数:2.00)A.x4,y3;x7,y8B.x3,y4;x7,y8C.x7,y8;x4,y3D.x8,y7;x7,y82.下面程序的结果是#includeiostream.hclass Aint a;public:A( ) :a(1) void showa ( ) cout a;class Bint a;public:B( ) :a(2) void showa( ) cout a;class C: public A, public Bt a;public:C( ) :a(3) void showa( ) cout a;void main( ) C c;c.sh
3、owa( ) ;(分数:2.00)A.1B.2C.3D.程序有错误3.线性表 L(a1,a2,a3,ai,an) ,下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件4.算法分析的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进5.关于 C语言与 C 语言关系描述中错误的是(分数:2.00)A.C语言是 C 语言的超集B.C语言对
4、 C 语言进行了扩充C.C语言包含 C 语言的全部语法特征D.C语言与 C 语言都是面向对象的程序设计语言6.执行语句 for(i1;i4;) ;后,变量 i 的值是(分数:2.00)A.3B.4C.5D.不定7.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是(分数:2.00)A.* * * * * * * * * 1 * 2B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *8.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业
5、化的需要C.软件危机的出现D.计算机的发展9.假定 int 类型变量占用两个字节,其有定义 int x10 0,2,4;,则数组 x 在内存中所占字节数是(分数:2.00)A.3B.6C.10D.2010.在 C语言中,打开一个文件就是将这个文件与一个什么建立关联?(分数:2.00)A.流B.类C.结构D.对象11.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n1) /212.下面的语句中错误的是(分数:2.00)A.int a5;int xa ;B.const int a5;int xa ;C.int n5
6、;int * pnew inta ;D.const int n5;int * pnew inta ;13.在单链表中,增加头节点的目的是(分数:2.00)A.方便运算的实现B.使单链表至少有一个节点C.标识表节点中首节点的位置D.说明单链表是线性表的链式存储实现14.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性15.下列数据模型中,
7、具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上 3 个都是16.下列定义中 p 指向的地址可更改,但 * p 不能够更改的是(分数:2.00)A.const int * p;B.int * const p;C.const int * const p;D.int * p;17.若有如下语句:#includeiostream.hvoid main( ) int x3;doxx2;cout x;while(!(X) ) ;则上面程序段(分数:2.00)A.输出的是 1B.输出的是 1 和2C.输出的是 3 和 0D.是死循环18.在数据流图(DFD) 中,带有名字
8、的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向19.在 C语言中,不合法的实型数据是(分数:2.00)A.0.123B.123e3C.2.1e3.5D.123.020.this 指针是 C语言实现什么的一种机制?(分数:2.00)A.抽象B.封装C.继承D.重载21.下列字符串中可以用做 C语言标识符的是(分数:2.00)A._1234B.foobarC.virtualD.34var22.如果表达式 x * yz 中,“*”是作为友元函数重载的,“”是作为成员函数重载的,则该表达式还可为(分数:2.00)A.operator(opera
9、tor * (x, y) ,Z)B.operator(operator * (x, y) ,z)C.operator * (operator(x, y) ,z)D.operator(operator * (x, y) )23.下列描述中,抽象类的特性是(分数:2.00)A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象24.有以下程序:#includeiostream.hvoid fun(int a, int b, int c) a456,b567,c678;void main( ) int x10,y20,z30;fun(x, y, z) ;cout x , y
10、 , z endl;输出结果是(分数:2.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,45625.下面有关 for 循环的正确描述是(分数:2.00)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在 for 循环中,不能用 break 语句跳出循环体D.在 for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来26.判断 char 型变量 c 是否为小写字母的正确表达式是(分数:2.00)A.aczB.(cA) 下列对 add 函数的调用不正确的是(分数:2.00)A.add(1,2
11、)B.addint(1,2)C.add(1.0,2)D.add(1.0,2.0)28.以下叙述正确的是(分数:2.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义29.关系表中的每一横行称为一个(分数:2.00)A.元组B.字段C.属性D.码30.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源31.下列语句的输出结果cout strlen(“/t/“/065/xff/n“) ;(分数:2.00)A.5B.14C.8D
12、.输出项不合法,无正常输出32.以下程序中调用 cin 函数给变量 a 输入数值的方法是错误的,其错误原因是#includeiostream.hvoid main( ) int * p, * q, a, b;pcout “input a:“;cin p;(分数:2.00)A.* p 表示的是指针变量 p 的地址B.p 表示的是变量 a 的地址,而不是变量 a 的值C.* p 表示的是指针变量 p 的值D.* p 只能用来说明 p 是一个指针变量33.下列程序的运行结果是#includeiostream.hvoid fun(int * a,int * b) int * k;ka; ab; bk;
13、void main( ) int a3,b6, * xfun(x, y) ;cout a “ “ b;(分数:2.00)A.6 3B.3 6C.编译出错D.0 034.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余35.有如下程序:#includeiostream.hint func(int a, int b) return(ab) ;void main( ) int x2,y5,z8,r;rfunc(func(x,y) ,z) ;cout r;该程序的输出的结果是(分数:2.00)A.12B.13C.14D.15二、
14、填空题(总题数:13,分数:26.00)36.在算法正确的前提下,评价一个算法的两个标准是 。(分数:2.00)填空项 1:_37.将代数式 (分数:2.00)填空项 1:_38.软件危机出现于 20 世纪 60 年代末,为了解决软件危机,人们提出了 的原理来设计软件,这就是软件工程诞生的基础。(分数:2.00)填空项 1:_39. 是数据库设计的核心。(分数:2.00)填空项 1:_40.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 。(分数:2.00)填空项 1:_41.一个 C语言程序的开发步骤通常包括编辑、 、链接、运行和调试。(分数:2.00)填空项 1:_42.若已知
15、a10,b20,则表达式!ab 的值为 。(分数:2.00)填空项 1:_43.下面程序的运行结果是 8 和 9 。#includeiostream.h#define N 10#define s(x) x * x#define f(x) (x * x) void main( ) int i1,i2;i11000/s(N) ;i21000/f(N) ;cout i1 “ “ i2;(分数:2.00)填空项 1:_44.友元类的所有成员函数都是另一个类的 。(分数:2.00)填空项 1:_45. 11 是实现 C语言编译时多态性的机制, 12 是实现 C语言运行时多态性的机制。(分数:2.00)填
16、空项 1:_46.表达式 x. operator( ) 还可写成 。(分数:2.00)填空项 1:_47.以下程序的输出结果是 。#includeiostream.hvoid main( ) int a0;a(a8) ;cout a;(分数:2.00)填空项 1:_48.若要在 C 盘根目录下作为二进制文件打开文件 test.dat,则应该用的语句是 。(分数:2.00)填空项 1:_二级 C+笔试-310 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列程序的输出结果是#includeiostream.hclass Myclasspubl
17、ic:Myclass(int i0,int j0) xi;yj;void show( ) cout “x“ x “ “ “y“ y endl;void show( ) constcout “x“ “ “ “y“ y endl;privated:int x; int y;void main( ) Myclass my1(3,4) ;const my2(7,8) ;my1.show( ) ;my2.show( ) ;(分数:2.00)A.x4,y3;x7,y8 B.x3,y4;x7,y8C.x7,y8;x4,y3D.x8,y7;x7,y8解析:解析 在 Myclass 类中定义了两个同名函数 sh
18、ow,其中一个是常成员函数。在 main 函数中定义了两个对象 my1、my2,其中对象 my2 是常对象。这两个对象调用成员函数 show 时,通过对象 my1 调用的是没有用 const 修饰的一般成员函数,而通过对象 my2 调用的是 const 修饰的常成员函数。2.下面程序的结果是#includeiostream.hclass Aint a;public:A( ) :a(1) void showa ( ) cout a;class Bint a;public:B( ) :a(2) void showa( ) cout a;class C: public A, public Bt a;
19、public:C( ) :a(3) void showa( ) cout a;void main( ) C c;c.showa( ) ;(分数:2.00)A.1B.2C.3 D.程序有错误解析:解析 类 A、类 B 中都有 showa( ) 函数,类 C 继承后再次重写 showa( ) 函数就解决了继承的二义性,这时 c. showa( ) 函数显示的就是类 C 中的 showa ( ) 的值。3.线性表 L(a1,a2,a3,ai,an) ,下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D
20、.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析:解析 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;在线性表的定义中,元素的排列并没有规定大小顺序。4.算法分析的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进 解析:解析 算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。5.关于 C语言与 C 语言关系描述中错
21、误的是(分数:2.00)A.C语言是 C 语言的超集B.C语言对 C 语言进行了扩充C.C语言包含 C 语言的全部语法特征D.C语言与 C 语言都是面向对象的程序设计语言 解析:解析 C 语言是一种面向过程的程序设计语言,而 C语言是一种面向对象的设计语言, C语言是 C 语言的超集,它包含了 C 语言的所有语言特性,并进行了扩充。6.执行语句 for(i1;i4;) ;后,变量 i 的值是(分数:2.00)A.3B.4C.5 D.不定解析:解析 for 语句中的表达式可以部分或全部省略,但两个“;”不能省略,若 3 个表达式均省略,会因为缺少条件判断,导致循环无限执行,而形成死循环。本题中当
22、 i 的值为 5 的时候,循环终止。7.对于语句 cout setfill(*) setw(10) 1 setfill(*) setw(2) 2;的输出结果是(分数:2.00)A.* * * * * * * * * 1 * 2 B.* * * * * * * * 12C.* * * * * * * 1 * 2D.12 * * * * * * * *解析:解析 C语言中 setfill 的意思是在空格的地方填上 serfill 函数中的参数字符,setw 的意思是设置整个输出字符串的字符个数,本题中用。来代替空格。8.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 310 答案 解析 DOC
