2C++资料.docx
- 文档编号:2981070
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:15
- 大小:25.20KB
2C++资料.docx
《2C++资料.docx》由会员分享,可在线阅读,更多相关《2C++资料.docx(15页珍藏版)》请在冰豆网上搜索。
2C++资料
一、选择题:
1)C++源程序文件的扩展名为()。
A.CPPB.CC.DLLD.EXE
2)下列C++标点符号中表示行注释开始的是()。
A.# B.;C.// D.}
3)在C++中,使用流进行输入输出,其中用于屏幕输入()
A.cin
B.cerr
C.cout
D.clog
4)每个C++程序都必须由且仅有一个()。
A.预处理命令B.主函数C.函数D.语句
5)已知:
intk=1000;下列表示引用的方法中,()是正确的。
A.char&y;B.int&x=k;C.int&z=1000;D.float&t=&k;
6)()是给对象取了一个别名,他引入了对象的同义词。
A.指针 B.引用 C.枚举 D.结构
7)一个函数功能不太复杂应选用()。
A.内联函数B.重载函数C.递归函数D.嵌套函数
8)考虑函数原型voidtest(inta,intb=7,charc=’*’),下面的函数调用中,属于不合法调用的是()。
A.test(5);B.test(5,8);C.test(6,"#")D.test(0,0,’*’);
9)适宜采用inline定义函数情况是()
A.函数体含有循环语句
B.函数体含有递归语句
C.函数代码少、频繁调用
D.函数代码多、不常调用
10)在C++中,关于下列设置参数默认值的描述中,正确的是()。
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该实现设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
11)有如下定义:
constchar*ptr;则ptr应该是()
A.指向字符的指针B.指向字符的常量指针
C.指向字符串常量的指针D.指向字符串的常量指针
12)下面有关new和delete操作符的说法。
哪个是不正确的()
选项A:
使用new操作符,可以动态分配全局堆中的内存资源
选项B:
若指针P的类型已由A强制转换为void*,那么执行语句deleteP时,类A的析构函数不会被调用。
选项C:
实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中。
选项D:
执行语句A*P=newA[100]时,类A的构造函数只会被调用一次。
13)下列有关重载函数的说法中正确的是()
选项A:
重载函数必须具有不同的返回值类型
选项B:
重载函数参数个数必须相同
选项C:
重载函数必须有不同的形参列表
选项D:
重载函数名可以不同
14)对于下面的几个函数:
1.voidf(intx)(…)
2.intf(inty)(…)
3.intf(inti,intj)(…)
4.floctk(intx)(…)
是重载函数的是:
()
选项A:
4个全部
选项B:
1和4
选项C:
2和3
选项D:
3和4
15)不能作为函数重载判断依据的是()。
A.参数个数B.参数类型
C.函数名字D.函数的返回类型
16)C++中声明常量的关键字是()。
A.constB.externC.publicD.enum
17)与C语言printf(“Helloword\n”);语句功能相同的C++语句是()
选项A:
cout>>”Helloword\n”
选项B:
cin>>”Helloword\n”
选项C:
cout<<”Helloword\n”
选项D:
cin<<”Helloword\n”
18)关于类概念的描述中,()是错误的。
A.类是抽象数据类型的实现;
B.类是具有共同行为的若干对象的统一描述体;
C.类是创建对象的样板;
D.类不是C++中的一种数据类型;
19)以下关于C++中类的概念理解正确的是()
选项A:
类作为一种数据类型,在定义时不分配任何内存
选项B:
类的成员要么是private的要么是public的
选项C:
在类中,如果没有显示指定成员的访问权限,则缺省的访问权限是public
选项D:
类对象与一般变量不同的是,在使用时无需初始化即可直接使用
20)当一个派生类私有继承一个基类时,基类中的所有保护成员成为派生类的()。
选项A:
public成员
选项B:
private成员
选项C:
protected成员
选项D:
友元
21)有关类的说法不正确的是()。
A.类是一种用户自定义的数据类型。
B.只有类中的成员函数才能存取类中的私有成员。
C.在类中,如果不做特别说明,所指的数据均为私有类型。
D.在类中,如果不做特别说明,所指的成员函数均为公有类型。
22)在下面几个元素中,不是面向对象的要素的是();
A.重载B.对象C.类D.继承
23)C++中,封装是借助于()达到的。
A.指针B.类C.数组D.函数
24)关于成员函数特征的下述描述中,()是错误的。
A.成员函数是内联函数;B.成员函数可以重载;
C.成员函数可以设置参数的缺省值;D.成员函数可以是静态的。
25)下面()是对类ttt的声明。
A.voidclassttt;
B.classintttt;
C.classttt();
D.classttt;
26)下列关于构造函数的描述中,错误的是()
选项A:
构造函数可以设置默认的参数
选项B:
构造函数在定义类对象时自动执行
选项C:
构造函数可以是内联函数
选项D:
构造函数不可以重载
27)下面说法中正确的是( )
A.一个类只能定义一个构造函数,但可以定义多个析构函数
B.一个类只能定义一个析构函数,但可以定义多个构造函数
C.构造函数与析构函数同名,只是名字前加了一个求反符号(~)
D.构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以
28)假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,x.a和x.b的值分别为()
A.3和15
B.5和4
C.4和20
D.20和5
29)有关析构函数的说法不正确的是()
A.析构函数有且仅有一个
B.析构函数和构造函数一样可以有形参
C.析构函数的功能是用来释放一个对象
D.析构函数无任何函数类型
30)下列不能作为类的成员的是()
A.自身类对象的指针
B.自身类对象
C.另一个类的对象指针
D.另一个类的对象
31)对于任意一个类,析构函数的个数最多为()。
A.0B.1C.2D.3
32)已知X类,则当程序执行到语句X array[3];时,调用了()次构造函数。
A.0B.1C.2D.3
33)假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()
A.x.a
B.x.a()
C.x->a
D.(*x).a()
34)通常拷贝构造函数的参数表是()
A.当前对象名B.当前对象的成员名
C.当前对象的引用名D.当前对象的指针名
35)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()
A.公有类型B.私有类型C.保护类型D.友元类型
36)下面关于类和对象的描述中,错误的是()
A.类就是c语言中的结构体类型,对象就是C语言中的结构体变量
B.类和对象之间的关系是抽象和具体的关系
C.对象是类的实例,一个对象必须属于一个已知的类
D.类是具有共同行为的若干对象的统一描述体
37)假定AB为一个类,则该类的拷贝构造函数的声明语句为()
选项A:
AB&(ABx)
选项B:
AB(ABx)
选项C:
AB(AB&)
选项D:
AB(AB*x)
38)在类定义的外部,可以被访问的成员有()
选项A:
所有类成员
选项B:
private或protected的类成员
选项C:
public的类成员
选项D:
public或private的类成员
39)关于this指针的说法错误的是()
选项A:
this指针必须显示说明
选项B:
当创建一个对象后,this指针就指向该对象
选项C:
成员函数拥有this指针
选项D:
静态成员函数不拥有this指针
40)声明一个类的对象时,系统自动调用构造函数,撤消对象时,系统自动调用()函数
选项A:
成员函数
选项B:
构造函数
选项C:
析构函数
选项D:
普通函数
41)下面对析构函数的正确描述是()
选项A:
系统不能提供默认的析构函数
选项B:
析构函数必须由用户定义
选项C:
析构函数没有参数
选项D:
析构函数可以设置默认参数
42)对类的构造函数和析构函数描述正确的是()
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
c.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
43)下面对静态数据成员的描述中,正确的是()
A.静态数据成员是类的所有对象共享的数据
B.类的每个对象都有自己的静态数据成员
C.类的不同对象有不同的静态数据成员值
D.静态数据成员不能通过类的对象调用
44)下列说法正确的是()
A..内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义
D.类的内联函数必须在类体外通过加关键字inline定义
45)下面函数()的表示方法说明它使用对象的引用作为参数。
A.test(pt*p)B.test(ptp)
C.test(pt&p)D.test(constP)
46)设有以下类的定义:
classEx
{intx;
public:
voidsetx(intt=0);
};
若在类外定义成员函数setx(),以下定义形式正确的是
选项A:
voidsetx(intt){…}
选项B:
voidEx:
:
setx(intt){…}
选项C:
Ex:
:
voidsetx(intt){…}
选项D:
voidsetx(){…}
47)以下对派生类的描述中不正确的是()
选项A:
一个派生类可以作为另一个派生类的基类
选项B:
一个派生类可以有多个基类
选项C:
具有继承关系时,基类成员在派生类中的访问权限不变
选项D:
派生类的构造函数与基类的构造函数有成员初始化参数传递关系
48)在C++语言类体系中,不能被派生类继承的有()
A.转换函数B.构造函数C.虚函数D.静态成员函数
49)使用派生类的主要原因是()。
A.提高代码的可重用性B.提高程序的运行效率
C.加强类的封装性D.实现数据的隐藏
50)下列描述中,表达错误的是()
选项A:
公有继承的基类中的public成员在派生类中仍是public的
选项B:
私有继承的基类中protected成员在派生类中仍是p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)