大学C++期末考试题库及答案Word格式.docx
《大学C++期末考试题库及答案Word格式.docx》由会员分享,可在线阅读,更多相关《大学C++期末考试题库及答案Word格式.docx(93页珍藏版)》请在冰豆网上搜索。
_123
YN
C.for
-abc
Case
D.2a
DO
sizeof
5.存储以下数据,占用存储字节最多的是(D)。
A.0
B.‘0’
C.“0”
D.0.0
6.设int
a=12;
则执行完语句a+=a*a;
后,a的值是(C)。
A.12
B.144
C.156
D.288
7.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式
的表达式是(D)。
A.1.0/a*b*c
B.1/(a*b*c)
C.1/a/b/(float)c
D.1.0/a/b/c
8.以下说法中正确的是(B)。
A.C++程序总是从第一个定义的函数开始执行
B.C++程序总是从main函数开始执行
C.C++函数必须有返回值,否则不能使用函数
D.C++程序中有调用关系的所有函数必须放在同一个程序文件中
9.下面有关构造函数的描述中,正确的是(B)。
A.构造函数可以带有返回值
B.构造函数的名字与类名完全相同
C.构造函数必须带有参数
D.构造函数必须定义,不能缺省
10.10.在声明类时,下面的说法正确的是(
)。
A.可以在类的声明中给数据成员赋初值
B.数据成员的数据类型可以是register
C.private,public,protected可以按任意顺序出现
D.没有用private,public,protected定义的数据成员是公有成员
11.在下面有关析构函数特征的描述中,正确的是(A)。
A.一个类可以有多个析构函数
B.析构函数与类名完全相同
C.析构函数不能指定返回类型
D.析构函数可以有一个或多个参数
12.构造函数是在(B)时被执行的。
A.程序编译
B.创建对象
C.创建类
D.程序装入内存
13.下面有关静态成员函数的描述中,正确的是(
B
)
A.在静态成员函数中可以使用this指针
B.在建立对象前,就可以为静态数据成员赋值
C.静态成员函数在类外定义是,要用static前缀
D.静态成员函数只能在类外定义
14.下面有关友员函数的描述中,真确的说法是(A
A.友员函数是独立于当前类的外部函数
B.一个友员函数不可以同时定义为两个类的友员函数
C.友员函数必须在类的外部进行定义
D.在类的外部定义友员函数时必须加上friend关键字
15.友员的作用之一是(A
A.提高程序的运行效率
B.加强类的封装
C.实现数据的隐蔽性
D.增加成员函数的种类
16.使用派生类的主要原因是(
A
A.提高代码的可重用性
B.提高程序的运行效率
C.加强类的封装性
D.实现数据的隐藏
17.在C++中继承方式有几中(
C
A.1
B.2
C.3
D.4
18.假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,则定义类derived的正确写法是(
D
A.classderived:
:
studentprivate{
//………….}
B.classderived:
studentpublic{
C.classderived:
publicstudent{
D.classderived:
privatestudent{
19.派生类的对象对它的基类成员中(C)是可以访问的。
A.公有继承的公有成员;
B.公有继承的私有成员;
C.公有继承的保护成员;
D.私有继承的公有成员。
20.类中定义的成员默认为(A)访问属性。
A.public
B.private
C.protected
D.friend
21.下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(
A)合适。
A.内联函数;
B.重载函数;
C.递归调用;
D.嵌套调用。
22.C++对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,从面向过程变成了面向对象。
A.增加了一些新的运算符;
B.允许函数重载,并允许设置缺省参数;
C.规定函数说明必须用原型;
D.引进了类和对象的概念;
23.按照标识符的要求,(A)符号不能组成标识符。
A.连接符
B.下划线
C.大小写字母
D.数字字符
24.下列变量名中,(A)是合法的。
CHINA
byte-size
double
A+a
25.下列各种函数中,(
C)不是类的成员函数。
构造函数
析构函数
友元函数
拷贝构造函数
26.下列(A
)是正确的语句。
;
a=17
x+y
cout<
<
"
\n"
27.不能作为函数重载判断的依据的是(B)
A.返回类型
B.const
C.参数个数
D.参数类型
28.通常,拷贝构造函数的参数是(C)
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
29.下面对静态数据成员的描述中,正确的是(C)
A类的不同对象有不同的静态数据成员值
B类的每个对象都有自己的静态数据成员
C静态数据成员是类的所有对象共享的数据
D静态数据成员不能通过类的对象调用
30.假定AB为一个类,则执行ABx;
语句时将自动调用该类的(B)
A.有参构造函数
B.无参构造函数
C.拷贝构造函数
D.赋值构造函数
31.C++程序从上机到得到结果的几个操作步骤依次是(
A.编译、编辑、连接、运行
B.编辑、编译、连接、运行
C.编译、运行、编辑、连接
D.编辑、运行、编辑、连接
32.假定一条定义语句为“inta[10],x,*p=a;
”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为(A
A.x=p[3];
B.x=*(a+3);
C.x=a[3];
D.x=*p+3;
33.关于封装,下列说法中不正确的是(D
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
34.预处理命令在程序中都是以(
)符号开头的。
A.*
B.#
C.&
D.@
35.存储以下数据,占用存储字节最少的是(B
36.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用(
)符号作为分隔符。
A.空格或逗号
B.逗号或回车
C.逗号或分号
D.空格或回车
37.假定变量m定义为“intm=7;
”,则定义变量p的正确语句为(
B)。
A.
intp=&
m;
B.
int*p=&
C.
int&
p=*m;
D.
int*p=m;
38.下面的哪个保留字不能作为函数的返回类型?
。
A.void
B.int
C.new
D.long
39.采用重载函数的目的是(B
A.实现共享
B.减少空间
C.提高速度
D.使用方便,提高可读性
40.假定AB为一个类,则(
)为该类的拷贝构造函数的原型说明。
A.AB(ABx);
B.AB(intx);
C.AB(AB&
x);
D.voidAB(AB&
41、C++对C语言作了很多改进,下列描述中(D )使得C语言发生了质变,从面向过程变成了面向对象。
A、增加了一些新的运算符;
B、允许函数重载,并允许设置缺省参数;
C、规定函数说明必须用原型;
D、引进了类和对象的概念;
42、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A)。
A.类
B.对象
C.函数体
D.数据块
43、关于new运算符的下列描述中,(C )是错误的。
A、它可以用来动态创建对象和对象数组;
B、使用它创建的对象或对象数组可以使用运算符delete删除;
C、使用它创建对象时要调用构造函数;
D、使用它创建对象数组时必须指定初始值;
44、(D )不是构造函数的特征。