【计算机类职业资格】C++语言笔试-4及答案解析.doc

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

1、C+语言笔试-4 及答案解析(总分:80.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:80.00)1.算法的时间复杂度是指( )。A) 算法的长度B) 执行算法所需要的时间C) 算法中的指令条数D) 算法执行过程中所需要的基本运算次数(分数:2.00)A.B.C.D.2.以下数据结构中,属于非线性数据结构的是( )。A) 栈 B) 线性表C) 队列 D) 二叉树(分数:2.00)A.B.C.D.3.数据结构中,与所使用的计算机无关的是数据的( )。A) 存储结构 B) 物理结构C) 逻辑结构 D) 线性结构(分数:2.00)A.B.C.D.4.内聚性是对模块功能强度的衡量,

2、下列选项中,内聚性较弱的是( )。A) 顺序内聚 B) 偶然内聚C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B.C.D.5.在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的( )。A) 连接码 B) 关系码C) 外码 D) 候选码(分数:2.00)A.B.C.D.6.检查软件产品是否符合需求定义的过程称为( )。A) 确认测试 B) 需求测试C) 验证测试 D) 路径测试(分数:2.00)A.B.C.D.7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。A) 控制流

3、 B) 加工C) 存储文什 D) 源和潭(分数:2.00)A.B.C.D.8.待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码 15 被放到第( )个位置。A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.9.对关系 S 和关系 R 进行集合运算,结果中既包含关系 S 中的所有元组也包含关系 R 中的所有元组,这样的集合运算称为( )。A) 并运算 B) 交运算C) 差运算 D) 除运算(分数:2.00)A.B.C.D.10.下列选项中,不属于数据管理员(DBA) 职责的是( )。A)

4、 数据库维护B) 数据库设计C) 改善系统性能,提高系统效率D) 数据类型转换(分数:2.00)A.B.C.D.11.假定 MyClass 为一个类,则该类的拷贝构造函数的声明语句为( )。A) MyClass(MyClass x); B) MyClass(MyClassC) MyClass( D) MyClass(x);(分数:2.00)A.B.C.D.12.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false,则横线处应填上( )。Bool fun(char*str)int i=0,j=0;while(strj)j+;for(j-;iji+,j-);re

5、tun i_j;A) = B) | C) class Complexpublic:Complex(double r=0,double i=0):re(r),im(i) double real()constreturn re;double imag()const return im;Complex operator+(Complex c)constreturnComplex(re+c.re,im+c.im);private:double re,ira;int main()Complex a =Complex(1,1)+Complex(5);couta.real()+a.imag()iend1;r

6、eturn ();A) 6+i B) 2i+5 C) 6+1i D) 1i+5(分数:2.00)A.B.C.D.14.有以下程序段:#includeiostream.h#define MAX(x,y) (x)(y)?(x):(y)void main()int i,j,k;i=10;j= 15; k=MAX(i,j)* 10;coutkend1;A) 15 B) 100 C) 150 D) 10(分数:2.00)A.B.C.D.15.定义如下枚举类型: enumMonday,Tuesday, Wednesday,Thrusday, Friday=2;表达式Wednesda=Friday 的值是(

7、 )。A) false B) true C) 2 D) 异常(分数:2.00)A.B.C.D.16.以下程序运行后的输出结果是( )。#includeiostream.hvoid main()char a=“abbcabbcabbc“;int i =0,j=0,k=0;while(ai)if(ai=a)j+;if(ai=b)k+;i+;coutj“ “kend1;A) 2, 6 B) 3, 5. C) 4, 7 D) 3, 6(分数:2.00)A.B.C.D.17.假定 a=3, 下列程序的运行结果是( )。#includeiostream.hint fun(int n);void main(

8、)cout“Please input a number:“;int a,result =0;cina;result =fun(a);cout result end1;int fun(int n)int p= 1,result =0;for(int i=1 ;i=n;i+)p*=i;result +=p;return result;A) 4 B) 8 C) 9 D) 20(分数:2.00)A.B.C.D.18.下列关于指针的运算中,( )是非法的。A) 两个指针在一定条件下,可以进行相等或不等的比较运算B) 可以将一个空指针赋值给某个指针C) 一个指针可以加上两个整数之差D) 两个指针在一定条件

9、下可以相加(分数:2.00)A.B.C.D.19.下面程序的输出结果为( )。#includeiostream.hvoid main()int x;int /变量引用y=99;cout“x=“xend1;A) x=99 B) x=9 C) x=0 D) 异常(分数:2.00)A.B.C.D.20.下面程序的输出结果为( )。#includeiostream.hvoid fun(int a,int b)int temp;temp=a;a=b;b=temp;void main()int m,n;re=1;n=2;fun(m,n);eoutm“nend1;A) 12 B) 21C) 22 D) 程序

10、有错误(分数:2.00)A.B.C.D.21.存在定义 inta10, x, *pa;, 若 pa= B) x=*(a+1);C) x=*(pa+1); D) x=a1;(分数:2.00)A.B.C.D.22.对数组名作函数的参数,下面描述正确的是( )。A) 数组名作函数的参数,调用时将实参数组复制给形参数组B) 数组名作函数的参数,主调函数和被调函数共用一段存储单元C) 数组名作参数时,形参定义的数组长度不能省略D) 数组名作参数,不能改变主调函数中的数据(分数:2.00)A.B.C.D.23.关于静态成员的描述中,错误的是( )。A) 静态成员可分为静态数据成员和静态成员函数B) 静态数

11、据成员定义后必须在类体内进行初始化C) 静态数据成员初始化不使用其构造函数D) 静态数据成员函数中不能直接引用非静态成员(分数:2.00)A.B.C.D.24.下列关于构造函数的描述中,错误的是( )。A) 构造函数可以设置默认的参数B) 构造函数在定义类对象时自动执行C) 构造函数可以是内联函数D) 构造函数不可以重载(分数:2.00)A.B.C.D.25.有以下程序,输出结果( )。#include iostream.hvoid main()static int b3 = 1,2,3,4,5,6 ;b0 2=12,b121=18;cout *b“/t“*(b+1)“/t“*(b+ 1)“/

12、t“* (* (b+ 1 )+2) “/n“;cout b0 2+b12+b22 end1;(分数:2.00)A.B.C.D.26.下列程序的输出结果是( )。#includeiostreamusing namespace std;void fun(int int main()int n=50;fun(n);coutnend1;return 0;A) 0 B) 20 C) 50 D) 100(分数:2.00)A.B.C.D.27.下列说法中错误的是( )。A) 公有继承时基类中的 public 成员在派生类中仍是 public 的B) 公有继承时基类中的 private 成员在派生类中仍是 p

13、rivate 的C) 私有继承时基类中的 public 成员在派生类中是 private 的D) 保护继承时基类中的 public 成员在派生类中是 protected 的(分数:2.00)A.B.C.D.28.多继承的构造顺序可分为如下四步:所有非虚基类的构造函数按照它们被继承的顺序构造所有虚基类的构造函数按照它们被继承的顺序构造所有子对象的构造函数按照它们声明的顺序构造派生类自己的构造函数体这四个步骤的正确顺序是( )。A) B) C) D) (分数:2.00)A.B.C.D.29.下面关于构造函数和析构函数的描述中,错误的是( )。A) 析构函数可以声明为虚函数B) 对虚析构函数的调用可

14、以采用动态联编C) 一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D) 构造函数可以声明为虚函数(分数:2.00)A.B.C.D.30.设有以下定义和程序:#includeiostream.hclass A1public:void show 1()cout“ class A 1“end1;class A2:public A1public:void show20cout“class A2“end1;class A3:protected A2public:void show3()cout“class A 1 “end1;void main()A1 obj1;A2 obj2;A3

15、obj3;则以下不合语法的调用语句是( )。A) obj1.show1(); B) obj2.show1();C) obj3.show1(); D) obj2.show2();(分数:2.00)A.B.C.D.31.下列关于运算符重载的描述中,正确的是( )。A) 运算符重载可以改变运算符的操作数的个数B) 运算符重载可以改变优先级C) 运算符重载可以改变结合性D) 运算符重载不可以改变语法结构(分数:2.00)A.B.C.D.32.下面程序的输出结果是( )。#includeiostream#include math.husing namespace std;class pointpriva

16、te:double x;double y;public:point(double a, double b)x=a;y=b;friend double distances(point a,point b);double distances(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);coutdistances(p1 ,p2)end1;return 0;A) 2 B) 4 C) 8 D) 16(分数:2.00)A.B.C.D.33.

17、有以下程序:#includeiostreamusing namespace std;class Rpublic:R(int rl,int r2)R1=r1;R2=r2;void print();void print()const;private:int R1,R2;void R:print()coutR 1 “,“R2end1;void R:print()constcoutR 1 “,“R2end1;int main()R a(5,4);const R b(20,52);b.print0;return 0;执行后的输出结果是( )。A) 5, 4 B) 4, 5C) 20, 52 D) 52,

18、 20(分数:2.00)A.B.C.D.34.下列程序的输出结果是( )。#includeiostreamusing namespace std;templatetypename TT fun(T a,T b) return(a=b)?a:b;int main()coutfun(3,6),fun(3.14F,6.28F)end1;return ();A) 0,3.14 B) 3,3.14C) 3,3 D) 3.14,3.14(分数:2.00)A.B.C.D.35.关于模板,下列说法不正确的是( )。A) 用类模板定义一个对象时,不能省略实参B) 类模板只能有虚拟类型参数C) 类模板本身在编译中

19、不会生成任何代码D) 类模板的成员函数都是模板函数(分数:2.00)A.B.C.D.36.如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用( )关键字来修饰。A) const B) static C) void D) class(分数:2.00)A.B.C.D.37.下列关于 this 指针的叙述中,正确的是( )。A) this 指针是一个隐含指针,它隐含于类的成员函数中B) 只有在使用 this 时,系统才会将对象的地址赋值给 thisC) 类的友元函数也有 this 指针D) this 指针表示了成员函数当前操作的数据所属的对象(分数:2.00)A.B.

20、C.D.38.下列有关函数重载的叙述中,错误的是( )。A) 函数重载就是用相同的函数名定义多个函数B) 重载函数的参数列表必须不同C) 重载函数的返回值类型必须不同D) 重载函数的参数可以带有默认值(分数:2.00)A.B.C.D.39.对于一个类定义,下列叙述中错误的是( )。A) 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B) 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C) 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D) 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(分数:2.00)A.B.C.D.40.下列

21、关于派生类构造函数和析构函数的说法中,错误的是( )。A) 派生类的构造函数会隐含调用基类的构造函数B) 如果基类中没有缺省构造函数,那么派生类必须定义构造函数C) 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D) 在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(分数:2.00)A.B.C.D.C+语言笔试-4 答案解析(总分:80.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:80.00)1.算法的时间复杂度是指( )。A) 算法的长度B) 执行算法所需要的时间C) 算法中的指令条数D) 算法执行过程中所需要的基本运算次数(分数:2.0

22、0)A.B.C.D. 解析:解析 算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。2.以下数据结构中,属于非线性数据结构的是( )。A) 栈 B) 线性表C) 队列 D) 二叉树(分数:2.00)A.B.C.D. 解析:解析 二叉树属于非线性结构。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作;队列可看作是插入在一端进行,删除在另一端进行的线性表。3.数据结构中,与所使用的计算机无关的是数据的( )。A) 存储结构 B) 物理结构C) 逻辑结构 D) 线性结构(分数:2.00)A.B.C. D.解析:解析 数据的

23、逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。4.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。A) 顺序内聚 B) 偶然内聚C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B. C.D.解析:解析 内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列:偶然内聚模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为巧合强度模块。逻辑内聚这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成哪一种功能。时间内聚这种模块顺序完成一类相关功能,比如初始化模

24、块,它顺序地为变量置初值。过程内聚如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。通信内聚这种模块除了具有过程内聚的特点外,还有另外一种关系,即它的所有功能都通过使用公用数据而发生关系。顺序内聚如果一个模块内各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。功能内聚如果一个模块包括为完成某一具体任务所必需的所有成分,或者说模块中所有成分结合起来是为了完成一个具体的任务,此模块则为功能内聚模块。5.在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的( )。

25、A) 连接码 B) 关系码C) 外码 D) 候选码(分数:2.00)A.B.C.D. 解析:解析 在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的候选码或候选键。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。6.检查软件产品是否符合需求定义的过程称为( )。A) 确认测试 B) 需求测试C) 验证测试 D) 路径测试(分数:2.00)A. B.C.D.解析:解析 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中确定的各种需求。7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标

26、识的图符不属于数据流图合法图符的是( )。A) 控制流 B) 加工C) 存储文什 D) 源和潭(分数:2.00)A. B.C.D.解析:解析 数据流图用于抽象描述一个软件的逻辑模型,它由一些特定的图符构成,包括 4 个方面,即加工、数据流、存储文件、源和潭。8.待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码 15 被放到第( )个位置。A) 2 B) 3 C) 4 D) 5(分数:2.00)A. B.C.D.解析:解析 选择排序的基本思想是扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩

27、下的子表采用同样的方法,直到子表为空。所以第一趟排序后,将选出最小的元素 9 放在第一个位置,元素 15 则放在第二个位置。9.对关系 S 和关系 R 进行集合运算,结果中既包含关系 S 中的所有元组也包含关系 R 中的所有元组,这样的集合运算称为( )。A) 并运算 B) 交运算C) 差运算 D) 除运算(分数:2.00)A. B.C.D.解析:解析 关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。10.下列选项中,不属于数据管理员(DBA) 职责的是( )。A) 数据库维护B) 数据库设计C) 改善系统性能,提高系统效率D) 数据类型转换(分数:

28、2.00)A.B.C.D. 解析:解析 数据库管理员(DataBaseAdministrator, DBA) 是指对数据库的规划、设计、维护、监视等的人员,其主要工作如下:数据库设计。DBA 的主要任务之一是数据库设计,具体地说是进行数据模式的设计。数据库维护。DBA 必须对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护。改善系统性能,提高系统效率。DBA 必须随时监视数据库的运行状态,不断调整内部结构,使系统保持最佳状态与效率。11.假定 MyClass 为一个类,则该类的拷贝构造函数的声明语句为( )。A) MyClass(MyClass x); B) My

29、Class(MyClassC) MyClass( D) MyClass(x);(分数:2.00)A.B. C.D.解析:解析 拷贝构造函数也是构造函数,所以函数名字为。MyClass,但它只有一个参数,这个参数是本类的对象,即 x;而且采用对象的引用的形式,也就是while(strj)j+;for(j-;iji+,j-);retun i_j;A) = B) | C) class Complexpublic:Complex(double r=0,double i=0):re(r),im(i) double real()constreturn re;double imag()const retur

30、n im;Complex operator+(Complex c)constreturnComplex(re+c.re,im+c.im);private:double re,ira;int main()Complex a =Complex(1,1)+Complex(5);couta.real()+a.imag()iend1;return ();A) 6+i B) 2i+5 C) 6+1i D) 1i+5(分数:2.00)A.B.C. D.解析:解析 由主函数入手,调用“Complex a=Complex(1,1)+Complex(5);”,实际是“Complex a=Complex(1,1)+

31、Complex(5,0);”,调用“returnComolex(re+c.re,im+c.im);”结果为:6+1i。14.有以下程序段:#includeiostream.h#define MAX(x,y) (x)(y)?(x):(y)void main()int i,j,k;i=10;j= 15; k=MAX(i,j)* 10;coutkend1;A) 15 B) 100 C) 150 D) 10(分数:2.00)A.B.C. D.解析:解析 题目程序中的 MAX 函数是利用条件运算符为?:求最大值。即(xy)?(x):(y)是当 x 大于 y时取 x,否则取 y。当 i=10,j=15 时

32、,“MAX(i,j)”的值为 15,所以“k=MAX(i,j)*10;”答案为:150。15.定义如下枚举类型: enumMonday,Tuesday, Wednesday,Thrusday, Friday=2;表达式Wednesda=Friday 的值是( )。A) false B) true C) 2 D) 异常(分数:2.00)A.B. C.D.解析:解析 enum枚举类型名枚举元素表:其中:关键词“enum”表示定义的是枚举类型,枚举类型名由标识符组成,而枚举元素表由枚举元素或枚举常量组成。本题中的枚举类型中的数据值Wednesday 为 2,而 Friday 的值赋值为 2,所以判断

33、Wednesday 等于 Friday 的表达式值为真,即true。16.以下程序运行后的输出结果是( )。#includeiostream.hvoid main()char a=“abbcabbcabbc“;int i =0,j=0,k=0;while(ai)if(ai=a)j+;if(ai=b)k+;i+;coutj“ “kend1;A) 2, 6 B) 3, 5. C) 4, 7 D) 3, 6(分数:2.00)A.B.C.D. 解析:解析 程序中首先定义字符数组 a,然后在 while 循环中统计字符 a 和 b 的个数。其中 i 记录 a的个数,k 记录 b 的个数。第一个 if 语

34、句是当第 i 个字符为 a 时,j 加 1;第二个 if 语句是当第 i 个字符为 b 时,k 加 1。17.假定 a=3, 下列程序的运行结果是( )。#includeiostream.hint fun(int n);void main()cout“Please input a number:“;int a,result =0;cina;result =fun(a);cout result end1;int fun(int n)int p= 1,result =0;for(int i=1 ;i=n;i+)p*=i;result +=p;return result;A) 4 B) 8 C) 9

35、 D) 20(分数:2.00)A.B.C. D.解析:解析 由程序 main 主函数入手,调用 fun 函数获得返回值:result 输出。题目中假定 a=3,即调用语句 fun(a)Ep 的输入参数为 a,进入 fun 函数,在 for 循环中当 i 小于等于 n,即输入参数 3 时,循环3 次执行“p*=i;result+=p;”语句。即执行三次 p=p*i,result=result+p,result 的结果为 9。返回的。fun 函数结果为 9,即“coutresultend1;”输出 9。18.下列关于指针的运算中,( )是非法的。A) 两个指针在一定条件下,可以进行相等或不等的比较

36、运算B) 可以将一个空指针赋值给某个指针C) 一个指针可以加上两个整数之差D) 两个指针在一定条件下可以相加(分数:2.00)A.B.C.D. 解析:解析 指针变量如果指向同一个数组的元素,则可以进行比较,所以 A)是正确的。指针变量的赋值就是将一个变量地址赋给一个指针变量。并且指针变量可以是空值,即该指针不指向任何变量。B)同样也是正确的。指针变量加/减一个整数是将该指针变量的原值(是一个地址)和它指向的变量所占用的内存单元字节数相加或相减。即 C)也是正确的。如果两个指针指向同一个数组元素,两个指针是可以相减的,标识两个指针之间的元素个数。但是它们是不可相加的。19.下面程序的输出结果为(

37、 )。#includeiostream.hvoid main()int x;int /变量引用y=99;cout“x=“xend1;A) x=99 B) x=9 C) x=0 D) 异常(分数:2.00)A. B.C.D.解析:解析 程序中的“int”语句中的“temp=a;a=b;b=temp;void main()int m,n;re=1;n=2;fun(m,n);eoutm“nend1;A) 12 B) 21C) 22 D) 程序有错误(分数:2.00)A. B.C.D.解析:解析 函数 fun 中定义的参数 a 和 b 为形式参数,它们并不是实际存在的数据,只有在发生函数调用时才被分配

38、内存空间,结束后,形参所占有的内存单元也被释放。并且函数 fun 没有返回值,它做的交换操作,并不能影向实际参数 m 和 n。所以输出值保持不变,仍然是 1 和 2,即输出:12。21.存在定义 inta10, x, *pa;, 若 pa= B) x=*(a+1);C) x=*(pa+1); D) x=a1;(分数:2.00)A. B.C.D.解析:解析 选项 B)、C)、D)都是获取 a(1)元素,而选项 A)是获取 a(0)的元素。22.对数组名作函数的参数,下面描述正确的是( )。A) 数组名作函数的参数,调用时将实参数组复制给形参数组B) 数组名作函数的参数,主调函数和被调函数共用一段

39、存储单元C) 数组名作参数时,形参定义的数组长度不能省略D) 数组名作参数,不能改变主调函数中的数据(分数:2.00)A.B. C.D.解析:解析 数组作为参数实参传递的是数组的首地址。所以主调函数和被调函数共用一段存储单元。23.关于静态成员的描述中,错误的是( )。A) 静态成员可分为静态数据成员和静态成员函数B) 静态数据成员定义后必须在类体内进行初始化C) 静态数据成员初始化不使用其构造函数D) 静态数据成员函数中不能直接引用非静态成员(分数:2.00)A.B.C. D.解析:解析 可以在类的构造函数中对静态数据成员进行初始化。24.下列关于构造函数的描述中,错误的是( )。A) 构造

40、函数可以设置默认的参数B) 构造函数在定义类对象时自动执行C) 构造函数可以是内联函数D) 构造函数不可以重载(分数:2.00)A.B.C.D. 解析:解析 在一个类中可以定义多个构造函数,以便对类对象提供不同的初始化的方法,供用户选用。这些构造函数具有相同的名字,而参数的个数或参数的类型不相同。25.有以下程序,输出结果( )。#include iostream.hvoid main()static int b3 = 1,2,3,4,5,6 ;b0 2=12,b121=18;cout *b“/t“*(b+1)“/t“*(b+ 1)“/t“* (* (b+ 1 )+2) “/n“;cout b

41、0 2+b12+b22 end1;(分数:2.00)A. B.C.D.解析:解析 本题 b 是一个 33 的二维数组:利用指针表示数组:*(*(数组名+i)+j)。*b 表示 b00元素,值是 1,*(b+1)表示是 b01的元素,值是 4。*(*(b+1)+2)表示 b-1-2的元素,值是 18,b02+b12+b22之和是 30。26.下列程序的输出结果是( )。#includeiostreamusing namespace std;void fun(int int main()int n=50;fun(n);coutnend1;return 0;A) 0 B) 20 C) 50 D) 1

42、00(分数:2.00)A.B.C.D. 解析:解析 题中主程序中首先定义整型变量 n=50,然后调用函数 fun,实际参数为 n。函数 fun 中参数为引用,为地址。即函数中形参的改变会影响实参的值,函数的功能是参数乘以 2。27.下列说法中错误的是( )。A) 公有继承时基类中的 public 成员在派生类中仍是 public 的B) 公有继承时基类中的 private 成员在派生类中仍是 private 的C) 私有继承时基类中的 public 成员在派生类中是 private 的D) 保护继承时基类中的 public 成员在派生类中是 protected 的(分数:2.00)A.B. C

43、.D.解析:解析 此题考查的是继承时基类成员属性改变。选项 B)中,公有继承时基类中的 private 成员在派生类中不是 Drivate 的,而是不可访问的。所以选项 B)错误;其他选项叙述均正确。28.多继承的构造顺序可分为如下四步:所有非虚基类的构造函数按照它们被继承的顺序构造所有虚基类的构造函数按照它们被继承的顺序构造所有子对象的构造函数按照它们声明的顺序构造派生类自己的构造函数体这四个步骤的正确顺序是( )。A) B) C) D) (分数:2.00)A.B.C. D.解析:解析 多继承派生类的构造顺序是:首先调用虚基类的构造函数,然后调用非虚基类的构造函数按照它们被继承的顺序构造,其

44、次调用子对象的构造函数,最后是派生类构造函数中的内容。29.下面关于构造函数和析构函数的描述中,错误的是( )。A) 析构函数可以声明为虚函数B) 对虚析构函数的调用可以采用动态联编C) 一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D) 构造函数可以声明为虚函数(分数:2.00)A.B.C.D. 解析:解析 析构函数可以声明为虚函数,但是构造函数不能声明为虚函数;类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响。30.设有以下定义和程序:#includeiostream.hclass A1public:void show 1()cout“ class A 1“e

45、nd1;class A2:public A1public:void show20cout“class A2“end1;class A3:protected A2public:void show3()cout“class A 1 “end1;void main()A1 obj1;A2 obj2;A3 obj3;则以下不合语法的调用语句是( )。A) obj1.show1(); B) obj2.show1();C) obj3.show1(); D) obj2.show2();(分数:2.00)A.B.C. D.解析:解析 由于 classA3:protectedA2,所以类 A3 的对象 obj3

46、 不能直接访问基类 A1 的成员函数show1(),所以选项 C) 是错误的;其他选项均有访问的权限,正确。31.下列关于运算符重载的描述中,正确的是( )。A) 运算符重载可以改变运算符的操作数的个数B) 运算符重载可以改变优先级C) 运算符重载可以改变结合性D) 运算符重载不可以改变语法结构(分数:2.00)A.B.C.D. 解析:解析 重载的运算符仍要保持其原来的操作数、优先级和结合性不变。32.下面程序的输出结果是( )。#includeiostream#include math.husing namespace std;class pointprivate:double x;doub

47、le y;public:point(double a, double b)x=a;y=b;friend double distances(point a,point b);double distances(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);coutdistances(p1 ,p2)end1;return 0;A) 2 B) 4 C) 8 D) 16(分数:2.00)A.B. C.D.解析:解析 分析题目,此题最终要实现的结果是 sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y),其中的 a.x 和 a.y 分别指 p1(1,2)中的 1 和 2。这样容易得到结果是(1-5)*(1-5)+(2-2)*(2-2)=16,再开方得到结果为 4。33.有以下程序:#includeiostreamusing namespace std;class Rpublic:R(int rl,int r2)R1=r1;R2=r2;void print();void print()const;private:int R1,R2;void R:print()coutR 1 “,“R2

展开阅读全文
相关资源
猜你喜欢
  • NF V03-610-1994 Starches native or modified Determination of total fat content 《天然或改性淀粉 脂肪总含量的测定》.pdf NF V03-610-1994 Starches native or modified Determination of total fat content 《天然或改性淀粉 脂肪总含量的测定》.pdf
  • NF V03-611-1995 Starches and derived products Determination of sulphated ash 《淀粉及其制品 硫酸盐灰分的测定》.pdf NF V03-611-1995 Starches and derived products Determination of sulphated ash 《淀粉及其制品 硫酸盐灰分的测定》.pdf
  • NF V03-612-1995 Starches and derived products Determination of chloride content Potentiometric method 《淀粉及其制品 氯化物含量测定 电位计法》.pdf NF V03-612-1995 Starches and derived products Determination of chloride content Potentiometric method 《淀粉及其制品 氯化物含量测定 电位计法》.pdf
  • NF V03-613-1994 Starches and derived products Determination of total phosphorus content Spectrophotometric method 《淀粉及其制品 磷总含量的测定 分光光度法》.pdf NF V03-613-1994 Starches and derived products Determination of total phosphorus content Spectrophotometric method 《淀粉及其制品 磷总含量的测定 分光光度法》.pdf
  • NF V03-614-1995 Modified starch Determination of acetyl content Enzymatic method 《改性淀粉 乙酰基含量的测定 酶催化法 》.pdf NF V03-614-1995 Modified starch Determination of acetyl content Enzymatic method 《改性淀粉 乙酰基含量的测定 酶催化法 》.pdf
  • NF V03-615-1996 Modified starch Determination of carboxyl group content of oxidized starch 《改性淀粉 氧化淀粉羧基含量的测定》.pdf NF V03-615-1996 Modified starch Determination of carboxyl group content of oxidized starch 《改性淀粉 氧化淀粉羧基含量的测定》.pdf
  • NF V03-616-1995 Starches and derived products Determination of sulfur dioxide content Acidimetric method 《淀粉及其制品 二氧化硫含量的测定 酸度计法》.pdf NF V03-616-1995 Starches and derived products Determination of sulfur dioxide content Acidimetric method 《淀粉及其制品 二氧化硫含量的测定 酸度计法》.pdf
  • NF V03-617-1-1997 Starch and derived products Heavy metals content Part 1  determination of arsenic content by atomic absorption spectrometry 《淀粉及其制品 重金属含量 第1部分 原子吸收光谱法测定砷含量(欧洲标准EN.pdf NF V03-617-1-1997 Starch and derived products Heavy metals content Part 1 determination of arsenic content by atomic absorption spectrometry 《淀粉及其制品 重金属含量 第1部分 原子吸收光谱法测定砷含量(欧洲标准EN.pdf
  • NF V03-617-2-1997 Starch and derived products Heavy metals content Part 2  determination of mercury content by atomic absorption spectrometry 《淀粉及其制品 重金属含量 第1部分 原子吸收光谱法测定汞含量(欧洲标准EN.pdf NF V03-617-2-1997 Starch and derived products Heavy metals content Part 2 determination of mercury content by atomic absorption spectrometry 《淀粉及其制品 重金属含量 第1部分 原子吸收光谱法测定汞含量(欧洲标准EN.pdf
  • 相关搜索

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

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