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

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

1、二级 C+笔试-371 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.设有以下说明和定义:#includeiostream. hVoid main() typedef unionlong i; int k5; char c;DATE;struct dateint cat; DATE cow; double dog; too;DATE max;cout(sizeof(struct date)+sizeof(max)end1;(分数:2.00)A.26B.52C.18D.82.有如下定义语句:int a=1,2,3,4,5);,则对语句 in

2、t *p=a;正确的描述是( )。(分数:2.00)A.语句 int *p=a;定义不正确B.语句 int *p=a;初始化变量 p,使其指向数组对象 a 的第一个元素C.语句 int *p=a;是把 a0的值赋给变量 pD.语句 int *p=a;是把 a1的值赋给变量 p3.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计4.模板是实现类属机制的一种工具,其功能非常强大,它允许用户构造类属类,即( )。(分数:2.00)A.模板函数B.函数模板C.模板类D.类模板5.如果类 A 被说明成类 B 的友元,则( )。(分数:

3、2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成员C.类 A 的成员函数不得访问类 B 的成员D.类 A 的成员函数可以访问类 B 的成员6.关于数据库系统三级模式的说法,下列( )是正确的。(分数:2.00)A.外模式、概念模式、内模式都只有一个B.外模式有多个,概念模式和内模式只有一个C.外模式只有一个,概念模式和内模式有多个D.3 个模式中,只有概念模式才是真正存在的7.在下面叙述中,不正确的是( )。(分数:2.00)A.一个类的所有对象都有各自的数据成员,它们共享函数成员B.一个类中可以有多个同名的成员函数C.一个类中可以有多个构造函数、多个析构函数D.在

4、一个类中可以声明另一个类的对象作为它的数据成员8.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则( )。(分数:2.00)A.完全相同B.完全不同C.部分相同,部分不同D.以上都不对9.关于在调用模板函数时模板实参的使用,下列表述正确的是( )。(分数:2.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略10.下列叙述中

5、正确的是( )。(分数:2.00)A.黑箱(盒)测试方法完全不考虑程序的内部结构和内部特征B.黑箱(盒)测试方法主要考虑程序的内部结构和内部特征C.白箱(盒)测试不考虑程序内部的逻辑结构D.上述三种说法都不对11.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程12.下列关于 C+函数的叙述中,正确的是( )。(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己13.以下关键字不能用来声明类

6、的访问权限的是( )。(分数:2.00)A.publicB.staticC.protectedD.private14.下列对派生类的表述中,错误的是( )。(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的缺省继承方式是 privateD.派生类只继承了基类的公有成员和保护成员15.下列对于虚函数和重载函数的叙述,正确的是( )。(分数:2.00)A.虚函数要求函数名、返回值类型和参数序列完全相同B.重载函数要求函数有相同的返回值类型和函数名称,并有不同的参数序列C.虚函数是根据对象的不同去调用不同类的虚函数D.虚函数和重载函数都是在运行时表现出多态

7、功能16.算法具有五个特性,以下选项中不属于算法特性的是( )。(分数:2.00)A.有穷性B.简洁性C.确定性D.输入输出性17.具有 3 个结点的二叉树有( )。(分数:2.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态18.带有基类的多层派生类构造函数的成员初始化列表中都要排出虚基类的构造函数,这样将对虚基类的子对象初始( )。(分数:2.00)A.与虚基类下面的派生类个数有关B.多次C.二次D.一次19.在下列选项中,没有构成死循环的程序是( )。(分数:2.00)A.int i=100;while(1)i=i%100+1;if(i100)break;B.for(;);

8、C.int k=1000; do+k while (k=1000);D.int s=36;while(s);-s;20.有如下程序:#include iostreamusing namespace std;class AAint n;public:AA(int k):n(k) int get()return n; int get()constreturn n+1;int main()AA a(5);const AA b(6);cout(分数:2.00)A.get()B.get();return 0;执行后的输出结果是( )。A. 55B. 57C. 75D. 7721.有如下程序#includ

9、e iostream#include iomanipusing namespace std;int main( )coutsetprecision(3)fixedsetfill(*)setw(8);cout12.345_34.567;return 0;若程序的输出是:*12.345*34.567则程序中下划线处遗漏的操作符是( )。(分数:2.00)A.setprecision(3)B.fixedC.setfill(*)D.setw(8)22.下面程序的运行结果为( )。#includeiostream.hvoid swap (int temp=a+;a=b;b=temp;void main(

10、)int a=2,b=3;swap(a, b);couta“,“bend1;(分数:2.00)A.2,3B.3,2C.2,2D.3,323.下列关于运算符重载的描述中,正确的是( )。(分数:2.00)A.运算符重载可以改变运算符的操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构24.有如下程序:#include iostream#include iomanipusing namespace std;int main()cout.fill(*);cout.width(6);cout.fill(#);cout123end1;return 0;执

11、行生的输出结果是( )。(分数:2.00)A.#123B.123#C.*123D.123*25.下列运算符不能重载为友元函数的是( )。(分数:2.00)A. () -B.+ - + -C. D.+ - * /26.以下不使用线性结构表示实体之间联系的模型的是( )。(分数:2.00)A.线性表B.栈和队列C.二叉树D.以上三个都不是27.( )复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。(分数:2.00)A.详细设计B.系统设计C.正式D.非正式28.以下四种说法中,正确的一项是( )。(分数:2.00)A.C+允许在字符串上进行整体操作B.语句:char vn=“Brown

12、“;将 vn 定义成一个有 5 个元素的数组,因为“Brown“中含有 5 个字符C.对指针只要赋给一个地址值就可以了D.一维的指针数组实际上是一个二维数组29.下面关于 this 指针的说法中,不正确的是( )。(分数:2.00)A.当调用类的成员函数时,指针 this 被自动传递给该成员函数B.当调用类的成员函数时,指针 this 实际上指向了该类的一个对象C.友元函数也可以被传递指针 thisD.在缺省状态下,所有的成员函数都自动传递一个指针给激活它的对象30.下列关于顺序存储结构叙述中错误的是( )。(分数:2.00)A.存储密度大B.逻辑上相邻的结点物理上不必邻C.可以通过计算直接确

13、定第 i 个结点的存储地址D.插入、删除运算操作不方便31.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率32.下面的描述中,正确的是( )。(分数:2.00)A.virtual 可以用来声明虚函数B.含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类C.即使基类的构造函数没有参数,派生类也必须建立构造函数D.静态数据成员可以通过成员初始化列表来初始化33.

14、有如下函数模板定义:templateclass TT func(T x, T y)return x*x+y*y;在下列对 func 的调用中,错误的是( )。(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5)D.funcint(3,5.5);34.下列字符串中,正确的 C+标识符是( )。(分数:2.00)A.foo-1B.2bC.newD._25635.一个类的友元函数或友元类能够通过成员操作符访问该类的( )。(分数:2.00)A.私有成员B.保护成员C.公有成员D.公用成员、保护成员和私有成员二、填空题(总题数:15,分数:30.00)3

15、6.在数据库的概念结构设计中,常用的描述工具是 【1】 。(分数:2.00)填空项 1:_37.数据库系统中实现各种数据管理功能的核心软件称为 【2】 。(分数:2.00)填空项 1:_38.数组是有序数据的集合,数组中的每个元素具有相同的 【3】 。(分数:2.00)填空项 1:_39.按照逻辑结构分类,数据结构可分为线性结构和非线性结构,栈属于 【4】 。(分数:2.00)填空项 1:_40.在程序设计阶段应该采取 【5】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_41.下面程序的输出结果为 【6】

16、。#include iostreamusing namespace std;void initialize(int printNo, int state=0);void initialize(iht printNo= 1,int state);int main()initialize();return 0;void initialize(int printNo, int state)coutprintNo“,“stateend1;(分数:2.00)填空项 1:_42.语句 coutsetiosflags(ios:showpos)38“-38end1;的输出结果为 【7】 。(分数:2.00)填

17、空项 1:_43.友元类的所有成员函数都是另一个类的 【8】 函数。(分数:2.00)填空项 1:_44.虚函数必须是类的 【9】 。(分数:2.00)填空项 1:_45.类 ostream 的成员函数 【10】 用于执行无格式输出,成员函数 put 用于输出单个字符。(分数:2.00)填空项 1:_46.C+本身没有定义 I/O 操作,但 I/O 操作包含在 C+实现中。C+标准库 iostream 提供了基本的 I/O 类。I/O 操作分别由类 istream 和 【11】 提供。(分数:2.00)填空项 1:_47.阅读下面程序:#include iostream.hint fun2(i

18、nt m)if(m%3=0)return 1;elsereturn 0;void fun1(int m, int for (i=1; im; i+)if(fun2(i)S=S*i;void main()int n=9, s=2;fun1(n, s);coutsend1;该程序的运行结果是 【12】 。(分数:2.00)填空项 1:_48.有如下程序:#include iostreamusing namespace std;class PARENTpublic:PARENT() cout“PARENT“; ;class SON: public PARENTpublic:SON() cout“SO

19、N“; ;int main()SON son;PARENT *p;p=return 0;执行上面程序的输出是 【13】 。(分数:2.00)填空项 1:_49.虚基类说明格式如下:slass 派生类名 【14】 继承方式基类名。(分数:2.00)填空项 1:_50.下面程序的执行结果是 【15】 。#include iostream.hvoid main()int n=0,x=0;don+;if(n%3=2while(x!=1);cout“n=“nend1;(分数:2.00)填空项 1:_二级 C+笔试-371 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数

20、:70.00)1.设有以下说明和定义:#includeiostream. hVoid main() typedef unionlong i; int k5; char c;DATE;struct dateint cat; DATE cow; double dog; too;DATE max;cout(sizeof(struct date)+sizeof(max)end1;(分数:2.00)A.26B.52 C.18D.8解析:2.有如下定义语句:int a=1,2,3,4,5);,则对语句 int *p=a;正确的描述是( )。(分数:2.00)A.语句 int *p=a;定义不正确B.语句

21、int *p=a;初始化变量 p,使其指向数组对象 a 的第一个元素 C.语句 int *p=a;是把 a0的值赋给变量 pD.语句 int *p=a;是把 a1的值赋给变量 p解析:3.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护 D.详细设计解析:4.模板是实现类属机制的一种工具,其功能非常强大,它允许用户构造类属类,即( )。(分数:2.00)A.模板函数B.函数模板C.模板类 D.类模板解析:5.如果类 A 被说明成类 B 的友元,则( )。(分数:2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成

22、员C.类 A 的成员函数不得访问类 B 的成员D.类 A 的成员函数可以访问类 B 的成员 解析:6.关于数据库系统三级模式的说法,下列( )是正确的。(分数:2.00)A.外模式、概念模式、内模式都只有一个B.外模式有多个,概念模式和内模式只有一个 C.外模式只有一个,概念模式和内模式有多个D.3 个模式中,只有概念模式才是真正存在的解析:7.在下面叙述中,不正确的是( )。(分数:2.00)A.一个类的所有对象都有各自的数据成员,它们共享函数成员B.一个类中可以有多个同名的成员函数C.一个类中可以有多个构造函数、多个析构函数 D.在一个类中可以声明另一个类的对象作为它的数据成员解析:8.在

23、多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则( )。(分数:2.00)A.完全相同 B.完全不同C.部分相同,部分不同D.以上都不对解析:9.关于在调用模板函数时模板实参的使用,下列表述正确的是( )。(分数:2.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模板实参,任何情况下都不能省略 解析:10.下列叙述中正确的是( )。(分数:2.00)A

24、.黑箱(盒)测试方法完全不考虑程序的内部结构和内部特征 B.黑箱(盒)测试方法主要考虑程序的内部结构和内部特征C.白箱(盒)测试不考虑程序内部的逻辑结构D.上述三种说法都不对解析:11.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指( )。(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描述 C.软件层次结构D.软件开发过程解析:12.下列关于 C+函数的叙述中,正确的是( )。(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明 D.函数不能自己调用自己解析:13.以下关键字不能用来声明类的访问权限的

25、是( )。(分数:2.00)A.publicB.static C.protectedD.private解析:14.下列对派生类的表述中,错误的是( )。(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的缺省继承方式是 privateD.派生类只继承了基类的公有成员和保护成员 解析:15.下列对于虚函数和重载函数的叙述,正确的是( )。(分数:2.00)A.虚函数要求函数名、返回值类型和参数序列完全相同B.重载函数要求函数有相同的返回值类型和函数名称,并有不同的参数序列C.虚函数是根据对象的不同去调用不同类的虚函数D.虚函数和重载函数都是在运行时表现出

26、多态功能 解析:16.算法具有五个特性,以下选项中不属于算法特性的是( )。(分数:2.00)A.有穷性B.简洁性 C.确定性D.输入输出性解析:17.具有 3 个结点的二叉树有( )。(分数:2.00)A.2 种形态B.4 种形态C.7 种形态D.5 种形态 解析:18.带有基类的多层派生类构造函数的成员初始化列表中都要排出虚基类的构造函数,这样将对虚基类的子对象初始( )。(分数:2.00)A.与虚基类下面的派生类个数有关B.多次C.二次D.一次 解析:19.在下列选项中,没有构成死循环的程序是( )。(分数:2.00)A.int i=100;while(1)i=i%100+1;if(i1

27、00)break;B.for(;);C.int k=1000; do+k while (k=1000); D.int s=36;while(s);-s;解析:20.有如下程序:#include iostreamusing namespace std;class AAint n;public:AA(int k):n(k) int get()return n; int get()constreturn n+1;int main()AA a(5);const AA b(6);cout(分数:2.00)A.get()B.get();return 0;执行后的输出结果是( )。A. 55B. 57C.

28、75D. 77 解析:21.有如下程序#include iostream#include iomanipusing namespace std;int main( )coutsetprecision(3)fixedsetfill(*)setw(8);cout12.345_34.567;return 0;若程序的输出是:*12.345*34.567则程序中下划线处遗漏的操作符是( )。(分数:2.00)A.setprecision(3)B.fixedC.setfill(*)D.setw(8) 解析:22.下面程序的运行结果为( )。#includeiostream.hvoid swap (int

29、 temp=a+;a=b;b=temp;void main()int a=2,b=3;swap(a, b);couta“,“bend1;(分数:2.00)A.2,3B.3,2C.2,2D.3,3 解析:23.下列关于运算符重载的描述中,正确的是( )。(分数:2.00)A.运算符重载可以改变运算符的操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构 解析:24.有如下程序:#include iostream#include iomanipusing namespace std;int main()cout.fill(*);cout.width(

30、6);cout.fill(#);cout123end1;return 0;执行生的输出结果是( )。(分数:2.00)A.#123 B.123#C.*123D.123*解析:25.下列运算符不能重载为友元函数的是( )。(分数:2.00)A. () - B.+ - + -C. D.+ - * /解析:26.以下不使用线性结构表示实体之间联系的模型的是( )。(分数:2.00)A.线性表B.栈和队列C.二叉树 D.以上三个都不是解析:27.( )复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。(分数:2.00)A.详细设计B.系统设计 C.正式D.非正式解析:28.以下四种说法中,正

31、确的一项是( )。(分数:2.00)A.C+允许在字符串上进行整体操作 B.语句:char vn=“Brown“;将 vn 定义成一个有 5 个元素的数组,因为“Brown“中含有 5 个字符C.对指针只要赋给一个地址值就可以了D.一维的指针数组实际上是一个二维数组解析:29.下面关于 this 指针的说法中,不正确的是( )。(分数:2.00)A.当调用类的成员函数时,指针 this 被自动传递给该成员函数B.当调用类的成员函数时,指针 this 实际上指向了该类的一个对象C.友元函数也可以被传递指针 this D.在缺省状态下,所有的成员函数都自动传递一个指针给激活它的对象解析:30.下列

32、关于顺序存储结构叙述中错误的是( )。(分数:2.00)A.存储密度大B.逻辑上相邻的结点物理上不必邻 C.可以通过计算直接确定第 i 个结点的存储地址D.插入、删除运算操作不方便解析:31.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 解析:32.下面的描述中,正确的是( )。(分数:2.00)A.virtual 可以用来声明虚函数 B.含有纯虚函数的类是不

33、可以用来创建对象的,因为它是虚基类C.即使基类的构造函数没有参数,派生类也必须建立构造函数D.静态数据成员可以通过成员初始化列表来初始化解析:33.有如下函数模板定义:templateclass TT func(T x, T y)return x*x+y*y;在下列对 func 的调用中,错误的是( )。(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5) D.funcint(3,5.5);解析:34.下列字符串中,正确的 C+标识符是( )。(分数:2.00)A.foo-1B.2bC.newD._256 解析:35.一个类的友元函数或友元类能够

34、通过成员操作符访问该类的( )。(分数:2.00)A.私有成员B.保护成员C.公有成员D.公用成员、保护成员和私有成员 解析:二、填空题(总题数:15,分数:30.00)36.在数据库的概念结构设计中,常用的描述工具是 【1】 。(分数:2.00)填空项 1:_ (正确答案:E-R 图)解析:37.数据库系统中实现各种数据管理功能的核心软件称为 【2】 。(分数:2.00)填空项 1:_ (正确答案:数据库管理系统)解析:38.数组是有序数据的集合,数组中的每个元素具有相同的 【3】 。(分数:2.00)填空项 1:_ (正确答案:数据类型)解析:39.按照逻辑结构分类,数据结构可分为线性结构

35、和非线性结构,栈属于 【4】 。(分数:2.00)填空项 1:_ (正确答案:线性结构)解析:40.在程序设计阶段应该采取 【5】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_ (正确答案:自顶而下)解析:41.下面程序的输出结果为 【6】 。#include iostreamusing namespace std;void initialize(int printNo, int state=0);void initialize(iht printNo= 1,int state);int main()ini

36、tialize();return 0;void initialize(int printNo, int state)coutprintNo“,“stateend1;(分数:2.00)填空项 1:_ (正确答案:1, 0)解析:42.语句 coutsetiosflags(ios:showpos)38“-38end1;的输出结果为 【7】 。(分数:2.00)填空项 1:_ (正确答案:+37-38)解析:43.友元类的所有成员函数都是另一个类的 【8】 函数。(分数:2.00)填空项 1:_ (正确答案:友元)解析:44.虚函数必须是类的 【9】 。(分数:2.00)填空项 1:_ (正确答案:

37、成员函数)解析:45.类 ostream 的成员函数 【10】 用于执行无格式输出,成员函数 put 用于输出单个字符。(分数:2.00)填空项 1:_ (正确答案:write)解析:46.C+本身没有定义 I/O 操作,但 I/O 操作包含在 C+实现中。C+标准库 iostream 提供了基本的 I/O 类。I/O 操作分别由类 istream 和 【11】 提供。(分数:2.00)填空项 1:_ (正确答案:ostream)解析:47.阅读下面程序:#include iostream.hint fun2(int m)if(m%3=0)return 1;elsereturn 0;void

38、fun1(int m, int for (i=1; im; i+)if(fun2(i)S=S*i;void main()int n=9, s=2;fun1(n, s);coutsend1;该程序的运行结果是 【12】 。(分数:2.00)填空项 1:_ (正确答案:36)解析:48.有如下程序:#include iostreamusing namespace std;class PARENTpublic:PARENT() cout“PARENT“; ;class SON: public PARENTpublic:SON() cout“SON“; ;int main()SON son;PARENT *p;p=return 0;执行上面程序的输出是 【13】 。(分数:2.00)填空项 1:_ (正确答案:PARENTSON)解析:49.虚基类说明格式如下:slass 派生类名 【14】 继承方式基类名。(分数:2.00)填空项 1:_ (正确答案:virtual)解析:50.下面程序的执行结果是 【15】 。#include iostream.hvoid main()int n=0,x=0;don+;if(n%3=2while(x!=1);cout“n=“nend1;(分数:2.00)填空项 1:_ (正确答案:n=23)解析:

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

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

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