【计算机类职业资格】二级C++笔试-258及答案解析.doc
《【计算机类职业资格】二级C++笔试-258及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-258及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-258 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.阅读以下程序#includciostream.hvold main()Char line10;cinline;coutlineendl;如运行时输入 This is example.CR,则程序的输出结果是(分数:2.00)A.ThisB.This isC.This is aD.This is an example2.以下有关类与结构体的叙述不正确的是(分数:2.00)A.结构体中只包含数据;类中封装了数据和操作B.结构体的成员对外界通常是开放的;类的成员可以被隐蔽C.
2、用 struct不能声明一个类型名;而 class可以声明一个类名D.结构体成员默认为 publicl类成员默认为 private3.若执行以下程序时从键盘上输入 9,则辅出结果是main()int n;cinn;if(n+10)coutnendl;else coutn-endl;(分数:2.00)A.11B.10C.9D.84.下面程序段的正确输出是int w=4,x=3,y=2,z=1;cout(wx? w:zy? z:x)endl;(分数:2.00)A.0B.1C.2D.35.关系表中的每一横行称为一个(分数:2.00)A.关系B.元组C.属性D.字段6.有以下程序main()char
3、a,b,c, *d;a=/;b=/xbc;c/0xab;d“/0127“;coutabc*dendl;编译时出现错误,以下叙述中正确的是(分数:2.00)A.程序中只有 a=/=;语句不正确B.b/xbc;语句不正确C.d“/0127“;语句不正确D.a/;和 c/0xab;语句都不正确7.下列程序执行后的输出结果是void funcl(int i);void func2(int i);char st“hello,frlend!“;void funcl(int i)coutsti;if(i3)i+2;func2(i);void func2(int i)coutsti;if(i3)i+2;fun
4、cl(i);main()int i=0; furicl(i); coutendl;(分数:2.00)A.helloB.helC.hloD.hlm8.以下程序的输出结果是main()int a=0,i;for(i1;i5;i+)switch(i)case 0:case 3:a+2;case 1:case 2:a+=3;default:a+5;coutaendl;(分数:2.00)A.31B.13C.10D.209.关于友元的描述中错误的是(分数:2.00)A.友元函数可以访问该类的私有数据成员B.一个类的友元类中的成员函数都是这个类的友元函数C.友元可以提高程序的运行效率D.类和类之间的友元关系
5、可以继承10.以下有关成员函数特征的叙述不正确的是(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置缺省参数值D.成员函数可以是静态的11.定义静态成员函数的主要目的是(分数:2.00)A.方便调用B.有利于数据隐蔽C.处理类的静态成员变量D.便于继承12.在下列关系运算中,能不改变关系中属性个数且减少元组个数的是(分数:2.00)A.并B.差C.投影D.交13.将 5个数据进行快速排序,在最坏情况下需要比较的次数是(分数:2.00)A.4B.5C.10D.2014.下列叙述中错误的是(分数:2.00)A.二又链表是二又树的存储结构B.循环链表是循环队列的一种
6、存储结构C.循环队列属于线性表D.带链的队列是队列的一种存储结构15.有以下程序main(int argc, chara*argv)int n,i=0;while(argv1i! =/0)n=fun();i+;coutn*argcendl;int fun()static int s=0;s+1;return s;假设程序经编译、连接后生成可执行文件 exam.exe,若键入以下命令行exam 123回车则运行结果为(分数:2.00)A.6B.8C.3D.416.下面不正确的描述为(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将为形参
7、分配内存单元D.调用函数时,实参与形参的类型必须一致17.下列叙述中正确的是(分数:2.00)A.黑箱(盒)测试方法完全不考虑程序的内部结构和内部特征B.黑箱(盒)测试方法主要考虑程序的内部结构和内部特征C.白箱(盒)测试完全不考虑程序内部的逻辑结构D.上述三种说法都不对18.若变量都已正确说明,则以下程序段的输出结果是a=2;b=3;printf(ab?“* * *a%d“: “# # #b%d“,a,b);(分数:2.00)A.没有正确的输出格式控制B.输出为:* * * a=2C.输出为:# # # b2D.输出为:* * * a2 # # # b=219.有关构造函数的说法中错误的是(
8、分数:2.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个20.以下程序中,while 循环的循环次数是main()int i=0;while(i10)if(i1)coBtlnlle;if(i= =5)break;i+;(分数:2.00)A.1B.10C.6D.死循环,不能确定次数21.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对22.下列程序执行结果是#include iostream.hc
9、lass Apublic:int a;A():a(10)coutaendl;void main()A obj1;A obj2(obj1);cout“ “obj2.aendl;(分数:2.00)A.10 10B.编译错误缺少拷贝构造函数C.10随机数D.随机数随机数23.存取指针所指的值时,采用的运算符是(分数:2.00)A.#B.strcpy(arr, “you“); strcpy(arr1, “me“);arr03coutarrendl;(分数:2.00)A.youprotected: int b;public: int c;派生类采用何种继承方式可以使成员变量 b成为自己的私有成员(分数:
10、2.00)A.私有继承B.保护继承C.公有继承D.私有、保护、公有均可27.设有如下定义struct sschar name10;int age;char sex;std3, * pstd;下面各输入语句中错误的是(分数:2.00)A.cin(* p).age);B.cinstd.name);C.cinstd0.sex);D.cin(p-.sex);28.设有如图所示的二叉树(分数:2.00)A.FCADBEGB.ACBDFGEC.ABDCGEFD.ACBDFEG29.一个 C+程序由函数 A(),B(),C()和函数 P()构成,在函数 A()中分别调用了函数 B()和函数 C(),在函数
11、B()中调用了函数 A(),且在函数 P()中也调用了函数 A(),则可以说(分数:2.00)A.函数 B()中调用的函数 A()是函数 A()的间接递归调用B.函数 A()被函数 B()调用是直接递归调用C.函数 P()直接递归调用了函数 A()D.函数 P()中调用的函数 A()是函数 P()的嵌套30.下列叙述中正确的是(分数:2.00)A.一个算法的时间复杂度大,则其空间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度也必定大C.一个算法的空间复杂度大,则其时间复杂度必定小D.上述三种说法都不对31.已知语句 int m10;则下列表示引用的表示中正确的是(分数:2.00)A.
12、int B.int C.int D.float 32.有以下程序main()int i=10,j=1;couti-“,“+jendl;执行后输出结果是(分数:2.00)A.9,2B.10,2C.9,1D.10,133.以下程序的输出结果是main()int a4,b5,c0,d;d! acoutdcndl;(分数:2.00)A.1B.0C.非 0的数D.-134.下列叙述中正确的是(分数:2.00)A.软件工程主要研究如何编程B.数据库设计的主要任务是设计数据库管理系统C.算法的效率与数据的存储结构无关D.上述三种说法都不对35.设有以下类和对象的定义:class Apublic:int m;
13、A k1,k2,*p1,* p2;则下面针对成员变量 m的引用,错误的是(分数:2.00)A.k1.m=1B.k2-m2C.p1-m=3D.(*p2).m=4二、填空题(总题数:15,分数:30.00)36.衡量模块独立性的两个重要度量标准是耦合性和内聚性。其中 【1】 用于度量模块间互相连接的紧密程度。(分数:2.00)填空项 1:_37.在顺序查找与二分查找两种方法中,可以用 【2】 方法对有序线性链表进行查找。(分数:2.00)填空项 1:_38.具有记忆作用的线性表称为 【3】 。(分数:2.00)填空项 1:_39.如果在一棵二叉树中有 17个度为 2的结点,则该二叉树中有 【4】
14、个叶子结点。(分数:2.00)填空项 1:_40.数据流图有两种典型的结构形式,它们分别是 【5】 和事务型。(分数:2.00)填空项 1:_41.函数定义的格式是 【6】 函数名(形式参数表)函数体。(分数:2.00)填空项 1:_42.语句序列 long x; x0L;可用一个语句表示为 【7】 。(分数:2.00)填空项 1:_43.在 C+中的实型数据分为三种类型,即单精度 float、双精度 double和 【8】 。(分数:2.00)填空项 1:_44.若 a. b和 c均是 int型变量,则表达式 a=(b=4)+(c2)执行后,a 的值为 【9】 。(分数:2.00)填空项 1
15、:_45.一个结构占用的空间理论上等于 【10】 。(分数:2.00)填空项 1:_46.下列程序的输出结果是 【11】 。# includeiostream.htemplate class TT max(T x,int n)int i;T maxvx0;for(i=1;in;i+)if(maxvxi)maxvxi;return maxv;void main()int a3,2,7,6,8,9;double b1.2,3.4,2.5,7.3,6.8;coutmax(a,4)“,“max(b,3)endl;(分数:2.00)填空项 1:_47.下列程序的运行结果是 【12】 。#includei
16、ostream. hclass Basepublic:virtual void func(int i)cout“class Base:“iendl;class Derived: public Basepublic:void func(double d)cout“class Derived:“dendl;);void main()Base a, *p=Derived b;p=(* p).func(3.3);(分数:2.00)填空项 1:_48.下列程序的输出结果是 【13】 。#includeiostream. hint CalcDigital(char *str)if(str=NULL)ret
17、urn 0;int num_of_digital=0;for(int i=0;stri! =0x0;i+)if(stri=9 return num_of_digital;void main()char a=“Beijing2008olympic“;coutCalcDigital(a)endl;(分数:2.00)填空项 1:_49.下列程序时类 D代码段出现编译错误,原因是 【14】 。#includeiostream. hclass Apublic:A(char c)cout“As constructor.“cendl;A()cout“As destructor.“endl;class B:
18、virtual public Apublic:B(char cb,char cd):A(cb) cout“Bs constructor.“cdendl;B()cout“Bs destructor.“endl;private:char b;class C:virtual public Apublic:C(char cc, char cd):A(cc)cout“Cs constructor. “cdendl;C()cout“Cs destructor.“endl;class D:public B,public Cpublic:D(char cd,char ce,char cf, char cg,
19、char ch,char ci):C(cf,cg),B(cd,ce),A(cd),aa(ch)cout“Ds constructor.“ciendl;D() cout“Ds destructor.“endl;private:A aa;void main()D ohj(a,b,c,d,e,f)(分数:2.00)填空项 1:_50.下列程序编译错误,是由于划线处缺少某个语句,该语句是 【15】 。#include iostream. hclass A_private:int numl;public:A():numl(0)A(int i):numl(i);class Bprivate:int num
20、2public:B():num2(0)B(int i):num2(i)int my_math(A obj1,B obj2);int B:my_math(A obj1,B obj2)return (obj1.num1+obj2.num2);void main(void)A obj1 (4)B obj,obi2(5);cout “obj1+obj2:“obj.my_math(obj1,obj2);(分数:2.00)填空项 1:_二级 C+笔试-258 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.阅读以下程序#includciostream.h
21、vold main()Char line10;cinline;coutlineendl;如运行时输入 This is example.CR,则程序的输出结果是(分数:2.00)A.This B.This isC.This is aD.This is an example解析:解析 本题考察 C+中 cin输入流对象的使用规则,其特点是以空格、回车和 tab为分隔符。因此 this和 is之间的空格告诉 cin对象停止接收后面的数据、故正确答案为 A。2.以下有关类与结构体的叙述不正确的是(分数:2.00)A.结构体中只包含数据;类中封装了数据和操作B.结构体的成员对外界通常是开放的;类的成员可
22、以被隐蔽C.用 struct不能声明一个类型名;而 class可以声明一个类名 D.结构体成员默认为 publicl类成员默认为 private解析:解析 本题同样考察的是结构体和类之间的区别和联系。3.若执行以下程序时从键盘上输入 9,则辅出结果是main()int n;cinn;if(n+10)coutnendl;else coutn-endl;(分数:2.00)A.11B.10 C.9D.8解析:解析 本题考察的是后置自增运算符的知识,这类题考生往往做错,以原因不能正确拆解。题中if语句可以拆解为:if(910),n+110,cout10endl;自增所代表的加一操作要紧跟在原表达式后面
23、,而不是原语句后面。4.下面程序段的正确输出是int w=4,x=3,y=2,z=1;cout(wx? w:zy? z:x)endl;(分数:2.00)A.0B.1 C.2D.3解析:解析 本题为表达式作为变量进行输出,而且表达式为两个三日表达式的嵌套,只要掌握了该三目表达式的含义,可以正确得出答案为 B。5.关系表中的每一横行称为一个(分数:2.00)A.关系B.元组 C.属性D.字段解析:解析 关系表中的每一横行称为一个元组。6.有以下程序main()char a,b,c, *d;a=/;b=/xbc;c/0xab;d“/0127“;coutabc*dendl;编译时出现错误,以下叙述中正
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 258 答案 解析 DOC
