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

上传人:tireattitude366 文档编号:1324479 上传时间:2019-10-17 格式:DOC 页数:25 大小:76KB
下载 相关 举报
【计算机类职业资格】二级C++笔试-238及答案解析.doc_第1页
第1页 / 共25页
【计算机类职业资格】二级C++笔试-238及答案解析.doc_第2页
第2页 / 共25页
【计算机类职业资格】二级C++笔试-238及答案解析.doc_第3页
第3页 / 共25页
【计算机类职业资格】二级C++笔试-238及答案解析.doc_第4页
第4页 / 共25页
【计算机类职业资格】二级C++笔试-238及答案解析.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、二级 C+笔试-238 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列关于信息和数据的叙述不正确的是( )。(分数:2.00)A.信息是数据的符号表示B.信息是数据的内涵C.信息是现实世界事物的存在方式或运动状态的反映D.数据是描述现实世界事物的符号记录2.要定义数组 A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是( )。(分数:2.00)A.int A=3,9,4,8,0,0,0);B.int A9:3,9,4,8,0,0,0);C.int A=3,9,4,8);D.int A7=3,9,4,8);3.

2、下列关于 new 运算符的描述中错误的是( )。(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值B.使用运算符 new 创建对象时,会调用类的构造函数C.运算符 new 可以用来动态创建对象和对象数组D.使用 new 运算符创建的对象可以使用运算符 delete 删除4.下列关于 break 语句的叙述不正确的是( )。(分数:2.00)A.break 语句可用在循环体中,它将使执行流程跳出本层循环体B.break 语句可用在 switch 语句中,它将使执行流程跳出当前 switch 语句C.break 语句可用在 if 语句中,它将使执行流程跳出当前订语句D.brea

3、k 语句在一层循环体中可以出现多次5.以下非法的赋值表达式是( )。(分数:2.00)A.n=(i=2,+i);B.j+;C.+(i+1);D.x=j0;6.下面的语句中错误的是( )。(分数:2.00)A.int a=5;int xa;B.const int a=5;int xa;C.int n=5;int *p=new intn;D.const int n=5;int *p=new inta;7.类的析构函数的作用是( )。(分数:2.00)A.一般成员函数B.类的初始化C.对象的初始化D.释放由对象所占用的资源8.有如下程序#includeiostreamusing namespace

4、std;class basepublic:virtual void f1()cout“F1Base“;virtual void f2()cout“F2Base“;class derive:public basevoid f1()cout“F1 Derive“;void f2(int x)cout“F2 Derive“;int main()base obj1,*p;derive obj2;p=p-f1();p-f2();return ();)执行后的输出结果是( )。(分数:2.00)A.F1Derive F2BaseB.F1Derive F2DeriveC.F1Base F2BaseD.F1B

5、ase F2Derive9.数据库系统支持数据的逻辑独立性,依靠的是( )。(分数:2.00)A.DDL 语言和 DML 语言完全独立B.定义完整件约束条件C.数据库的三级模式结构D.模式分级及各级模式之间的映像机制10.对线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链接方式存储,并按关键码值排好序D.线性表以链接方式存储,并按关键码的检索频率排好序11.有如下程序:#includeiostreamusing namespace std;int main()cout.fi

6、ll(*);cout.width(5);coutscientific314.15926535endl;retrun 0;程序运行后,输出的结果是( )。(分数:2.00)A.3.141593e+002B.3.1416e+002C.*3.14e+002D.314.1612.对于常数据成员,下面描述正确的是( )。(分数:2.00)A.常数据成员可以不初始化,并且不能更新B.常数据成员必须被初始化,并且不能更新C.常数据成员可以不初始化,并且可以被更新D.常数据成员必须被初始化,并且可以被更新13.已有函数 max(a,b),为了使函数指针变量 p 指向函数 max,则下面选项中赋值方法正确的是(

7、 )。(分数:2.00)A.p=maxB.*p=maxC.p=max(a,b)D.*p=max(a,b)14.下面程序的运行结果是( )。#includeiostream.hint x=5;int fun(int a)int c;C=X*a;retum c;void main()int x=3,a=4;x=x+fun(a);cout“x“”Xendl;(分数:2.00)A.x=15B.x=17C.x=23D.x=2515.数据库的故障恢复一般是由( )。(分数:2.00)A.数据流图完成的B.数据字典完成的C.DBA 完成的D.PAD 图完成的16.有以下程序:#includeiostream

8、using namespace std;int main()int x=15;while(x10j+=2)s=10*s+pij-0;couts;return 0;该程序的输出结果是( )。(分数:2.00)A.69825B.63825C.6385D.69382521.以下不能正确进行字符串赋值初值的语句是( )。(分数:2.00)A.char str5=“good!“;B.char str=“good!“;C.char *str=“good!“;D.char str5=g,o,o,d);22.数据库系统的基础是( )。(分数:2.00)A.数据库技术B.数据库分析C.数据库开发D.数据库管理系

9、统23.下列关于 this 指针的叙述中,正确的是( )。(分数:2.00)A.this 指针是一个隐含指针,它隐含于类的成员函数中B.只有在使用 this 时,系统才会将对象的地址赋值给 thisC.类的友元函数也有 this 指针D.this 指针表示了成员函数当前操作的数据所属的对象24.有如下语句序列:int k=0;dOk+=5;cout$;) while(k19);while(k-0)cout*;执行上面的语句序列输出字符$和*的个数分别是( )。(分数:2.00)A.4 和 20B.5 和 20C.4 和 21D.5 和 2125.在函数的返回值类型与返回值表达式类型的描述中,错

10、误的是( )。(分数:2.00)A.函数返回值的类型是在定义函数时确定的,在函数调用时是不能改变的B.函数返回值的类型就是返回值表达式的类型C.函数返回值的类型与返回值类型不同时,函数表达式类型应转换成返回值类型D.函数返回值的类型决定了返回值表达式的类型26.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是( )。(分数:2.00)A.failB.eofC.badD.good27.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的

11、C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对28.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示( )(分数:2.00)A.模块之间的调用关系,B.程序的组成成分C.控制程序的执行顺序D.数据的流向29.下面的函数模板定义中错误的是( )。(分数:2.00)A.templateclass QB.templateclass QQF(Qx)return Q-x; QF(Qx)return x+x;C.templateclass TD.templateclass TTF(Tx)return x*x; boolP(Tx)return X1;)30.

12、有如下程序:#includeiostream.hclass Baseprotected:int i;public:int j;;class Derived:public Baseint m;public:int n;int main()Derived d;d.i=0; /1d.j=0; /2d.m=0; /3d.n=0; /4return 0;其中主函数中有两个赋值语句有错,这两个错误的赋值语句是( )。(分数:2.00)A.1和2B.1)和3C.2和3D.2和431.下列重载函数中,正确的是( )。(分数:2.00)A.void fun(int a,float b);void fun(int

13、 c,float d)B.void fun(int a,float b);void fun(float a,int b)C.float fun(int a,float b);int fun(int b,float a)D.int fun(int a,int b);float fun(int a,int b)32.下面关于构造函数和析构函数的描述中,错误的是( )。(分数:2.00)A.析构函数可以声明为虚函数B.对虚析构函数的调用可以采用动联编C.一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D.构造函数可以声明为虚函数33.下列有关拷贝构造函数的描述中错误的是( )。(分数

14、:2.00)A.拷贝构造函数是一种构造函数B.拷贝构造函数与一般的构造函数一样,可以设置多个形参C.每一个类中都必须有一个拷贝构造函数D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象。34.以下程序的输出结果是( )。#includeiostreamusing namespace std;int main()cout.fill(*);cout.width(5);couthex100endl;return ();(分数:2.00)A.*100B.*64C.100*D.64*35.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是

15、public 的B.公有继承时基类中的 private 成员在派生类中仍是 private 的C.私有继承时基类中的 public 成员在派生类中是 private 的D.保护继承时基类中的 public 成员在派生类中是 protected 的二、填空题(总题数:14,分数:28.00)36.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 【1】 个叶子结点。(分数:2.00)填空项 1:_37.在算法的 5 个特性中,算法必须能在执行有限个步骤之后终止,指的是算法的 【2】 性。(分数:2.00)填空项 1:_38.在面向对象方法中,允许作用于某个对象上的操作称为 【3】 。(分数

16、:2.00)填空项 1:_39.在调用一个函数的过程中可以直接或间接地调用该函数,这种调用称为 【4】 调用,该函数称为 【4】 函数。(分数:2.00)填空项 1:_40.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【5】 。(分数:2.00)填空项 1:_41.数学表达式 (分数:2.00)填空项 1:_42.假定一个一维数组的定义为“char a8,b;”若把该数组最后一个元素赋值给 b 应该采取的表达式为:【7】 。(分数:2.00)填空项 1:_43.若有:int i=1000;int *ip=; class derived2:public Basep

17、ublic:virtual void who()cout“Derived2 Class“endl;) ;int main(int argc,char*argv)base obj1,*P;deliVedl obj2;derived2 obj3;p=p-f1();p-f2();return ();)执行后的输出结果是( )。(分数:2.00)A.F1Derive F2Base B.F1Derive F2DeriveC.F1Base F2BaseD.F1Base F2Derive解析:9.数据库系统支持数据的逻辑独立性,依靠的是( )。(分数:2.00)A.DDL 语言和 DML 语言完全独立B.定

18、义完整件约束条件 C.数据库的三级模式结构D.模式分级及各级模式之间的映像机制解析:10.对线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序 B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链接方式存储,并按关键码值排好序D.线性表以链接方式存储,并按关键码的检索频率排好序解析:11.有如下程序:#includeiostreamusing namespace std;int main()cout.fill(*);cout.width(5);coutscientific314.15926535endl;retrun 0;程序

19、运行后,输出的结果是( )。(分数:2.00)A.3.141593e+002 B.3.1416e+002C.*3.14e+002D.314.16解析:12.对于常数据成员,下面描述正确的是( )。(分数:2.00)A.常数据成员可以不初始化,并且不能更新B.常数据成员必须被初始化,并且不能更新 C.常数据成员可以不初始化,并且可以被更新D.常数据成员必须被初始化,并且可以被更新解析:13.已有函数 max(a,b),为了使函数指针变量 p 指向函数 max,则下面选项中赋值方法正确的是( )。(分数:2.00)A.p=max B.*p=maxC.p=max(a,b)D.*p=max(a,b)解

20、析:14.下面程序的运行结果是( )。#includeiostream.hint x=5;int fun(int a)int c;C=X*a;retum c;void main()int x=3,a=4;x=x+fun(a);cout“x“”Xendl;(分数:2.00)A.x=15B.x=17C.x=23 D.x=25解析:15.数据库的故障恢复一般是由( )。(分数:2.00)A.数据流图完成的B.数据字典完成的C.DBA 完成的 D.PAD 图完成的解析:16.有以下程序:#includeiostreamusing namespace std;int main()int x=15;whi

21、le(x10j+=2)s=10*s+pij-0;couts;return 0;该程序的输出结果是( )。(分数:2.00)A.69825B.63825C.6385 D.693825解析:21.以下不能正确进行字符串赋值初值的语句是( )。(分数:2.00)A.char str5=“good!“; B.char str=“good!“;C.char *str=“good!“;D.char str5=g,o,o,d);解析:22.数据库系统的基础是( )。(分数:2.00)A.数据库技术B.数据库分析C.数据库开发D.数据库管理系统 解析:23.下列关于 this 指针的叙述中,正确的是( )。(

22、分数:2.00)A.this 指针是一个隐含指针,它隐含于类的成员函数中B.只有在使用 this 时,系统才会将对象的地址赋值给 thisC.类的友元函数也有 this 指针D.this 指针表示了成员函数当前操作的数据所属的对象 解析:24.有如下语句序列:int k=0;dOk+=5;cout$;) while(k19);while(k-0)cout*;执行上面的语句序列输出字符$和*的个数分别是( )。(分数:2.00)A.4 和 20 B.5 和 20C.4 和 21D.5 和 21解析:25.在函数的返回值类型与返回值表达式类型的描述中,错误的是( )。(分数:2.00)A.函数返回

23、值的类型是在定义函数时确定的,在函数调用时是不能改变的B.函数返回值的类型就是返回值表达式的类型 C.函数返回值的类型与返回值类型不同时,函数表达式类型应转换成返回值类型D.函数返回值的类型决定了返回值表达式的类型解析:26.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是( )。(分数:2.00)A.fail B.eofC.badD.good解析:27.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的联系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,

24、各个对象之间相对独立,相互依赖性小 D.上述三种说法都不对解析:28.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示( )(分数:2.00)A.模块之间的调用关系, B.程序的组成成分C.控制程序的执行顺序D.数据的流向解析:29.下面的函数模板定义中错误的是( )。(分数:2.00)A.templateclass Q B.templateclass QQF(Qx)return Q-x; QF(Qx)return x+x;C.templateclass TD.templateclass TTF(Tx)return x*x; boolP(Tx)return X1;)解析:30.有如

25、下程序:#includeiostream.hclass Baseprotected:int i;public:int j;;class Derived:public Baseint m;public:int n;int main()Derived d;d.i=0; /1d.j=0; /2d.m=0; /3d.n=0; /4return 0;其中主函数中有两个赋值语句有错,这两个错误的赋值语句是( )。(分数:2.00)A.1和2B.1)和3 C.2和3D.2和4解析:31.下列重载函数中,正确的是( )。(分数:2.00)A.void fun(int a,float b);void fun(i

26、nt c,float d)B.void fun(int a,float b);void fun(float a,int b) C.float fun(int a,float b);int fun(int b,float a)D.int fun(int a,int b);float fun(int a,int b)解析:32.下面关于构造函数和析构函数的描述中,错误的是( )。(分数:2.00)A.析构函数可以声明为虚函数B.对虚析构函数的调用可以采用动联编C.一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D.构造函数可以声明为虚函数 解析:33.下列有关拷贝构造函数的描述中错

27、误的是( )。(分数:2.00)A.拷贝构造函数是一种构造函数B.拷贝构造函数与一般的构造函数一样,可以设置多个形参 C.每一个类中都必须有一个拷贝构造函数D.拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象。解析:34.以下程序的输出结果是( )。#includeiostreamusing namespace std;int main()cout.fill(*);cout.width(5);couthex100endl;return ();(分数:2.00)A.*100B.*64 C.100*D.64*解析:35.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的

28、 public 成员在派生类中仍是 public 的B.公有继承时基类中的 private 成员在派生类中仍是 private 的 C.私有继承时基类中的 public 成员在派生类中是 private 的D.保护继承时基类中的 public 成员在派生类中是 protected 的解析:二、填空题(总题数:14,分数:28.00)36.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 【1】 个叶子结点。(分数:2.00)填空项 1:_ (正确答案:19)解析:37.在算法的 5 个特性中,算法必须能在执行有限个步骤之后终止,指的是算法的 【2】 性。(分数:2.00)填空项 1:_

29、(正确答案:有穷)解析:38.在面向对象方法中,允许作用于某个对象上的操作称为 【3】 。(分数:2.00)填空项 1:_ (正确答案:方法)解析:39.在调用一个函数的过程中可以直接或间接地调用该函数,这种调用称为 【4】 调用,该函数称为 【4】 函数。(分数:2.00)填空项 1:_ (正确答案:递归)解析:40.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【5】 。(分数:2.00)填空项 1:_ (正确答案:可重用性)解析:41.数学表达式 (分数:2.00)填空项 1:_ (正确答案:pow(x,y)/sqrt(2*3.14))解析:42.假定一个一

30、维数组的定义为“char a8,b;”若把该数组最后一个元素赋值给 b 应该采取的表达式为:【7】 。(分数:2.00)填空项 1:_ (正确答案:b=a7)解析:43.若有:int i=1000;int *ip=; class derived2:public Basepublic:virtual void who()cout“Derived2 Class“endl;) ;int main(int argc,char*argv)base obj1,*P;deliVedl obj2;derived2 obj3;p=&obj1; p-who();p=&obj2; p-who();p=&obj3;

31、p-who();return 0;(分数:2.00)填空项 1:_ (正确答案:Base ClassDerivedl ClassDerived2 Class)解析:49.下面程序的输出结果是 【15】 。#incldeiostreamn#includemathusing namespace std;class pointprivate:double x;double y;public:point(double a,double b)x=a;y=b;friend double distance(point a,point b);double distance(point a,point b)return sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);int main()point p1(1,2);point p2(5,2);coutdistalice(p1,p2)endl;return 0;(分数:2.00)填空项 1:_ (正确答案:4)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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