全国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=newStudent[2];delete[]ss;”的描述中,正确的是
A.delete[]ss释放动态对象数组
B.delete[]ss调用3次析构函数gm
C.newStudent[2]分配8个字节的内存
D.newStudent[2]调用十次构造函数
6.“classDemo{public:voidSetValueO{};",主函数中有语句“constDemoObj;Obj.SetValue();",正确的说法是
A.Obj是常量对象
B.SetValue()函数值为整型
C.constDemoObj;编译时错误
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.对于下面类定义,正确的叙述是
classA{
public:virtualvoidfuncl(){}
voidfunc2(){}};
classB:publicA{
public:voidfuncl(){cout<<"classBfunc!"<
virtualvoidfunc2(){cout<<"classBfunc2”<
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(intn=1,intdelimEOF);”描述正确的是
A.跳过输出流中的n个字符
B.跳过delim及其之后的所有字符
C.常用于跳过输出中的无效部分
D.cin.ignore()等效于cin.ignore(I,EOF)
17.在C++中打开一个文件就是将指定的文件与下列哪个选项建立关联
A.流对象
B.流类
C.流函数
D.流结构
A.ofstreammyfile;myfile.open("d:ofile.xt");
B.ofstream*myfile=newofstream;myfile->open("d:ofile.txt");
C.ofstreammyfile.open("d:ofile.txt");
D.ofstream*myfile=new("d:ofile.txt");
Tmax(Tx,Ty){return(x>y)x:y;}
A.max(i,i)
B.max(i,c)
C.max(c,c).
D.max((int)c,i)
A.templateclass
B.template
C.template
D.template
非选择题部分
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题:本大题共15小题,每空1分,共15分。
21.通常根据是否可以直接操纵计算机底层硬件,将程序设计语言分为低级语言、中级语言和_________
22.函数调用时参数的传递为“传引用”,是传递对象的_________
23.面向对象的程序设计方法使得程序结构清晰,相互协作容易,更重要的是程序的_________性大大提升了。
24.从逻辑关系上看,典型的C++程序的结构包括类的定义、类中成员函数的实现及_________
25.当程序创建一一个对象时,系统自动调用____________来初始化该对象。
26.已知类A中的两个成员函数fl()和f2(),如果在fl()中不能直接调用f2(),则___________是静态函数。
27.重载赋值运算符后,赋值语句的功能是将--个对象中指针成员变量指向的内容复制.到另一个对象中指针成员变量指向的地方,这样的拷贝叫“_________”
28.运算符重载相当于定义了一个以_________为名称的函数。
29.定义类时,保护成员的访问范围比_____________成员的访问范围大。
30.学生集合包含本科生集合,如果一个人是本科生,他/她必然也是一-位学生,设计程.序时,_________集合作为派生类。
32.定义4个类,类A中定义公有成员函数Print()为虚函数,类A派生了类B和类D,类B派生了类C,3个派生类均是公有继承也都重写了Print()函数,则有____________个派生类中的Print()是虚函数。
33.要将s=“C++”输出为“@@@C++”这样的格式,应该使用的语句是“cout<<_________<
34.文件的I/O由ifstream、_________和fstream三个类提供。
35.类模板“template 三、程序填空题:本大题共5小题,每小题4分,共20分。请按试题顺序和空格顺序 在答题卡(纸)指定位置上填写答案,错填、不填均无分。 五、程序设计题:本大题共2小题,第1小题5分,第2小题10分,共15分。 46.编写一个函数模板,实现将n个数据进行由小到大排序的功能。 47.有一个School类,保护数据成员Number和Name分别表示人的编号和姓名。学生类Student是School的派生类,新增数据成员班号Class_Num和总成绩Total.请用C++代码描述这两个类,并用Student类的成员函数Display实现学生张小蒙的编号(2020150601)、姓名、班级(四班)和总成绩678的输出(要求编写派生类的构造函数)。 答案暂缺。 全专业电子资料、题库、学位、网课 最高直省2344元 上千+科次精品网课 买网课即送全真模考题库 五千+科次教材资料 电子资料满三件9折 五千+科次在线题库 全真呈现历年考试试题 自考生题库 专业智能,巩固提分 真题全景再现 进入做题 模拟考场 海量题随机做 考前点题 部分科目押题 章节练习 章节专项突破 错题收纳 试题收藏复习 易错题 高频易错习题 网课试听 教材大全 做题闯关 温馨提示:本网站所提供的考试信息仅供考生参考,考试政策请以权威部门公布的正式信息为准。