【计算机类职业资格】二级C++笔试20及答案解析.doc
《【计算机类职业资格】二级C++笔试20及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试20及答案解析.doc(12页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 20及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性2.下面有关 for循环的正确描述是(分数:2.00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中
2、,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来3.下列程序的运行结果是 #includeiostream.h void fun(int *a,int *B) int *k; k=a;a=b;b=k; void main( ) int a=3,b=6,*x= y=j; void show( )cout“x=“x“ “y=“yendl; void show( )constcout“x=“ “y=“yendl; privated: int x; int y; ; void main( ) Myclass my l (3,4); const my
3、2(7,8); my lshow( );my2show( );(分数:2.00)A.x=4,y=3;x=7,y=8B.x=3,y=4;x=7,y=8C.x=7,y=8;x=4,y=3D.x=8,y=7;x=7,y=828.在 C+语言中,不合法的实型数据的是(分数:2.00)A.0.123B.123e3C.2.1e3.5D.123.029.执行语句 for(i =1+4;);,后变量 i的值是(分数:2.00)A.3B.4C.5D.不定30.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源31.this指针是 C+语言实
4、现什么的一种机制?(分数:2.00)A.抽象B.封装C.继承D.重载32.下列定义中 p指向的地址可更改,但*p 不能够更改的是(分数:2.00)A.const int * p;B.int * const p;C.const int * const p;D.int *p;33.判断 char型变量 c是否为小写字母的正确表达式是(分数:2.00)A.a=c=2B.(c=) i2=1000/f(N); cout i 1 “ “ i2; (分数:2.00)44.友元类的所有成员函数都是另一个类的U 【10】 /U。(分数:2.00)填空项 1:_45.U【11】 /U是实现 C+语言编译时多态性的
5、机制,U 【12】 /U是实现 C+语言运行时多态性的机制。(分数:2.00)填空项 1:_46.表达式 x.operator+( )还可写成U 【13】 /U。(分数:2.00)填空项 1:_47.以下程序的输出结果是U 【14】 /U。 #includeiostream.h void main( ) int a=0; a+= ( a=8 ); cout a; (分数:2.00)填空项 1:_48.若要在 C盘根目录下作为二进制文件打开文件 test.dat ,则应该用的语句是U 【15】 /U。(分数:2.00)填空项 1:_二级 C+笔试 20答案解析(总分:96.00,做题时间:90
6、分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性 D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性解析:解析 基类和其继承类同时出现同名函数,则在继承类中实现对象中调用该函数是使用继承类中的定义,这种情况下是不会产生二义性的。2.下面有关 for循环的正确描述是(分数:2.00)A.for循环只能用于循环次数已经确定的情况B
7、.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 解析:解析 选项 Afor循环可以用于循环次数不确定的情况;选项 Bfor循环是先判断表达式,后执行循环体语句;选项 C在 for循环中,可以用 break语句跳出循环体,从而接着执行循环体后面的语句。3.下列程序的运行结果是 #includeiostream.h void fun(int *a,int *B) int *k; k=a;a=b;b=k; void main( ) int a=3,b=6,*x= t=x; x=y;
8、 y=t; 如果在 main函数中用 swap(a,B,会有什么结果呢?在函数调用开始时,a 的值传送给 x,b 的值传递给 y。执行完 swap()函数后,x 和 y的值是互换了,但 main()函数中的 a和 b并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。 为了使在函数中改变了的变量值能被 main()函数所用,不能采取上述办法,而应该用指针变量做函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主调函数中使用这些改变了的值的目的。 swap(int *p1,int
9、 *p2) int p; p= *p1; *p1=*p2; *p2=p; 注意交换*p1 和*p2 的值是如何实现的,如果写成下面这样就有问题了! swap(int *p1,int *p2) int *p; *p=*p1;/*此语句有问题:*/ *p1=*p2; *P2=*p; *p1 就是 a,是整型变量。而*p是指针变量 p所指向的变量,但 p中并无确切地址,用*p 可能会造成破坏系统的正常工作状态。应该将*p1的值赋给一个整型变量,用整型变量作为过渡变量实现*p1 和*p2 的交换。4.关于 C+语言与 C语言关系描述中错误的是(分数:2.00)A.C+语言是 C语言的超集B.C+语言对
10、 C语言进行了扩充C.C+语言包含 C语言的全部语法特征D.C+语言与 C语言都是面向对象的程序设计语言 解析:解析 C 语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言,C +语言是 C语言的超集,它包含了 C语言的所有语言特性,并进行了扩充。5.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现 B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现解析:解析 头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。6.算法分析
11、的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进 解析:解析 算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。7.假定 int 类型变量占用两个字节,其有定义 int x10=0,2,4;,则数组 x在内存中所占字节数是(分数:2.00)A.3B.6C.10D.20 解析:解析 x 数组共有 10个元素,在花括弧内只提供 3个初值,这表示只给前面的 3个成员赋值,后7个
12、元素的值为 0,所以,一共有 20个字节。8.在数据流图(DFD) 中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向 解析:解析 数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。9.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型 D.以上 3个都是解析:解析 关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构
13、比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。10.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析:解析 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。11.下列字符串中可以用作 C+语言标识符的是(分数:2.00)A._1234 B.foo barC.virt
14、ualD.34var解析:解析 C+语言标识符只能由数字,字母和下划线组成,并且只能以字母和下划线为开头。12.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n-1)/2 解析:解析 假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2遍的从前往后的扫描和 n/2遍的从后往前的扫描,需要的比较次数为 n(n- 1)/2。13.以下叙述正确的是(分数:2.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 20 答案 解析 DOC
