【成人自考】【C++程序设计】【04737】2019年04月考试真题
(1).C++语言与C语言相比,在求解问题方法上进行的最大改进是
A.面向过程正确答案B
B.面向对象
C.安全性
D.复用性
(2).已知类A中一个成员函数说明"void Set(A&a);",其中A&a的含义是
A.指向类A的指针为a正确答案C
B.将a的地址值赋给变量Set
C.a是类A的对象引用,用来作函数Set()的形参
D.变量A与a按位相与作为函数Set()的参数
(3).下列关于对象数组的描述中,错误的是
A.对象数组的下标是从0开始的正确答案D
B.对象数组的数组名是一个常量指针
C.对象数组的每个元素是同一个类的对象
D.对象数组只能赋初值,不能被赋值
(4).定义了指向常量的指针p的选项是
A.const int *p;正确答案A
B.int *p;
C.int * const p=&x;
D.const int * const p=&x;
(5).下列关于析构函数特征的描述中,正确的是
A.一个类中能定义一个析构函数正确答案A
B.析构函数名与类名不同
C.析构函数的定义只能在类体内
D.析构函数可以有一个或多个参数
(6).通常的拷贝初始化构造的参数是
A.某个对象名正确答案C
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
(7).关于成员函数特征的描述中,错误的是
A.成员函数一定是内联函数正确答案A
B.成员函数可以重载
C.成员函数可以设置参数的缺省值
D.成员函数可以是静态的
(8).下列关于静态数据成员的特性叙述中,错误的是
A.说明静态数据成员时,使用关键字static进行修饰正确答案D
B.静态数据成员要在类外进行初始化
C.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符
D.静态数据成员是所有对象的共享成员
(9).下列关于类和对象的叙述中,错误的是
A.一个类只能有一个对象正确答案A
B.对象是类的具体实例
C.类是某一类对象的抽象
D.类和对象的关系是一种数据类型与变量的关系
(10).决定C++中函数的返回值类型的是
A.return语句中的表达式类型正确答案D
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义函数时所指定的类型
(11).下列对派生类的描述中,错误的是
A.对基类成员的访问必须是无二义性的正确答案C
B.派生类至少有一个基类
C.基类的公有成员在生类中仍然是公有的
D.派生类的成员除了它自己的成员外,还包含了它的基类的成员
(12).通过下列哪一选项调用虚函数,会采用动态联编
A.对象指针正确答案A
B.对象名
C.成员名限定
D.派生类名
(13).假设Class Y: publicX,即类Y是类X的派生类,则说明一个类的对象时和删除Y类对象时,调用构造函数和构函数的次序分别为
A.X,Y;Y,X正确答案A
B.X,Y;X,Y
C.Y;X;X,Y
D.Y;X;Y,X
(14).若有"int m=5;",则下列表示引用的方法中,正确的是
A.int&Z;正确答案C
B.int &t=5;
C.int &X=m;
D.float &f=&m;
(15).以下基类中的成员函数表示纯虚函数的是
A.virtual void tt() =0;正确答案A
B.void tt(int)=0;
C.virtual void tt(int);
D.virtual void tt(int){}
(16).下列关于类的析构函数的描述中,正确的是
A.能带形式参数正确答案D
B.函数体中必须有delete语句
C.可以被重载
D.无形参,也不可重载
(17).作用域运算符"::"的功能是:
A.标识作用域的级别正确答案B
B.指出作用域的范围
C.给定作用域的大小
D.标识成员是属于哪个类
(18).要求打开文件"d:file.dat",可写人数据,正确的语句是:
A.ifstream infile("d: \file.dat", ios::in);正确答案B
B.ifstream infile("d:\\file.dat", ios::in);
C.ofstream infile("d:\file.dat", ios::out);
D.fstream infile("d:\\file.dat", ios:in|ios::out);
(19).考虑函数原型 int funl( float, char y="$",int a=9, char b="@"),下面的函数调用中,属于不合法调用的是
A.funl(3.14)正确答案C
B.fun(3.14,"#")
C.funl(3.14,"$","@")
D.funl(3.14,"#",7,"@")
(20).下面关于友元的描述中,错误的是
A.友元函数可以直接访问该类的私有成员正确答案D
B.一个类的友元类中的所有成员函数都是这个类的友元函数
C.利用友元可以提高程序的运行效率,但却破坏了封装性
D.友元关系不能被继承,是双向可交换的
(21).在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_____标识符开始的预处理命令。
#include
(22).C++语言中的每条基本语句以______作为结束符。
;(或分号)
(23).已知A~Z的ASCII码为65~90,当执行"char ch=14*5+2;cout< H (24).表达式float(39)/4的值为_____。 9.75 (25).假定不允许使用逻辑非操作符,则关系表达式x+y>5的相反表达式为______。 x+y<=5 (26).一个双目运算符作为类的成员函数重载时有____个参数。 1 (27).如果一个派生类只有一个唯一的基类,则称这样的继承关系为_____。 单继承 (28).假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句表达式为Worker * r=________。 new Worker[n] (29).所谓______成员是指只有类中所提供的成员函数才能直接使用它们,任何类以外的函数对它们的访问都是非法的。 私有 (30).类和对象之间的关系是抽象和具体的关系,类是对多个对象进行综合抽象的结果,对象是类的______。 实例 (31).面向对象程序设计将表示属性特征的数据和对数据进行操作的______封装在一起,构成一个完整的对象。 方法 (32).对象成员是指该对象所属类中定义的成员,包括数据成员和______。 成员函数 (33).构造函数是类中特殊的成员函数,其功能是在______时使用给定的值来初始化对象。 创建对象 (34).函数模板中紧随template之后尖括号内的类型参数都要冠以保留字______。 class (35).与结构成员访问表达式(*fp) .score等价的表达式是______。 fp->score (36).假定类AB中有一个公用属性的静态数据成员bb,类外不通过对象名访问该成员bb的写法为______。 AB::bb (37).OOA中使用______映射问题域中的事物。 对象 (38).定义重载函数,应该在参数类型或______上有所不同。 (参数的)个数 (39).静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是______。 友元函数 (40).在面向对象的程序设计中,将一组对象的共同特性抽象出来形成______。 类 (41). *p=i;错,给指针p应赋地址值(不能赋常量值) (42). inti,intj错,调用时既有一个参数,也有两个参数,且没有重载,所以参数需要带默认值。 (43). if(strcmp(a[i],pl)<0)pl=a[i];错,因为p对应的输出结果应为最大的字符串。 (44). cout< (45). cout< (46). cout<<"*" cout<<"$"; (47). cout<<"BASE"; DERIVED x; (48). ml=max(a,b,c); if(c>a)a=c; (49). int i=32 a>=A && a<=Z (50). str &a st=new char[strlen(s)+1] (51). LiWei-28-9000 (52). E::E() called. (53).声明一个交通工具(vehicle)基类,具有maxspeed、 weight成员变量,run、stop成员函数(简单输出提示"正在行进","停止"),同时编写 vehicle类的构造函数和析构函数由此派生出自行车类(bicycle)、汽车类( motorcar),自行车类有高度(height)属性,汽车(motorcar)类有座位数( seatnum)。从bicycle和motorcar派生出摩托车类(motor cycle),在继承过程中注意把vehicle设置为虚基类。 (54).要求打开文件"d:file.dat",可写入数据,正确的语句是: (55).假定不允许使用逻辑非操作符,则关系表达式x+y >5的相反表达式为______。 x+y< =5 此题目数据由翰林刷题小程序免费提供
fun() called.
E::~E() called.
B::start() called.A.ifstream infile("d: \file.dat", ios::in);
正确答案B
B.ifstream infile("d:\\file.dat", ios::in);
C.ofstream infile("d:\file.dat", ios::out);
D.fstream 0 infile("d:\\file.dat", ios:in|ios::out);
