全国2020年10月高等教育自学考试C++程序设计试题
课程代码:04737
1.请考生按规定用笔将所有试题的答案涂、写在答题纸上。
2.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
选择题部分
注意事项:
每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。
一、 单项选择题:本大题共20小题,每小题1分,共20分。在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。
1.下列选项中,能表现出C++语言的主要特点的是
A.继承于C#语言
B.可以进行面向对象的程序设计
C.不能进行结构化程序设计
D..基于数据流的程序设计
2.下列关于C++语言类库提供输入流类和输出流类的描述中,正确的是
A.输入流类ostream
B.输出流类istream
C. cin是istream类的对象
D. cout是istream类的对象
3.下列关于封装特点的描述中,错误的是
A.隐藏对象的属性
B.公开实现的细节
C.提供使用的信息
D.公开的信息是与外界交互的接口
4.下列关于访 问范围说明符public、private、 protected 的描述中,正确的是
A.每种关键字至少出现1次
B.不加说明符默认为公有的
C.3种关键字出现的先后次序没有限制
D.成员的访问范围由它之后最近的说明符决定
5.有关语句“Student *ss =new Student[2];delete[]ss;”的描述中,正确的是
A. delete[]ss 释放动态对象数组
B. delete[]ss 调用3次析构函数g m
C. new Student[2]分配8个字节的内存
D. new Student[2]调用十次构造函数
6.“class Demo{public:void SetValueO{};", 主函数中有语句“const Demo Obj;Obj.SetValue();",正确的说法是
A. Obj是常量对象
B. SetValue()函 数值为整型
C. const Demo Obj;编译时错误
D. Obj.SetValue();编 译时正确
7.设类Test将其他类对象作为成员,则创建类Test的对象时,下列描述正确的是
A.先执行类的构造函数
B.先执行成员对象的构造函数
C.先执行类的析构函数
D.先执行成员对象的析构函数
8.下列关于重载流插入和流提取运算符的描述中,正确的是
A.不可以对流插入运算符进行重载
B.不可以对流提取运算符进行重载
C.重载函数不能是流类库中的成员
D.流是标准类库用户能继承也能修改
9.有定义“Demo & Demo:oprato++()..return *this;}", 若obj是类Demo的对象,
则以下描述错误的是
A.自增运算符“++”可以被重载
B.函数可以区分前置及后置情况
C. ++obj等价于obj.operator++
D. obj+ +等价于obj.operator++()
10.当派生类私有继承基类时,基类中的公有成员和保护成员成为派生类的
A. public 成员
B. private 成员
C. protected 成员
D.友元
11.下列关于派生类对象的初始化叙述中,正确的是
A.是由基类的构造函数实现的
B.是由派生类的构造函数实现的
C.是由基类和派生类的构造函数实现的
D.是系统自动完成的不需程序设计者干预
12.下面关于基类和派生类的描述中,正确的是
A.一个类不能被多次说明为某个派生类的直接类,可以不止一次地成为间接基类
B.一个类可以被多次说明为某个派生类的直接类,可以不止一次地成为间接基类
C.一个类不能被多次说明为某个派生类的直接类,但只能成为一次间接基类
D.一个类可以被多次说明为某个派生类的直接类,但只能成为一次间接基类.
13.对于下面类定义,正确的叙述是
class A{
public: virtual void funcl(){ }
void func2( ){ } };
class B:public A{
public: void funcl( ){cout<<" class B func !" <
virtual void func2( ){cout<<" class B func 2”<
A. A::func2( )和B::funcl( )都是虚函数
B. A::func2( )和B::funcl( )都不是虚函数
C. B::func1() 是虚函数,而A::func2( )不是虚函数
D. B::funcl( )不是虚函数,而A::func2( )是虚函数
14.关于纯虚函数和抽象类的描述中,错误的是
A.纯虚函数是-种特殊的虛函数,它没有具体实现
B.抽象类--般作为基类使用,其纯虚函数的实现由派生类给出
C.抽象类中--定具有一个或多个纯虚函数
D.抽象类的派生类中一定不会再有纯虚函数
15.、 下列流类中,可以用于输入/输出的是
A. ios .
B. fstream
C. iostream
D. strstream
16.对ignore()成员函数原型“istream & ignore(int n=1,int delim EOF);”描述正确的是
A.跳过输出流中的n个字符
B.跳过delim及其之后的所有字符
C.常用于跳过输出中的无效部分
D. cin.ignore()等 效于cin.ignore( I ,EOF)
17.在C++中打开一个文件就是将指定的文件与下列哪个选项建立关联
A.流对象
B.流类
C.流函数
D.流结构
18.以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是
A. ofstream myfile;myfile.open("d:ofile.xt");
B. ofstream *myfile=new ofstream;myfile->open("d:ofile.txt");
C. ofstream myfile.open("d:ofile.txt");
D. ofstream *myfile=new("d:ofile.txt");
19.假设声明了以下函数模板,并定义了“int i;char c;”, 则错误的调用语句是template
T max(T x,T y) { return (x>y)?x:y;}
A. max(i,i)
B. max(i,c)
C. max(c,c) .
D. max((int)c,i)
20.下面对模板的声明正确的是
A. template class
B. template
C. template
D. template