安交通大学15年《面向对象程序设计》考查课试题.docx
- 文档编号:26584252
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:10
- 大小:21.03KB
安交通大学15年《面向对象程序设计》考查课试题.docx
《安交通大学15年《面向对象程序设计》考查课试题.docx》由会员分享,可在线阅读,更多相关《安交通大学15年《面向对象程序设计》考查课试题.docx(10页珍藏版)》请在冰豆网上搜索。
安交通大学15年《面向对象程序设计》考查课试题
安交通大学15年7月《面向对象程序设计》考查课试题
西交《面向对象程序设计》在线作业
单选题多选题判断题
一、单选题(共40道试题,共80分。
)
1. 下列函数中,()是对文件进行读操作的。
A.read()
B.write()
C.tellg()
D.seekp()
-----------------选择:
A
2. 设x和y均为bool量,则x&&y为真的条件是()。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
-----------------选择:
A
3. 指针可以用来表示数组元素,下列表示中_____是错误的。
已知:
inta[3][7];
A.*(a+1)[5]
B.*(*a+3)
C.*(*(a+1))
D.*(&a[0][0]+2)
-----------------选择:
A
4. 关键字class和typename用于定义模板类型参数,其含义为()。
A.任何用户定义的类类型
B.C++内部的类型
C.A与B
D.都不是
-----------------选择:
C
5. 函数没有返回值的时候,应该选择()的函数类型。
A.void
B.int
C.不确定
D.float
-----------------选择:
A
6. 用关键字()标记的函数被称为虚函数。
A.virtual
B.private
C.public
D.protected
-----------------选择:
A
7. 面向对象程序设计将数据与_____放在一起,作为一个相互依存、不可分割的整体来处理。
A.对数据的操作
B.信息
C.数据隐藏
D.数据抽象
-----------------选择:
A
8. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名()。
A.main
B.MAIN
C.name
D.function
-----------------选择:
A
9. 控制输出格式的控制符中,()是设置输出宽度的。
A.ws
B.ends
C.setfill
D.setw
-----------------选择:
D
10. 有关析构函数的说法不正确的是_____.
A.析构函数有且只有一个
B.析构函数和构造函数一样可以有形参
C.析构函数无任何函数类型
D.析构函数的作用是在对象被撤销时收回先前分配的内存空间
-----------------选择:
B
11. 关于this指针不正确的说法是()
A.this指针指向类对象的首地址
B.this指针不能被对象外部所引用
C.this指针可以被该类的所有成员函数所引用
D.this指针不可以被友元函数所引用
-----------------选择:
C
12. 有如下的定义语句:
int*array_ptr=newint[10];int*pi;执行下面的哪个语句将使程序执行delete[]array_ptr时出错()
A.(*array_ptr)++;
B.array_ptr++;
C.pi=array_ptr;
D.pi=array_ptr+3;
-----------------选择:
B
13. 在一个被调用函数中,关于return语句使用的描述,错误的是_____。
A.被调用函数中可以不用return语句
B.被调用函数中可以使用多个return语句
C.被调用函数中,如果有返回值,就一定要有return语句
D.被调用函数中,一个return语句可返回多个值给调用函数
-----------------选择:
D
14. C++对C语言作了很多改进,下列描述中()使得C语言发生了质变,即从面向过程变成为面向对象。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省值
C.规定函数说明必须用原型
D.引进了类和对象的概念
-----------------选择:
D
15. 关于new运算符的下列描述中,_____是错误的。
A.他可以用来动态创建对象和对象数组
B.使用它创建的对象或对象数组,可以使用运算符delete删除
C.使用它创建对象时要调用构造函数
D.使用它创建对象数组时必须指定初始值
-----------------选择:
D
16. 假定一个二维数组的定义语句为“inta[3][4]={{3,4),{2,8,6));”,则元素a[1][2]的值为()。
A.2
B.4
C.6
D.8
-----------------选择:
C
17. 假定AB为一个类,则执行“AB*p=newAB(1,2);”语句时共调用该类构造函数的次数为()。
A.0
B.1
C.2
D.3
-----------------选择:
B
18. 下面关键字中()是定义模板的关键字。
A.public
B.static
C.class
D.template
-----------------选择:
D
19. 若类A中的静态成员函数display的原型如下:
staticvoiddisplay();,则说法正确的是()
A.该函数可以直接使用类A的普通数据成员
B.该函数可以使用this指针
C.该函数只能使用类A中的静态成员
D.该函数既可以使用类A中的普通成员函数也可以使用类A中的静态成员函数
-----------------选择:
C
20. 下列哪个初始化是非法的(下面五个选项是顺序出现的声明语句)()
A.inti=-1;
B.constintic=i;
C.constint*pc=⁣
D.int*constcpi=⁣
E.constint*constcpic=⁣
-----------------选择:
C
21. 关于this指针的说法正确的是()
A.this指针必须显示说明
B.当创建一个对象后,this指针就指向该对象
C.成员函数拥有this指针
D.静态成员函数拥有this指针
-----------------选择:
B
22. 若一个类中含有纯虚函数,则该类称为()。
A.基类
B.虚基类
C.抽象类
D.派生类
-----------------选择:
C
23. 类型修饰符unsigned修饰_____类型是错误的。
A.Char
B.int
C.longint
D.float
-----------------选择:
D
24. 下面概念不正确的选项是()
A.构造函数的名字必须与类名相同
B.析构函数和构造函数都不能有返回参数
C.析构函数可以被重载
D.析构函数可以成为虚拟函数
-----------------选择:
25. 下列运算符中,_____运算符在C++中不能重载。
A.?
:
B.+
C.new
D.<=
-----------------选择A
26. 在下列重载函数的调用时可能发生错误的是()
A.intprint(intX);voidprint(float);
B.intshow(intX);intshow(char*s);
C.intdisplay(MyclassA);char*display(MyclassA);
D.intview(intX,inty);intview(intX);
-----------------选择:
27. 假设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是()。
A.“classderived:
:
studentprived{//…};”
B.“classderived:
studentpublic{//…};”
C.“classderived:
privatestudent{//…};”
D.“classderived:
:
studentpublicstuednt{//…};”
-----------------选择:
28. 对于语句cin>>x;中各个组成部分,下列叙述中错误的是()。
A.;的作用是语句的结束
B."cin"是一个输出流对象
C.">>"称作提取运算符
D."x"是一个变量
-----------------选择:
29. 关于getline()函数的下列描述中,错误的是()。
A.该函数中所使用的终止符只能是换行符
B.该函数读取字符串时,遇到终止符时便停止
C.该函数读取的字符串长度是受限制的
D.该函数可以用来从键盘上读取字符串
-----------------选择:
30. 下列不属于同一个函数原型的是()
A.add(int,double);
B.intadd(int,double);
C.intadd(intx,doubley);
D.intadd(doubley,intx);
-----------------选择:
A
31. 如果一个类至少有一个纯虚函数,那么就称该类为_____。
A.抽象类
B.虚基类
C.派生类
D.以上都不对
-----------------选择:
32. 下列语句中错误的是()。
A.“int*p=newint(10);”
B.“int*p=newint[10];”
C.“int*p=newint;”
D.“int*p=newint(10)(0);”
-----------------选择:
D
33. 下列函数中,_____不能重载。
A.一般的成员函数
B.一般的非成员函数
C.析构函数
D.构造函数
-----------------选择:
34. 当使用ofstream流类定义一个输出流对象并打开一个文件时,文件的默认打开选择项是()。
A.ios:
:
in
B.ios:
ut
C.ios:
:
binary
D.ios:
:
app
-----------------选择:
35. 下面关于析构函数特征的描述正确的是()。
A.一个类中可以定义多个析构函数
B.析构函数名与类名相同
C.析构函数不能指定返回类型
D.析构函数可以有一个或多个参数
-----------------选择:
36. 关于动态联编的下列描述中,______是错误的。
A.动态联编是以虚函数为基础的;
B.动态联编是在运行时确定所调用的函数代码的;
C.用指针或引用所标识的对象来操作虚函数才能进行动态联偏;
D.动态联编是在编译时确定操作函数的;
-----------------选择:
37. 选出关于运算符重载的正确概念是()
A.所有的运算符都可以被重载
B.C++中可以定义新的运算符
C.重载运算符不能改变原有运算符的参数个数、优先级及结合性
D.凡是能被成员函数重载的运算符也一定能被友元函数重载
-----------------选择:
38. 类模板的模板参数()。
A.只可作为数据成员的类型
B.只可作为成员函数的返回类型
C.只可作为成员函数的参数类型
D.以上三者皆可
-----------------选择:
39. 设置虚基类的目的是()
A.简化程序
B.消除二义性
C.提高运行效率
D.减少目标代码
-----------------选择:
40. 使用如setfill()的操作符对数据进行格式输出时,应包含()头文件。
A.iostream
B.fstream
C.iomanip
D.stdlib
-----------------选择:
西交《面向对象程序设计》在线作业
单选题多选题判断题
二、多选题(共5道试题,共10分。
)
1. 下列关于构造函数描述正确的是
A.构造函数的名字必须与类名相同
B.构造函数可以有任意类型的参数,但不能具有返回类型
C.定义对象时,编译系统会自动地调用构造函数
D.构造函数用于为对象分配空间,进行初始化。
-----------------选择:
2. 对象具有下述哪些特性?
A.封装性
B.模块独立性
C.动态连接性
D.易维护性
-----------------选择:
3. 下列关于静态成员的描述中,正确的是()。
A.静态成员分为静态数据成员和静态成员函数两种
B.静态数据成员初始化不用构造函数
C.静态成员函数中一般不能直接引用非静态成员
D.静态数据成员初始化必须在类体中
-----------------选择:
4. 继承是()的方法。
A.将特殊的类变成通用的类
B.把通用的参数传送给特殊的类的对象
C.将通用的类变成特殊的类
D.将已有的类添加新的特性,但不重写它们
-----------------选择:
5. 下列关于C++程序结构特点表述正确的是:
A.由包括main()在内的一组函数组成
B.C++函数由函数的说明部分和函数体两部分组成
C.C++中每个语句和数据定义必须以分号结束
D.C++源程序扩展名为.cpp
-----------------选择:
西交《面向对象程序设计》在线作业
单选题多选题判断题
三、判断题(共5道试题,共10分。
)
1. 变量必须先定义后赋值。
()
A.错误
B.正确
-----------------选择:
2. 常量不能作为左值使用。
()
A.错误
B.正确
-----------------选择:
3. 抽象类中只能有一个纯虚函数。
()
A.错误
B.正确
-----------------选择:
4. 成员函数中调用的虚函数可能实现动态联编。
()
A.错误
B.正确
5. 对于从基类继承的虚函数,派生类也可以不进行重定义。
()
A.错误
B.正确
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 交通大学 15 面向 对象 程序设计 考查 试题