C++语言程序设计1(专升本)期末考试试题及参考答案《C++语言程序设计》复习题一一、单选题(共10小题,2分/题,共20分)1.在声明类时,下面的说法正确的是()。A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是registerC.private,public,protected可以按任意顺序出现D.没有用private,public,protected定义的数据成员是公有成员2.下面有关友元函数的描述中,正确的说法是()A.友元函数是独立于当前类的外部函数B.一个友元函数不可以同时定义为两个类的友员函数C.友元函数必须在类的外部进行定义D.在类的外部定义友元函数时必须加上friend关键字3.在下面有关析构函数特征的描述中,正确的是()。A.一个类可以有多个析构函数B.析构函数与类名完全相同C.析构函数不能指定返回类型D.析构函数可以有一个或多个参数4.派生类的对象对它的基类成员中()是可以访问的。A.公有继承的公有成员;C.公有继承的保护成员;B.公有继承的私有成员;D.私有继承的公有成员。5.下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()合适。A.重载函数B.内联函数C.递归调用D.嵌套调用6、关于new运算符的下列描述中,()是错误的。A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值;7、constint*p说明不能修改()。A、p指针;B、p指针指向的数据类型;C、p指针指向的变量;D、上述A、B、C三者;8、当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为()。A、fstreamfin(“A:xxk.dat”,1)B、ifstreamfin(“A:xxk.dat”,ios::nocreate)C、ofstreamfin(“A:xxk.dat”)D、ifstreamfin(“A:xxk.dat”,ios::app)9.下述静态数据成员的特征中,()是错误的。A.说明静态数据成员时前边要加修饰符static;B.静态数据成员要在类体外进行初始化;C.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符;D.静态数据成员不是所有对象所共用的。10.有一段代码:inta=10;intb=20;int&p=a;p=b;,请问p获得的值是()A.10B.20C.30D.40二、判断题(请将答案写在下表中,对的写“T”,错的写“F”;每题2分,共20分)1、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。()2、多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。()3、在保护继承中,对于垂直访问等同于公有继承,对于水平访问等同于私有继承。()4、在私有继承中,基类中所有成员对派生类都是不可见的。()5、在一个成员函数内调用一个虚函数时,对该虚函数的调用进行动态束定。()6、C++的标准输入对象是cin,标准输出对象有三个,分别是cout、cerr和clog。()7、运算符函数的调用必须使用关键字operator。()8、如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数。()9、基类和派生类中同时出现的同名函数,也存在二义性问题;()10、函数的类模板参数须通过构造函数实例化()三、填空题(请将答案填在下面的表格里,不要填在题里,每空2分,共计20分)1.在面向对象程序设计中,具有相同属性和行为的一组对象的集合称为(1)。2.对一个类中的数据成员的初始化,可以通过(2)来实现,也可以通过(3)来实现。3.假定AB为一个类,则执行ABa(10);语句时,系统自动调用该类的构造函数的次数为(4)。4.假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB*a[10]={&a1,&a2};时系统自动调用该类的构造函数的次数为(5)。5.在已经定义了整型指针ip后,为了动态得到一个包括10个整数的数组并由ip所指向,应使用语句(6)。6.类的私有成员只能被它的成员函数和(7)访问。7.一个抽象类的派生类可以实例化的必要条件是实现了所有的(8)。8.当创建一个对象后,(9)指针就指向该对象9.通过C++语言中类的(10)机制,可以扩充和完善已有类以适应新的需求。