欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C++笔试15及答案解析.doc

    • 资源ID:1324703       资源大小:85.50KB        全文页数:15页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C++笔试15及答案解析.doc

    1、二级 C+笔试 15 及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.下列关于栈的叙述中,不正确的是( )。(分数:2.00)A.在栈的两端都能插入或删除数据B.在栈中只能从一端插入或删除数据C.栈中的数据是先进后出D.栈是一种特殊的线性表2.C+对 C 语言作了很多改进,下列描述中,( )使得 C+语言发生了质变,即从面向过程变成了面向对象。(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明必须用原型D.引进了类和对象的概念3.有以下程序: #include iostream using n

    2、amespace std; template class T class TAdd private: 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; return 0; 执行后的输出结果是( )。(分数:2.00)A.11,8B.5,6C.2.4,5.6D.8,114.在一个长度为 n 的线性表中插入一个元素,以下说法

    3、不正确的是( )。(分数:2.00)A.最好情况下需要移动的数据元素数目为 0B.最坏情况下需要移动的数据元素数目为 nC.在平均情况下需要移动的数据元素数目为 n/2D.最坏情况下需要移动的数据元素数目为 n/25.一棵含 18 个节点的二叉树的高度至少为( )。(分数:2.00)A.3B.4C.5D.66.有以下程序: #includeiostream using namespace std; int f(int,int); int main() int i:1,x; x=f(i,i+1); coutxend1; return 0; int f(int a,int b) int c; c

    4、= a; if(ab) c = 1; else if(a=b) c = 0; else c = -2; return c; 运行后的输出结果是( )。(分数:2.00)A.1B.0C.-1D.-27.下面不属于 C+语言的基本数据类型的是( )。(分数:2.00)A.字符类型B.整数类型C.逻辑类型D.枚举类型8.有以下程序: #includeiostream using 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; 上述

    5、程序执行后的输出结果是( )。(分数:2.00)A.10,20,30B.20,30,40C.10,30,50D.10,40,609.一个函数为 void f(int,char ch=a),另一个函数为 void f(int),则它们( )(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载D.以上说法均不正确10.下列各项中,属于面向对象程序设计语言不同于其他语言的主要特点的是( )。(分数:2.00)A.继承性B.消息传递C.多态性D.静态联编11.若有以下程序: #include iostream using namespace

    6、std; class A private: int a; public: A(int i) a=i; void disp() couta“, “; ; class B private: int b; public: B(int j) b=j; void disp() coutb“, “; ; class C : public B,public A private: 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);

    7、obj .disp (); return 0; 程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,1012.在结构化方法中,软件功能分解属于下列软件开发中的阶段是( )。(分数:2.00)A.详细设计B.需求分析C.总体设计D.编程调试13.下列各种调试方法中,靠演绎、归纳以及二分法来实现的是( )。(分数:2.00)A.强行排错法B.回溯法C.原因排除法D.静态调试14.下列关于类与对象的说法中,不正确的是( )。(分数:2.00)A.对象是类的一个实例B.任何一个对象只能属于一个具体的类C.一个类只能有一个对象D.类与对

    8、象的关系和数据类型与变量的关系相似15.设树 T 的度为 4,其中度为 1,2,3,4 的节点个数分别为 4,2,1,1。则 T 中叶子节点数为( )。(分数:2.00)A.8B.7C.6D.516.类 MyClass 的定义如下: class MyClass public: MyClass() value=0; setVariable(int i) value=i; private: int value; ; 则以下各项对如下语句序列的描述中,正确的是( )。 MyClasS *p,my; p= class count static int n; public: count ( ) n+;

    9、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.2420.下列类的定义中,有( )处语法错误。 class Base public: Base() Base(int i) data=i; private: int data; ; class Deri

    10、ve : public Base public: Derive() : Base(O) Derive (int x) d=x; void setvalue(int i) data=i; private: int d; ;(分数:2.00)A.1B.2C.3D.421.有以下程序: #include iostream #include string usxng namespace std; int main() char p = “abcdefgh“; coutstrlen(strcpy(p,“12345“)end1; return 0; 执行后输出的结果是( )。(分数:2.00)A.8B.1

    11、2C.5D.722.数据管理技术的发展是与计算机技术及其应用的发展联系在一起的,经历了由低级到高级的发展过程。分布式数据库、面向对象数据库等新型数据库是属于( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.高级数据库技术阶段23.若 a,b,c1,c2,x,y 均是整型变量,正确的 switch 语句是( )。(分数:2.00)A.switch(a+B.switch(a*a+b* case:y=a+b;break; case 3: case:y=a-b;break; case 1:y=a+b;break; case 3:y=b-a;break; C.switcha

    12、D.switch(a- casec1:y=a-b;break; default:y=a*b;break; casec2:x=a*b;break; case 3:case4:x=a+b;break; default:x=a+b; case 10:case 11:y=a-b;break; 24.在数据结构中,从逻辑上可以把数据结构分成( )。(分数:2.00)A.动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树形结构和图状结构25.下面函数的功能是( )。 int fun(char *x) char *y=X; while(*y+); return (y-x-1); (分数

    13、:2.00)A.求字符串的长度B.比较两个字符串的大小C.将字符串 x 复制到字符串 yD.将字符串 x 连接到字符串 y 后面26.有以下程序: #include iostream using namespace std; class CSample private: int i; public: CSample ( ); CSample( int val ); void Display(); CSample (); ; CSample: CSample () cout “C1“; i = 0; CSample: :CSample( int val ) cout “C2“; i = val;

    14、 void CSample: :Display() couti“: “; CSample: CSample ( ) cout “D“; int main ( ) CSample a, b( 10 ); return 0; 执行后的输出结果为( )。(分数:2.00)A.ClC2DDB.DDC1C2C.C2C1DDD.C1DC2D27.基类中的( )不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。(分数:2.00)A.公有成员B.私有成员C.私有成员函数D.保护成员28.设有 n 元关系 R 及 m 元关系 S,则关系 R 与 S 经笛卡儿积后所得新关系是一个

    15、( )元关系。(分数:2.00)A.mB.nC.m+nD.m*n29.语句“ofstream f(“DATA.DAT“,ios base:applios base:binary);”的功能是建立流对象 f,并试图打开文件 DATADAT 与之连接,而且( )。(分数:2.00)A.若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件B.若文件存在,将其截为空文件;若文件不存在,打开失败C.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件30.有以下程序: #include iostream using names

    16、pace std; class myclass private: int a, b; public: void init( int i, int j ) a = i; b = j; friend int sum( myclass x ); ; int sum( myclass x ) return x.a + x.b; int main () myclass y; y.init( 15, 20 ); coutsum( y )end1; return 0; 执行后的输出结果是( )。(分数:2.00)A.15B.20C.5D.35二、B填空题/B(总题数:14,分数:28.00)31.算法的时间

    17、复杂度是指U 【1】 /U。(分数:2.00)填空项 1:_32.对于长度为 n 的有序线性表,在最坏情况下,二分查找需要比较 log2n,那么顺序查找需要比较的次数是U 【2】 /U。(分数:2.00)填空项 1:_33.深度为 m 的满二叉树共有U 【3】 /U个节点。(分数:2.00)填空项 1:_34.关系模型的四种基本操作为插入、删除、修改和U 【4】 /U。(分数:2.00)填空项 1:_35.关系中的属性或属性组合,其值能够惟一地标识一个元组,该属性或属性组合可选作为U 【5】 /U。(分数:2.00)填空项 1:_36.若有 09 之间不同的 3 个数构成一个三位数,下面程序将

    18、统计出共有多少种方法,请填空完成此程序。#include iostream using namespace std; int main ( ) int i,j,k; for(i = 1;i=9;i+) for (j=O; j=9; j+) if(U 【6】 /U) continue; else for(k = 0;k=9;k+) if(U 【7】 /U) count+; coutcountend1; return 0; (分数:2.00)填空项 1:_37.设在主函数中有以下定义和函数调用语句,且 fun()函数为 void 类型,请写出 fun()函数的首部U 【8】 /U。 int mai

    19、n ( ) double s10 22; int n; fun (s); return 0; (分数:2.00)填空项 1:_38.给出以下程序的执行结果U 【9】 /U。 #include iostream using 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; cout“Fun: n=“n“,“; (分数:2.00)填空项 1:

    20、_39.C+的类继承中,默认的继承方式是U 【10】 /U。(分数:2.00)填空项 1:_40.表达式 x=operator-(y,z)还可以表示为U 【11】 /U。(分数:2.00)填空项 1:_41.如果一个函数模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须重复使用关键词 【12】 。(分数:2.00)填空项 1:_42.下面程序的运行结果为U 【13】 /U。 #include iostream.h void main() unsigned char value=127; int total=100; value+; total+=value; couttot

    21、alend1; A) 227 B) 100 C) 127 D) 27(分数:2.00)填空项 1:_43.有如下程序: #include iostream using namespace std; class shapes protected: int x,y; public: void setvalue(int d, int w=0) x=d; y=w; virtual void disp()=0; ; class square : public shapes public: void disp() coutx*yend1; ; int main() shapes *ptr; square

    22、s1; ptr= ptr-setvalue(10,5); ptr-disp(); return 0; 执行上面的程序将输出U 【14】 /U。(分数:2.00)填空项 1:_44.有以下程序: #include iostream #include fstream using 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 ( ! fil

    23、e.eof() ) file.get(ch); i+; cout“Characters : “iend1; file.close(); return 0; 程序实现的功能是U 【15】 /U。(分数:2.00)填空项 1:_二级 C+笔试 15 答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.下列关于栈的叙述中,不正确的是( )。(分数:2.00)A.在栈的两端都能插入或删除数据 B.在栈中只能从一端插入或删除数据C.栈中的数据是先进后出D.栈是一种特殊的线性表解析:解析 栈的插入和删除运算都只在一端进行。即它的一端是封闭的,不允许进行插

    24、入与删除元素。一端是开口的,允许进行插入与删除元素,选项 B 是正确的。栈中的数据是先进后出的,选项 C 是正确的。栈是一种特殊的线性表,选项 D 是正确的。2.C+对 C 语言作了很多改进,下列描述中,( )使得 C+语言发生了质变,即从面向过程变成了面向对象。(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明必须用原型D.引进了类和对象的概念 解析:解析 C+语言起源于 C 语言。C+是 C 语言的超集,即 C 语言是 C+语言的一个子集,同时 C+语言与 C 语言是兼容的。C+对 C 语言作了很多改进,引进了类和对象的概念。3.有以下程序: #

    25、include iostream using namespace std; template class T class TAdd private: 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; return 0; 执行后的输出结果是( )。(分数:2.00)A.11,8 B.5,6C.2.4,5.6D.8,11解析

    26、:解析 本题主要考察 C+中模板类的定义和使用。程序首先定义了模板类 TAdd,类型标识符为 T,其内私有数据成员为 T 数据类型的 x 和 y,公有成员函数为构造函数和返回值为 T 数据类型的 add(),其功能为返回 x 和 y 之和。 在主函数中,程序通过模板类实例化了两个对象 A 和 B,其中对象 A 实例化过程中,将类型标识符 T 具体化为血型,因此 Aadd()函数返回值为 int 型,并返回其数据成员 x 和 y 的初始化值之和,为 5+6=11;程序实例化的第 2 个对象 B 实例化过程中,将类型标识符 T 具体化为 double型,同上,其成员函数 Badd()返回值也为 d

    27、ouble 型,并返回其数据成员初始化值加和,即为2.4+5.6=8。4.在一个长度为 n 的线性表中插入一个元素,以下说法不正确的是( )。(分数:2.00)A.最好情况下需要移动的数据元素数目为 0B.最坏情况下需要移动的数据元素数目为 nC.在平均情况下需要移动的数据元素数目为 n/2D.最坏情况下需要移动的数据元素数目为 n/2 解析:解析 在一般情况下,要在第 i 个元素之前插入一个新元素时,首先是从最后一个元素开始,直到第 i 个元素之间共 n-i+1 个元素依次向后移动一个位置,最好情况指的是在线性表的最后的元素之后插入一个新元素,不需要移动表中元素,选项 A 是正确的。最坏情况

    28、指的是在线性表的第一个元素之前插入一个新元素,则需要移动表中所有的元素,选项 B 是正确的。在平均情况下需要移动的数据元素数目为n2,选项 C 是正确的。5.一棵含 18 个节点的二叉树的高度至少为( )。(分数:2.00)A.3B.4C.5 D.6解析:解析 在二叉树的零层,有 20=1 个节点即根节点。第 1 层根据根节点子节点的个数最多有 2 个节点。第2 层的节点总数最多有 4 个,以此类推,二叉树的第 n 层的节点数最多为 2n。一棵含 18 个节点的二叉树的高度至少为 5。6.有以下程序: #includeiostream using namespace std; int f(in

    29、t,int); int main() 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; else c = -2; return c; 运行后的输出结果是( )。(分数:2.00)A.1B.0C.-1D.-2 解析:解析 本题考核对函数调用方法的掌握程度。做此类题主要是弄清楚程序每一步的目的:在主函数前面声明了整型函数 f。在主函数中,调用了函数 f()。实参的值分别是 1 和 2,1 传给函数 f 的形参a,2 传给函数 f

    30、 的形参 b,函数返回的值赋给变量 x。即为输出的函数值。 具体分析一下函数 f()的功能:如果 a 大于 b,则赋予 c 的值为 1;并且跳出 if-else 语句。如果 a 不大于 b,则进入 else if 分支中,如果 a 等于 b,则赋予 c 的值为 0, 并跳出以下的 if-else 语句。如果 a 不等于 b,则进入 else 分支,执行 c=-2。因为实参 1,2 分别传给形参 a,b,所以此时 ab,f()函数应执行 c=-2。即最终输出应为-2。7.下面不属于 C+语言的基本数据类型的是( )。(分数:2.00)A.字符类型B.整数类型 C.逻辑类型D.枚举类型解析:解析

    31、本题考核 C+数据类型范围。C+中 unsigned char 类型的数据其取值范围为 0127,所以题中 value 加 1 后,其值将变为 0。因此程序的最后输出为 100,即 B 选项。8.有以下程序: #includeiostream using 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; 上述程序执行后的输出结果是( )。(分数:2.00)A.10,20,30 B.20,30,40C.10,30,50D.10,

    32、40,60解析:解析 程序中 p 是指针数组,它等价于二维数组 p3。给 p 赋值二维数组 n 后。 p00等于n00,*(p0+1)等于 nO1,(*p)2等于 nO2。即程序最后输出 10,20,30。9.一个函数为 void f(int,char ch=a),另一个函数为 void f(int),则它们( )(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载 D.以上说法均不正确解析:解析 只要满足参数列表不同的条件,就可以在同一程序中对同名的函数进行定义。但是由于其中一个函数有默认值,因此当程序中出现语句“x=f(10);”

    33、时,就会产生二义性,不能确定调用函数 R10)还是调用函数 f(10,a,),此时这两个函数不能重载。10.下列各项中,属于面向对象程序设计语言不同于其他语言的主要特点的是( )。(分数:2.00)A.继承性 B.消息传递C.多态性D.静态联编解析:解析 继承是一个类(子类)直接使用另一个类(父类)的所有属性和方法(权限为私有的属性和方法除外)。它可以减少相似的类的重复说明,从而体现出一般性与特殊性的原则,这使得面向对象程序设计语言有了良好的重用性,也是其不同于其他语言的最主要特点。11.若有以下程序: #include iostream using namespace std; class

    34、A private: int a; public: A(int i) a=i; void disp() couta“, “; ; class B private: int b; public: B(int j) b=j; void disp() coutb“, “; ; class C : public B,public A private: 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 (

    35、); return 0; 程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,10 解析:解析 本题考核派生类构造函数的使用。本题中,派生 C 具有多重继承关系,所以在派生类 C 的构造函数中应该包含基类 A 和 B 的成员初始化列表。12.在结构化方法中,软件功能分解属于下列软件开发中的阶段是( )。(分数:2.00)A.详细设计B.需求分析C.总体设计 D.编程调试解析:解析 软件系统结构的总体设计包括:基于功能层次结构建立系统、按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的

    36、调用关系和模块间的接口、评估模块划分的质量等方面。详细设计的任务是:在使用程序设计语言编制程序以前,对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求,通常包括:功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求等。编程调试的任务是诊断和改正程序中潜在的错误。综上所述。软件功能分解只能发生在总体设计阶段。13.下列各种调试方法中,靠演绎、归纳以及二分法来实现的是( )。(分数:2.00)A.强

    37、行排错法B.回溯法C.原因排除法 D.静态调试解析:解析 本题考查对几种调试方法的掌握,其中强行排错法是最常用也是最低效的,主要思想是通过“计算机找错”。回溯法是从出现错误征兆处开始,人工沿控制流程往回追踪,直至发现出错的根源。这是在小程序中常用的一种有效的调试方法。程序变大后,可能的回溯路线显著增加,以致人工进行完全回溯望而不可及。静态调试是一种调试手段,主要是指通过人的思维来分析源程序代码和排错。14.下列关于类与对象的说法中,不正确的是( )。(分数:2.00)A.对象是类的一个实例B.任何一个对象只能属于一个具体的类C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似

    38、解析:解析 C+中,类是用户自定义的一种数据类型,对象是类的实例,类定义了属于该类的所有对象的共同特性。一个类作为一种数据类型,它可以定义多个对象。15.设树 T 的度为 4,其中度为 1,2,3,4 的节点个数分别为 4,2,1,1。则 T 中叶子节点数为( )。(分数:2.00)A.8 B.7C.6D.5解析:解析 节点的度节点拥有子树的个数。 树中节点总数为:1*4+2*2+3*1+4*1=15 与根节点之和,即 15+1=16。 树中非叶子节点数为 4+2+1+1=8。 树中叶子节点数为:16-8=816.类 MyClass 的定义如下: class MyClass public: M

    39、yClass() value=0; setVariable(int i) value=i; private: int value; ; 则以下各项对如下语句序列的描述中,正确的是( )。 MyClasS *p,my; p= class count static 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 : te

    40、st()end1; return 0; 执行后的输出结果是( )。(分数: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()(由于

    41、test 声明为 static,因此其调用时无需通过具体对象)。而其执行过程中,静态数据成员 n应该加 4 变成 n=4,因此此处输出为 4。此后程序创建对象 c1 和 c2,由于在每次创建过程中都要调用构造函数 count(),而每次调用 count()函数后,静态数据成员 n 值都会加 1,因此,创建两个对象之后,n值变为 n=6;再次执行 test()函数后,n 的值再次加 4,此时变为 n=6+4=10。故程序全部执行后,变量 n值变为 10,而中间程序输出为“4 10”。20.下列类的定义中,有( )处语法错误。 class Base public: Base() Base(int

    42、i) data=i; private: int data; ; class Derive : public Base public: Derive() : Base(O) Derive (int x) d=x; void setvalue(int i) data=i; private: int d; ;(分数:2.00)A.1B.2 C.3D.4解析:解析 本题考核派生类的定义和成员的访问权限。 第处错误:在派生类的构造函数Derive(int x)中没有调用基类的构造函数对基类对象初始化。 第处错误:数据 data 是基类 Base 的私有成员,派生类 Derive 不能访问,所以在函数 s

    43、etvalue 中对 data 的赋值是错误的。21.有以下程序: #include iostream #include string usxng namespace std; int main() char p = “abcdefgh“; coutstrlen(strcpy(p,“12345“)end1; return 0; 执行后输出的结果是( )。(分数:2.00)A.8B.12C.5 D.7解析:解析 本题考查对字符串函数的熟悉程度。本题主要考查 strlen 和 strcpy 两个函数,先来了解这两个函数。 函数 strcpy()的函数原型为:char*strcpy(char*str

    44、Dest,const char*strSrC) ;其功能是复制 strSrc 所有字符到 strDest,并返回 strDest。 函数 strlen()的函数原型为:size_t strlen(const char *string);,其功能是返回 string 的长度,不包括结束字符/0。 在了解函数的原型和功能后,再分析本程序。程序首先定义了字符数组 p,并赋初值“abcdefg“,然后将字符串“12345“复制到数组 p 中,此时数组中元素变为字符串 “12345“,然后调用函数 strlen 求出数组 p 中的字符数为5(不包括结束标志符0)。22.数据管理技术的发展是与计算机技术及

    45、其应用的发展联系在一起的,经历了由低级到高级的发展过程。分布式数据库、面向对象数据库等新型数据库是属于( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段 D.高级数据库技术阶段解析:解析 本题考查数据库系统的发展,考生应掌握数据库发展的各个阶段,分布式数据库、面向对象数据库属于数据库系统阶段。23.若 a,b,c1,c2,x,y 均是整型变量,正确的 switch 语句是( )。(分数:2.00)A.switch(a+B.switch(a*a+b* case:y=a+b;break; case 3: case:y=a-b;break; case 1:y=a+b;bre

    46、ak; case 3:y=b-a;break; C.switchaD.switch(a- casec1:y=a-b;break; default:y=a*b;break; casec2:x=a*b;break; case 3:case4:x=a+b;break; default:x=a+b; case 10:case 11:y=a-b;break; 解析:解析 本题考查 switch 语句的语法规则。使用 switch 语句应该注意的问题: 整型表达式包括字符型或枚举型表达式。 在同一 switch 语句中,各个常量表达式的值不能相同。 每个 case 分支可以有多条语句,但不必用。 每个 case 语句只是一个入口标号,并不能确定执行的终点,因


    注意事项

    本文(【计算机类职业资格】二级C++笔试15及答案解析.doc)为本站会员(proposalcash356)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开