《面向对象程序设计》期末考试A卷(2014-01)

合集下载

[福建师范大学]《面向对象的程序设计》期末考试A卷

[福建师范大学]《面向对象的程序设计》期末考试A卷

▆■■■■■■■■■■■■福建师范大学网络与继续教育学院《面向对象的程序设计》期末考试A卷姓名:专业:学号:学习中心:一、单项单选题 (共25题,每题2分,共50分)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 251、以下对部署图说法不正确的是()。

A.部署图有主要建模元素是构件B.使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件的配置的部署方式C.从部署图中,可以了解到软件与硬件之间物理关系及处理节点的组件分布情况D.部署图是用来显示系统中软件和硬件的物理结构2、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为三种方式来完成,下面哪种不是其中之一()。

A.对源代码建模B.对事物建模C.对数据库建模D.对可执行文件建模3、关于面向对象方法的优点,下列不正确的叙述是()。

A.与人类习惯的思维方法比较一致B.可重用性好C.以数据操作为中心D.可维护性好4、类和接口的关系类似于下面哪种类型的关系()。

A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(use case)D.包(Package)和子系统(subsystem)5、UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画,其中()包括构件图,它描述软件系统中各组成构件,构件的内部结构以及构件之间的依赖关系。

A.行为视图B.结构视图C.构件视图D.用例视图6、行为类模式使用()在类间分派行为。

A.接口B.继承机制C.对象组合D.委托7、通常对象有很多属性,下面仅能在对象内部访问的属性可见性限制是()。

A.公有的(public)B.受保护的(protected)C.友员(friendly)D.私有的(private)8、下面不属于创建型模式的有()。

面向对象程序设计C++期末试卷及标准答案A

面向对象程序设计C++期末试卷及标准答案A

《面向对象程序设计C++》期末考试试卷(A)班级::学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是(C )。

A.面向对象的程序设计语言B.面向过程的程序设计语言C.既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D.非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括(D )。

A.封装性B.多态性C.继承性D.功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=( B )。

A.Microsoft Visual Studio 6.0!B.MicrosoftC.Microsoft VisualD.Microsoft Visual Studio 6.0下面函数调用中,不合法的是( C )。

A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(5,'#');D.testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是( C )。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,(A )是正确的。

已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A)。

面向对象期末试卷 A(答案)

面向对象期末试卷 A(答案)

******************************************班级:******************************学号:************************************姓名:************************************共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()函数的实现如下,请在标号位置补充适当的内容。

面向对象程序设计试卷及答案

面向对象程序设计试卷及答案

考试试卷A(答案)面向对象程序设计注意事项:1. 请考生按要求在试卷装订线内填写、学号和年级专业。

2. 请仔细阅读各种题目的答复要求,在规定的位置填写答案。

3. 不要在试卷上乱写乱画,不要在装订线内填写无关的内容。

4. 总分值100分,考试时间为120分钟。

一.单项选择(本大题共10小题,每题3分,共30分)1. C#中每个int类型的变量占用〔B 〕个字节的内存。

〔A〕8 〔B〕4 〔C〕2 〔D〕12. 面向对象的特点是〔A 〕〔A〕封装、继承、多态〔B〕抽象、封装、多态〔C〕抽象、继承、封装〔D〕抽象、多态、重载3. C#控制台程序的主入口点是〔C 〕〔A〕Page_Load函数〔B〕Run函数〔C〕Main函数〔D〕Form_Load函数4. 引用类型存储在〔B 〕中。

〔A〕堆栈〔B〕堆内存〔C〕队列〔D〕列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义〔B 〕〔A〕CString str 〔B〕string str〔C〕Dim str as string 〔D〕char *str6.在中,用来与数据源建立连接的对象是〔A 〕。

〔A〕Connection对象〔B〕Command对象〔C〕DataAdapter对象〔D〕DataSet对象7. 在类的定义中,类的〔 B 〕描述了该类的对象的行为特征。

〔A〕类名〔B〕方法〔C〕所属的名字空间〔D〕私有域8. 如果未显式赋值,则将整型值〔 B 〕赋给枚举中的第一个元素。

〔A〕1 〔B〕0 〔C〕2 〔D〕39. float类型的值可以隐式转换成〔 C 〕类型的值而保持值不被改变。

〔A〕char 〔B〕long 〔C〕double 〔D〕int10. 在C#中,假设Class1是一个类,而IExample 是一个接口,下面的〔 A 〕类声明是正确的。

〔A 〕class Employee: Class1, IExample〔B 〕class Employee: IExample, Class1〔C 〕class Employee- Class1, IExample〔D 〕class Employee: Class1/IExample二.判断题 (本大题共5小题,每题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。

面向对象程序设计试卷(试卷A)参考解答及评分标准

面向对象程序设计试卷(试卷A)参考解答及评分标准
#include <iostream.h>共10分:
#include <string.h>
class CStudent{(3分)
private:
charm_Name[20];
longm_ID;
charm_Sex;
intm_Age;intm来自TotalScore;public:
CStudent(char* name="No", long ID=0, char sex='N', int age=0, int TotalScore=0);(1分)
};
void main()(1分)
{
CCylinder cylinder(200, 300, 100, 400);
cylinder.Show();
}
m_TotalScore=TotalScore;
}
voidCStudent::Input()(1分)
{
cout<<"Please input name,ID,sex,age,Total Score(separated by blank):"<<endl;
cin>>m_Name>>m_ID>>m_Sex>>m_Age>>m_TotalScore;
class B2 : public A(1分)
class B2 : virtual public A(1分)
或:共4分:
d.a=100(2分)
d.B1:: a=100(2分)
四、程序阅读分析题:本大题共4个小题,每小题4分,共16分。
1、共4分:
Max=101(4分)

《面向对象程序设计C++》期末试卷及标准答案(A)

《面向对象程序设计C++》期末试卷及标准答案(A)

《面向对象程序设计C++》期末考试试卷(A)试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是()。

A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。

已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

《面向对象程序设计C++》期末考试试卷(A)

《面向对象程序设计C++》期末考试试卷(A)

《面向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、填空题1、如果类A继承了类B,则类A称为()类,类B称为()类。

2、在继承机制下,当对象消亡时,编译系统先执行()的析构函数,然后才执行()的析构函数。

3、继承发生在利用现有类派生新类时,其中()称为基类,或()类;()称为派生类,或()类。

4、在C++语言中,派生类继承了基类的全部数据成员和除()之外的全部函数成员。

5、在公有继承关系下,派生类的对象可以访问基类中的()成员,派生类的成员函数可以访问基类中的()成员。

6、在保护继承关系下,基类的公有成员和保护成员将成为派生类中的()成员,它们只能由派生类的()来访问,基类的私有成员将成为派生类中的()成员。

7、在私有继承关系下,基类的公有成员和保护成员将成为派生类中的()成员,它们只能由派生类的()来访问,基类的私有成员将成为派生类中的()成员。

8、在C++中,设置虚基类的目的是(),通过关键字()来标识虚基类。

9、若类Y是类X的私有派生类,若类Z是类Y的公有派生类,则类Z()访问类X的共有成员和保护成员。

10、如果一个类有两个或两个以上直接基类,则这种继承称为()。

11、在继承关系中,()称为单继承,()称为多继承。

12、继承具有(),即当基类本省也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

13、在公有继承中,基类中的公有成员作为派生类的()。

14、派生类析构函数的执行顺序与构造函数的执行顺序(),即先执行()的析构函数,然后执行()的析构函数,最后执行基类的析构函数。

15、由()得到的派生类,其基类的所有公有成员都只能成为它的私有成员,这些私有成员只能被派生类的成员函数访问,而派生类的实例无权访问。

二、选择题1、要用派生类的对象访问基类的保护成员,以下观点正确的是()。

《面向对象程序设计C++》期末试卷及标准答案

《面向对象程序设计C++》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(A)班级::学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是()。

A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。

已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

《面向对象程序设计C》期末试卷及标准答案(A)

《面向对象程序设计C》期末试卷及标准答案(A)

《面向对象程序设计C》期末试卷及标准答案(A)一、选择题(每小题2分,共40分)1、C++是()。

A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。

已知:int a=1000;A. int &x=a;B. char &yC. int &z=1000;D. float &t=&a7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

《面向对象程序设计C++》期末试卷及标准答案

《面向对象程序设计C++》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是()。

A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。

已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

面向对象程序设计》期末试卷及标准答案

面向对象程序设计》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是(C )。

A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括( D )。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=( B )。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是( C )。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是( C )。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,( A )是正确的。

《面向对象程序设计C++》期末试卷及标准答案A

《面向对象程序设计C++》期末试卷及标准答案A

《面向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是(C )。

A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括( D )。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=( B )。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是( C )。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是( C )。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,( A )是正确的。

(完整版)《面向对象程序设计C》期末试卷及标准答案(A)

(完整版)《面向对象程序设计C》期末试卷及标准答案(A)

《面向对象程序设计C++ 》期末考试一试卷( A )班级:姓名:学号:分数:题号一二三四总分得分试卷说明:本套试题共四个大题,所有题目都答在答题纸上,写在其余地方均无效。

(答题纸在本套试卷的第10 页上)一、选择题(每题 2 分,共 40 分)1、C++是()。

A.面向对象的程序设计语言B.面向过程的程序设计语言C.既支持面向对象的程序设计又支持面向过程的程序设计的混淆型语言D.非结构化的程序设计语言2、面向对象程序设计思想的主要特点中不包含()。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐渐求精3、若定义: string str;当语句cin>>str;履行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。

B. MicrosoftA. Microsoft Visual Studio 6.0!C. Microsoft Visual4、考虑下边的函数原型申明:void testDefaulParam(int a,int b=7,char z='*');下边函数调用中,不合法的是()。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、以下语句中,将函数 int sum(int x, int y) 正确重载的是()。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、以下表示引用的方法中,()是正确的。

已知: int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求经过函数来实现一种不太复杂的功能,而且要求加速履行速度,采纳()。

《面向对象程序设计》期末考核试题样例及解答.doc

《面向对象程序设计》期末考核试题样例及解答.doc

《面向对象程序设计》期末查核试题样例及解答一、单项选择(每题 1分,12小题,共12分)C++源程序言件的缺省扩展名为()。

A.cppB.exeC.objD.lik2.x>0||y==5 的相反表达式为()。

A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==53. 在下边的字符数组定义中,有语法错误的选项是( )。

A.chara[20]= “abcdefg”;B.chara[]=“x+y=55.”;C.chara[15];D.chara[10]= ’5’;以下正确的函数原型语句是()。

doublefun(intx,inty)doublefun(intx;inty)doublefun(int,int);doublefun(intx,y);5. 在下边储存类中,()的对象不是局部变量。

A. 外面静态类B. 自动类C. 函数形参D. 寄存器类6. 假设有“structBOOK{chartitle[40];floatprice;};BOOK*book=newBOOK;”,则正确的语句是()。

A.strcpy(book->title, ”WangTao”);B.strcpy(book.title,”WangTao”);C. strcpy(*book.title, ”WangTao”);D.strcpy((*book)->title, ”WangTao”);7. 软件产品所拥有的所有或部分地再用于新的应用的能力称为该软件的()。

A. 可保护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,往常把含有main()函数的文件称为()。

A. 主文件B. 实现文件C. 程序言件D. 头文件9. 在一个用链表实现的行列类中,假设每个结点包括的值域用elem表示,包括的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail 表示,若链队为空,则进行插入时一定把新结点的地点赋给 ( ) 。

《面向对象程序设计C+》期末试卷及标准答案

《面向对象程序设计C+》期末试卷及标准答案

《⾯向对象程序设计C+》期末试卷及标准答案《⾯向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个⼤题,全部题⽬都答在答题纸上,写在其他地⽅均⽆效。

(答题纸在本套试卷的第10页上)⼀、选择题(每⼩题2分,共40分)1、C++是(C )。

A. ⾯向对象的程序设计语⾔B. ⾯向过程的程序设计语⾔C. 既⽀持⾯向对象的程序设计⼜⽀持⾯向过程的程序设计的混合型语⾔D. ⾮结构化的程序设计语⾔2、⾯向对象程序设计思想的主要特征中不包括( D )。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执⾏时,从键盘输⼊:Microsoft Visual Studio 6.0!所得的结果是str=( B )。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下⾯的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下⾯函数调⽤中,不合法的是( C )。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是( C )。

A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表⽰引⽤的⽅法中,( A )是正确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南农业大学期末考试试卷(A卷)2013学年第1学期考试科目:面向对象程序设计
考试类型:闭卷考试考试时间:120 分钟
学号姓名年级专业
试卷说明:
1. 所有答案必须写在答卷上,否则不得分,试卷和答卷均填写学号和姓名。

2. 考试结束时,只上交答卷,试卷自行带走。

3. 常用关键字:class implements extends public private protected static final
4. 常用类和接口:Math Cloneable Serializable String Object
一、单项选择(30分)
说明:每小题只有一个正确的选项,每小题2分。

1. 关于Java Application(Java应用程序)的说法中错误的是(D)。

A Java Application的基本构成单位是类
B Java Application中使用包来管理类
C Java Application中至少需要有一个类中定义main方法
D Java Application编译发布后,可以直接运行在操作系统上
2. 关于下面程序段的编译和运行的说法中正确的是(C)。

int year = 2013;
char grade = 'A';
String lang =“Java”;
String s = lang + year + grade;
A 编译有语法错误
B 编译没有错误,运行时出错
C 运行没有错误,s的值为“Java 2013A”
D 运行没有错误,运行时输出“Java 2013A”
3. 在类Tester中定义方法如下,C
public int sum(int a, int b) {}
则在该类中定义如下哪个方法是对上述方法的重载(Overload)?
A public double sum(int a, int b) {}
B public double sum(double a, double b) {}
C public int sum(int x, int y) {}
D private int sum(int x, int y) {}
4. 关于数组的说法中错误的是(B)。

A 数组中的每个元素都具有相同的类型
B 一旦数组被定义,数组的大小就不能被改变
C 一旦数组被创建,数组的大小就不能被改变
D 数组变量可以引用元素类型相同的数组,与数组大小无关
5. 对于以下代码段的编译和运行的说法正确的是(C)。

A 程序编译没有错误,运行时在第2行出错
B 程序编译没有错误,运行时在第3行出错
C 程序编译有错误
D 程序能够编译和正常运行
6. 定义类Student的结构如下:B
public class Student {}
则下面关于其构造方法的说法中正确的是:
A 可以自行定义多个有参构造方法,系统提供一个默认的无参构造方法
B 所有构造方法的返回值类型必须是void,表示没有返回值
C 所有构造方法的可见性修饰符必须是public
D 所有构造方法的名称必须是Student
7. 类Circle中定义数据域:private boolean major;,则其修改器方法应该为(A)。

A public void setMajor(boolean major) {this.major = major;}
B public boolean isMajor() {return this.major;}
C private void setMajor(boolean major) {this.major = major;}
D private boolean isMajor() {return this.major;}
8. 关于String类的如下代码段的运行结果是(A)。

String s1 = “Welcome to Java”;
String s2 = new String(“Welcome to Java”);
System.out.println((s1 == s2) + “,” + (s1.equals(s2)));
A true,true
B true,false
C false,true
D false,false
9. 下列关于Java的类和对象的说法中正确的是(C)。

A 不需要定义类就可以直接创建对象
B 对象中必须有数据域和方法
C 数据域可以是基本数据类型变量,也可以是引用类型变量
D 实例方法可以不创建对象直接用类名调用
10.关于继承的说法中正确的是(B)。

A 子类继承父类的所有数据域和方法
B 子类继承父类中它可以访问的数据域和方法
C 子类继承父类中public的数据域和方法
D 子类只继承方法,不继承数据域
11.关于Java的异常处理说法中正确的是(C)。

A 解决程序中程序员造成的语法错误
B 解决程序实现的功能不正确造成的逻辑错误
C 解决程序运行环境不正常造成的运行错误
D 解决以上全部错误
12.下面的类定义中,合法的抽象类定义是(A)。

A abstract class A { abstract void method(); }
B public class A { abstract void method(); }
C abstract class A { abstract void method(){} }
D public class A { abstract void method(){} }
13.下面关于Java语言接口的说法中正确的是(A)。

A 接口可以有静态方法
B 接口可以继承抽象类
C 接口编译后的字节码文件扩展名为.interface
D 接口可以继承一个或多个其他接口
14.对文件进行二进制数据的写入操作,则打开文件使用的类是(A)。

A FileOutputStream
B FileInputStream
C FileWriter
D File
15.如果让父类中定义方法能被任意包中的子类继承,而不能被除父类所在包外的其它包中的其他类访问,则可见性修饰符应该使用(A)。

A protected
B public
C private
D final
二、程序填空(20分)
说明:按照每小题的要求填充程序中的空白,使程序能够正确编译或运行,每空2分。

注意填写答卷时按空号顺序。

1. 具体类Student继承Person,实现Readable。

2. 按注释填空,使程序正确。

3. 以下程序功能为创建二维数组存储多个班学生的考试成绩,数组每行存储一个班的成绩,每行列数为学生人数,然后计算并输出各班的平均成绩。

4. 下面程序输出数组中的字符串的长度。

三、阅读程序(20分)
说明:阅读以下每段程序,写出运行的结果,每小题5分。

1. 阅读程序
1
11,12
12,11
12,11
2. 阅读程序2
3. 阅读程序3
4. 阅读程序4
四、程序设计(30分)
1. 基础编程:(10分)
编写Java程序使用筛选法找出不大于某个自然数n的所有素数,算法为:要得到不大于n的所有素数,只要将2到n的所有整数中把不大于n的所有素数的倍数删除即可。

要求:从键盘输入n的值,输出不大于n的所有素数。

2. 类的定义:(10分)
设计并编写一个名为IntStack的类表示存放整数的栈,完成以下要求:
●将该类放置于包pkg01中;
●定义一个线性数据结构存放栈内所有整数,其他类中不能得到该数据结构;
●定义一个无参构造方法在创建栈对象时进行默认初始化;
●一个名为push(int n)的方法将整数n放入栈顶,栈的大小可自动增长;
●一个名为int pop()的方法取出栈顶的整数;
●一个名为 int size()的方法计算栈内目前共有多少个整数;
●该类的对象具有可序列化的能力;
●数据域需要进行封装,方法具有合理的可见性。

3. 综合设计:(10分)
假设要编写一个音乐播放程序,可以播放的音乐文件有:MP3和WMA,给定主类如下:
(1) 定义注释1处要求的接口Decoder,其中包括音乐文件播放方法play。

(3分)
(2) 2种音乐文件分别用MP3Decoder类和WMADecoder类的对象播放,请写出定义
MP3Decoder类的代码。

(4分)
(3) 定义注释2和3中使用的DecoderFactory类, createDecoder方法根据文件扩展
名决定创建哪个类的对象。

(4分)。

相关文档
最新文档