【计算机类职业资格】二级C++笔试-227及答案解析.doc
《【计算机类职业资格】二级C++笔试-227及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-227及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-227 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.下面函数的功能是( )。int fun(char *x)char *y=X;while(*y+);return (y-x-1);(分数:2.00)A.求字符串的长度B.比较两个字符串的大小C.将字符串 x 复制到字符串 yD.将字符串 x 连接到字符串 y 后面2.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;setVariable(int i)value=i;private:int value;则以下各项对如
2、下语句序列的描述中,正确的是( )。MyClasS *p,my; p=private:int data;class Derive : public Basepublic:Derive() : Base(O) Derive (int x)d=x;void setvalue(int i)data=i;private:int d;(分数:2.00)A.1B.2C.3D.414.一棵含 18 个节点的二叉树的高度至少为( )。(分数:2.00)A.3B.4C.5D.615.有以下程序:#include iostreamusing namespace std;class countstatic int
3、n;public:count ( )n+;static int test()for (int i = 0; i 4; i+ )n+;return n;int count : n = 0;int main()coutcount : test()“ “;count c1, c2;coutcount : test()end1;return 0;执行后的输出结果是( )。(分数:2.00)A.4 10B.1 2C.22D.2416.C+对 C 语言作了很多改进,下列描述中,( )使得 C+语言发生了质变,即从面向过程变成了面向对象。(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置
4、默认参数C.规定函数说明必须用原型D.引进了类和对象的概念17.C+语言的跳转语句中,对于 break 和 continue 说法正确的是( )。(分数:2.00)A.break 语句只使用于循环体中B.continue 语句只应用于循环体中C.break 是无条件跳转语句,continue 不是D.break 和 continue 的跳转范围不够明确,容易产生问题18.在一个长度为 n 的线性表中插入一个元素,以下说法不正确的是( )。(分数:2.00)A.最好情况下需要移动的数据元素数目为 0B.最坏情况下需要移动的数据元素数目为 nC.在平均情况下需要移动的数据元素数目为 n/2D.最坏
5、情况下需要移动的数据元素数目为 n/219.有以下程序:#include iostreamusing namespace std;class CSampleprivate:int i;public:CSample ( );CSample( int val );void Display();CSample ();CSample: CSample ()cout “C1“;i = 0;CSample: :CSample( int val )cout “C2“;i = val;void CSample: :Display()couti“: “;CSample: CSample ( )cout “D“;
6、int main ( )CSample a, b( 10 );return 0;执行后的输出结果为( )。(分数:2.00)A.ClC2DDB.DDC1C2C.C2C1DDD.C1DC2D20.有以下程序:#include iostream#include stringusxng namespace std;int main()char p = “abcdefgh“;coutstrlen(strcpy(p,“12345“)end1;return 0;执行后输出的结果是( )。(分数:2.00)A.8B.12C.5D.721.在数据结构中,从逻辑上可以把数据结构分成( )。(分数:3.00)A.
7、动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树形结构和图状结构22.有以下程序:#includeiostreamusing namespace std;int n3=10,20,30,40,50,60;int main()int (*p)3;p=n;coutp0 0“,“*(p0+1)“,“(*p) 2end1;return 0;上述程序执行后的输出结果是( )。(分数:3.00)A.10,20,30B.20,30,40C.10,30,50D.10,40,6023.数据管理技术的发展是与计算机技术及其应用的发展联系在一起的,经历了由低级到高级的发展过程。分布式数据库、
8、面向对象数据库等新型数据库是属于( )。(分数:3.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.高级数据库技术阶段24.有以下程序:#include iostreamusing namespace std;template class T class TAddprivate:T x, y;public:TAdd( T a, T b )x = a;y = b;T add()return x + y;int main ()TAdd int A( 5, 6 );TAdd double B( 2.4, 5.6 );coutA, add () “, “B. add () end1;ret
9、urn 0;执行后的输出结果是( )。(分数:3.00)A.11,8B.5,6C.2.4,5.6D.8,1125.基类中的( )不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。(分数:3.00)A.公有成员B.私有成员C.私有成员函数D.保护成员26.若有以下程序:#include iostreamusing namespace std;class Aprivate:int a;public:A(int i)a=i;void disp()couta“, “;class Bprivate:int b;public:B(int j)b=j;void disp()
10、coutb“, “;class C : public B,public Aprivate:int c;public:C int k) :A(k-2),B(k+2)c=k;void disp()A: :disp ();B:disp();coutcend1;int main ()C ebj (10);obj .disp ();return 0;程序执行后的输出结果是( )。(分数:3.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,1027.有以下程序:#includeiostreamusing namespace std;int f(int,int);int mai
11、n()int i:1,x;x=f(i,i+1);coutxend1;return 0;int f(int a,int b) int c;c = a;if(ab) c = 1;else if(a=b) c = 0;elsec = -2;return c;运行后的输出结果是( )。(分数:3.00)A.1B.0C.-1D.-228.有以下程序:#include iostreamusing namespace std;class myclassprivate:int a, b;public:void init( int i, int j )a = i;b = j;friend int sum( my
12、class x );int sum( myclass x )return x.a + x.b;int main ()myclass y;y.init( 15, 20 );coutsum( y )end1;return 0;执行后的输出结果是( )。(分数:3.00)A.15B.20C.5D.3529.在 C+语言中函数返回值的类型是由( )决定的。(分数:3.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型30.一个函数为 void f(int,char ch=a),另一个函数为 void f(int),则它们(
13、)(分数:3.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载D.以上说法均不正确二、填空题(总题数:14,分数:30.00)31.算法的时间复杂度是指 【1】 。(分数:2.00)填空项 1:_32.对于长度为 n 的有序线性表,在最坏情况下,二分查找需要比较 log2n,那么顺序查找需要比较的次数是 【2】 。(分数:2.00)填空项 1:_33.深度为 m 的满二叉树共有 【3】 个节点。(分数:2.00)填空项 1:_34.关系模型的四种基本操作为插入、删除、修改和 【4】 。(分数:2.00)填空项 1:_35.关系中的属性或属性组
14、合,其值能够惟一地标识一个元组,该属性或属性组合可选作为 【5】 。(分数:2.00)填空项 1:_36.若有 09 之间不同的 3 个数构成一个三位数,下面程序将统计出共有多少种方法,请填空完成此程序。#include iostreamusing namespace std;int main ( )int i,j,k;for(i = 1;i=9;i+)for (j=O; j=9; j+)if( 【6】 )continue;elsefor(k = 0;k=9;k+)if( 【7】 )count+;coutcountend1;return 0;(分数:4.00)填空项 1:_37.设在主函数中有
15、以下定义和函数调用语句,且 fun()函数为 void 类型,请写出 fun()函数的首部 【8】 。int main ( )double s10 22;int n;fun (s);return 0;(分数:2.00)填空项 1:_38.给出以下程序的执行结果 【9】 。#include iostreamusing namespace std;int n=1;void Fun();int main ()n+;Fun ( );if (n0)int n=5;cout“Block: n=“n “, “;cout “Main: n=“end1;return 0;void Fun ( )int n=10
16、;cout“Fun: n=“n“,“;(分数:2.00)填空项 1:_39.C+的类继承中,默认的继承方式是 【10】 。(分数:2.00)填空项 1:_40.表达式 x=operator-(y,z)还可以表示为 【11】 。(分数:2.00)填空项 1:_41.如果一个函数模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须重复使用关键词 【12】 。(分数:2.00)填空项 1:_42.下面程序的运行结果为 【13】 。#include iostream.hvoid main()unsigned char value=127;int total=100;value+;to
17、tal+=value;couttotalend1; A) 227 B) 100 C) 127 D) 27(分数:2.00)填空项 1:_43.有如下程序:#include iostreamusing namespace std;class shapesprotected:int x,y;public:void setvalue(int d, int w=0)x=d;y=w;virtual void disp()=0;class square : public shapespublic:void disp()coutx*yend1;int main()shapes *ptr;square s1;
18、ptr=ptr-setvalue(10,5);ptr-disp();return 0;执行上面的程序将输出 【14】 。(分数:2.00)填空项 1:_44.有以下程序:#include iostream#include fstreamusing namespace std;int main()fstream file;file.open(“abc.txt“, ios_base:in);if (! file )cout“Can not open abc.txt“end1;abort();char ch;int i = 0;while ( ! file.eof() )file.get(ch);i
19、+;cout“Characters : “iend1;file.close();return 0;程序实现的功能是 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-227 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.下面函数的功能是( )。int fun(char *x)char *y=X;while(*y+);return (y-x-1);(分数:2.00)A.求字符串的长度 B.比较两个字符串的大小C.将字符串 x 复制到字符串 yD.将字符串 x 连接到字符串 y 后面解析:解析 函数中,首先让字符串指针指向字符串 x,
20、然后通过 while 循环使 y 指向字符串 x 的尾部。再通过两指针之间的算术运算得出字符串 x 的长度。2.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;setVariable(int i)value=i;private:int value;则以下各项对如下语句序列的描述中,正确的是( )。MyClasS *p,my; p=private:int data;class Derive : public Basepublic:Derive() : Base(O) Derive (int x)d=x;void setvalue(int
21、i)data=i;private:int d;(分数:2.00)A.1B.2 C.3D.4解析:解析 本题考核派生类的定义和成员的访问权限。第处错误:在派生类的构造函数 Derive(int x)中没有调用基类的构造函数对基类对象初始化。第处错误:数据 data 是基类 Base 的私有成员,派生类 Derive 不能访问,所以在函数 setvalue 中对data 的赋值是错误的。14.一棵含 18 个节点的二叉树的高度至少为( )。(分数:2.00)A.3B.4C.5 D.6解析:解析 在二叉树的零层,有 20=1 个节点即根节点。第 1 层根据根节点子节点的个数最多有 2 个节点。第 2
22、 层的节点总数最多有 4 个,以此类推,二叉树的第 n 层的节点数最多为 2n。一棵含 18 个节点的二叉树的高度至少为 5。15.有以下程序:#include iostreamusing namespace std;class countstatic int n;public:count ( )n+;static int test()for (int i = 0; i 4; i+ )n+;return n;int count : n = 0;int main()coutcount : test()“ “;count c1, c2;coutcount : test()end1;return 0
23、;执行后的输出结果是( )。(分数:2.00)A.4 10 B.1 2C.22D.24解析:解析 程序首先定义了类 count,其内部含有 private 类型数据成员“static int n;”,同时含有 public 类型构造函数 count()和静态成员函数 static int test(),这两个函数的功能分别是为对象申请系统资源并将静态数据成员 n 加 1 和将静态数据成员 n 加 4。主函数前,程序将静态数据成员 n 初始化为 0,该数据成员为所有类 count 的对象所共有的数据成员。主函数中,程序首先执行静态成员函数test()(由于 test 声明为 static,因此其
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 227 答案 解析 DOC
