东师19秋《C ++》 程序设计在线作业1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东师19秋《C ++》程序设计在线作业1
试卷总分:100 得分:100
一、单选题(共20 道试题,共60 分)
1.假定classA为一个类,则执行“classA x(5);”语句时将自动调用该类的()。
A.赋值重载函数
B.无参构造函数
C.带参构造函数
D.复制构造函数
答案:C
2.下列格式控制符中不是定义于iostream.h中的是()。
A.setw
B.hex
C.flush
D.endl
答案:A
3.下面关于运算符重载的描述错误的是()。
A.重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
B.运算符函数的调用必须使用关键字operator
C.在C++语言中不可通过运算符重载创造出新的运算符
D.不是所有的运算符都可以进行重载
答案:B
4.read()函数的功能是从输入流中读取()。
A.指定若干个字符
B.当前字符
C.一行字符
D.一个字符
答案:A
5.当将一个类A说明为另一个类B的友元后,类A能够直接访问类B的()。
A.只能是除私有成员之外的任何成员
B.只能是公有成员
C.只能是保护成员
D.具有任何权限的成员
答案:D
6.在一个类的定义中,包含有数据成员和()的定义。
A.数据
B.成员函数
C.友元
D.函数
答案:B
7.假设定义了一个具有构造函数的book类,构造函数只有一个非默认的整型参数,则下列的类型转换错误的是()。
A.book x=book(2);
B.book x=2;
C.(book20);
D.book(12)
答案:C
8.假定一个类A只含有一个整型数据成员x,当用户不定义任何构造函数时,系统为该类定义的默认无参构造函数为()。
A.A(){x=0;}
B.A(int a):x(a){}
C.A(int a=0):x(a){}
D.A(){}
答案:D
9.要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是()。
A.ofstream inf("D:\\File.txt",ios::out);
B.ifstream inf("D:\\File txt",ios::in);
C.ifstream inf("D:\\File.txt");
D.fstream inf("D:\\File.txt",ios::in|ios::out);
答案:A
10.决定C++语言中函数的返回值类型的是()。
A.调用该函数时系统随机产生的类型
B.调用该函数时的主调用函数类型
C.在定义该函数时所指定的数据类型
D.return语句中的表达式类型
答案:C
11.下列输出字符'A'的方法中,错误的是()。
A.cout<<put('A');
B.cout<<'A';
C.cout.put('A');
D.char a='A';cout<<a;
答案:A
12.下面对静态数据成员的描述中,正确的是()。
A.静态数据成员可以直接用类名调用
B.静态数据成员可以在类体内进行初始化
C.静态数据成员不能受private控制符的作用
D.静态数据成员不可以被类的对象调用
答案:A
13.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
A.以上都不对
B.ios::out
C.ios::in|ios::out
D.ios::in
答案:C
14.使用派生类的主要原因是()。
A.提高程序的运行效率
B.提高代码的可重用性
C.实现数据的隐藏
D.加强类的封装性
答案:B
15.C++利用()实现面向对象程序设计的继承性。
A.类的派生机制
B.构造数据类型—类
C.构造数据类型—枚举
D.函数重载与运算符重载
答案:A
16.假定classA为一个类,f()为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f()的格式为()。
A.x.f()
B.x.f
C.x->f()
D.x->f
答案:A
17.C++的继承性允许派生类继承基类的()。
A.部分特性,并允许增加新的特性或重定义基类的特性
B.部分特性,但不允许增加新的特性或重定义基类的特性
C.所有特性,并允许增加新的特性或重定义基类的特性
D.所有特性,但不允许增加新的特性或重定义基类的特性
答案:C
18.下面对于指针的描述不正确的是()。
A.指针是地址变量
B.指针指向不同基类型的变量长度不同
C.指针不能用除0以外的常量赋值
D.两个指针变量的加减法无意义
答案:B
19.在I/O流库中定义的控制输出宽度的函数为()。
A.width()
B.setw()
C.precision()
D.fill()
答案:A
20.如果一个类至少有一个纯虚函数,那么该类就被称为()。
A.虚基类
B.纯基类
C.抽象类
D.基类
答案:C
二、判断题(共20 道试题,共40 分)
21.静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。
答案:正确
22.凡是左操作数必须为本类对象的运算符均应以类成员函数的方式重载。
答案:正确
23.原型说明中没有指出返回类型的函数(包括主函数main),C++默认该函数的返回类型是
void
答案:错误
24.如果要在程序中使用IO流库,应包含头文件iostream.h。
答案:正确
25.C++利用类来实现面向对象程序设计的继承性。
答案:错误
26.IO流库重载的插入和析取运算符能处理所有的数据类型(包括自定义类型)。
答案:错误
27.C++不允许定义有默认参数的函数。
答案:错误
28.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。
答案:正确
29.一个类的友元一定是另一个类的成员函数。
答案:错误
30.cout通常与显示器相连,cin通常与键盘相连。
31.IO流库中定义的格式操作符ws表示跳过输入流前面的空白字符。
答案:正确
32.在C++中,构造派生类对象时,总是先从基类的初始化开始的。
答案:正确
33.在一般的成员函数中都隐含有一个this指针,用来指向对象自身,而在静态成员函数中是没有this指针的。
答案:正确
34.类和对象之间的关系是抽象和具体的关系。
答案:正确
35.公有继承方式下,基类成员的访问权限在派生类中保持不变。
答案:正确
36.若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。
答案:正确
37.编译时的多态是通过动态联编来实现的,运行时的多态是通过静态联编实现的。
38.构造函数是不能说明它的返回值类型的,但可以说明为void类型。
答案:错误
39.C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
答案:正确
40.构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
答案:错误。