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

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

1、二级 C+笔试-239 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列虚基类的声明中正确的是( )。(分数:2.00)A.class virtual B: public AB.virtual class B: public AC.class B: public A virtualD.class B: virtual public A :2.有如下程序#include iostreamusing namespace std;class Apublic:virtual void func1 () cout“A1“; void func2(

2、) cout“A2“; ;class B: public Apublic:void func l() cout“B1“; void func2() cout“B2“; ;int main() A *p=new B;p-func1();p-func2();return 0;运行此程序,屏幕上将显示输出( )。(分数:2.00)A.B1B2B.A1A2C.B1A2D.A1B23.设以下变量均为 int 类型,则值不等于 7 的表达式是( )。(分数:2.00)A.(x=y=6,x+ y,x+1)B.(x=y=6,x +y,y+1)C.(x=6,x+1,y=6,x +y)D.(y=6,y+1,x=y

3、,x+1)4.“年龄在 1825 之间”这种约束是属于数据库当中的( )。(分数:2.00)A.原子性措施B.一致性措施C.完整性措施D.安全性措施5.以下程序段的执行结果是( )。#includeiostream.hVoid main() int a, y;a=10;y=1doa+=2;y+=a;cout“a“ =“a“,“y=“y“/n“;if(y20) break;while(a= 14);(分数:2.00)A.a=12,y=12a=14,y=16a=16,y=20B.a=12,y=12a=14,y=26C.a=12,y=12a=14,y=26a=14,y=44D.a=12,y=126.

4、语句 ofstream f(“DATA.DAT“, ios _base: applios_lios_bfise: binary);的功能是建立流对象f,并试图打开文件 DATA.DAT 并与之连接,而且( )。(分数:2.00)A.若文件存在,将文件指针定位于文件首,若文件不存在,建立一个新文件B.若文件存在,将其截为空文件;若文件不存在,打开失败C.若文件存在,将文件指针定位于文件尾:若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件在,建立一个新文件7.若调用一个函数,且此函数中没有 return 语句,则正确的说法是该函数( )。(分数:2.00)A.没有返回值B.返回若干个系

5、统默认值C.有返回值,但返回一个不确定的值D.返回一个用户所希望的函数值8.专门的关系运算不包括下列的( )运算。(分数:2.00)A.连接运算B.选择运算C.投影运算D.并运算9.不能实现函数之间数据传递的是( )。(分数:2.00)A.全局变量B.局部变量C.函数接口D.函数返回值10.最初的计算机编程语言是( )。(分数:2.00)A.机器语言B.汇编语言C.高级语言D.低级语言11.继承具有( ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。(分数:2.00)A.规律性B.传递性C.重复性D.多样性12.有以下程序:#include iostream.h

6、#include void main()double d= 123.456789;coutsetprecision(3)d“,“;coutsetprecision(4)d“,“;coutsetprecision(5 )dend1;程序执行后的输出结果是( )。(分数:2.00)A.123,123.4,123.45B.123,123.5,123.46C.123,123,123.4D.123.456789,123.456789,123.45678913.下列关于运算符重载的叙述中,正确的是( )。(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运

7、算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参14.软件生命周期中所花费用最多的阶段是( )。(分数:2.00)A.详细设计B.软件编码C.软件测试D.软件维护15.类模板的模板参数( )。(分数:2.00)A.只可作为数据成员的类型B.只可作为成员函数的返回类型。C.只可作为成员函数的参数类型D.以上三者皆足16.下列关于保护成员的说法中,正确的是( )。(分数:2.00)A.保护的成员只能被类本身的成员函数及友元类的成员函数访问B.保护成员可以被程序中的任何代码访问C.保护的成员与私有成员是完全一样的D.保护成员访问权限和公有成员是一样的17.下列叙述中正确的是

8、( )。(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令18.下列对模板的声明中正确的是( )。(分数:2.00)A.templateTB.templateclass T1,T2C.templateclassT1,class T2D.templateclass T1;class T219.下列程序中划线处正确的语句是( )。#include iostreamusing namespace std;class Basepublic:void fun() cout“Base: fun“e

9、nd1; ;class Derived: public Basevoid fun()_ /显试调用基类的函数 fun()cout “Derived: fun“end1;(分数:2.00)A.fun();B.Base. fun();C.Base: fun();D.Base-fun();20.设 int a=1,b=2;则(a+)+b 和 a+ b 这两个表达式的值分别为( )。(分数:2.00)A.3,3B.3,4C.4,3D.4,421.结构化程序设计所规定的三种基本控制结构是( )。(分数:2.00)A.for、while、swishB.输入、输出、处理C.顺序结构、选择结构、循环结构D.主

10、程序、子程序、函数22.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题23.下面程序的运行结果是( )。#include iostream.hvoid main()static int a4= 1,2,3,4,5,6,7,8,9,10,11,12;int i, j, sum=0;for(i=0;i3;i+)for(j=0;j4;j+)if(ji)sum+=aij;coutsumend1;(分数:2.00)A.24B.3

11、0C.36D.4024.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )。(分数:2.00)A.这是运算符的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值25.关于关键字 class 和 typename,下列描述正确的是( )。(分数:2.00)A.程序中所有的 class 都可以替换为 typenameB.程序中所有的 typename 都可以替换为 classC.A 和 B 都可以D.A 和 B 都不可以26.在表达式 x+ y*z

12、中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。(分数:2.00)A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数27.下列对基类和派生类关系的描述中,错误的是( )。(分数:2.00)A.派生类是基类的具体化B.派生类是基类的子集C.派生类是基类定义的延续D.派生类是基类的组合28.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个

13、数的是( )。(分数:2.00)A.选择B.连接C.投影D.并29.下面程序的输出结果是( )。#includeiostream.hvoid main()int x=-1,y=5,z;z=(x+0)public:A(int aa=0) (a=aa; ;class B: public A int b;Ac;public:/用 aa 初始化基类 A,用 aa+1 初始化类对象成员 cB(int aa): 【9】 b=aa+2;(分数:2.00)填空项 1:_45.以下程序的执行结果是 【10】 。#includeiostream.hclass Sampleint n;public:Sample()

14、 Sample(int m) n=m; int return n;void disp() cout“n=“nend1; ;void main()Sample s(10);(s-)+;s. disp();(分数:2.00)填空项 1:_46.在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承 private。已知有如下类定义:class Base protected:void fun();class Derived: Base ;则 Base 类中的成员函数 fun(),在 Derived 类中的访问权限是 【11】 (注意:要求填写 private、protected 或 p

15、ublic 中的一项)。(分数:2.00)填空项 1:_47.以下程序运行后的输出结果是 【12】 。#include iostream.hmain()int i=10,j=0;doj=j+ i; i-;while(i2);coutj;(分数:2.00)填空项 1:_48.阅读下面程序:#include iostream.htemplate class Tclass TAddprivate:T x, y;public:TAdd(T a, T b)x=a;y=b;T add()return x +y;void main( )TAddinta(5,6);TAdddoubleb(2.4,5.8);c

16、out“s1 =“A. add()“,“;cout“s2=“B, add()end1;写出该程序的运行结果: 【13】 。(分数:2.00)填空项 1:_49.下面是用来计算 n 的阶乘的递归函数,请将该函数的定义补充完整(注:阶乘的定义是n!=n*(n-1)*.*2*1)。unsigned fact(unsigned n)if (n = 1)return 1;return 【14】 ;(分数:2.00)填空项 1:_50.下面程序的执行结果是 【15】 #include iostream#include iomanipusing namespace std;void main()coutse

17、tfill(x)setw(10);cout“Hello“end1;(分数:2.00)填空项 1:_二级 C+笔试-239 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列虚基类的声明中正确的是( )。(分数:2.00)A.class virtual B: public AB.virtual class B: public AC.class B: public A virtualD.class B: virtual public A : 解析:2.有如下程序#include iostreamusing namespace std;class

18、 Apublic:virtual void func1 () cout“A1“; void func2() cout“A2“; ;class B: public Apublic:void func l() cout“B1“; void func2() cout“B2“; ;int main() A *p=new B;p-func1();p-func2();return 0;运行此程序,屏幕上将显示输出( )。(分数:2.00)A.B1B2B.A1A2C.B1A2 D.A1B2解析:3.设以下变量均为 int 类型,则值不等于 7 的表达式是( )。(分数:2.00)A.(x=y=6,x+ y,

19、x+1)B.(x=y=6,x +y,y+1)C.(x=6,x+1,y=6,x +y) D.(y=6,y+1,x=y,x+1)解析:4.“年龄在 1825 之间”这种约束是属于数据库当中的( )。(分数:2.00)A.原子性措施B.一致性措施C.完整性措施 D.安全性措施解析:5.以下程序段的执行结果是( )。#includeiostream.hVoid main() int a, y;a=10;y=1doa+=2;y+=a;cout“a“ =“a“,“y=“y“/n“;if(y20) break;while(a= 14);(分数:2.00)A.a=12,y=12a=14,y=16a=16,y=

20、20B.a=12,y=12a=14,y=26 C.a=12,y=12a=14,y=26a=14,y=44D.a=12,y=12解析:6.语句 ofstream f(“DATA.DAT“, ios _base: applios_lios_bfise: binary);的功能是建立流对象f,并试图打开文件 DATA.DAT 并与之连接,而且( )。(分数:2.00)A.若文件存在,将文件指针定位于文件首,若文件不存在,建立一个新文件B.若文件存在,将其截为空文件;若文件不存在,打开失败C.若文件存在,将文件指针定位于文件尾:若文件不存在,建立一个新文件 D.若文件存在,打开失败;若文件在,建立一个

21、新文件解析:7.若调用一个函数,且此函数中没有 return 语句,则正确的说法是该函数( )。(分数:2.00)A.没有返回值B.返回若干个系统默认值C.有返回值,但返回一个不确定的值 D.返回一个用户所希望的函数值解析:8.专门的关系运算不包括下列的( )运算。(分数:2.00)A.连接运算B.选择运算C.投影运算D.并运算 解析:9.不能实现函数之间数据传递的是( )。(分数:2.00)A.全局变量B.局部变量 C.函数接口D.函数返回值解析:10.最初的计算机编程语言是( )。(分数:2.00)A.机器语言 B.汇编语言C.高级语言D.低级语言解析:11.继承具有( ),即当基类本身也

22、是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。(分数:2.00)A.规律性B.传递性 C.重复性D.多样性解析:12.有以下程序:#include iostream.h#include void main()double d= 123.456789;coutsetprecision(3)d“,“;coutsetprecision(4)d“,“;coutsetprecision(5 )dend1;程序执行后的输出结果是( )。(分数:2.00)A.123,123.4,123.45B.123,123.5,123.46 C.123,123,123.4D.123.456789,123.

23、456789,123.456789解析:13.下列关于运算符重载的叙述中,正确的是( )。(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载 C.若重载运算符+,则相应的运算符函数名是+D.重载一个二元运算符时,必须声明两个形参解析:14.软件生命周期中所花费用最多的阶段是( )。(分数:2.00)A.详细设计B.软件编码C.软件测试D.软件维护 解析:15.类模板的模板参数( )。(分数:2.00)A.只可作为数据成员的类型B.只可作为成员函数的返回类型。C.只可作为成员函数的参数类型D.以上三者皆足 解析:16.下列关于保护成员的说法中,正确的是(

24、)。(分数:2.00)A.保护的成员只能被类本身的成员函数及友元类的成员函数访问 B.保护成员可以被程序中的任何代码访问C.保护的成员与私有成员是完全一样的D.保护成员访问权限和公有成员是一样的解析:17.下列叙述中正确的是( )。(分数:2.00)A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:18.下列对模板的声明中正确的是( )。(分数:2.00)A.templateTB.templateclass T1,T2C.templateclassT1,class T2 D.templatecl

25、ass T1;class T2解析:19.下列程序中划线处正确的语句是( )。#include iostreamusing namespace std;class Basepublic:void fun() cout“Base: fun“end1; ;class Derived: public Basevoid fun()_ /显试调用基类的函数 fun()cout “Derived: fun“end1;(分数:2.00)A.fun();B.Base. fun();C.Base: fun(); D.Base-fun();解析:20.设 int a=1,b=2;则(a+)+b 和 a+ b 这两

26、个表达式的值分别为( )。(分数:2.00)A.3,3 B.3,4C.4,3D.4,4解析:21.结构化程序设计所规定的三种基本控制结构是( )。(分数:2.00)A.for、while、swishB.输入、输出、处理C.顺序结构、选择结构、循环结构 D.主程序、子程序、函数解析:22.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发中的技术问题解析:23.下面程序的运行结果是( )。#include iostream.hvoid

27、 main()static int a4= 1,2,3,4,5,6,7,8,9,10,11,12;int i, j, sum=0;for(i=0;i3;i+)for(j=0;j4;j+)if(ji)sum+=aij;coutsumend1;(分数:2.00)A.24B.30C.36 D.40解析:24.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )。(分数:2.00)A.这是运算符的重载运算符函数B.这个函数所重载的运算符是一个一元运算符 C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:2

28、5.关于关键字 class 和 typename,下列描述正确的是( )。(分数:2.00)A.程序中所有的 class 都可以替换为 typenameB.程序中所有的 typename 都可以替换为 class C.A 和 B 都可以D.A 和 B 都不可以解析:26.在表达式 x+ y*z 中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。(分数:2.00)A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数 D.o

29、perator+有一个参数,operator*有一个参数解析:27.下列对基类和派生类关系的描述中,错误的是( )。(分数:2.00)A.派生类是基类的具体化B.派生类是基类的子集 C.派生类是基类定义的延续D.派生类是基类的组合解析:28.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是( )。(分数:2.00)A.选择B.连接 C.投影D.并解析:29.下面程序的输出结果是( )。#includeiostream.hvoid main()int x=-1,y=5,z;z=(x+0)public:A(int aa=0) (a=aa; ;class B: publi

30、c A int b;Ac;public:/用 aa 初始化基类 A,用 aa+1 初始化类对象成员 cB(int aa): 【9】 b=aa+2;(分数:2.00)填空项 1:_ (正确答案:A(aa),c(aa+1) 或 c(aa+1),A(aa))解析:45.以下程序的执行结果是 【10】 。#includeiostream.hclass Sampleint n;public:Sample() Sample(int m) n=m; int return n;void disp() cout“n=“nend1; ;void main()Sample s(10);(s-)+;s. disp()

31、;(分数:2.00)填空项 1:_ (正确答案:n=10)解析:46.在声明派生类时,如果不显式地给出继承方式,缺省的类继承方式是私有继承 private。已知有如下类定义:class Base protected:void fun();class Derived: Base ;则 Base 类中的成员函数 fun(),在 Derived 类中的访问权限是 【11】 (注意:要求填写 private、protected 或 public 中的一项)。(分数:2.00)填空项 1:_ (正确答案:private)解析:47.以下程序运行后的输出结果是 【12】 。#include iostrea

32、m.hmain()int i=10,j=0;doj=j+ i; i-;while(i2);coutj;(分数:2.00)填空项 1:_ (正确答案:52)解析:48.阅读下面程序:#include iostream.htemplate class Tclass TAddprivate:T x, y;public:TAdd(T a, T b)x=a;y=b;T add()return x +y;void main( )TAddinta(5,6);TAdddoubleb(2.4,5.8);cout“s1 =“A. add()“,“;cout“s2=“B, add()end1;写出该程序的运行结果:

33、 【13】 。(分数:2.00)填空项 1:_ (正确答案:s1=11,s2=8.2)解析:49.下面是用来计算 n 的阶乘的递归函数,请将该函数的定义补充完整(注:阶乘的定义是n!=n*(n-1)*.*2*1)。unsigned fact(unsigned n)if (n = 1)return 1;return 【14】 ;(分数:2.00)填空项 1:_ (正确答案:n*fact (n-1))解析:50.下面程序的执行结果是 【15】 #include iostream#include iomanipusing namespace std;void main()coutsetfill(x)setw(10);cout“Hello“end1;(分数:2.00)填空项 1:_ (正确答案:xxxxx Hello)解析:

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

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

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