1. 采用重载函数的目的是( )。(2分)
A.实现共享
B.减少空间
C.提高速度
D.使用方便,提高可读性★标准答案:D
2. 假定AB为一个类,则执行“AB x(a,5);”语句时将自动调用该类的( )。(2分)
A.带参构造函数
B.无参构造函数
C.拷贝构造函数
D.赋值重载函数★标准答案:A
3. 假定AB为一个类,则执行“AB *s=new AB(a,5);”语句时得到的一个动态对象为( )。
A.s
B.s->a
C.s.a
D.*s ★标准答案:D
4. 当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B 的( )。
A.只能是公有成员
B.只能是保护成员
C.只能是除私有成员之外的任何成员
D.任何权限的成员★标准答案:D
5. 在关键字private后面定义的成员为类的( )成员。(2分)
A.私有
B.公用
C.保护
D.任何★标准答案:A
6. 一个C++程序文件的扩展名为( )。(2分)
A..h
<
7. 对于任一个类,用户所能定义的构造函数的个数至多为( )。(2分)
A.0
B.1
C.2
D.任意个★标准答案:D
指向类成员函数的指针8. 在C++程序中使用的cout标识符是系统类库中定义的( )类中的一个对象。(2分)
A.istream
B.ostream
C.iostream
D.fstream ★标准答案:B
9. 类的析构函数可以带有( )个参数。(2分)
A.0
B.1
C.2
D.任意★标准答案:A
10. 如果类A被说明成类B的友元,则( ) (2分)
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元★标准答案:C
11. 类的析构函数是一个对象被( )时自动调用的。(2分)
A.建立
B.撤消
C.赋值
D.引用★标准答案:B
12. 引入友元的主要目的是为了( )。(2分)
A.增强数据安全性
B.提高程序的可靠性
C.提高程序的效率和灵活性
D.保证类的封装性★标准答案:C
13. 关于封装,下列说法中不正确的是( )。(2分)
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的★标准答案:D
14. 被非静态成员函数访问的类的数据成员( )。(2分)
A.可以是非静态数据成员或静态数据成员
B.不可能是类的静态数据成员
C.只能是类的非静态数据成员
D.只能是类的静态数据成员★标准答案:A
15. 在C++程序中使用的cin标识符是系统类库中定义的( )类中的一个对象。(2分)
A.istream
B.ostream
C.iostream
D.fstream ★标准答案:A
16. 对于任意一个类,析构函数的个数最多为( ) (2分)
A.0
B.1 ;
C.2
D.3 ★标准答案:B
17. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为( )。(2分)
C.x->a
D.x->a() ★标准答案:B
18. 在C++中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含
的指针,称之为( )指针。(2分)
A.对象
B.派生
C.基类
D.this ★标准答案:D
19. 如果类B在类A的基础上构造,那么,就称()。(2分)
A.类A为基类或父类,类B为超类或子类
B.类A为基类、父类或超类,类B为派生类或子类
C.类A为派生类,类B为基类
D.类A为派生类或子类,类B为基类、父类或超类★标准答案:B
20. C++的基类指针可以访问派生类对象,但不能访问派生类对象的( )成员。(2分)
A.private
B.protected
C.public
D.新增★标准答案:A
21. 派生类的成员函数可以直接访问基类的()成员。(2分)
A.所有
B.公有和保护
C.保护和私有
D.私有★标准答案:B
22. 派生类的对象对其基类中( )可直接访问。(2分)
A.公有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.私有继承的公有成员★标准答案:A
23. 当派生类中有和基类一样名字的成员时,一般来说,( )。(2分)
A.将产生二义性
B.派生类的同名成员将覆盖基类的成员
C.是不能允许的
D.基类的同名成员将覆盖派生类的成员★标准答案:B
24. c++语言的运算符可以重载为成员函数和():(2分)
A.算术函数
B.输出函数
C.友元函数
D.逻辑函数★标准答案:C
25. 不能重载的运算符是:()(2分)
A./
B.*
C.::
D.+= ★标准答案:C
26. 要想在程序中使用strcpy()函数,须把( )包含到程序中。(2分)
A.iostream.h
B.stdio.h
C.string.h
D.iomanip.h ★标准答案:C
27. 以下函数的返回结果是()。
int function(char *x) {
char *p=x;
while(*p++);
return(p-x-1);
}(2分)
A.求字符串的长度
B.将字符串x连接到字符串p后面
C.将字符串x复制到字符串p中
D.将字符串x反向存放★标准答案:A
28. 假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加( )。(2分)
A.1
B.4
C.sizeof(double)
D.sizeof(p) ★标准答案:C
29. 假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句( )。(2分)
A.delete p;
B.delete *p;
C.delete &p;
D.delete []p; ★标准答案:D
30. 执行语句“char a[10]={"abcd"},*p; p=a;”后,*(p+4)的值是()(2分)
A.“abcd”
B.'d'
C.'\0'
D.不能确定★标准答案:C
31. 一个C++程序至少应包含( )个函数。(2分)
A.0
B.1
C.2
D.3 ★标准答案:B
32. 以下错误的描述是()。(2分)
A.被调用函数中可以不用return语句
B.被调用函数中可以用多个return语句
C.被调用函数中,如果有返回值,就一定要有return语句
D.被调用函数中,一个return语句可返回多个值给调用函数★标准答案:D
33. 设a=12,n=5,则表达式a%=(n%=2)运算后,a的值为( )。(2分)
A.0
B.1
C.6
D.12 ★标准答案:D
34. 下列标识符中( )是正确。(2分)
A._suml23__
B._suml23$
C.*pt_123
D.Sum-Count ★标准答案:A
35. 函数调用不可以()。(2分)
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参★标准答案:D
36. 在下面循环语句中循环体执行的次数为( )。
for(int i=0; i<n; i++)
if(i>n/2) break; (2分)
★标准答案:B
37. C++语言的跳转语句中,对于break和continue说法正确的是( )。(2分)
A.break语句只用于循环体中
C.break是无条件跳转语句,continue不是
D.break和continue的跳转范围不够明确,容易产生问题★标准答案:B
38. C++中用于结构化程序设计的三种基本结构是(2分)
A.顺序结构、选择结构、循环结构
B.if、switch、break
C.for、while、do-while
D.if、for、continue ★标准答案:A
39. 有以下程序
void main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1: cout<<i;
case 2: cout<<i;
default: cout<<i;
}
}执行后输出的结果是(2分)
A.011122
B.012
C.012020
D.120 ★标准答案:A
40. switch语句能够改写为( )语句。(2分)
A.for
B.if
C.do
D.while
★标准答案:B
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论