【计算机类职业资格】二级C++笔试-77及答案解析.doc
《【计算机类职业资格】二级C++笔试-77及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-77及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-77 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对于下列语句,正确的判断是for=(x=0;y=0;(y!=123)x+);(分数:2.00)A.是无限循环B.循环次数不定C.最多执行 4 次D.最多执行 3 次2.以下程序的输出结果为main( )int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;coutxendl;(分数:2.00)A.27.000000B.27.500000C.28.000000D.28.5000003.执行下列语句后,输出结果为cout.put(s
2、);coutca;(分数:2.00)A.caB.seaC.sD.a4.设 a 和 b 均为 double 型变量,且 a=5.5、b=2.5,则表达式(int)a+b/b 的值是(分数:2.00)A.6.500000B.6C.5.500000D.6.0000005.下列叙述中正确的是(分数:2.00)A.算法的空间复杂度是指算法程序的长度B.算法的效率只与所处理数据的规模有关,而与数据的存储结构无关C.数据的逻辑结构与存储结构是一一对应的D.上述三种说法都不对6.若有说明:int a34;则对 a 数组元素的非法引用是(分数:2.00)A.a02*1B.a13C.a4-20D.a047.在下面
3、的函数声明中,存在着语法错误的是(分数:2.00)A.void BC(int a,int)B.void BD(int,int)C.void BE(int,int t=5)D.int BF(int x;int y)8.下列表示纯虚函数的成员函数是(分数:2.00)A.virtual int func (int);B.void func(int)=0;C.virtual void func=0;D.virtual void flmc(int)9.为引入对象的同义词,对象的别名称为(分数:2.00)A.指针B.引用C.枚举D.结构10.设有如下关系表:(分数:2.00)A.B.C.D.11.在结构化
4、分析方法中,数据字典的作用是(分数:2.00)A.存放所有需要处理的原始数据B.存放所有处理的结果C.存放所有的程序文件D.描述系统中所用到的全部数据和文件的有关信息12.下列运算符中,不能重载的是(分数:2.00)A.?:B.+C.-D.=13.C+语言中函数返回值的类型决定于(分数:2.00)A.return 语句中的表达式类型B.调用函数的主调函数类型C.调用、函数时临时类型D.定义函数时所指定的函数类型14.关于虚函数的描述中正确的是(分数:2.00)A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中
5、对应的虚函数具有相同的参数个数和类型15.以下不属于构造函数特征的是(分数:2.00)A.构造函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定函数类型16.下列关于指针的操作中,错误的是(分数:2.00)A.两个同类型的指针可以进行比较运算B.可以用一个空指针赋给某个指针C.一个指针可以加上两个整数之差D.两个同类型的指针可以相加17.以下非法的赋值语句是(分数:2.00)A.n=(i=2,+i);B.j+;C.+(i+1);D.x=j0;18.继承机制的作用是(分数:2.00)A.信息隐藏B.数据封装C.定义新类D.数据抽象19.若有以下定义:int a=
6、1,2,3,4,5,6,7);char c1=b,c2=2;则数值不为 2 的表达式是(分数:2.00)A.a1B.d-c1C.a3-c2D.c2-020.C+语言中在 C 语言的基础上增加的特性不包括(分数:2.00)A.结构B.引用C.类和对象D.静态成员函数21.下列数据结构中具有记忆作用的是(分数:2.00)A.栈B.队列C.有序表D.二叉树22.对下列二叉树进行后序遍历的结果是(分数:2.00)A.B.C.D.23.静态成员函数没有(分数:2.00)A.返回值B.this 指针C.指针参数D.返回类型24.以下关于虚函数的叙述中不正确的是(分数:2.00)A.虚函数属于成员函数B.虚
7、函数不允许说明成静态的C.凡是虚函数必须用 virtual 说明D.虚函数可以被继承25.判断字符型变量 ch 是否为大写英文字母,应使用表达式(分数:2.00)A.ch=Avoid main( )int a=10,b=20;couta“,“bendl;int a=0,b=0;for(int i=1;i8;i+)a+=i;b+=a;couta“,“b“,“:aendl;couta“,“bendl;(分数:2.00)填空项 1:_43.有以下程序#includeiostreamusing namespace std;long fib(int n)if(n2)return(fib(n-1)+fib
8、(n-2);elsereturn 2;int main( )coutfib(3)endl;return 0;则该程序的输出结果应该是_。(分数:2.00)填空项 1:_44.下列程序不能通过编译,应该在划线部分填写的语句是_。#includeiostream.h#includestdlib.hdouble Func(int a,int b,char ch)double x;switch(ch)case+:x=double(a)+b;break;case -:x=double(a)-b;break;case *:x=double(a)*b;break;case/:if(B)x=double(a)
9、/b;elseexit(1);break;default:exit(1);_void main( )coutFunc(32,6,-)“,“;coutFunc(32,6, *)“,“;coutFunc(32,6,/)endl;(分数:2.00)填空项 1:_45.根据下面的主程序,完成类的一种构造函数的最简单形式。#includeiostream.hclass baseprivate:int num;public:_;void main( )base try(6);(分数:2.00)_46.下列程序的执行结果为_。#includeiostream.hint f(int i) return+i;i
10、nt g(intvoid main( )int a,b;a=b=0;a+=f(g(a);b+=f(f(b);cout“a=“a“,b=“bendl;(分数:2.00)填空项 1:_47.下列程序的运行结果是_。#includeiostream.hclass Apublic:virtual void use( ) cout“in A/n“;class B:public Apublic:virtual void use( ) cout“in B/n“;class C:public Bpublic:virtual void use( )cout“in C/n“;void main( )A*obj;o
11、bj=new C;obj-use( );delete obj;(分数:2.00)填空项 1:_48.完成下列类的构造函数,初始化语句为_。#includeiostream.hclass Testprivate:int x,y;public:void Test(int initx,int inity)_void printx( )coutx“-“y“=“x-y;void main( )Test x(300,200);x.printx( );(分数:2.00)填空项 1:_49.根据下列程序的执行结果,可以断定划线部分的修饰符应为_。执行结果:i9a football is created.a f
12、ootball is created.i=10a football is destroyed.a football is created.i=20a football is destroyed.a football is destroyed.源程序:#includeiostream.hclass Footballpublic:Football( )cout“a football is created.“endl;Football( )tout“a football is destroyed.“endl;void func(int i)_Football f1;Football f2;cout“
13、i=“iendl;void main( )func(10);func(20);(分数:2.00)填空项 1:_50.下列程序的输出结果为 2,请将程序补充完整。#ineludeiostreamhusing namespace std;class Basepublic:_ void fun( )cout1;class Derived: public Basepbulic:void fubn( )cout2;int main( )Base*P=new Derived;Pfun( );delete P;return 0;(分数:2.00)填空项 1:_二级 C+笔试-77 答案解析(总分:100.0
14、0,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对于下列语句,正确的判断是for=(x=0;y=0;(y!=123)x+);(分数:2.00)A.是无限循环B.循环次数不定C.最多执行 4 次 D.最多执行 3 次解析:解析 本题考查 for 循环条件中三个表达式的执行顺序。首先执行表达式一,然后执行表达式二,如果表达式二为真,则循环体执行,然后执行表达式三,接着继续执行表达式二,如此循环。考生要注意的是,本题中表达式三中包含了变量 x 的增量操作,因此可以由表达式二和三一起控制循环体的执行次数。本题正确答案为 C。2.以下程序的输出结果为main( )int m=7
15、,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;coutxendl;(分数:2.00)A.27.000000 B.27.500000C.28.000000D.28.500000解析:解析 本题考查表达式值的类型由参与运算的所有变量的类型中优先级最高的变量类型所决定。不过要注意的是整型向 float 型转换时,将丢失小数部分,即向下取值。3.执行下列语句后,输出结果为cout.put(s);coutca;(分数:2.00)A.caB.sea C.sD.a解析:解析 本题很简单,考查 cout 对象的成员函数 put 方法和操作符的使用方法。4.设 a 和 b
16、均为 double 型变量,且 a=5.5、b=2.5,则表达式(int)a+b/b 的值是(分数:2.00)A.6.500000B.6C.5.500000D.6.000000 解析:解析 混合表达式的值的类型是由表达式中具有最高精度的类型确定,因此可知选项 B 可排除。注意 b/b 的结果应是 1.00000,而(int)a 则为 5,相加的结果还是 double 型,故正确答案应为 D。5.下列叙述中正确的是(分数:2.00)A.算法的空间复杂度是指算法程序的长度B.算法的效率只与所处理数据的规模有关,而与数据的存储结构无关C.数据的逻辑结构与存储结构是一一对应的D.上述三种说法都不对 解
17、析:解析 算法的空间复杂度,一般是指执行这个算法所需要的内存空间,它包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。因此,选项 A 中的说法是错误的。虽然算法的计算工作量(即时间复杂度)是问题规模的函数,但它是与数据的存储结构有密切的关系。因此,选项 B 中的说法也是错误的。一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系有可能是不同的。因此,选项 C中的说法也是错误的,D 则是正确的。6.若有说明:int a34;则对 a 数组元素的非法引用是(分数:2.00)A.a02*1B.a13C.a4-20D.a04 解析:解析 在数组这部分的
18、知识里面,数组下标越界是一个比较容易忽略的问题,其下标是从 0 开始,至 n-1 为止,因此选项 D 是正确答案。7.在下面的函数声明中,存在着语法错误的是(分数:2.00)A.void BC(int a,int)B.void BD(int,int)C.void BE(int,int t=5)D.int BF(int x;int y) 解析:解析 函数声明时,可以指定其形参的默认值,不过要从右向左指定;可以省略形参名,仅以形参类型表示;形参表之间用逗号分割。因此,本题答案为 D。8.下列表示纯虚函数的成员函数是(分数:2.00)A.virtual int func (int);B.void f
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 77 答案 解析 DOC
![提示](http://www.mydoc123.com/images/bang_tan.gif)