中国人民大学网络教育学院面向对象考试试卷
- 格式:doc
- 大小:241.50 KB
- 文档页数:6
面向对象考试题目和答案一、单项选择题(每题2分,共20分)1. 面向对象程序设计中,对象的状态由()来表示。
A. 属性B. 方法C. 消息D. 类答案:A2. 在面向对象程序设计中,封装的目的是()。
A. 隐藏对象的属性B. 隐藏对象的方法C. 隐藏对象的实现细节D. 隐藏对象的消息答案:C3. 面向对象程序设计中,继承的主要优点是()。
A. 重用代码B. 减少代码量C. 提高程序的可读性D. 所有以上选项答案:D4. 在面向对象程序设计中,多态性是指()。
A. 一个对象可以有多个类B. 一个类可以有多个对象C. 一个消息可以有多个行为D. 一个类可以有多个属性答案:C5. 在面向对象程序设计中,以下哪个不是类的组成部分()。
A. 属性B. 方法D. 函数答案:D6. 在面向对象程序设计中,以下哪个概念不是面向对象的核心概念()。
A. 封装B. 继承C. 多态D. 过程答案:D7. 在面向对象程序设计中,以下哪个概念是面向对象的核心概念之一()。
A. 函数B. 过程C. 消息D. 抽象8. 在面向对象程序设计中,以下哪个不是类的成员()。
A. 属性B. 方法C. 函数D. 消息答案:C9. 在面向对象程序设计中,以下哪个不是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:D10. 在面向对象程序设计中,以下哪个不是类的访问修饰符()。
B. 保护C. 公共D. 静态答案:D二、多项选择题(每题3分,共15分)1. 面向对象程序设计中,以下哪些是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:ABC2. 面向对象程序设计中,以下哪些是类的成员()。
A. 属性C. 函数D. 消息答案:ABD3. 面向对象程序设计中,以下哪些是类的访问修饰符()。
A. 私有B. 保护C. 公共D. 静态答案:ABC4. 面向对象程序设计中,以下哪些是面向对象的核心概念()。
******************************************班级:******************************学号:************************************姓名:************************************共3页第1页得分 阅卷人************ ****** ****** ****** ****** ****** ****** 班级: ****** ****** ****** ****** ****** 学号: ****** ****** ****** ****** ****** ****** 姓名: ****** ****** ****** ****** ****** ******共3页 第21. (9分)class Point { private: int x, y; public:Point(){x=y=0;} Point(int x0,int y0) {x=x0;y=y0;} int GetX() { return x; } int GetY() { return y; }void Print(){cout<<"Point("<<x<<","<<y<<")"<<endl;} ___(1)___; //友元函数声明 ___(2)___; //友元函数声明};Point operator+(Point& pt,int dd) //加号操作符重载函数,实现Point 类对象与整数加法 { Point temp=pt; temp.x+=dd; temp.y+=dd; return temp;}Point operator+(Point& pt1,Point& pt2) //加号操作符重载函数,实现两个Point 类对象的加法 { Point temp=pt1; temp.x+=pt2.x; ___(3)___; return temp;}答案:(1) friend Point operator+(Point& pt,int dd) ----3分(2) friend Point operator+(Point& pt1,Point& pt2) ----3分 (3) temp.y+=pt2.y ----3分 2.(12分) 已知一个类的定义如下: #include<iostream.h> class AA { private:int a[10]; int n;public:void SetA(int aa[], int nn); //用数组aa 初始化数据成员a ,用nn 初始化数据成员n int MaxA(); //从数组a 中前n 个元素中查找最大值void SortA(); //采用选择排序的方法对数组a 中前n 个元素进行从小到大排序void InsertA();//采用插入排序的方法对数组a 中前n 个元素进行从小到大排序 void PrintA(); //依次输出数组a 中的前n 个元素};该类中InsertA()函数的实现如下,请在标号位置补充适当的内容。
面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。
答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。
面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。
通过对象之间的交互来实现程序的功能。
2. 解释什么是多态性,并给出一个简单的例子。
答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
例如,在Java中,可以通过重载和重写来实现多态。
假设有一个动物类Animal,它有一个方法makeSound()。
然后有一个子类Dog,它重写了makeSound()方法。
当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。
3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。
封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。
三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。
面向对象分析与设计试题B卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2 分,共20 分)1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是()的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A. Simula67语言B. Smalltalk语言C. Java语言D. 统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言, 其中()是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A. SmalltalkB. EiffelC. C++D. Java3.下列不属于面向对象技术的基本特征的是()。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是()。
A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6. ()是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B. 对象图C. 序列图D. 用例图7. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图 B. 组件图 C. 类图 D. 配置图8.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A.对象图 B. 协作图 C. 状态图 D. 序列图9.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A. 组件图B. 协作图C. 状态图D. 配置图10. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
电科20春《面向对象程序设计》在线作业3答卷【标准答
案】
20春《面向对象程序设计》在线作业3
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 80 分)
设有下面两个类的定义:class Person{long id;String name;}
class Student extends Person{int score;int getScore(){return score;}} 则类Person和类Student的关系是()。
A.继承关系
B.无关系
C.包含关系
D.关联关系
答案:A
如果子类中覆盖了父类中的同名方法,则在子类中调用父类中的同名方法时应使用关键字
A.this
B.super
C.implements
D.extends
答案:B
3.下面是类A的构造函数声明,其中正确的是
A.void a(int x){...}
B.void A(int x){...}
C.a(int x){...}
D.A(int x){...}
答案:D
在线程中,普通优先级的线程其优先级默认值为()。
A.5
B.2
C.10
D.1
答案:A
下列()修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问。
A.无修饰符
B.public
C.protected
D.private
答案:A
若要抛出异常,应该使用下列()子句。
A.try
B.throw。
《面向对象分析与设计》练习题及参考答案一、思考题:1. How many phases are included in system development? (brief description)2. Describe a system and the components of a system model.3. What two key components distinguish an information system from an automated information system?4. What is systems analysis and design?5. Who are the six stakeholder groups in information systems?6. What are a system designer’s and system builder’s roles in information systems development?7. What is the system analyst role in systems development as it related to the other stakeholders?8. List the six steps of the general problem-solving approach.9. List two types of quality certification applicable to information systems.10. What are legacy systems? Name two types of problems encountered in legacy systems.11. What is ERP? What is electronic commerce?12. Differentiate between management information systems and decision support systems.13. What role dose a data warehouse play in a decision support system?14. List three focuses for an information systems.15. What is the role of the network in information systems?16. 面向过程的系统分析与设计存在的问题是什么?通过什么OO技术来解决?17. 请画图说明面向对象系统的基本构造。
001017[面向对象程序设计]5天大在线考试题库及答案面向对象程序设计复习题一、单项选择题1、基类中的保护成员在其私有派生类中的访问属性是(答案是A )。
A.私有B.公有C.保护D.不确定2、在类的非静态成员函数中,不可以直接访问的数据成员是(答案是D )。
A.本类的私有成员B.本类的保护成员C.本类的公有成员D.本类的所有非静态成员3、下列标示符中,不符合C++标示符命名规则的是(C)。
A.x10B. _totalC.πD.www4、下列整型常数中,不符合C++语法的是(C)。
A.12uB.-67lC.059D.0X11ff5、下列常量中,不符合C++语法的是(答案是D )。
A.”\\0”B.‘*’C.“”D.“It’s an array!”6、下列数组的初始化形式中,不符合C++语法的是(答案是A )。
A.int s1[3]={1,2,3,4}B.int s2[3]={0}C.char s3[3]={‘a’,’x’,’d’}D.char s4[]=“asd”7、如果说明语句为:int a[4]={10,20,30,40,50}, *p=&a[2];则*p的值是(答案是 B )。
A.a[2]的地址B.30C.20D.不确定8、已知:int a[3][3];下列表示数组元素a[0][0]的方法中,不符合C++语法的是(C)。
A.**aB.*a[0]C.a[0]D.*(*a[1]-1)9、已知:int a=3,b=5,下列表达式中,值为0的表达式是(答案是 B )。
A.a%5-5B.a/bC.!a||bD.a&&b10、C++中字符常数的定界符是(答案是 B )。
A.”B.‘C.#D.\\11、已知:int a=9,sum=0;下列循环中,不构成死循环的是(答案是 A )。
A.for(;a;a++) sum+=a--B.do{sum+=a--}while(--a);C.while(a=1) sum+=a--;D.do{sum+=a}while(a-1);12、如果定义一个函数时未指定该函数的返回值类型,则函数返回值类型应是(答案是 B )。
面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。
A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。
2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。
它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。
4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。
5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。
B、List集合的特点是元素有序、元素可重复。
C、Set集合的特点是元素无序并且不可重复。
D、集合存储的对象必须是基本数据类型。
正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。
6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。
面向对象的程序设计一、单项选择题1、下面那种结构不是C++的控制结构()A 顺序结构B 选择结构C 循环结构D 判断结构答: D2、下列是C++语言中合法标识符的是()。
A.3three B.ifC._1oneD.while答:C3、下列是合法的C++语言语句的是()。
A.if(x>0) then x=x-1;else x=x+1;B.if(x>0) x=x-1;else x=x+1;C.if x>0 x=x-1;else x=x+1;D.if x>0 x=x-1;答:B4、下面那一种不是计算机内部表示整数的方法()A 二进制码B原码C 补码D反码答:A5、在C++语言中,下列数为合法的实数的是()。
A.5E-3B.5E-3.5C. E5D.-3.5E答:A6、C++语言中数据类型最大的是()A longB floatC intD char7、如果一个函数可以在定义中直接或间接的调用自己,这样的函数称为()。
A.函数声明B.嵌套函数C.定义函数D.递归函数答:D8、表达式0x55^0xB4的结果为()。
A.0xF5B.0x15C.0xE1D.0x1E答:C9、C++中,源代码文件后缀为()A .cppB .objC .exeD .c答: A10、0X5A&0XB7结果是()A 0X13B 0X12C 0X14D 0X15答: B二、填空题1、程序的基本控制结构包括()、()和()。
答:顺序结构,选择结构,循环结构2、用来解决问题的,与有限多个步骤组成的具体过程称为()。
答:算法3、整数类型变量a和b被初始化为3和10,则循环语句while(a<=b) a=a+2;共执行()次,执行完语句后a的值为(),b的的值为()。
答:4,11,10)。
答:警告信息,致命错误5、计算机中的数据可以分为()和()两大类。
答:数值型、字符型6、字符型数据有两种编码方法:()和()答:有美国国家标准局制定的ASCII码、IBM公司提出的EBCDIC码7、通过C++ 语言中的()机制,可以从现存类中构建其子类。
面向对象程序设计试卷一、选择题(每题2分,共20分)1. 面向对象程序设计中的三大特征是:A. 封装、继承、多态B. 抽象、封装、继承C. 封装、继承、封装D. 继承、多态、封装2. 下列哪个不是面向对象程序设计的优点?A. 代码重用B. 易于维护C. 程序复杂度低D. 可扩展性好3. 在Java中,哪个关键字用于定义类?A. classB. structC. interfaceD. type4. 以下哪个是Java中不允许的类名?A. MyClassB. 2MyClassC. MyClass2D. MyClass_5. 在面向对象程序设计中,以下哪个概念不是用于实现封装?A. 私有成员B. 公有方法C. 访问控制D. 继承6. 下列哪个不是Java的访问控制修饰符?A. publicB. privateC. protectedD. global7. 以下哪个是Java中不允许的方法名?A. myMethodB. _myMethodC. my_methodD. myMethod_8. 在Java中,哪个关键字用于实现继承?A. extendsB. inheritC. deriveD. base9. 以下哪个不是Java的多态性实现方式?A. 接口B. 抽象类C. 重载D. 重写10. 在Java中,哪个关键字用于定义接口?A. interfaceB. protocolC. abstractD. type二、简答题(每题10分,共30分)1. 简述面向对象程序设计中封装的概念,并给出一个封装的简单示例。
2. 解释什么是多态性,并说明多态性在面向对象程序设计中的重要性。
3. 描述继承在面向对象程序设计中的作用,并举例说明如何使用继承来提高代码的复用性。
三、编程题(每题25分,共50分)1. 定义一个名为`Student`的类,包含以下属性:- 姓名(String类型)- 学号(String类型)- 年龄(int类型)并为该类实现以下方法:- 一个构造函数,用于初始化姓名、学号和年龄。
中国人民大学网络教育学院201811批次课程考试
Z K132A面向对象程序设计
主观试题
答题要求:
1.主观试题务必在考试提交期截止之日前提交。
2.主观试题部分共一道大题,满分100分。
3.主观试题答卷必须在开发文档中完整填写考生姓名、用户名和所属服务站,未填写考生信息的答卷视为无效答卷。
综合设计题(满分100分)
“个人资料管理工具”
一、概述
知识必须积累,但同时需要整理,只有有条理的成体系的知识,才能带来真正的价值。
在这个知识爆炸的时代,我们需要一种有效的手段管理各种知识。
知识天生是一种“网状”结构,很类似于互联网上相互链接的网页,各知识点之间有着复杂的相互关联。
然而,从高效掌握并应用知识的角度来看,将知识组织成为类似于计算机文件系统的多叉树比网状结构更有效,这是由人的认知特性决定的。
因此本课程的结课设计,就是开发一个“个人资料管理”工具软件,采用树型结构管理各种知识。
一个参考软件如下所示。
左边是一棵树,点击之后,在右边显示一个文本编辑器,用于显示和编辑信息。
二、功能说明及技术指导
1、树节点操作
左边的树支持所有常见的节点操作(可以使用上部的工具栏按钮,或者是右击树节点从弹出菜单中选择各种命令):
◆节点新建/删除/改名:必须实现的功能。
◆节点升级(可选):将节点提升一级,成为其父节点的兄弟。
◆节点降级(可选):将节点层次降低一级,成为其兄弟的儿子(瞧这辈份乱得!)
◆节点上移/下移(可选):在同一级节点中位置移动……
◆剪切/复制(可选):子树搬家,就是将某个节点(包括其所有的子节点)移到另一个地方成为那个节点的新儿子。
可以在标准的T r e e V i e w控件基础之上实现。
2、信息的编辑
每个树节点都关联着一个简单的文本编辑器,可以直接使用T e x t B o x,以纯文本方式保存信息,也可以封装R i c h T e x t B o x支持具有比较丰富样式的文本(就象W o r d文档那样)
◆节点相关联信息的显示与基础编辑功能:必须实现的功能
◆打印(可选):将信息送到打印机输出
◆查找与替换(可选):可以在文本中搜索特定的词并高亮显示
◆辅助功能(可选):任何一个你觉得需要实现的功能,比如给文本加上行号
3、信息的搜索(可选)
查找主要有两种方式:
(1)在树中找,可以在文本框中直接输入,下方网格中会即时动态地筛选,找到之后,就可以在树中直接定位并显示。
(2)另一个是到数据库中找,不搜索树节点记录,而是搜索树节点所关联的数据。
4、资料的存储方式
使用S Q L S e r v e r保存数据,采用E n t i t y F r a m e w o r k构建数据存取层。
◆用一张表保存所有数据:这是最基础的功能,必须实现;
◆多表支持(可选):程序可以随时地创建多个表,每张表对应一个知识树,在界面上以多选项卡的方式同时显示它们,也可以随时地移除它们。
三、课程设计上传说明
请将以下内容压缩打包后以附件的方式上传,需包含以下内容:
(1)可以使用V i s u a l S t u d i o2013/2015顺利编译的项目源码;
(2)可以直接运行的.e x e文件;
(3)开发文档:参看所附的开发文档模板。
四、附件3——开发文档模板
中国人民大学网络教育学院
《面向对象程序设计》结课设计
设计题目姓名用户名所属服务站
1、程序的运行环境、安装步骤
(1)运行环境:例如.N E T4.5,W i n d o w s7,S Q L S e r v e r2014E x p r e s s (2)程序的组成部份:指可以运行的程序包含哪几个文件,比如有几个d l l文件,是否需要其他的支持文件(比如是否需要事先安装第3方的某些软件)等
(3)安装步骤:如何在一台“干净”的计算机上运行你的程序?
一个典型示例:
1)安装.N E T F r a m e w o r k 4.5。
2)安装S Q L S e r v e r E x p r e s s2014。
3)将程序文件复制到计算机上
4)使用S Q L S e r v e r M a n a g e m e n t附加X X X数据库
5)在资源管理器中双击X X X,运行程序
2、程序开发平台
(1)代码行数:约X X X X行
(2)开发环境:V i s u a l s t u d i o2015社区版
3、程序已经实现功能清单:
列表你己经实现的功能清单,推荐给出屏幕截图,底下再给出简要文字说明。
4、程序算法说明及面向对象实现技术方案
(1)数据存储与算法说明:
◆“树”是如何保存的?你如何把某个树节点与特定的信息关联起来》
◆你是如何保存数据的?数据库中创建了几个表?表中有哪些字段?表
之间建立了关联吗?
◆……
(2)软件架构及面向对象技术方案
◆程序中设计了哪几个类,类之间有何关系:继承、组合、实现某接口……
◆你将这些类划分成了多少个命名空间?创建了多少个项目,各个项目之间的依赖关系如何?
◆……
5、技术亮点、关键点及其解决方案
展示出你开发的程序中最精彩得意的亮点,在开发中你遇到了哪些技术困难,又是如何解决的……
6、开发过程回顾及小结
X X月X X号查找资料确定要使用的算法与数据结构
X X月X X号完成系统设计
X X月X X号进行X X X功能开发
X X月X X号X X X功能开发完成,进入测试阶段
……
X X月X X号程序开发工作完毕,编写及整理文档
经过一个学期的理论与技术学习,完成了这个课程设计,我感触很深……
我对课程的意见和建议是……
如果是学弟学妹来学这门课,我给他(她)的建议是……。