2017年计算机二级C++考试试题
C++支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。下面是小编收集的关于计算机二级C++考试试题,希望大家认真阅读!
1). 循环链表的主要优点是( )
A.不再需要头指针了
B.从表中任一结点出发都能访问到整个链表
C.在进行插入、删除运算时,能更好的保证链表不断开
D.已知某个结点的位置后,能够容易的找到它的直接前件
正确答案:B
2). 下述关于数据库系统的叙述中,正确的是( )。
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
正确答案:A
答案解析:数据库系统会减少数据冗余,但不可能避免一切冗余。
3). 设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、l、1。则T中的叶子结点的个数为( )。
A.8
B.7
C.6
D.5
正确答案:A
答案解析:将题中所述的树用图形表示,可得叶子结点数目。
4). 数据库设计包括两个方面的设计内容,他们是( )。
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
正确答案:A
答案解析:数据库设计包括数据库概念设计和数据库逻辑设计两个方面的内容。
5). 没函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是( )。
A.auto
B.register
C.static
D.auto或register
正确答案:C
答案解析:未赋初值的静态局部变量,编译程序自给它赋初值0。所以选择C。
6). 为了使模块尽可能独立,要求( )。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的.耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
正确答案:B
答案解析:耦合是指模块之间的关联程度,而内聚是指模块内部各部分的聚合程度。模块之间的关联程度越小,模块内部的聚合程度越高,越容易维护。在程序设计中应追求高内聚低耦合。
7). 在C++语言中,封装是借助于什么达到的?
A.结构
B.类
C.数组
D.函数
正确答案:B
答案解析:C++基本的性质就是它的封装性,而封装性主要是靠类来实现的。
8). 以下关于友元函数的叙述不正确的是( )。
A.友元函数提供了类之间数据共享的一个途径
B.一个友元函数可以访问任何类的任何成员
C.友元函数破坏了数据的封装
D.友元函数增加了程序设计的灵活性
正确答案:B
答案解析:友元函数的作用在于提高程序的运行效率,但是它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。只有在类中声明了某个函数是自己的友元函数之后,该友元函数才能够访问本类的私有成员,而不是任何类的任何成员都可以访问。
9). 派生类对象对其基类中的什么成员是可访问的?( )
A.公有继承的私有成员
B.私有继承的公有成员
C.私有继承的保护成员
D.保护继承的保护成员
正确答案:B
答案解析:本题考查关于C++语言继承问题中派生类对基类的访问。C++语言中通常有三种继承修饰符,即public、protected、prlvate,限制依次严格,另外对类中的数据和函数也由这三种修饰符进行限制,有三种成员是不能继承的:公有继承基类的私有成员,私有继承基类的私有成员,保护继承基类的私有成员。
10). 已知char a;int b;float c;double d;则表达式a* b+c-d的结果为( )。
A.double
B.int
C.float
D.char
正确答案:A
答案解析:本题考查混合运算表达式类型,由表达式中具有最高优先级的类型所确定,所以答案为A。
11). 下列关于this指针的叙述中,正确的是( )。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
正确答案:D
答案解析:本题考查this指针的使用。类的每一个成员函数都有一个隐含的常量指针,即this指针。类的静态成员函数不能含有this指针,因为this指针是一个指向本对象的指针。