全国2007年10月高等教育自学考试面向对象程序设计参考答案
全国2007年10月自学考试软件工程试题(含答案)
全国2007年10月自学考试软件工程试题(含答案)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.以下哪一项不是软件危机的表现(B)A.开发的软件可维护性差B.软件极易被盗版C.经费预算经常被突破D.开发的软件不能满足用户需求2.以下哪个软件生存周期模型是一种风险驱动的模型(C)A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型3.各种需求分析方法都有共同适用的(D)A.分析方法B.说明方法C.表示方法D.基本原则4.结构化分析建立功能模型的工具是(B)B.判定树/判定表C.DDD.结构化语言5.模块中所有成分结合起来完成一项任务,该模块的内聚性是(A)A.功能内聚B.顺序内聚C.通信内聚D.逻辑内聚6.系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括(A)A.技术可行性、经济可行性、社会可行性B.经济可行性、安全可行性、操作可行性C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性7.以下哪一项对模块耦合性没有影响(D)A.模块间接口的复杂程度B.调用模块的方式C.通过接口的信息D.模块内部各个元素彼此之间的紧密结合程度8.检查软件产品是否符合需求定义的过程称为(A)B.集成测试C.系统测试D.单元测试9.下面关于详细设计的叙述中,错误的是(B)A.程序流程图可以描述结构化程序B.程序流程图不能描述结构化程序C.NS图描述的程序一定是结构化的D.PAD图描述的程序一定是结构化的10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是(C)A.校正性维护B.适应性维护C.完善性维护D.预防性维护11.以下不属于序言性注释的有(D)A.模块设计者B.修改日期C.程序的整体说明D.语句功能12.集成测试是为了发现(A)A.接口错误B.编码错误C.性能、质量不合要求D.功能错误13.一个只有顺序结构的程序,其环形复杂度是(B)A.0B.1C.3D.514.结构化程序设计,主要强调的是(C)A.程序的执行效率B.模块的内聚C.程序的可理解性D.模块的耦合15.下面关于文档的叙述,错误的是(A)A.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节B.文档是软件产品的一部分,没有文档的软件就不成为软件C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量16.在McCall软件质量度量模型中,面向软件产品操作的质量因素是(A)A.正确性B.可维护性C.适应性D.互操作性17.对度量法,叙述错误的是(D)A.度量法是一种基于程序控制流的复杂性度量法B.度量法以图论为工具,用图的环路数作为程序复杂性的度量值C.度量法不能区分简单IF语句和循环语句的复杂性D.度量法对模块间的接口和简单IF语句区分对待18.在快速原型模型的开发过程中,仅用于代替设计阶段的原型是(C)A.探索型模型B.演化型模型C.实验型模型D.提交型模型19.对于构造原型的建议,下面说法错误的是(A)A.暂不考虑错误恢复和处理,但应考虑速度、空间等性能效率方面的要求B.可降低可靠性和软件质量标准C.原型界面部分的设计,最好能与最终系统的界面相容D.根据不同的软件类型和应用领域,可使用不同风格的高级语言来构造原型20.面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是(C)A.Booch方法B.Coad方法C.UML语言D.OMT方法二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
成人教育 《面向对象程序设计》期末考试复习题及参考答案
面向对象程序设计复习题二一、填空1.程序的三种常见结构是、、,其中结构是程序的默认结构。
2.同名方法给出不同的实现,并通过参数类型或个数进行区分,称为。
3.和“继承”匹配的概念是。
4.由类构建对象的过程称为。
5.抽象类是含有的类。
6.实现软件复用有两种方式,分别为、、。
7.有定义const int *p,p称为。
8.通过继承产生的类称为。
9.virtual关键字在C++中有两个用处,分贝是,和。
10.方法重载和实现了多态性。
11.请给出C++外的另外一种支持面向对象设计语言。
12.类的三个要素是、、。
13.对象释放前执行的函数是。
二、名词解释1、构造函数2、对象3、运算符重载4、析构函数5. 面向对象6. 继承三、简答1.比较类和结构体?2.重载的意义?3.抽象类的作用和意义?4.组合与继承的区别?四、辩析1.任何父类对象都可以被子类对象替代。
2.public修饰符号破坏了数据的开放性。
3.private继承方式不能产生子类。
4.不能实例化的类一定是抽象类。
五、综合回答1.简述多态的实现机制。
2.谈谈多态的意义。
3.面向对象程序设计思想的优点和缺点。
面向对象程序设计复习题二答案一、填空(1)顺序(2)选择(3)循环(4)顺序(5)函数重载(6)抽象(7)实例化(8)纯虚函数(9)继承(10) 组合(9)和(10)不区分顺序(11)常量指针(12)派生类(13)虚函数(14)虚拟继承(13)和(14)不区分顺序(15)覆盖(16)Java或者C#(17)类的标识(18)类的状态(19)类的操作(17)(18)(19)不区分顺序(20)析构函数二、名词解释1、当类实例化时自动调用的成员函数,负责实现对象的初始化2、按照数据类型分配的内存空间,可以实现方法的调用3、将系统定义的运算符操作对象的类型扩展的过程,一般针对自定义类型4、对象空间释放之前自动调用的函数5、是程序设计思想,相对面向过程而言更加强调封装性6、两个类之间的一种关系,其中一个类的某个成员类型是另一个类三、简答1、C++中类和结构体具有同等的功能,唯一区别是类缺省成员属性是private,而结构体缺省为public2、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。
湖工大07 面向对象程序设计 考试参考答案(B卷)
三、填空题
(评分标准:每空2分,共10分,等价写法给满分)
(1)n<0
(2)return 1
(3)2*TwoTimes(n-1)
(4)new Number(5)
(5)p->GetNum()
四、阅读下面的程序,写出程序运行的结果。(共26分)
1.程序1
答:(评分标准:a和c正确分别得3分)
#include <iostream>
using namespace std;
class doctor
{
private:
int Num;
string Name;
int Age;
char Sex;
public:
int GetNum() { return Num;};
doctor(int Num0=1001, string Name0="彭博士", int Age0=30,char Sex0='1')
}
int main()
{
doctor s1,s2(1002,"周博士",28,'0'),*p;
s1.display();
s2.display();
p = new doctor(1003,"马博士",29,'0');
p->display();
delete p;
return 0;
}
Complex t;
t.real = real + b.real;
t.image = image + b.image;
return t;
C++面向对象程序设计教程课后习题答案
tem = a[i]; a[i] = a[j]; a[j] = tem;
}
}
……
整理课件
9
*5.编一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可
以是整型、单精度实型、双精度实型,用重载函数实现。
参考程序:
……
void Sort(float a[], int n)
// 对a[0]...a[n-1]进行排序
// 定义变量
for (i = 0; i < n- 1; i++)
for (j = i + 1; j < n; j++)
if (a[i] > a[j])
{
// a[i]比a[j]更大
tem = a[i]; a[i] = a[j]; a[j] = tem;
}
}
……
整理课件
11
*5.编一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可
double c[] = {1.2, 3.1, 2.6, 5.8, 6.8, 9.8, 0.8, 6.2};// 定义c
int i, n = 8;
// 定义变量
Sort(a, n); cout << "a:"; for (i = 0; i < n; i++)
cout << a[i] << " "; cout << endl;
Fun(a);
// 调用Fun()
return 0;
// 返回值0, 返回操作系统
}
该程序执行后输出的结果是 。
A)1
面向对象程序设计C课后题答案
第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。
这种范型的主要特征是:程序=对象+消息。
面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。
第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。
面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。
这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。
[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。
对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。
类和对象之间的关系是抽象和具体的关系。
类是多个对象进行综合抽象的结果,一个对象是类的一个实例。
在面向对象程序设计中,总是先声明类,再由类生成对象。
类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。
[1_3]现实世界中的对象有哪些特征?请举例说明。
对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。
(2)需要用属性来描述它的某些特性。
(3)有一组操作,每一个操作决定了对象的一种行为。
(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。
例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:1966.10.1 工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。
全国2007年10月高等教育自学考试
全国2007年10月高等教育自学考试计算机通信网试题课程代码:02373一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.关于OSI参考模型作用的说法,错误..的是( )A.它提供工程标准B.它提供概念性和功能性结构C.它确定研究和改进标准的范围D.它为维护所有有关标准的一致性提供共同的参考2.关于协议的描述,正确的是( )A.协议是(N)实体向上一层提供的服务B.协议是控制相邻层实体之间通信的规则C.协议是控制对等实体之间通信的规则D.协议是(N)实体向上一层提供服务的能力3.数据链路层协议HDLC的特点是面向( )A.字符B.比特C.字节计数D.分组4.用于连接同构型LAN的最简单的网间连接器是( )A.网关B.集中器C.路由器D.网桥5.不属于...二层交换器信息的转发方式的是( )A.存储转发方式B.切入式C.交换式D.改进切入式6.使用4对3类UTP的快速以太网是( )A.100 BASE—TXB.100 BASE—FXC.100 BASE—T4D.100 BASE—T27.决定MAC帧最大长度的因素不包括...( )A.传输速率较高B.减少重发概率C.缓冲区大小D.避免独占传输线8.在排队模型中,最简单流的顾客输入过程满足( )A.平稳性、均匀性、独立性B.均匀性、独立性、稀疏性C.独立性、稀疏性、无后效性D.稀疏性、无后效性、平稳性9.IEEE 802.5令牌环网中的令牌由三个字节组成,它们分别是( )A.起始定界符SD,帧控制字段FC和结束定界符EDB.起始定界符SD,帧控制字段FC和帧状态字段FSC.起始定界符SD,访问控制字段AC和帧状态字段FSD.起始定界符SD,访问控制字段AC和结束定界符ED10.计算机通信子网技术发展的顺序是( )A.A TM→帧中继→线路交换→报文组交换B.电路交换→分组交换→A TM→帧中继C.电路交换→分组交换→帧中继→A TMD.电路交换→帧中继→ATM→分组交换11.CSMA/CD技术在发送过程中检测到冲突时,( )A.立即停止发送信息B.加强发送信号强度C.立即停止发送信息,并发送报警信号D.先发送完信息,再发送报警信号12.在C类IP地址中,网络地址部分占用的字节数是( )A.1个B.2个C.3个D.4个13.IP数据报协议提供的传送服务( )A.可靠,面向连接B.不可靠,面向连接C.可靠,无连接D.不可靠,无连接14.IP数据报分片控制中,其偏移量的单位是( )A.1字节B.4字节C.8字节D.16字节15.ICMP协议中,保证主机有一个动态的小而优的路由表的是( )A.重定向机制B.最优化机制C.源路由机制D.源抑制机制16.TCP数据传输的基本单位是( )A.分片B.段C.IP数据报D.分组17.分组交换采用的技术是( )A.时分复用B.总线竞争C.存储转发D.动态转发18.DDN的接入方式不包括...( )A.通过调制解调器B.通过复用设备C.通过中继器D.通过2Mbps数字电路19.ISDN的基本接口构成是( )A.23B+DB.30B+DC.2B+DD.B+H+D20.网络管理的对象通常不包括...( )A.物理网络设备B.网络主机C.网络中运行的软件D.光驱二、填空题(本大题共15小题,每小题1分,共15分)请在每小题的空格中填上正确答案,错填、不填均无分。
专升本《面向对象程序设计》_试卷_答案
专升本《面向对象程序设计》一、(共75题,共150分)1. 的值为()。
(2分)A.1B.2C.3D.4.标准答案:B2. 调用C++的标准函数exit(0)退出程序,将()。
(2分)A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:A3. 对于定义的值为()。
(2分)A.1B.2C.3D.4.标准答案:A4. 对于定义使用f的正确方法为()。
(2分)A.见图 B.见图 C.见图 D.见图.标准答案:C5. 对于则调用f(x)的返回值为()。
(2分)A.6 B.7 C.8 D.9.标准答案:C6. 对于定义正确的叙述为()。
(2分)A.w引用u,v引用wB.w引用u,v引用uC.w未引用u,v引用wD.w未引用u,v未引用w .标准答案:B7. C++的非静态函数成员()。
(2分)A.可以重载,可以省略参数B.不能重载,不能省略参数C.可以重载,不能省略参数D.不能重载,可以省略参数.标准答案:A8. 对于定义类F定义对象将调用哪一个构造函数()。
(2分)A.F::F(int)B.F::F(int, int)C.F::F(int, int, int)D.F::F(int, int, int,int).标准答案:D9. 关于类的静态数据成员和非静态数据成员,哪个叙述正确()。
(2分)A.它们存储在一起,为所有对象共用B.它们不存储在一起,为所有对象共用C.它们存储在一起,而静态数据成员为所有对象共用D.它们不存储在一起,而非静态数据成员为所有对象共用.标准答案:C10. 使用cin>>x>>y输入,正确的说法是()。
(2分)A.cin是输入函数,一次接受两个实参x和yB.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次C.>>是输入函数,一次接受两个实参:cin和要输入的变量如x(或者y)D.>>是输入函数,一次接受三个实参:cin、x、y.标准答案:C11. 关于C++静态数据成员指针和普通非成员指针的叙述哪个正确()。
10月全国自考面向对象程序设计试题及答案解析
全国2018年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共12小题,每小题2分,共24分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 所谓多态性是指( )A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象2. 有如下程序段:int *p,a[6]={-1,0,1,2,3,4}; p=a+3;执行该程序段后,*p的值为( )A. 4B. 2C. 1D. NULL3.类MyA的拷贝初始化构造函数是( )A. MyA()B. MyA(MyA*)C. MyA(MyA&)D. MyA(MyA)4.一个函数功能不太复杂,但要求被频繁调用,则应把它定义为( )A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数5.以下有关继承的叙述正确的是( )A. 构造函数和析构函数都能被继承B. 派生类是基类的组合C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D. 基类的公有成员一定能被派生类的对象访问6. 解决二义性问题的方法有( )A. 只能使用作用域分辨操作符B. 使用作用域分辨操作符或赋值兼容规则C. 使用作用域分辨操作符或虚基类D. 使用虚基类或赋值兼容规则7. 假设类X以类Y作为它的一个基类,并且X类的名字func()支配Y类的名字func(),obj 为类X的对象,则obj.func()语句实现的功能为( )A. 先执行类X的func(),再执行访问类Y的func()B. 先执行类Y的func(),再执行访问类X的func()C. 执行类X的func()D. 执行类Y的func()18.以下叙述正确的是( )A. 构造函数调用虚函数采用动态联编B. 构造函数可以说明为虚函数C. 当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数D. 析构函数调用虚函数采用动态联编9.以下关于抽象类的描述正确的是( )A. 不能说明指向抽象类对象的指针或引用B. 可以说明抽象类对象C. 抽象类的纯虚函数的实现可以由自身给出,也可以由派生类给出D. 抽象类的纯虚函数的实现由派生类给出10.在下面格式化命令的解释中,错误的...是( )A. ios::skipws 跳过输入中的空白字符B. ios::fill() 获得当前的填充字符C. ios::hex 转换基数为八进制形式D. ios::precision 返回当前的精度11.下面运算符中,不能被重载的运算符是( )A. <=B. -C. ?:D. []12.下列有关模板和继承的叙述正确的是( )A. 模板和继承都可以派生出一个类系B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定C. 从动态性能看,继承类系比模板类系具有更多的动态特性D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系二、填空题(本大题共8小题,每小题2分,共16分)请在每小题的空格中填上正确答案。
全国2002年10月高等教育自学考试面向对象程序设计试题
全国2002年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。
每小题2分,共20分)1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )A.类B.对象C.函数体D.数据块2.面向对象的程序设计语言必须具备的关键要素是( )A.抽象和封装B.抽象和多态性C.抽象、封装、继承和多态性D.抽象、封装和继承性3.类的构造函数被自动调用执行的情况是在定义该类的( )A.成员函数时B.数据成员时C.对象时D.友元函数时4.设有函数模板template<class Q>Q Sum(Qx,Qy){return(x)+(y);}则下列语句中对该函数模板错误..的使用是( )A.Sum(10,2);B.Sum(5.0,6.7);C.Sum(15.2f,16.0f);D.Sum(″AB″,″CD″);5.已知类A是类B的友元,类B是类C的友元,则( )A.类A一定是类C的友元B.类C一定是类A的友元C.类C的成员函数可以访问类B的对象的任何成员D.类A的成员函数可以访问类B的对象的任何成员6.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )A.operator*(i.operator++(),k)B.operator*(operator++(i),k)C.i.operator++().operator*(k)D.k.operator*(operator++(i))7.下列说法中正确的是( )A.类定义中只能说明函数成员的函数头,不能定义函数体B.类中的函数成员可以在类体中定义,也可以在类体之外定义C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中D.在类体之外定义的函数成员不能操作该类的私有数据成员8.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )A.私有成员B.公有成员C.保护成员D.保护成员或私有成员9.对基类和派生类的关系描述中,错误..的是( )A.派生类是基类的具体化B.基类继承了派生类的属性C.派生类是基类定义的延续D.派生类是基类的特殊化10.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )A.调用类A中的函数func()B.调用类B中的函数func()C.根据p所指的对象类型而确定调用类A中或类B中的函数func()D.既调用类A中函数,也调用类B中的函数二、填空题(每小题2分,共20分)11.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为__________。
10月全国面向对象程序设计自考试题及答案解析
全国2019年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列特性中,C与C++共有的是( )A.继承B.封装C.多态性D.函数定义不能嵌套2.通常情况下,函数模板中的类型参数个数不能..是( )A.0B.2C.4D.33.在下列成对的表达式中,运算符“+”的意义不相同...的一对是( )A.5.0+2.0和5.0+2B.5.0+2.0和5+2.0C.5.0+2.0和5+2D.5+2.0和5.0+24.类的指针成员的初始化是通过函数完成的,这个函数通常是( )A.析构函数B.构造函数C.其它成员函数D.友元函数5.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )A.const char *p=“ABCD”;B.char const *p=“ABCD”;C.char *const p=“ABCD”;D.const char * const p=“ABCD”;6.静态成员函数没有..( )A.返回值B.this指针C.指针参数D.返回类型7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( )A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不是虚函数8.下面叙述不正确...的是( )A.派生类一般都用公有派生B.对基类成员的访问必须是无二义性的C.赋值兼容规则也适用于多重继承的组合D.基类的公有成员在派生类中仍然是公有的19.在C++中实现封装是借助于( )A.枚举B.类C.数组D.函数10.所有在函数中定义的变量,都是( )A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题(本大题共10小题,每小题2分,共20分)不写解答过程,将正确的答案写在每小题的空格内。
通信06 面向对象程序设计 考试参考答案(A卷)
public:
int GetNum() { return Num;};
int GetAge() { return Age;};
Student(int Num0=1001, string Name0="张三", int Age0=20,char Sex0='1')
{
Num = Num0;
五、理解问答题(8分)
1.(3分,评分标准:前一份为1分,后一份为2分)
称为:虚函数。
作用:可以通过基类指针或引用来访问基类和派生类中的同名函数。
2.写出程序运行的结果。(3分,评分标准:正确给3分,格式不对扣1分)
25
10
3.(2分,评分标准:前一份为1分,后一份结果为1分)
程序能运行,其运行结果为:
}
int main()
{
Student s1,s2(1002,"李四",21,'1');
if (s1.GetAge()>s2.GetAge())
{
s1.display();
s2.display();
}
else
{
s2.display();
s1.display();
}
return 0;
}
2.答:三种继承的差异为:
(a)公用继承:基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。(2分)
(b)私有继承:基类的公用成员和保护成员在派生类中成了私有成员。其私有成员仍为基类私有。(3分)
(c)受保护的继承:基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。(3分)
全国2007年10月高等教育自学考试C++程序设计试题
2007年10月自考面向对象程序设计试题一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.以下说法中正确的是( B )A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++函数必须有返回值,否则不能使用函数D.C++程序中有调用关系的所有函数必须放在同一个程序文件中2.以下关于函数模板叙述正确的是( C )A.函数模板也是一个具体类型的函数B.函数模板的类型参数与函数的参数是同一个概念C.通过使用不同的类型参数,函数模板可以生成不同类型的函数D.用函数模板定义的函数没有类型3.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )A.作为友元函数重载的1元运算符B.作为成员函数重载的1元运算符C.作为友元函数重载的2元运算符D.作为成员函数重载的2元运算符4.构造函数不具备的特征是( D )A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定类型说明5.在C++中,封装是借助什么达到的( C )A.结构B.数组C.类D.函数6.在哪种情况下适宜采用inline 定义内联函数?( C )A.函数体含有循环语句B.函数体含有递归语句C.函数代码少、频繁调用D.函数代码多、不常调用7.在关键字public后面定义的成员为类的( B )A.私有成员B.公用成员C.保护成员D.任何成员8. 以下哪个基类中的成员函数表示纯虚函数?( A )A.virtual void tt()=0B.void tt(int) = 0C.virtual void tt(int)D.virtual void tt(int){}9.假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,若该函数返回this 值,当用x.abc()调用该成员函数后,x的值( C )A.已经被改变B.可能被改变C.不变D.受到函数调用的影响10.C++ 对C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是( D )A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念请在每小题的空格中填上正确答案。
(0837)《面向对象程序设计》网上作业题及答案
(0837)《面向对象程序设计》网上作业题及答案1:第一次作业2:第二次作业3:第三次作业4:第四次作业5:第五次作业6:第六次作业1:[论述题]编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击"=”按钮时,在第三个文本框中输出其乘积。
参考答案:问题(1):Java程序分为Java应用程序(或Java application)和Java小应用程序(或Java applet);这段程序是Java小应用程序。
问题(2):界面上包含一个标签(JLabel),一个按钮(JButton)和一个文本框(JTextField);点击按钮后,文本框内显示“好好学习,天天向上”。
问题(3):ActionListener是动作事件监听器接口;方法actionPerformed()是ActionListener中的方法;其功能是处理applet界面里发生的动作事件。
2:[论述题]请设计一个软件包。
要求该软件包至少拥有正方形类、圆类。
要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。
然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。
在创建这些实例对象时,构造方法的调用参数值分别是:正方形:左上定点的坐标为(5,10),边长为15。
圆形:圆心的坐标为(0,0),圆心为15。
参考答案:问题(1):Test3是SuperTest的子类(或SuperTest是Test3的父类,或继承关系)。
问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对象自己的引用)。
问题(3):程序的输出是:Hi, I am OliveNice to meet you!Age is 7My age is 7My parent's age is 353:[论述题]编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件"score.txt”中。
面向对象程序设计(李爱华、程磊)课后习题答案
第二章2-4#include <iostream>using namespace std;Add(int a,int b);int main(){int x,y,sum;cout<<"please input x and y:";cin>>x>>y;sum = add(x,y);cout <<x<<"+"<<y<<"="<<sum<<endl;}Add(int a,int b){return a+b;}2-5(1)this is a C++ program.(2)x=50.6 y=10 z=Ax=216.34 y=10 z=Ax=216.34 y=2 z=Ax=216.34 y=2 z=E(3)x y z500 10000500 15001500500 200 15002-6#include <iostream>using namespace std;int main(){int *p,*init;int countp=0;int countn=0;p = new int[20];init = p;for(int i=0;i<20;i++){cin>>*p;p++;}p = p-20;for( i=0;i<20;i++){if(*p>0) countp++;if(*p<0) countn++;cout<<*p<<" ";p++;}cout<<"正数有 :"<<countp<<endl; cout<<"负数有 :"<<countn<<endl;p = init;delete[] p;return 0;}2-7 不做要求#include <iostream>//#include <string>using namespace std;void checkagescore(string name,int age) {if (name == "exit") throw name;if(age<0||age>50)throw age;}int main(){string name;int age;for(int i=0 ;i<5 ;i++ ){cin.ignore ();getline(cin,name );cin>>age ;try{checkagescore(name,age);}catch( string){cout<<"exception :name is exit"<<endl;continue;}catch(int){cout<<"exception :age is not proper"<<endl;continue;}cout<<"name:"<<name<<"age :"<<age<<endl;}return 0;}第三章3-1(1)A (2)C (3)B (4)C (5)C(6)B(7)B(8)C(9)C3-7(1)main()函数中p1.age = 30;语句是错误的。
面向对象程序设计考试模拟题(附参考答案)
面向对象程序设计考试模拟题(附参考答案)一、单选题(共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修饰是错误的。
全国10月自学考试java语言程序设计(一)试题及答案
全国2011年10月自学考试Java语言程序设计(一)试题课程代码:04747一、单项选择题(本大题共10小题,每小题1分,共1O分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下面供选字符序列中,不属于...Java语言关键字的是 ( )A. throwB. synchronizedC. protectD. try2.以下程序代码的输出的结果是 ( )double x = 25.6;System.out.println((int)x << 1);A. 48B. 50C. 51D. 523.在以下供选择的概念中,不属于...面向对象语言概念的是 ( )A.类 B.函数C.动态联编 D.抽象4.在Java语言中,能够实现字符串连接的方法是 ( )A. String substring(int startpoint)B. String concat(String s)C. String replace(char old,char new)D. String trim()5.在以下供选择的容器类中,属于顶层容器的是 ( )A.JDialog B.JPanelC.JScrollPane D.JToolBar6.在以下选项中,属于MouseListener接口的方法是 ( )A.mouseDoubleClicked(MouseEvent) B.mouseDragged(MouseEvent)C.mouseMoved(MouseEvent) D.mousePressed(MouseEvent)7.设已经有Graphics2D对象g2d,Line2D对象line,绘制对象line的代码是( )A.g2d.draw(1ine) B.g2d.drawLine(1ine)C.1ine.draw() D.1ine.drawLine()8.设Thread对象thd的优先级为7,thd又创建了另一个Thread对象chd,如果未对chd 的优先级进行修改,则chd的优先级为 ( )A.1 B. 5C.7 D. 109.在以下供选择的操作中, File对象能够提供的操作是 ( )A.删除文件 B.读写文件C .打开文件 D.查询文件属性10.在编写访问数据库的Java 程序时,Statement 对象的作用是 ( )A .建立新数据库连接B.设置查询命令 C .创建SQL 语句对象 D.存储查询结果二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
面向对象程序设计教程 答案
面向对象程序设计教程(C++语言描述)题解与课程设计指导第1章面向对象程序设计概论一、名词解释抽象封装消息【问题解答】面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。
面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。
消息是面向对象程序设计用来描述对象之间通信的机制。
一个消息就是一个对象要求另一个对象实施某种操作的一个请求。
二、填空题(1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。
(2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。
(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。
(4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。
(5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。
三、选择题(至少选一个,可以多选)(1)面向对象程序设计着重于( B )的设计。
A. 对象B. 类C. 算法D. 数据(2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做( C )。
A. 抽象B. 继承C. 封装D. 多态(3)在面向对象程序设计中,类通过( D )与外界发生关系。
A. 对象B. 类C. 消息D. 接口(4)面向对象程序设计中,对象与对象之间的通信机制是( C )。
A. 对象B. 类C. 消息D. 接口(5)关于C++与C语言的关系的描述中,( D )是错误的。
A. C语言是C++的一个子集B. C语言与C++是兼容的C. C++对C语言进行了一些改进D. C++和C语言都是面向对象的【结果分析】C语言是面向过程的。
C++语言是一种经过改进的更为优化的C语言,是一种混合型语言,既面向过程也面向对象。
(6)面向对象的程序设计将数据结构与( A )放在一起,作为一个相互依存、不可分割的整体来处理。
自学考试面向对象程序设计试题以及答案
一、选择题1、程序设计中,首先在问题域中识别出若干个()A.函数B.类C.文件D.过程2、定义类模板用关键字()A.constB.newC.deleteD.template3、运算结果类型相同的()A. 9.0/2.0 9.0/2B. 9/2.0 9/2C. 9.0/2 9/2D. 9/2 9.0/2.04、已知f1 f2同一类两个成员函数,但f1不能调用f2,说明()a.f1 f2都是静态函数b.f1是静态,f2不是c.f1不是,f2是静态d.f1 f2都不是静态函数5、调用一成员函数时,使用动态联编的情况是()A.通过对象调用一虚函数B.通过指针或引用调用一虚函数C.通过对象调用静态函数D.通过指针或引用调用一静态函数6、假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}则执行"A x(4)"后,x.a和x.b值分别是:()A.1,0B.1,4C.4,0D.4,17、在派生类中能直接访问基类的()A.公有成员,私有成员B.保护成员,私有成员C.不可访问成员,私有成员D.公有成员,保护成员8、不具访问权限属性的是:( )A.非类成员B.类成员C.数据成员D.函数成员9、类定义中private,protected,public 出现次数为()A.任意多次B.至多一次C.public 至少一次D.至少一次10、C++鼓励程序员将()A.数据操作分别封装B.不同类型数据封装C.数据操作封装在一起D.不同作用操作封装在一起二、填空1、C++中,最好用()代替malloc2、函数模板中template之后尖括号的类型参数冠以保留字()3、在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,( )4、如果重载了运算符+,则相应运算函数名是()5、由static修饰的数据成员为该类的所有对象()6、为了实现多态性,派生类需要重新定义基类中的()7、编译时多态性通过()函数实现。
10月全国自考面向对象程序设计试题及答案解析
全国2018年10月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共12小题,每小题2分,共24分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 所谓多态性是指( )A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象2. 有如下程序段:int *p,a[6]={-1,0,1,2,3,4}; p=a+3;执行该程序段后,*p的值为( )A. 4B. 2C. 1D. NULL3.类MyA的拷贝初始化构造函数是( )A. MyA()B. MyA(MyA*)C. MyA(MyA&)D. MyA(MyA)4.一个函数功能不太复杂,但要求被频繁调用,则应把它定义为( )A. 内联函数B. 重载函数C. 递归函数D. 嵌套函数5.以下有关继承的叙述正确的是( )A. 构造函数和析构函数都能被继承B. 派生类是基类的组合C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D. 基类的公有成员一定能被派生类的对象访问6. 解决二义性问题的方法有( )A. 只能使用作用域分辨操作符B. 使用作用域分辨操作符或赋值兼容规则C. 使用作用域分辨操作符或虚基类D. 使用虚基类或赋值兼容规则7. 假设类X以类Y作为它的一个基类,并且X类的名字func()支配Y类的名字func(),obj 为类X的对象,则obj.func()语句实现的功能为( )A. 先执行类X的func(),再执行访问类Y的func()B. 先执行类Y的func(),再执行访问类X的func()C. 执行类X的func()D. 执行类Y的func()18.以下叙述正确的是( )A. 构造函数调用虚函数采用动态联编B. 构造函数可以说明为虚函数C. 当基类的析构函数是虚函数时,它的派生类的析构函数也是虚函数D. 析构函数调用虚函数采用动态联编9.以下关于抽象类的描述正确的是( )A. 不能说明指向抽象类对象的指针或引用B. 可以说明抽象类对象C. 抽象类的纯虚函数的实现可以由自身给出,也可以由派生类给出D. 抽象类的纯虚函数的实现由派生类给出10.在下面格式化命令的解释中,错误的...是( )A. ios::skipws 跳过输入中的空白字符B. ios::fill() 获得当前的填充字符C. ios::hex 转换基数为八进制形式D. ios::precision 返回当前的精度11.下面运算符中,不能被重载的运算符是( )A. <=B. -C. ?:D. []12.下列有关模板和继承的叙述正确的是( )A. 模板和继承都可以派生出一个类系B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定C. 从动态性能看,继承类系比模板类系具有更多的动态特性D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系二、填空题(本大题共8小题,每小题2分,共16分)请在每小题的空格中填上正确答案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国2007年10月高等教育自学考试
面向对象程序设计参考答案
一、单项选择题(本大题共l0小题,每小题2分:共20分)
1.B
2.C
3.B
4.D
5.C
6.C
7.B
8.A
9.C 10.D
二、填空题(本大题共10小题,每小题2分,共20分)
11.单一继承
12. 编译
13.vitrual
14.形参
15.原型说明
16. 空(或不能带有参数)
17. 宏定义
18. 数据封装
19. 默认构造函数(或不带参数的构造函数)
20. const
三、改错题(本大题共2小题:每小题6分,共l2分)说明:各小题中,每指出错误得l 分,每说明出错原因或改正正确得l分。
21.第1行,出错,缺少“:”应改为public:
第3行,出错,参数应为引用,应改为friend fract&operator+=(fract&, fract&)
第6行,出错,friend友元说明只能出现在类中,不能出现在类外,应改为fract&operator+=(fract&f1, fract&f2)
22.第13行,出错,常成员的初始化应放在B类构造函数的初始化列表当中第15行,出错,缺分号,应改为};
第17行,出错,B类没有对应的带3个参数的构造函数来初始对象z。
四、完成程序题(本大题共3小题,每小题6分,共20分,每填对一行给2分)
23.①public Base1,public Base2;(2分)
②Base1::x=x1 (2分)
(3)Base2::x=x2
24.①for(int i=0;i<MaxLen;i++)a[i]=aa[i] (2分)
②A::~A(){delete[]a;} (2分)
(3) for(i=0;i<10;i++)s=s+r.GetValue(i)
25.①int & ARRAY:: (2分)
②n>s (2分)
(3)v[n-1]
五、程序分析题(本大题共6小题,每小题5分,共30分)
26.result1=9
result1=8
result1=15
27. 5 6
2 2
7 8
4 4
5 5 28.ftt fun1
ftt fun2
ftt fun3 29.6
9 30.1
2
11
11
11
11
11 31.15 8。