2019年9月计算机二级C++试题【总】

发布于 2019-07-25 17:42  编辑:simi
0
计算机等级考试题库 扫码微信刷题


二级C++试题.jpg



对自己狠一点,逼自己努力刷二级C++试题,再过五年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。我坚信一句话:只有自己足够强大,才有可能成功。


二级C++试题

【1】

1[单选题]要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是()。

A.ifstreamfin=ifstream.open(”file.dat”);

B.ifstream*fin=newifstream(”file.dat”);

C.ifstreamfin;fin.open(”file.dat”);

D.ifstream*fin=newifstream();fin->open(”file.dat”);

参考答案:A

参考解析:

本题考查对文件流输入的操作,可以调用文件流的成员函数pen,一般形式如下:文件流对象.open(磁盘文件名,输入/输出方式)。根据以上格式,可以判断A选项错误。

 

2[单选题]下列有关继承和派生的叙述中,正确的是()。

A.派生类不能访问基类的保护成员

B.作为虚基类的类不能被实例化

C.派生类应当向基类的构造函数传递参数

D.虚函数必须在派生类中重新实现

参考答案:C

参考解析:

派生类可以访问基类的保护成员,而不能访问基类的私有成员。作为虚基类的类可以被实例化。虚函数如果没有派生类中重新实现,那么仍然使用基类的成员函数。

 

3[单选题]已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是()。

A.Valueoperator+(Valuev,inti);

B.Valueoperator+(Valuev=value,inti);

C.Valueoperator+(Valuev,inti=0);

D.Valueoperator+(Valuev=value,inti=0);

参考答案:A

参考解析:

本题考查运算符重载,其中重载运算符的函数不能有默认的参数,所以本题答案为A。

 

4[单选题]下列关于虚函数的说明中,正确的是()。

A.从虚基类继承的函数都是虚函数

B.虚函数不得是静态成员函数

C.只能通过指针或引用调用虚函数

D.抽象类中的成员函数都是虚函数

参考答案:B

参考解析:

在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数。虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public。如果一个类包含了纯虚函数,称此类为抽象类。所以本题答案为B。

 

5[单选题]一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是()。

A.1:1联系

B.1:m联系

C.m:1联系

D.m:n联系

参考答案:D

参考解析:

因为一个教师可讲授多门课程,而一门课程又能由多个老师讲授,所以他们之间是多对多的关系,可以表示为m:n。

 

6[单选题]下列关于类模板的模板参数的叙述中,错误的是()。

A.模板参数可以作为数据成员的类型

B.模板参数可以作为成员函数的返回类型

C.模板参数可以作为成员函数的参数类型

D.模板参数不能作为成员函数的局部变量的类型

参考答案:D

参考解析:

本题考查类模板的概念和定义,模板参数可以作为成员函数的局部变量的类型。

 

7[单选题]下面对于友元函数描述正确的是()。

A.友元函数的实现必须在类的内部定义

B.友元函数是类的成员函数

C.友元函数破坏了类的封装性和隐藏性

D.友元函数不能访问类的私有成员

参考答案:C

参考解析:

友元函数的定义既可以在类内部进行,也可以在类外部进行。它提高了程序的运行效率,但破坏了类的封装性和隐藏性,使得类的非成员函数可以访问类的私有成员。

 

8[单选题] 下列关于虚函数与函数重载区别的叙述中不正确的是()。

A.函数说明形式上不同

B.函数允许非成员函数重载,虚函数只能是成员函数

C.函数重载的调用依据参数和类型的差别,虚函数则依据对象

D.函数重载的本体可以在类外定义,虚函数不可以

答案:D

 

9[单选题] 设有表示学生选课的3张表,学生S(学号、姓名、性别、年龄、身份证号)、课程C(课号、课名)、选课SC(学号、课号、成绩),则表SC的关键字(键或码)为()。

A.课号、成绩

B.学号、成绩

C.学号、课号

D.学号、姓名、成绩

答案:C

 

10[单选题]在一棵二叉树的前序遍历、中序遍历、后序遍历所产生的序列中,所有叶结点的先后顺( )。

A.都不相同

B.完全相同

C.前序和中序相同,而与后序不同

D.中序和后序相同,而与前序不同

答案:B

 

 

【2】

1.下列关于面向对象概念的描述中,错误的是()。

A.面向对象方法比面向过程方法更加先进

B.面向对象方法中使用了一些面向过程方法中没有的概念

C.面向对象方法替代了结构化程序设计方法

D.面向对象程序设计方法要使用面向对象的程序设计语言

答案:C

 

2.已知一棵二叉树的先根序列为ABCDEFK,中根序列为DGBAFCK,则结点的后根序列为()。

A.ACFKDBG

B.GDBFKCA

C.KCFAGDB

D.ABCDFKG

答案:B

 

3.下列的方法中,不属于软件调试技术的是()。

A.强行排错法

B.集成测试法

C.回溯法

D.原因排除法

答案:B

 

4.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量"\101"是()。

A.字符A

B.字符a

C.字符e

D.非法的常量

答案:A

 

5.下面关于函数模板的表述中不正确的是()。

A.类模板的成员函数都是模板函数

B.类模板本身在编译过程中不会产生任何代码

C.类模板只能有虚拟类型的参数

D.用类模板定义一个对象时,实参不能省略

答案:C

 

6.在软件开发中,需求分析阶段产生的主要文档是()。

A.软件集成测试计划

B.软件详细设计说明书

C.用户手册

D.软件需求规格说明书

答案:D

 

7.下列有关数据库的描述,正确的是

A.数据库是一个DBF文件

B.数据库是一个关系

C.数据库是一个结构化的数据集合

D.数据库是组文件

答案:C

 

8.字面常量42、4.2、42L的数据类型分别是()。

A.long、double int

B.long、float、int

C.int、double、long

D.int、float、long

答案:D

 

9.下面的描述中,不属于面向对象方法的是()。

A.多态

B.继承

C.

D.过程调用

答案:D

 

10.C++系统预定义了3个用于标准数据流的对象,下列选项中不属于此类对象的是()。

A.cout

B.cin

C.cerr

D.cset

答案:D

 

 

 

 

【3】

1). 计算机能直接执行的程序是( )。

A.源程序

B.目标程序

C.汇编程序

D.可执行程序

答案:D

 

2). 下列叙述中的是( )。

A.C程序中的注释只能出现在程序的开始位置和语句的后面

B.C程序书写格式严格,要求一行内只能写一个语句

C.C程序书写格式自由,一个语句可以写在多行上

D.用C语言编写的程序只能放在一个程序文件中

答案:C

 

3). C++语言本身没有定义IO操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由两个类istream和( )提供。

A.fstream

B.iostream

C.ostream

D.cin

答案:C

 

4). 在E-R图中,用来表示实体联系的图形是( )

A.椭圆形

B.矩形

C.菱形

D.三角形

答案:C

 

5). 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是

A.黑箱测试法

B.白箱测试法

C.错误推测法

D.安装测试法

答案:A

 

6). 以下C++语言中用于单行注释的是

A.//

B./*

C.*/

D.|

答案:A

 

7). 如果进栈序列为e1、e2、e3、e4,则可能的出栈序列是( )。

A.e3、e1、e4、e2

B.e2、e4、e3、el1

C.e3、e4、e1、e2

D.任意顺序

答案:B

 

8). 对于重载的运算符>>,它是一个( )

A.用于输入的友元函数

B.用于输入的成员函数

C.用于输出的友元函数

D.用于输出的成员函数

答案:A

 

9). 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。

A.与虚基类下面的派生类个数有关

B.多次

C.两次

D.一次

答案:D

 

10). 最简单的交换排序方法是( )

A.快速排序

B.选择排序

C.堆排序

D.冒泡排序

答案:D

 

 

 

 

 

【4】

1). NULL是指

A.0

B.空格

C.未知的值或无任何值

D.空字符串

答案:C

 

2). 用链表表示线性表的优点是( )

A.便于随机存取

B.花费的存储空间较顺序存储少

C.便于插入和删除操作

D.数据元素的物理顺序与逻辑顺序相同

答案:C

 

3). 关系模型允许定义3类数据约束,下列不属于数据约束的是( )。

A.实体完整性约束

B.参照完整性约束

C.属性完整性约束

D.用户自定义完整性约束

答案:C

 

4). 若有定义″int a[2][3];″,下列选项中对a数组元素引用的是( )。

A.a[2][!1]

B.a[2][3]

C.a[0][3]

D.a[1>2][!1]

答案:D

 

5). C源程序中不能表示的数制是( )。

A.二进制

B.八进制

C.十进制

D.十六进制

答案:A

 

6). SQL语言又称为

A.结构化定义语言

B.结构化控制语言

C.结构化查询语言

D.结构化操纵语言

答案:C

 

7). 下列叙述中错误的是( )。

A.gets函数用于从终端读入字符串

B.getchar函数用于从磁盘文件读入字符

C.fputs函数用于把字符串输出到文件

D.fwrite函数用于以二进制形式输出数据到文件

答案:B

 

8). 不能重载的运算符是( )

A.new

B.sizeof

C..*

D.++

答案:C

 

9). 结构化程序设计主要强调的是( )

A.程序的规模

B.程序的效率

C.程序设计语言的先进性

D.程序易读性

答案:D

 

10). 下面关于C++流的叙述中,的是( )。

A.cin是一个输入流对象

B.可以用ifstream定义一个输出流对象

C.执行语句序列char* y=″PQMN″;cout<

D.执行语句序列char x[80];cin.getline(x,80);时,若输入Happy new year,则x中的字符串是″Happy″

答案:A

 

 

 

【5】

1). 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。

A.函数调用可以作为独立的语句存在

B.函数调用可以无返回值

C.函数调用可以出现在表达式中

D.函数调用可以作为、一个函数的形参

答案:D

 

2). 设int a=10,b=11,c=12;,表达式(a+b)

A.2

B.0

C.-2

D.1

答案:B

 

3). 若要对Date类中重载的加法运算符成员函数进行声明,下列选项中的是( )。

A.Data+( Data);

B.Data operator+( Data);

C.Data+operator( Data);

D.operator+( Data.Data);

答案:B

 

4). 下列叙述中的是( )

A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化

B.循环队列中的元素个数随队头指针的变化而动态变化

C.循环队列中的元素个数随队尾指针的变化而动态变化

D.以上说法都不对

答案:A

 

5).下列叙述中正确的是()。

A.算法的效率只与问题的规模有关,而与数据的存储结构无关

B.算法的时间复杂度是指执行算法所需要的计算工作量

C.数据的逻辑结构与存储结构是一一对应的

D.算法的时间复杂度与空间复杂度一定相关

答案:B

 

6).下面选项中不属于面向对象程序设计特征的是()。

A.继承性

B.多态性

C.类比性

D.封装性

答案:C




考无忧小编tips

当你无法从一楼蹦到三楼时,不要忘记走楼梯。要记住通过考试往往不是一蹴而就的,必须学会刷二级C++试题、分解你的目标,逐步实施。





文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)


温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯


本文网址:http://www.k51.com.cn/info/jsjdjks/1907/2554768.html
选择分享到: