第 1 页:选择题 |
第 3 页:基本操作题 |
第 4 页:简单应用题 |
21 [单选题] 下列关于类模板的叙述中,正确的是( )。
A.类模板实例化时,编译器会根据给出的模板实参生成一个类
B.类模板中的成员函数没有返回值
C.类模板的主要作用是生成抽象类
D.类模板中的数据成员具有同样类型
参考答案:A
参考解析:
类模板在引用实际模板类类型时实例化,编译器会根据给出的模板实参生成一个类的定义,选项A正确;类模板中的成员函数同普通类的成员函数一样,也可以有返回值,返回值类型可以是模板形参类型,也可以是具体类型,选项8错误;类模板的主要作用是生成类,而不是生成抽象类,选项C错误;类模板中的成员类型可以是模板形参类型,也可以是具体类型,选项D错误。本题答案为A选项。
22 [单选题] 结构化程序的三种基本结构是( )。
A.递归、迭代和回溯
B.过程、函数和子程序
C.顺序、选择和循环
D.调用、返回和选择
参考答案:C
参考解析:
仅使用顺序、选择、循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。故本题答案为C选项。
23 [单选题] 有如下类声明:
下列关于getValue成员函数的定义中,正确的是( )。
A.SAMPLE::setValue(int nO){n=n0;}
B.void SAMPLE::setValue(int nO){n=n0;}
C.void setValue(int nO){n=n0;}
D.setValue(int nO){n=n0;}
参考答案:B
参考解析:
本题考查在类外定义类的成员函数,需要使用作用域限定符“::”,属于基础知识,本题答案为B。
24 [单选题] 下列关于基类和派生类关系的叙述中,正确的是( )。
A.每个类最多只能有一个直接基类
B.派生类中的成员可以访问基类中的任何成员
C.基类的构造函数必须在派生类的构造函数体中调用
D.派生类除了继承基类的成员,还可以定义新的成员
参考答案:D
参考解析:
本题考查派生类与基类的关系,派生类可以有多个直接基类,而派生类有三种继承方式,在私有继承中,派生类的成员并不能访问基类的成员。如果基类中定义了缺省构造函数或根本没有定义任何一个构造函数时,在派生类构造函数的定义中可以省略对基类构造函数的调用。所以本题答案为D。
25 [单选题] 有如下程序段:
其中会产生编译错误的语句是( )。
A.④
B.③
C.②
D.①
参考答案:A
参考解析:
本题考查指针和引用。①为引用,使用正确;④中&r表示一个地址,而*P已经是一个值了,不能将一个指针赋值给一个值,所以编译错误。
26 [单选题] 软件测试的目的是( )。
A.评估软件可靠性
B.发现并改正程序中的错误
C.改正程序中的错误
D.发现程序中的错误
参考答案:D
参考解析:
软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。
27 [单选题] 为了使用setw设置输出宽度,必须在程序中包含头文件( )。
A.iostream
B.iomainp
C.fstream
D.string
参考答案:B
参考解析:
C++中,格式控制符在头文件iomanip中定义,所以要使用格式控制符setw,必须包含iomanip。故本题答案为B选项。
28 [单选题] 下列语句中错误的是( ):
A.const int a;
B.const int a=10;
C.const int*point=0;
D.const int*point=new int(10):
参考答案:A
参考解析:
const是一个C++语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。限定符声明变量只能被读,必须初始化。A选项没有初始化,B、C、D选项都正确。
29 [单选题] 对c++编译器区分重载函数无任何意义的信息是( )。
A.参数类型
B.参数个数
C.返回值类型
D.常成员函数关键字const
参考答案:C
参考解析:
所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为C。
30 [单选题] 下面关于数组的初始化正确的是( ):
参考答案:A
参考解析:
本题考查的是字符数组的初始化。选项B中用3个元素初始化大小为2的数组,越界了;选项C中应该是2行3列的数组,题中使用3行2列初始化;选项D中数组合后应用方括号。
31 [单选题] 对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( )。
A.公有类型
B.私有类型
C.保护类型
D.友元类型
参考答案:D
参考解析:
所谓的访问控制只包含公有类型、私有类型和保护类型3种,友元可以是一个函数,也可以是一个类。
32 [单选题] 下列语句中,未起到定义作用的是( )。
A.char ch;
B.void fun( );
C.int Y=2015;
D.typedef double price;
参考答案:B
参考解析:
选项A定义一个字符变量ch;选项C定义整型Y,并初始化为2015;选项D定义一种类型名price,该类型等价于double;选项B声明了函数fun,该函数没有参数,没有返回值,声明不是定义,选项B错误。故本题答案为B选项。
33 [单选题] 若已经声明了函数原型“void fun(int a,double b=0.0)”,则下列重载函数声明中正确的是( )。
A.void fun(int a=90,double b=0.0);
B.int fun(int a,double B.;
C.void fun(double a,int B.;
D.bool fun(int a,double b=0.0);
参考答案:C
参考解析:
函数不能仅仅基于不同的返回类型而实现重载,选项B中只有返回值不同,所以选项B、D错误;出现在相同作用域中的两个函数,如果具有相同的名字而形参表不同,则称为重载函数,形参表的不同,是指形参个数或类型不同;默认实参并没有改变形参的类型和个数,所以仅仅基于默认实参,也不能实现函数重载,选项A错误;选项C中形参对应的类型不同;本题答案为C选项。
34 [单选题] 负责数据库中查询操作的数据库语言是( )。
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言
参考答案:C
参考解析:
数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。
35 [单选题] 定义学生、教师和课程的关系模式S(S#,Sn,Sd,De,SA.(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(c#,Cn,P#)(其属性分别为课程号、课程名、先修课);SC(S#,C#,G)(其属性分别为学号、课程号和成绩),则该关系为( )。
A.第二范式
B.第一范式
C.第三范式
D.BCNF范式
参考答案:A
参考解析:
范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd范式(BCNF)、第四范式(4NF)和第五范式(5NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。 第一范式:主属性(主键)不为空且不重复,字段不可再分(存在非主属性对主属性的部分依赖)。
第二范式:如果关系模式是第一范式,每个非主属性都没有对主键的部分依赖。
第三范式:如果关系模式是第二范式,没有非主属性对主键的传递依赖和部分依赖。
BCNF范式:所有属性都不传递依赖于关系的任何候选键。
题目中关系模式满足第二范式,但在关系模式S中,学生所在系依赖于学号(s#→Sd),但系本身确定了系主任(Sd→Dc),存在传递依赖,不满足第三范式。故本题答案为A选项。
36 [单选题] 对于一个类定义,下列叙述中错误的是( )。
A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数
B.如果没有定义缺省的构造函数,编译器一定将生成一个缺省的构造函数
C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数
D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数
参考答案:B
参考解析:
本题考查构造函数和复制构造函数,如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数,如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数。如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数。
37 [单选题] 某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为( )。
A.不存在这样的二叉树
B.200
C.198
D.199
参考答案:B
参考解析:
根据二又树的基本性质,对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中度为2的结点为199个,则叶子结点为l99+1=200。故本题答案为B选项。
38 [单选题] 下列关于C++类的叙述中,错误的是( )。
A.类与类之间可以互为友元
B.类用于描述事物的属性和对事物的操作
C.类与类之间不能有组合关系
D.类与类之间可以通过封装而具有相对独立性
参考答案:C
参考解析:
友元机制允许一个类将对其非公有成员的访问权授予指定的函数或类,类和类之间可以互为友元关系,选项A正确;类代表某一种事物(对象)的共性和特征,用于描述事物的属性(数据成员)和对事物的操作(成员函数),选项B正确;类和类之间可以通过封装而具有相对独立性,选项D正确;类和类之 间的关系有:继承、实现、依赖、关联、组合、聚合等,选项c错误。本题答案为c选项。
39 [单选题] 下列语句中,能够进行正确赋值的是( )。
A.char str=’abcde’;
B.char str=”abcde”;
C.char str[4]=”abcde”;
D.char str[6]=”abode”;
参考答案:D
参考解析:
字符常量是单个字符,单引号’’中只能有1个字符,选项A错误;字符串常量不能赋给字符变量,选项B错误;常量字符串“abcde”包含5个字符和1个空字符’\0’,需要6个字节存放,选项C错误;选项D正确。本题答案为D选项。
40 [单选题] 已知函数FA词用函数FB,若要把这两个函数定义在同一个文件中.则( )。
A.FA必须定义在FB之前
B.FB必须定义在FA之前
C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前
参考答案:D
参考解析:
如果使用用户自己定义的函数,而该函数与调用它的函数(即主调用函数)在同一程序单元中,且位置在主调用函数之后,则必须在调用此函数之前对被调用的函数作声明。
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: