【计算机类职业资格】二级C++-174及答案解析.doc
《【计算机类职业资格】二级C++-174及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-174及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-174 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列链表中,其逻辑结构属于非线性结构的是_。(分数:2.50)A.二叉链表B.循环链表C.双向链表D.带链的栈2.设循环队列的存储空间为 Q(1:35),初始状态为 front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列的元素个数为_。(分数:2.50)A.15B.16C.20D.0 或 353.下列关于栈的叙述中,正确的是_。(分数:2.50)A.栈底元素一定是最后入栈的元素B.栈顶元素一定是最先入栈的元素C.栈操作遵循先
2、进后出的原则D.以上三种说法都不对4.在关系数据库中,用来表示实体间联系的是_。(分数:2.50)A.属性B.二维表C.网状结构D.树状结构5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是_。(分数:2.50)A.1:1 联系B.m:1 联系C.1:m 联系D.m:n 联系6.有两个关系 R 和 S 如下: (分数:2.50)A.选择B.投影C.自然连接D并7.数据字典(DD)所定义的对象包含于_。(分数:2.50)A.数据流图(DFD 图)B.程序流程图C.软件结构图D.方框图8.软件需求规格说明书的作用不包括_。(分数:2.50)
3、A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据9.下列属于黑盒测试方法的是_。(分数:2.50)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径分析10.下列不属于软件设计阶段任务的是_。(分数:2.50)A.软件总体设计B.算法设计C.制定软件确定测试计划D.数据库设计11.在数据结构中,从逻辑上可以把数据结构分成_。(分数:2.50)A.动态结构和静态结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.内部结构和外部结构12.希尔排序属于_。(分数:2.50)A.交换排序B.归并排序C.选择排序D.插入排序13.在深度为 5 的满二
4、叉树中,叶子结点的个数为_。(分数:2.50)A.32B.31C.16D.1514.下列叙述中正确的是_。(分数:2.50)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构15.以下叙述中,不属于面向对象方法的优点的是_。(分数:2.50)A.可重用性好B.与人类习惯的思维方法一致C.可维护性好D.有助于实现自顶向下、逐步求精16.下列关于函数重载的叙述中,错误的是_。(分数:2.50)A.重载函数的参数个数可以不同B.重载函数的参数类型可以不同C.重载函数的返回值类型必须不同D.重载函数的参数个数或参数类型必须有所不同17.下列关于类成员对象构造函数调
5、用顺序的叙述中,正确的是_。(分数:2.50)A.与它们在初始化列表中的顺序相同B.与它们在类中声明的顺序相同C.与析构函数的调用顺序相同D.顺序不确定18.下列关于派生类的叙述中,错误的是_。(分数:2.50)A.派生类至少要有一个基类B.派生类中包括了从基类继承的成员C.一个派生类可以作为另一个派生类的基类D.基类成员被派生类继承以后访问权限保持不变19.下列关于运算符重载的叙述中,正确的是_。(分数:2.50)A.通过运算符重载机制可以为 C+语言扩充新的运算符B.运算符重载的作用是使已有的运算符作用于类的对象C.重载运算符的操作数类型可以全部为基本类型D.所有运算符都可以被重载20.下
6、列关于模版的叙述中,错误的是_。(分数:2.50)A.调用模板函数时,有时可以省略模板实参B.函数模板的每个实例就是一个函数定义C.类模板的每个实例就是一个类定义D.类模板的实例是一个类对象21.下列关于输入/输出流的叙述中,正确的是_。(分数:2.50)A.一个文件流可以与一个数据文件相联系B.cin 是专门从键盘输入数据的输入流类C.流运算符用来从输入流中读取数据D.宽度设置的效果永久有效22.下列选项中可以做 C+标示符的是_。(分数:2.50)A._256B.fat./pigC.deleteD.5char23.关键字 unsigned 不能修饰的类型是_。(分数:2.50)A.char
7、B.intC.floatD.long int24.有如下程序: #inchldeiostream using namespace std; int main() char a; cina; if(a=“*“)cout“*“endl; else cout“#“endl; return 0; 输入字符+时,程序的运行结果是_。(分数:2.50)A.*B.#C.*#D.无输出25.下列对一维数组 a 的定义中,语法正确的是_。(分数:2.50)A.int a(10);B.int n=7.an;C.int n; cinn; int a;D.const int size=10; int asize;26
8、.假设函数 fun 已经定义,其原型为“void fun(int a, int b=7, char * p=“*“);”,下列函数调用中错误的是_。(分数:2.50)A.fun(5)B.fun(5, 8)C.fun(6, “#“)D.fun(0, 0, “=“)27.已知函数 print()没有返回值,如果在类中将之声明为常成员函数,正确的是_。(分数:2.50)A.void print() constB.const void print()C.void const print()D.void print(const)28.已知基类 Employee 只有一个构造函数,其定义如下: Emplo
9、yee:Employee(int n):id(n) Manager 是 Employee 的派生类,则下列对 Manager 的构造函数的定义中,正确的是_。(分数:2.50)A.Managaer:Manager(int n):id(n)B.Managaer:Manager(int n)id=n;C.Managaer:Manager(int n):Employee(n)D.Managaer:Manager(int n)Employee(n);29.已知将运算符“+”和“*”作为 Complex 的成员函数重载,设 c1 和 c2 是类 complex 的对象,则表达式 c1+c2*c1 等价于
10、_。(分数:2.50)A.c1.operaror*(c2.operator+(c1)B.c1.operator+(c2.operator*(c1)C.c1.operator*(c1.operator+(c2)D.c2.operator+(c1.operator*(c1)30.下列类模板的定义中语法格式错误的是_。(分数:2.50)A.templateclass Tclass Buffer/*/);B.templatetypenameclass Buffer/*/;C.templateclass T1, class T2class Buffer/*/;D.templateTclass Buffe
11、r/*/;31.在 C+中既可以用于文件输入又可以用于文件输出的流类是_。(分数:2.50)A.fstreamB.ifstreamC.ofstreamD.iostream32.有如下类定义: class MyClass int b; char a; double c; public: MyClass():c(0.0), b(0), a(“,“) 创建这个类的对象时,数据成员的初始化顺序是_。(分数:2.50)A.a, b, cB.c, b, aC.b, a, cD.c, a, b33.有如下类定义: class MyClass int x; public: MyClass():x(0), y(
12、0) int GetX()return x; void SetX(int xx)x=xx; int y; ; 已知 obj 是类 MyClass 的对象,下列语句中违反类成员访问控制权限的是_。(分数:2.50)A.obj.x;B.obj.y;C.obj.GetX();D.obj.SetX(0);34.有如下类定义: class Test char a; const char b; public: Test(char c)a=c; b=c; /第一行 void f(char a)constthis-a=a; /第二行 void g(char b)this-b=b;/第三行 char h()co
13、nstreturn a; /第四行 ; 编译时没有错误的行是_。(分数:2.50)A.第一行B.第二行C.第三行D.第四行35.有如下程序: #includeiostream using namespace std; class A public: A()cout“A“; A()cout“C“; ; class B:public A public: B()cout“G“; B()cout“T“; ; int main() B obj; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.GATCB.AGTCC.GACTD.AGCT36.有如下程序: #includeiostr
14、eam using namespace std; class Base public: void fun()cout“B“; Class Derived:public Base public: void fun()_cout“D“; ; int main() Derived d; d.fun(); return 0; 若程序的输出结果是 BD,则画线处缺失的部分是_。(分数:2.50)A.fun();B.Base.fun();C.Base:fun();D.Base-fun();37.有如下程序: #includeiostream using namespace std; class B pub
15、lic: virtual void f()cout“B“; void g()cout“B“; ; class D:public B public: void f()cout“D“; void g()cout“D“; ; void h(B* p)p-f(); p-g(); int main() D obj; h( return 0; 运行这个程序的输出结果是_。(分数:2.50)A.DDB.BBC.BDD.DB38.有如下程序: #includeiostream #includestring using namespace std; class MyString public: char str
16、80; MyString(const char*s)strepy(str s); MyString return*this; ; ostream int main() MyString x(“abc“), y(“cde“); cout(x+=y)endl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.abcB.cdeC.abcdeD.abccde39.有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetfill(“#“)setw(4)“OK“123endl; re
17、turn 0; 运行这个程序的输出结果是_。(分数:2.50)A.#OK123B.#OK#123C.OK#123D.OK#123#40.有如下语句序列: ifstrem infile(“DATA.DAT“); if(infile.good() cout“A“; else cout“B“; ofstrem outfile(“DATA.DAT“); if(outfile.fail() cout“C“; else cout“D“; 若执行这个语句序列显示的是 BD,则说叫文件 DATA,DAT_。(分数:2.50)A.以读方式打开成功B.以读方式打开失败,但以写方式打开成功C.以读方式打开失败,但以
18、写方式打开失败D.以读方式打开成功,但以写方式打开成功二级 C+-174 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列链表中,其逻辑结构属于非线性结构的是_。(分数:2.50)A.二叉链表 B.循环链表C.双向链表D.带链的栈解析:解析 对于线性结构,除了首结点和尾结点外,每一个结点只有一个前驱结点和一个后继结点。线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;带链的栈是栈的链式存储结构。二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。2.设循环队列的
19、存储空间为 Q(1:35),初始状态为 front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列的元素个数为_。(分数:2.50)A.15B.16C.20D.0 或 35 解析:解析 循环队列中,front 为队首指针,指向队首元素的前一个位置;rear 为队尾指针,指向队尾元素。由题目可知,循环队列最多存储 35 个元素。front=rear=15 时,循环队列可能为空,也可能为满。3.下列关于栈的叙述中,正确的是_。(分数:2.50)A.栈底元素一定是最后入栈的元素B.栈顶元素一定是最先入栈的元素C.栈操作遵循先进后出的原则 D.以上三种说法都
20、不对解析:解析 栈是一种先进后出的线性表,也就是说,最先入栈的元素在栈底,最后出栈;而最后入栈的元素在栈顶,最先出栈。4.在关系数据库中,用来表示实体间联系的是_。(分数:2.50)A.属性B.二维表 C.网状结构D.树状结构解析:解析 关系数据库使用的是关系模型,用二维表来表示实体间的联系。属性是客观事物的一些特性,在二维表中对应于列。5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是_。(分数:2.50)A.1:1 联系B.m:1 联系C.1:m 联系 D.m:n 联系解析:解析 实体间的联系有一对一(1:1)、一对多(1:m)和多
21、对多(m:n),没有多对一(m:1)。题目中,一个部门可以有多名职员,而每个职员只能属于一个部门,显然,部门和职员间是一对多的联系。6.有两个关系 R 和 S 如下: (分数:2.50)A.选择 B.投影C.自然连接D并解析:解析 由关系 R 得到关系 S 是一个一元运算,而自然连接和并都是多元运算可以排除选项 C 和选项 D。关系 S 是由关系 R 的第 3 个元组组成,很显然这是对关系 R 进行选择运算的结果。投影运算则是要从关系 R 中选择某些列。可以简单地理解,选择运算是对行的操作,投影运算是对列的操作。7.数据字典(DD)所定义的对象包含于_。(分数:2.50)A.数据流图(DFD
22、图) B.程序流程图C.软件结构图D.方框图解析:解析 数据字典用于对数据流图中出现的被命名的图形元素进行确切地解释,是结构化分析中使用的工具。8.软件需求规格说明书的作用不包括_。(分数:2.50)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据 解析:解析 需求规格说明书是需求分析的成果,其作用是:便于用于、开发人员进行理解和交流;反映用户问题的结构,可作为软件开发工作的基础和依据;可作为确认测试和验收的依据。可行性研究是在需求分析之前进行的,软件需求规格说明书不可能作为可行性研究的依据。9.下列属于黑盒测试方法的是_。(分数:2.50
23、)A.语句覆盖B.逻辑覆盖C.边界值分析 D.路径分析解析:解析 黑盒测试用于对软件的功能进行测试和验证,不须考虑程序内部的逻辑结构。黑盒测试的方法主要包括:等价类划分法、边界值分析法、错误推测法、因果图等。语句覆盖、逻辑覆盖、路径分析均是白盒测试的方法。10.下列不属于软件设计阶段任务的是_。(分数:2.50)A.软件总体设计B.算法设计C.制定软件确定测试计划 D.数据库设计解析:解析 软件概要设计阶段的任务有:软件系统的结构的设计、数据结构和数据库设计、编写概要设计文档、概要设计文档评审。确认测试是依据需求规格说明书来验证软件的功能和性能,也就是说,确认测试计划是在需求分析阶段就制定了。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C174 答案 解析 DOC
