【计算机类职业资格】二级C++分类模拟250及答案解析.doc
《【计算机类职业资格】二级C++分类模拟250及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟250及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+分类模拟 250及答案解析(总分:76.00,做题时间:90 分钟)一、选择题(总题数:40,分数:76.00)1.派生类对象对其基类中的什么成员是可访问的?(分数:1.00)A.公有继承的私有成员B.私有继承的公有成员C.私有继承的保护成员D.保护继承的保护成员2.有如下程序: #includeiostream using namespace std; int i=1; class Fun public: static int i; int value() return i-1; int value()const return i+1; ; int Fun:i=2; int mai
2、n() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是_。(分数:1.00)A.coutfun1. value()Fun:ifun2. value();B.coutFun:ifun1. value()fun2. value();C.coutfun1. value()fun2. value()Fun:i;D.coutfun2. value()Fun:ifun1. value();3.C+系统预定义了 4个用于标准数据流的对象,下列选项中不属于此类对象的是_。(分数:1.00)A.coutB.ci
3、nC.cerrD.cset4.有下列程序: #include stdio.h void main() (int a=1,2,3,4),y,*p=a3; -p;y=*p;printf(“y=%d/n“,y); 程序的运行结果是 _ ,(分数:2.50)A.y=0B.y=1C.y=2D.y=35.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:1.00)A.内联函数B.重载函数C.递归函数D.函数模板6.下面程序错误的语句是 # include iostreamh void main( ) int * p=new int1; p=9; cout * p endl; delete
4、 p; (分数:1.00)A.B.C.D.7.结构化程序设计的主要特征是 _ 。(分数:2.00)A.封装和数据隐藏B.继承和重用C.数据和处理数据的过程分离D.把数据和处理数据的过程看成一个整体8.有如下程序: #includeiostream using namespace std; void fl(intx,inty) int z=x;x=y;y=z; void f2(int x,int y) int z=x;x=y;y=z; int main() int x=10,y=26; f1(x,y); f2(x,y); coutyendl; return 0; 运行时的输出结果是_。(分数:2
5、.50)A.10B.16C.26D.369.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书10.以下程序中调用 cin函数给变量 a输人数值的方法是错误的,其错误的原因是_。 #includeiostream.h void main() int*p,*q,a,b; p=a; cout“input a;“; cinp; (分数:2.50)A.*p表示的是指针变量 p的地址B.p表示的是变量 a的地址,而不是变量 a的值C.*p表示的是指针变量 p的值D.*p只能用来说明 p是一个指针变量11.下列数据结
6、果中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.循环队列B栈C.队列D.二叉树12.己知基类 Employee只有一个构造函数,其定义如下: Employee:Employee(int n):id(n) Manager是 Employee的派生类,则下列对 Manager的构造函数的定义中,正确的是_。(分数:2.00)A.Manager:Manager(int n):id(n)B.Manager:Manager(int n)id=n;C.Manager:Manager(int n):Employee(n)D.Manager:Manager(int n)Employee(n
7、);13.结构化分析方法是面向 _ 的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标14.在对函数进行原型声明时,下列语法成分中,不需要的是_。(分数:2.50)A.函数返回类型B.函数参数列表C.函数名D.函数体15.假设 a为一个整型数组名,则元素 a4的字节地址为_ 。(分数:2.00)A.a+4B.a+8C.a+16D.a+3216.由于常对象不能被更新,因此_。(分数:1.00)A.通过常对象只能调用它的常成员函数B.通过常对象只能调用静态成员函数C.常对象的成员都是常成员D.通过常对象可以调用任何不改变对象值的成员函数17.在最坏情况
8、下,冒泡排序所需要的比较次数为(分数:2.00)A.n/2B.(n+1)/2C.n(n-1)/2D.n(n+1)/218.派生类的构造函数的初始化列表中,不能包含_。(分数:2.50)A.基类的构造函数B.派生类中成员对象的初始化C.基类中子对象的初始化D.派生类中一般数据成员的初始化19.若有定义语句“int i=2,j=3;”,则表达式 i/j的结果是_。(分数:2.00)A.0B.0.7C.0.66667D.0.6666666720.下面是一个模板声明的开始部分: templatetypename Tdouble. 由此可知_。(分数:2.50)A.这可能是一个函数模板的声明B.这可能是
9、一个类模板的声明C.这既可能是一个函数模板的声明,也可能是一个类模板的声明D.这肯定是一个错误的模板声明21.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0;D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;22.有如下程序: #includeiostream using namespace std; class P
10、art public: Part(int x=0):val(x)coutval; Part()coutval;) private: int val; ; class Whole public: Whole(int x,int y,int z=0):p2(x),p1(y),val(z)coutval; Whole()coutval; private: Part p1,p2; int val; ; int main() Whole obj(1,2,3); return 0; 程序的输出结果是_。(分数:2.00)A.123321B.213312C.213D.12312323.下面的函数调用语句中
11、func函数的实参个数是 _ 。 fune(f2(v1,v2),(v3,v4,vS),(v6,max(v7,v8);(分数:2.00)A.3B.4C.5D.824.有下列程序: # include stdio.h void fun(int*s,int n1,int n2) int i,j,t; i=n1;j=n2 while(ij)t=si;si=sj;sj=t;i+;j-; void main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3);fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(“%d“, ak);p
12、rintf (“/n“); 程序的运行结果是_ 。(分数:2.50)A.0987654321B.4321098765C.5678901234D.098765123425.下列程序的运行结果是 #include iostreamh class Location private: int X,Y; public: void init(int=0,in=0); Void valueX(int val) X=val; int valueX( ) return X; void valueY(int val) Y=val; int valueY( ) return Y; ; void Location:i
13、nit(int initX,int initY) X=initX; Y=initY; void main( ) Location A,B; Ainit( ); AvalueX(5); cout AvalueX( ) end1 AvalueY( ) end1; Binit(6,2); BvaleY(4); cout BvalueX( ) end1 BvalueY( ) end1;(分数:1.00)A.5064B.0064C.5062D.006226.如果派生类以 protected方式继承基类,则原基类的 protected成员和 public成员在派生类中的访问属性分别是_。(分数:2.00)
14、A.public和 publicB.public和 protectedC.protected和 publicD.protected和 protected27.有如下程序: #includeiostream using namespace std; int main() int i,s=0; for(i=1;s20;i+=2)s+=i*i; coutiendl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.3B.5C.7D.928.对下列二叉树 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG29.下列叙述正确的是_。(分数:1
15、.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对30.为了取代 C中带参数的宏,在 C+中使用_。(分数:2.00)A.重载函数B.内联函数C.递归函数D.友元函数31.关于函数重载,下列叙述中错误的是_。(分数:3.00)A.重载函数的函数名必须相同B.重载函数必须在参数个数或类型上有所不同C.重载函数的返回值类型必须相同D.重载函数的函数体可以有所不同32.下面程序的运行结果是 _。 #includeiostream.h class A public virtua
16、l、() cout”call A: A()”end1; ; class B:public A B(int i)p=new chari: -B() delete)p; Cout”call B: B()”; ; void main() A*a=new B(8); Delete a; (分数:2.00)A.call B: B()B.call B: B()C.call A:A()D.call A:A()33.若已定义; inta=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中 0i=9,则对 a数组元素不正确的引用是 _ 。(分数:2.00)A.ap-aB.x( double d1,d2
17、; 则下列调用中,错误的是_。(分数:3.00)A.sumdouble,double,double(d1,d2);B.sumdouble,double(d1,d2);C.sumdouble(d1,d2);D.sum(d1,d2);37.以下程序运行后的输出结果是 _ 。 #includeiostream.h void main() char aft=“abbcabbcabbc“; int i=0,j=0,k=0; while(ai) if(ai=“a“) j+; if(ai=“b“) k+; i+; coutj“kend1; (分数:2.00)A.2,6B.3,5C.4,7D.3,638.有如
18、下程序: #includeiostream using namespace std; class base public: base(int x=0)coutx; ; class derived:public base public: derived(int x=y)coutx; public: base val; ; int main() derived d(1); return 0; 程序的输出结果是_。(分数:2.50)A.0B.1C.01D.00139.下列选项中合法的用户标识符是 _ 。(分数:2.00)A.10ngB.2TestC.3DmaxD.dat40.下列叙述中错误的是_。(
19、分数:2.50)A.用户定义的函数中可以没有 return语句B.用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return语句,则应当定义函数为 void类型D.函数的 return语句中可以没有表达式二级 C+分类模拟 250答案解析(总分:76.00,做题时间:90 分钟)一、选择题(总题数:40,分数:76.00)1.派生类对象对其基类中的什么成员是可访问的?(分数:1.00)A.公有继承的私有成员B.私有继承的公有成员C.私有继承的保护成员D.保护继承的保护成员 解析:解析 关于 c+语言继承问题中派生类对基类的访问能力的考查
20、 【解题要点】C+语言中通常有三种继承修饰符 public,protected,Privale,限制依次严格,另外对类中的数据和函数也有这三种修饰符进行限制,有 3种是不能继承的:公有继承基类的私有成员,私有继承基类的私有成员,保护继承基类的私有成员。 2.有如下程序: #includeiostream using namespace std; int i=1; class Fun public: static int i; int value() return i-1; int value()const return i+1; ; int Fun:i=2; int main() int i=
21、3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是_。(分数:1.00)A.coutfun1. value()Fun:ifun2. value(); B.coutFun:ifun1. value()fun2. value();C.coutfun1. value()fun2. value()Fun:i;D.coutfun2. value()Fun:ifun1. value();解析:解析 本题考查构造函数、常成员函数和静态数据成员。外部同名的变量赋值,不能改变类的静态变量值,所以 Fun对象里的 i值为 2,所
22、以本题答案为 A。3.C+系统预定义了 4个用于标准数据流的对象,下列选项中不属于此类对象的是_。(分数:1.00)A.coutB.cinC.cerrD.cset 解析:解析 C+标准数据流的对象分别是 cout、cin、cerr、clog,所以本题答案为 D。4.有下列程序: #include stdio.h void main() (int a=1,2,3,4),y,*p=a3; -p;y=*p;printf(“y=%d/n“,y); 程序的运行结果是 _ ,(分数:2.50)A.y=0B.y=1C.y=2D.y=3 解析:解析 本题定义一个一维数组和指针,接着将数组第 4个元素的地址赋予
23、*p 数组下标从 0开始,进行-p 使指针 p指向了数组的第 3个元素,通过 y=*p将数组第 3个元素的值 3赋予 y所以选项 D正确。5.为了提高函数调用的实际运行速度,可以将较简单的函数定义为_。(分数:1.00)A.内联函数 B.重载函数C.递归函数D.函数模板解析:解析 内联函数一般是程序代码少于 10行的函数,在编译过程中,直接在调用点处被展开,不会因函数调用带来巨大的系统开销,因此能提高实际运行速度。6.下面程序错误的语句是 # include iostreamh void main( ) int * p=new int1; p=9; cout * p endl; delete
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 250 答案 解析 DOC
