首页 手机
当前位置: 好大学 > 试卷库 > 学历类 > 自考 > 自考专业(计算机应用) > C++程序设计 >2019年4月自考C++程序设计试题及答案解析(一)

2019年4月自考C++程序设计试题及答案解析(一)

卷面总分:100分 答题时间:80分钟 试卷题量:50题 练习次数:0次

一、单选题 (共40题,共80分)
1.

在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()

  • A. 受限制
  • B. 保持不变
  • C. 受保护
  • D. 不受保护
纠错 标记
2.

假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,和的值分别为()

  • A. 3和15
  • B. 5和4
  • C. 4和20
  • D. 20和5
纠错 标记
3.

C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()

  • A. 增加了一些新的运算符
  • B. 允许函数重载,并允许设置缺省参数
  • C. 规定函数说明符必须用原型
  • D. 引进了类和对象的概念
纠错 标记
4.

在类中说明的成员可以使用关键字的是()

  • A. public
  • B. extern
  • C. cpu
  • D. register
纠错 标记
5.

C++语言中所有在函数中定义的变量,连同形式参数,都属于()

  • A. 全局变量
  • B. 局部变量
  • C. 静态变量
  • D. 函数
纠错 标记
6.

在私有继承的情况下,基类成员在派生类中的访问权限()

  • A. 受限制
  • B. 保持不变
  • C. 受保护
  • D. 不受保护
纠错 标记
7.

C++的继承性允许派生类继承基类的()

  • A. 部分特性,并允许增加新的特性或重定义基类的特性
  • B. 部分特性,但不允许增加新的特性或重定义基类的特性
  • C. 所有特性,并允许增加新的特性或重定义基类的特性
  • D. 所有特性,但不允许增加新的特性或重定义基类的特性
纠错 标记
8.

对于int*pa [5]; 的描述,正确的是()

  • A. pa是一个指向数组的指针,所指向的数组是 5个int 型元素
  • B. pa是一个指向某个数组中第 5个元素的指针,该元素是 int 型变量
  • C. pa[5]表示某个数组的第 5个元素的值
  • D. pa是一个具有 5个元素的指针数组,每个元素是一个 int 型指针
纠错 标记
9.

使用地址作为实参传给形参,下列说法正确的是()

  • A. 实参是形参的备份
  • B. 实参与形参无联系
  • C. 形参是实参的备份
  • D. 实参与形参是同一对象
纠错 标记
10.

以下基类中的成员函数表示纯虚函数的是()

  • A. virtual void tt()=0
  • B. void tt(int)=0
  • C. virtual void tt(int)
  • D. virtual void tt(int){}
纠错 标记
11.

类中定义的成员默认访问属性为()

  • A. public
  • B. private
  • C. protected
  • D. friend
纠错 标记
12.

拷贝构造函数的参数是()

  • A. 某个对象名
  • B. 某个对象的成员名
  • C. 某个对象的引用名
  • D. 某个对象的指针名
纠错 标记
13.

关于类模板的说法正确的是()

  • A. 类模板的主要作用是生成抽象类
  • B. 类模板实例化时,编译器将根据给出的模板实参生成一个类
  • C. 在类模板中的数据成员具有同样类型
  • D. 类模板中的成员函数没有返回值
纠错 标记
14.

下列有关重载函数的说法中正确的是()

  • A. 重载函数必须具有不同的返回值类型
  • B. 重载函数参数个数必须相同
  • C. 重载函数必须有不同的形参列表
  • D. 重载函数名可以不同
纠错 标记
15.

当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数()

  • A. 都是虚函数
  • B. 只有被重新说明时才是虚函数
  • C. 都不是虚函数
  • D. 只有被重新说明为 virtual 时才是虚函数
纠错 标记
16.

设有定义inti;doublej=5;,则10+i+j值的数据类型是()

  • A. int
  • B. double
  • C. float
  • D. 不确定
纠错 标记
17.

要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()

  • A. const char *p= “ABCD”;
  • B. char *const p= “ABCD”;
  • C. char const *p= “ABCD”;
  • D. const char * const p= “ABCD”;
纠错 标记
18.

类的构造函数被自动调用执行的情况是在定义该类的()

  • A. 成员函数时
  • B. 数据成员时
  • C. 对象时
  • D. 友元函数时
纠错 标记
19.

已知类A是类B的友元,类B是类C的友元,则()

  • A. 类A一定是类 C的友元
  • B. 类C一定是类 A的友元
  • C. 类C的成员函数可以访问类 B的对象的任何成员
  • D. 类A的成员函数可以访问类 B的对象的任何成员
纠错 标记
20.

假定一个类的构造函数为“A(inti=4,intj=0){a=i;b=j;}”,则执行“Ax(1);”语句后,和的值分别为()

  • A. 1和0
  • B. 1和4
  • C. 4和0
  • D. 4和1
纠错 标记
21.

关于this指针使用说法正确的是()

  • A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
  • B. 保证基类私有成员在子类中可以被访问。
  • C. 保证基类保护成员在子类中可以被访问。
  • D. 保证基类公有成员在子类中可以被访问。
纠错 标记
22.

所谓多态性是指()

  • A. 不同的对象调用不同名称的函数
  • B. 不同的对象调用相同名称的函数
  • C. 一个对象调用不同名称的函数
  • D. 一个对象调用不同名称的对象
纠错 标记
23.

友元关系不能()

  • A. 提高程序的运行效率
  • B. 是类与类的关系
  • C. 是一个类的成员函数与另一个类的关系
  • D. 继承
纠错 标记
24.

语句ofstreamf(“”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件并与之连接,并且()

  • A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
  • B. 若文件存在,将其置为空文件;若文件不存在,打开失败
  • C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
  • D. 若文件存在,打开失败;若文件不存在,建立一个新文件
纠错 标记
25.

构造函数不具备的特征是()

  • A. 构造函数的函数名与类名相同
  • B. 构造函数可以重载
  • C. 构造函数可以设置默认参数
  • D. 构造函数必须指定类型说明
纠错 标记
26.

在C++语言中用于注释的标识符是()

  • A. &
  • B. //
  • C. *
  • D.
纠错 标记
27.

编写C++程序一般需经过的几个步骤依次是()

  • A. 编辑、调试、编译、连接
  • B. 编译、调试、编辑、连接
  • C. 编译、编辑、连接、运行
  • D. 编辑、编译、连接、运行
纠错 标记
28.

要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()

  • A. 内联函数
  • B. 重载函数
  • C. 内部函数
  • D. 函数模板
纠错 标记
29.

设x=8,执行语句Y=x++,则y等于()

  • A. 6
  • B. 7
  • C. 9
  • D. 8
纠错 标记
30.

下列运算符中,优先级最高的是()

  • A. *
  • B. 一 >
  • C. &&
  • D. >=
纠错 标记
31.

关于new运算符的下列描述中,错误的是()

  • A. 它可以用来动态创建对象和对象数组
  • B. 使用它创建的对象和对象数组可以使用运算符 delete 删除
  • C. 使用它创建对象时要调用构造函数
  • D. 使用它创建对象数组时必须指定初始值
纠错 标记
32.

存储下列数据,占用存储字节最多的是()

  • A. 0
  • B. ‘0’
  • C. 〝 0〞
  • D. 0.0
纠错 标记
33.

关于类和对象不正确的说法是()

  • A. 类是一种类型,它封装了数据和操作
  • B. 对象是类的实例
  • C. 一个类的对象只有一个
  • D. 一个对象必属于某个类
纠错 标记
34.

下列有关构造函数的描述中,正确的是()

  • A. 构造函数可以带有返回值
  • B. 构造函数的名字与类名完全相同
  • C. 构造函数必须带有参数
  • D. 构造函数必须定义,不能缺省
纠错 标记
35.

假定a为一个整型数组名,则元素a[4]的字节地址为()

  • A. a+4
  • B. a+8
  • C. a+16
  • D. a+32
纠错 标记
36.

类中能访问静态成员的函数是()

  • A. 虚函数
  • B. 静态成员函数
  • C. 构造函数
  • D. 析构函数
纠错 标记
37.

下列说明语句中正确的是()

  • A. int a,&ra=a,&&ref=ra
  • B. int&refa[10]
  • C. int a,&ra=a,& *refp=&ra
  • D. int*pi ,*&pref=pi
纠错 标记
38.

关于对象概念的描述中,说法错误的是()

  • A. 对象就是 C 语言中的结构体
  • B. 对象代表着正在创建的系统中的一个实体
  • C. 对象是类的一个变量
  • D. 对象之间的信息传递是通过消息进行的
纠错 标记
39.

有关多态性说法不正确的是()

  • A. C++语言的多态性分为编译时的多态性和运行时的多态性
  • B. 编译时的多态性可通过函数重载实现
  • C. 运行时的多态性可通过模板和虚函数实现
  • D. 实现运行时多态性的机制称为动态多态性
纠错 标记
40.

关于友元函数的描述中,错误的是()

  • A. 友元函数不是成员函数
  • B. 友元函数只能访问类中私有成员
  • C. 友元函数破坏隐藏性,尽量少用
  • D. 友元函数说明在类体内,使用关键字 friend
纠错 标记
二、填空题 (共10题,共20分)
41.

单目运算符作为类成员函数重载时,形参个数为____个。

纠错 标记
42.

抽象类中至少要有一个_____函数。

纠错 标记
43.

设类A有成员函数voidf(void);若要定义一个指向类成员函数的指针变量pf来指向f,该指针变量的声明语句是:_____。

纠错 标记
44.

重载的运算符保持其原有的_____、优先级和结合性不变。

纠错 标记
45.

编译时的多态性通过___函数实现。

纠错 标记
46.

基类的公有成员在派生类中的访问权限由___决定。

纠错 标记
47.

假设类X的对象x是类Y的成员对象,则“YObj”语句执行时,先调用类___的构造函数。

纠错 标记
48.

C++中ostream的直接基类___。

纠错 标记
49.

C++中有两种继承:单继承和___。

纠错 标记
50.

C++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取___方式。

纠错 标记
答题卡(剩余 道题)
一、单选题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
二、填空题
1 2 3 4 5 6 7 8 9 10
用时:00:00:00
暂停
交卷
置顶