【计算机类职业资格】国家二级(C++)机试-试卷28及答案解析.doc

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

1、国家二级(C+)机试-试卷 28 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式2.有如下程序: #include using namespace std; int i=1; class Fun public: static int i; int value() retu

2、rn i-1; int value()const return i+1; ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是( )。(分数:2.00)A.coutfun1.value()Fun:ifun2.value();B.coutFun:ifun1.value()fun2.value();C.coutfun1.value()fun2.value()Fun:i;D.coutfun2.value()Fun:ifun1.value();3.算法的空

3、间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数4.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(分数:2.00)A.内联函数B.重载函数C.递归函数D.函数模板5.有如下程序: #include using namespace std; class TV public: TV(int s=41):size(s) void Print() cout/N/C/SA./N41/C54B./N41/S54C./C41/N54D./C41/C546.下面描述

4、中错误的是( )。(分数:2.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.下列函数原型声明中,错误的是(分数:2.00)A.intfunction(int,int);B.intfunction(int=3,int=0);C.intfunction(intm=3,intn);D.intfunction(int8.有如下类定义: class Point public: void SetX(int xx) x=xx; protected: void SetY(int y

5、y) y=yy; private: int x,y; ; class Circle:Point public: int GetRadius() return radius; private: void SetRadius(int r) radius=r; int radius; ;派生类 Circle 中不可访问成员的个数为(分数:2.00)A.2B.3C.4D.69.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的(分数:2.00)A.记录B.行C.属性D.元组10.用于定义类的必不可少的 C+关键字是(分数:2.00)A.autoB.returnC

6、.classD.public11.有如下类声明和函数声明 class Base int m; public: int n; protected: int p; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f 中通过 d 可访问的数据成员包括(分数:2.00)A.nB.n 和 kC.n、k 和 pD.n、k、p 和 m12.在下列选项中,不允许作为 C+标识符的是(分数:2.00)A.999aB._C.TD.mmm13.ClassA 是一个类,现在执行下面语句:ClassA a2,*b2,*c = n

7、ew ClassA;调用 ClassA 类的构造函数的次数是(分数:2.00)A.1B.2C.3D.514.下列关于模板的表述中,正确的是(分数:2.00)A.如果一个类中存在纯虚函数,这个类就是类模板B.函数模板不能带有形式参数表C.类模板带有模板形参表D.类模板中不能包含构造函数15.if 语句的语法格式可描述为: 格式 1:if() 或 格式 2:if() else 关于上面的语法格式,下列表述中错误的是( )。(分数:2.00)A.部分可以是一个 if 语句,例如 if(if(a=0)B.部分可以是一个 if 语句,例如 if()if()C.如果在前加上逻辑非运算符!并交换和的位置,语

8、句功能不变D.部分可以是一个循环语句,例如 if()while()16.以下关键字与类的访问权限无关的是(分数:2.00)A.friendB.constC.constD.private17.深度为的完全二叉树中共有 125 个结点,则该完全二叉树中的叶子结点数为(分数:2.00)A.62B.63C.64D.6518.有如下程序: #include using namespace std; void fun(int i) cout“int i / “; void fun(char c) cout“char c / “; int main() fun(0); fun(c); return 0; 运

9、行后的输出结果是(分数:2.00)A.inti/inti/B.inti/charc/C.charc/inti/D.charc/charc/19.若 MyTemp 是一个只有一个虚拟类型参数的类模板,且有如下语句序列 MyTemp p1; MyTemp p2; MyTemp p34; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp 的实例的个数是(分数:2.00)A.1B.2C.3D.620.为了取代 C 中带参数的宏,在 C+中使用( )。(分数:2.00)A.重载函数B.内联函数C.递归函数D.友元函数21.有如下程序: #include using namespace std;

10、 class Point public: static int number; public: Point() number+; Point() number-; ; int Point:number=0; int main() Point *ptr; Point A, B; Point* ptr_point=new Point3; ptr=ptr_point; Point C; coutPoint:numberA.3B.4C.6D.722.层次型、网状型和关系型数据库划分原则是( )。(分数:2.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式23.下列有关类成员的叙

11、述中,正确的是(分数:2.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员24.若磁盘上已存在某个文本文件,其全路径文件名为 d:/ncre/test.txt,下列语句中不能打开该文件的是(分数:2.00)A.ifstreamfile(“d:/ncre/test.txt“);B.ifstreamfile(“d:/ncre/test.txt“);C.ifstreamfile;file.open(“d:/ncre/test.txt“);D.ifstream*pFile=newifstream(“d:/ncre/test.

12、txt“);25.若已经定义了如下的函数: int f(int i,char c);则下列函数中可以作为此函数的重载函数的是(分数:2.00)A.intf(inti,charc,charb=?);B.intf(intj,charb);C.charf(charc,inti);D.charf(inti,charc);26.有如下程序: #include #include using namespace std; class Wheel public: Wheel(string s=“W“):name(s) coutA.GB.RGC.WRGD.RWG27.下面不属于软件需求分析阶段主要工作的是(分数

13、:2.00)A.需求变更申请B.需求分析C.需求评审D.需求获取28.有如下类声明: class Wd int a; public: int b; int c; private: int d; protected: int e; ;其中访问权限为私有的成员变量有(分数:2.00)A.a 和 bB.b 和 cC.a 和 dD.d 和 e29.在下列标识符中,不属于文件流类的标识符是(分数:2.00)A.ifstreamB.ofstreamC.fstreamD.operator30.有如下类定义:class Number private: static int num; ;要初始化 Number

14、类的静态成员 num,应当在后面加上语句:(分数:2.00)A.intnum=0;B.staticintnum=0;C.intNumber:num=0;D.staticintNumber:num=0;31.在 C+语言系统中,用于输出数据所使用的标识符 cout 是(分数:2.00)A.类名B.对象名C.函数名D.文件名32.字符串“8+a=/tb/n/r“的长度为(分数:2.00)A.11B.7C.9D.833.有如下类定义:class Point int xx, yy;public:Point() : xx(0), yy(0) Point(int x, int y =0) : xx(x),

15、 yy(y) ;若执行语句 Point a(2), b3, *c4;则 Point 类的构造函数被调用的次数是( )。(分数:2.00)A.2 次B.3 次C.4 次D.5 次34.数据库应用系统中的核心问题是( )。(分数:2.00)A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训35.如果派生类以 protected 方式继承基类,则原基类的 protected 成员和 public 成员在派生类中的访问属性分别是( )。(分数:2.00)A.public 和 publicB.public 和 protectedC.protected 和 publicD.protecte

16、d 和 protected36.下列关于栈叙述正确的是( )。(分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对37.已知函数 func 的原型为 int func(int,int);下列重载函数原型中错误的是(分数:2.00)A.charfunc(int,int);B.boolfunc(int,int,bool);C.intfunc(int,char*);D.floatfunc(int,int,int);38.有如下程序 #include #include using namespace std; int mai

17、n( ) coutsetprecision(3)fixedsetfill(*)12.345_A.setprecision(3)B.fixedC.setfill(*)D.setw(8)39.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if (n = 0) return 1; else if (n = 1) return 2; else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(4),函数 fib 被调用的次数是(分数:2.00)A.6B.7C.8D.940.有如下函数模板: template T square(T x) ret

18、urn x * x; 其中的 T 是(分数:2.00)A.函数形参B.函数实参C.模板形参D.模板实参二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 pmj1 下的工程 proj1,此工程中包含程序文件mainepp,其中有 ElectricFan(“电风扇”)类和主函数 main 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:品牌:清风牌,电源:关,风速:0 品牌:清风牌,电源:开,风速:3 品牌:清风牌,电源:关,风速:0 注意:只修改每个“ERROR*found*”下的那一

19、行,不要改动程序中的其他内容。#includeioStreamusingnamespacestd;classElectricFan“电扇”类char*brand;intintensity;风速:0-关机,1-弱,2-中,3-强public:ElectricFan(constchar*thebrand):intensity(0)brand=newcharstrlen(thebrand)+1;strcpy(brand,the_brand);ElectricFan()fdeletebrand;ERROR*found*constchar*theBrand()constreturn*brand;)返回电

20、扇品牌inttheIntensity()const(returnintensity;返回风速 boolisOn()constreturnintensity0;返回电源开关状态ERROR*found*voidturnOff()intensity=1;关电扇voidsetIntensity(intinten)开电扇并设置风速ERROR*found*if(intensity=1 int i=1; class Fun public: static int i; int value() return i-1; int value()const return i+1; ; int Fun:i=2; int

21、 main() int i=3; Fun fun1; const Fun fun2; return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是( )。(分数:2.00)A.coutfun1.value()Fun:ifun2.value(); B.coutFun:ifun1.value()fun2.value();C.coutfun1.value()fun2.value()Fun:i;D.coutfun2.value()Fun:ifun1.value();解析:解析:本题考查构造函数、常成员函数和静态数据成员。外部同名的变量赋值,不能改变类的静态变量值,所以 Fun 对象里

22、的 i 值为 2,所以本题答案为 A。3.算法的空间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择 A)。4.为了提高函数调用的实际运行速度,可以将较简单的函数定义为( )。(分数:2.00)A.内联函数 B.重载函数C.递归函数D.函数模板解析:解析:一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,一般只将规

23、模很小而使用频繁的函数声明为内联函数,可以避免函数调用时间开销,从而提高运行速度。5.有如下程序: #include using namespace std; class TV public: TV(int s=41):size(s) void Print() cout/N/C/SA./N41/C54 B./N41/S54C./C41/N54D./C41/C54解析:解析:本题考查构造函数相关知识,本题中定义一个对象 room1,执行 room1.Print 时执行构造函数给 size 赋值为 41,然后执行 voidPrint()cout/N6.下面描述中错误的是( )。(分数:2.00)A

24、.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具解析:解析:详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以 A)错误。7.下列函数原型声明中,错误的是(分数:2.00)A.intfunction(int,int);B.intfunction(int=3,int=0);C.intfunction(intm=3,intn); D.intfunction(int解析:解析:在函数原型中指定默认参

25、数值时,如果函数中有多个参数,则默认参数应从右至左定义,否则就是无效的,故本题选 C。8.有如下类定义: class Point public: void SetX(int xx) x=xx; protected: void SetY(int yy) y=yy; private: int x,y; ; class Circle:Point public: int GetRadius() return radius; private: void SetRadius(int r) radius=r; int radius; ;派生类 Circle 中不可访问成员的个数为(分数:2.00)A.2 B

26、.3C.4D.6解析:解析:本题考查派生类对基类成员的访问属性,派生类无论何种继承,派生类的成员函数都不能访问基类的私有成员,所以 Circle 不可访问的个数有 2 个,A 选项正确。9.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的(分数:2.00)A.记录B.行C.属性 D.元组解析:解析:自然连接是一种特殊的等值连接,它满足下面的条件:两关系间有公共域;通过公共域的等值进行连接,选 C。10.用于定义类的必不可少的 C+关键字是(分数:2.00)A.autoB.returnC.class D.public解析:解析:本题定义类的基础知识,定义

27、类时使用的关键字为 class,所以 C 选项正确。11.有如下类声明和函数声明 class Base int m; public: int n; protected: int p; ; class Derived: public Base public: int k; ; void f(Derived d); 则在函数 f 中通过 d 可访问的数据成员包括(分数:2.00)A.nB.n 和 k C.n、k 和 pD.n、k、p 和 m解析:解析:公有继承中,基类成员保持自己的访问级别(private 成员除外),基类的 public 成员在派生类中是 public 成员,基类的 protec

28、ted 成员在派生类中是 protected 成员;所以程序中 Derived 类的 public 成员有:n、k,protected 成员有:p,m 对 Derived 不可见,所以 Derived 对象 d 可访问的成员有:n、k,protected 成员不可见;答案为 B。12.在下列选项中,不允许作为 C+标识符的是(分数:2.00)A.999a B._C.TD.mmm解析:解析:C+的标识符由字母、数字和下划线组成,其中必须以字母或下划线开头。A 选项错误;答案为 A。13.ClassA 是一个类,现在执行下面语句:ClassA a2,*b2,*c = new ClassA;调用 C

29、lassA 类的构造函数的次数是(分数:2.00)A.1B.2C.3 D.5解析:解析:创建对象数组时,需要用默认构造函数初始化每个元素,所以 ClassAa2需要调用 2 次构造函数;创建对象指针数组 b,数组 b 的元素是对象指针,没有生成新的对象,不需要调用构造函数;创建对象指针 c,并使用动态分配方式创建新的对象,将新对象的指针赋给 c,需要调用构造函数;综上所述,答案为 C。14.下列关于模板的表述中,正确的是(分数:2.00)A.如果一个类中存在纯虚函数,这个类就是类模板B.函数模板不能带有形式参数表C.类模板带有模板形参表 D.类模板中不能包含构造函数解析:解析:存在纯虚函数的类

30、是抽象基类,选项 A 错误;函数模板的形参表不能为空,不然定义函数模板也没有意义,选项 B 错误;类模板中是可以包含构造函数的,选项 D 错误。答案为 C。15.if 语句的语法格式可描述为: 格式 1:if() 或 格式 2:if() else 关于上面的语法格式,下列表述中错误的是( )。(分数:2.00)A.部分可以是一个 if 语句,例如 if(if(a=0) B.部分可以是一个 if 语句,例如 if()if()C.如果在前加上逻辑非运算符!并交换和的位置,语句功能不变D.部分可以是一个循环语句,例如 if()while()解析:解析:本题考查 if 语句,if 语句的条件部分不能嵌

31、套 if 语句,所以 A 选项错误;B 选项就是 if语句嵌套;C 选项其实就是将判断条件颠倒,然后执行语句也颠倒,所以效果一样;D 选项也正确。16.以下关键字与类的访问权限无关的是(分数:2.00)A.friendB.const C.constD.private解析:解析:C+中,关键字 public、protected、private 用来声明类的访问权限,另外 friend 关键字可以用来声明友元,同样可以控制类的访问权限;const 用来修饰常量性,与类的访问权限无关,答案为B。17.深度为的完全二叉树中共有 125 个结点,则该完全二叉树中的叶子结点数为(分数:2.00)A.62B

32、.63 C.64D.65解析:解析:在树结构中,定义一棵树的根结点所在的层次为,其他结点所在的层次等于它的父结点所在的层次加,树的最大层次称为树的深度。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。深度为 6 的满二叉树,结点个数为 26-1=63,则第 7 层共有125-63=62 个叶子结点,分别挂在第 6 层的左边 62 个结点上,加上第 6 层的最后 1 个叶子结点,该完全二叉树共有 63 个叶子结点,故 B 选项正确。18.有如下程序: #include using namespace std; void fun(int i) cout“i

33、nt i / “; void fun(char c) cout“char c / “; int main() fun(0); fun(c); return 0; 运行后的输出结果是(分数:2.00)A.inti/inti/B.inti/charc/ C.charc/inti/D.charc/charc/解析:解析:程序有两个重载 fun 函数,函数原型分别为 fun(int)、fun(char);main 函数中调用 fun(0),由于 0 可以精确匹配原型为 fun(int)的函数,所以 fun(0)将选择原型为 fun(int)的函数,输出 inti/;同理 fun(c)精确匹配原型为 f

34、un(char)的函数,输出 charc/,程序最终输出结果为:inti/charc/;答案为 B。19.若 MyTemp 是一个只有一个虚拟类型参数的类模板,且有如下语句序列 MyTemp p1; MyTemp p2; MyTemp p34; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp 的实例的个数是(分数:2.00)A.1B.2C.3 D.6解析:解析:题目中使用 MyTemp 类模板定义了三种类型的类对象,所以生成的模板 MyTemp 实例有 3 个,答案为 C。20.为了取代 C 中带参数的宏,在 C+中使用( )。(分数:2.00)A.重载函数B.内联函数 C.递归函

35、数D.友元函数解析:解析:一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,即类似于宏。21.有如下程序: #include using namespace std; class Point public: static int number; public: Point() number+; Point() number-; ; int Point:number=0; int main() Point *ptr; Point A, B; Point* ptr_point=new Point3; ptr=ptr

36、_point; Point C; coutPoint:numberA.3B.4C.6 D.7解析:解析:本题考查默认构造函数,题目中定义一个对象 A、B 以及对象数组 Point3,又定义了对象 C,共执行 6 次构造函数,number 变为了 6,所以本题答案为 C。22.层次型、网状型和关系型数据库划分原则是( )。(分数:2.00)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式 解析:解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。23.下列有关类成员的叙述中,正确的是

37、(分数:2.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的 C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员解析:解析:友元函数不是类的成员函数,但是可以具有类的成员的一些访问权限,类的成员访问权限默认是私有的,类的成员函数可以声明为私有,类的静态数据成员可以是常成员。24.若磁盘上已存在某个文本文件,其全路径文件名为 d:/ncre/test.txt,下列语句中不能打开该文件的是(分数:2.00)A.ifstreamfile(“d:/ncre/test.txt“); B.ifstreamfile(“d:/ncre/test.txt“);C.ifstreamfi

38、le;file.open(“d:/ncre/test.txt“);D.ifstream*pFile=newifstream(“d:/ncre/test.txt“);解析:解析:本题考查文件流的一些操作,根据文件打开的相关知识,A 选项中不能正确打开该文件。25.若已经定义了如下的函数: int f(int i,char c);则下列函数中可以作为此函数的重载函数的是(分数:2.00)A.intf(inti,charc,charb=?);B.intf(intj,charb);C.charf(charc,inti); D.charf(inti,charc);解析:解析:本题考查函数重载相关知识,重

39、载函数是函数的一种特殊情况,为方便使用,C+允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。A 选项的形参有三个,且前两个形参与题目中的函数相同,B、D 选项参数个数和类型都与题目中相同,所以不能作为重载函数。C 选项总函数的参数类型与题目中不同,所以可以作为重载函数。26.有如下程序: #include #include using namespace std; class Wheel public: Wheel(string s=“W“):name(s) coutA.GB.RGC.WRG

40、 D.RWG解析:解析:定义 Bicyclebike 时,执行 Wheel 的构造函数输出 W,然后执行 Bicycle 的构造函数输出RG,最终输出 WRG,选项 C 正确。27.下面不属于软件需求分析阶段主要工作的是(分数:2.00)A.需求变更申请 B.需求分析C.需求评审D.需求获取解析:解析:需求分析阶段的工作可概括为个方面:需求获取。需求分析。编写需求规格说明书。需求审评。28.有如下类声明: class Wd int a; public: int b; int c; private: int d; protected: int e; ;其中访问权限为私有的成员变量有(分数:2.0

41、0)A.a 和 bB.b 和 cC.a 和 d D.d 和 e解析:解析:本题考查类成员的访问控制,如果没有显式声明成员访问性质,则默认为私有,所以本题中a 和 d 都为类的私有成员。29.在下列标识符中,不属于文件流类的标识符是(分数:2.00)A.ifstreamB.ofstreamC.fstreamD.operator 解析:解析:文件流类的标识符由:输入文件流类 ifstream、输出文件流类 ofstream 和输入输出文件流类 fstream;operator 是重载运算符的标识符,答案为 D。30.有如下类定义:class Number private: static int n

42、um; ;要初始化 Number 类的静态成员 num,应当在后面加上语句:(分数:2.00)A.intnum=0;B.staticintnum=0;C.intNumber:num=0; D.staticintNumber:num=0;解析:解析:静态数据成员必须在类定义体的外部定义,和任意的类成员一样,在类定义体外部引用类的静态数据成员时,需要指定成员的所属类,并且 static 关键字只能用于类定义体内部的声明中,在外部定义时不能标示 static。因此,答案为 C。31.在 C+语言系统中,用于输出数据所使用的标识符 cout 是(分数:2.00)A.类名B.对象名 C.函数名D.文件名

43、解析:解析:cout 是 C+预定义的标准输出流对象,答案为 B。32.字符串“8+a=/tb/n/r“的长度为(分数:2.00)A.11B.7C.9D.8 解析:解析:字符串中,/t、/n、/r 均为一个字符,即转义字符,答案为 D。33.有如下类定义:class Point int xx, yy;public:Point() : xx(0), yy(0) Point(int x, int y =0) : xx(x), yy(y) ;若执行语句 Point a(2), b3, *c4;则 Point 类的构造函数被调用的次数是( )。(分数:2.00)A.2 次B.3 次C.4 次 D.5

44、次解析:解析:本题考查默认构造函数和带参数的构造函数,题目中定义一个对象 a(2)以及对象数组b3,共执行 4 次构造函数,对象指针不调用构造函数。所以本题答案为 C。34.数据库应用系统中的核心问题是( )。(分数:2.00)A.数据库设计 B.数据库系统设计C.数据库维护D.数据库管理员培训解析:解析:数据库应用系统中的核心问题是数据库的设计。35.如果派生类以 protected 方式继承基类,则原基类的 protected 成员和 public 成员在派生类中的访问属性分别是( )。(分数:2.00)A.public 和 publicB.public 和 protectedC.prot

45、ected 和 publicD.protected 和 protected 解析:解析:本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,所以本题答案为 D。36.下列关于栈叙述正确的是( )。(分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对 解析:解析:算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A)错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。37.已知函数 func 的

46、原型为 int func(int,int);下列重载函数原型中错误的是(分数:2.00)A.charfunc(int,int); B.boolfunc(int,int,bool);C.intfunc(int,char*);D.floatfunc(int,int,int);解析:解析:本题考查函数重载相关知识,重载函数是函数的一种特殊情况,为方便使用,C+允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。A 选项的形参都与原函数相同,所以不能作为重载函数。38.有如下程序 #include #i

47、nclude using namespace std; int main( ) coutsetprecision(3)fixedsetfill(*)12.345_A.setprecision(3)B.fixedC.setfill(*)D.setw(8) 解析:解析:本题考查输入输出格式的控制,可以看出*12.345 和*34.567 字段宽度都为 8,所以遗漏处为 setw(8),D 选项正确。39.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if (n = 0) return 1; else if (n = 1) return 2; else return fi

48、b(n-1)+fib(n-2); 若执行函数调用表达式 fib(4),函数 fib 被调用的次数是(分数:2.00)A.6B.7C.8D.9 解析:解析:本题考查函数的递归,即递归函数,fib(4)=fib(3)+fib(2)=fib(2)+fib(1)+fib(1)+fib(0)=fib(1)+fib(1)+fib(1)+fib(1)+fib(0),一共执行 fib(4)、fib(3)、fib(2)、fib(2)、fib(1)、fib(1)、fib(0)、fib(1)、fib(1)九次,所以 D 选项正确。40.有如下函数模板: template T square(T x) return x * x; 其中的 T 是(分数:2.00)A.函数形参B.函数实参C.模板形参 D.模板实参解析:解析:本题考查模板的相关知识,属于基础知识,可知 T 为模

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

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

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