面向对象程序设计-试卷a(附答案)

合集下载

面向对象的程序设计A卷答案

面向对象的程序设计A卷答案

学年第学期考试科目:面向对象的程序设计考试类型:(闭卷)考试时间:120 分钟学号姓名年级专业一、选择题(单选,每题2分,共30分)二、判断题(正确的画勾,错误的画叉)三、简答题1、什么是标识符?什么是保留字?java中标识符的命名规则是?(6分)答:编写程序的时候使用的各种单词称为标识符。

在编程语言中有特殊意义的标识符称为保留字。

Java语言中程序自定义的标识符何以是任何字母、数字、下划线(_)和美元符号($)的组合,但不能以数字开头。

2、按要求完成下面问题。

(8分)(1) 编写一条赋值语句,计算num1、num2之和的平方根,并将结果保存在num3中。

(2分)(2) 方法hypotenuse 带两个参数,第一个参数是整型数据side1,第二个是浮点型参数side2. 并且返回一个双精度浮点型结果。

(3分)(3) Object类的意义是什么?(3分)(1)num3=Math.sqrt(num1+num2);(2)double thpotenuse(int side1, float side2);(3)java中所有类都是直接或者间接地有object类派生,因此object类的所有public方法可供每个对象使用。

3、编写一个方法isIsosceles,以表示三角形的三边长的三个整数为参数,如果该三角形是等腰三角形则返回true,其他情况返回false。

(6分)public boolean isIsoceles (int side1, int side2, int side3){boolean result = false;if ( (side1 == side2) && side1 != side3) ||(side2 == side3) && side2 != side1) ||(side1 == side3) && side1 != side2) )result = true;return result;}4、声明一个枚举型Season变量,可能的取值是winter、spring、summer和fall (4分)enum Season{ winter, spring, summer, fall}5、什么是多态?如何实现多态?(6分)多态性是指一个引用变量在不同时刻可以指向不同类型的对象。

《面向对象程序设计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、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

面向对象程序设计试卷A答案及评分标准

面向对象程序设计试卷A答案及评分标准

《面向对象程序设计》试卷A答案及评分标准本试卷共10个题,分别按以下标准评分,最后根据整个答题的情况,从程序设计风格的角度给予0-5分的附加分。

1、编写程序,将从键盘读入的所有大小写字母写入名为a.txt的文件中(遇EOF结束)。

(本题总分10分,fopen函数使用妥当4分,读入过程正确4分,关闭文件2分。

程序结构完整,有不妥之处,酌情扣分。

)#include <stdio.h>main ( ){FILE *fptr;fptr = fopen("a.txt","w");if (fptr==NULL)return 0;char a;a=getchar( );while(a!=EOF ){if(a>=’a’ && a<=’z’|| a>=’A’ && a<=’Z’) fputc(a,fptr);a = getchar();}fclose(fptr);return 0;}2、定义一个矩形类Rectangle,并在main函数中用它声明一个矩形对象,然后利用接口设置该矩形对象的长和宽、计算面积并输出。

(本题总分10分,类结构2分,设置矩阵对象的长与高各1分,计算面积函数2分,输出函数2分,主函数2分。

程序结构完整,有不妥之处,酌情扣分。

)#include <stdio.h>#include <iostream.h>class Rectangle{public:int getArea();void setWidth(int w);void setLength(int l);private:int Length;int Width;};int Rectangle::getArea(){return Length*Width;}void Rectangle::setLength(int l){Length=l;}void Rectangle::setWidth(int w){Width=w;}main(){int len,wid;Rectangle r1;cout<<"Input the Rectangle's Information"<<endl;cout<<"Lentgh:"<<endl;cin>>len;cout<<"Width:"<<endl;cin>>wid;r1.setLength(len);r1.setWidth(wid);cout<<"Rectangle's Area:"<<r1.getArea()<<endl;return 0;}3、定义一个整数栈类IStack,并用该类声明一个整数栈对象istack,往该对象压入整数6、7、8,然后逐一弹栈输出。

《面向对象程序设计(Java)》A【开卷】——参考答案及评分标准。。。.doc

《面向对象程序设计(Java)》A【开卷】——参考答案及评分标准。。。.doc

深圳职业技术学院电信学院软件工程系软件专业XXXX-XXXX学年第X学期期末考试(必修)《面向对象程序设计(Java)》A【开卷】—参考答案及评分标准一一、填空题(每空2分,共40分)(1)__C _____________________________(2)_D _____________________________(3)_C ______________________________(4)num3=(byte)(num 1 +num2) _______(5)3th season ______________________(6)_20 _____________________________(7)_D _____________________________(8) 3 2 ________________________(9)_stail() _________________________(10)_C ______________________________(11)Transfer Control Protocol _______________________(12)连接_____________________________(13)_A ______________________________(14)_B _______________________________(15)_A_ C __________________________(⑹ _D ________________________________(17) _try _______________________________(19)调用了该线稈的sleep])休眠方法 ___________(20)—装载JDBC驱动程序并连接数据库—二、编程题(共60分)1. (15 分)评分标准:属性定义:3分;构造器方法:6分;方法实现:6分;参考程序:class Rect{protected double width,height;public Rect(double width,double height)} this.width二width;this.height=height;}public Rect(){width=10; height=10;}public double area(){ return width ^height;}public double perimeter(){ return 2*(width+height);}}2. (15 分)评分标准:extends关键字的使用:3分;属性定义:2分;构造器方法:6分;方法实现:4分参考程序:class PlainRect extends Rect{private double startX,startY;public PlainRect(double startX,double startY,double width,double height)}super(width,height);this.startX=startX;this.start Y=startY;}public PlainRect(){super();startX=0;start Y=0;1public boolean inlnside(double pointX,double pointY){if(pointX>=startX&&pointX<=(startX+width)&&pointY>=startY&&pointY<=(startY+height)) return true;else return false;}}3・(10分)评分标准:稈序框架:2分;对象创建:2分;面积与周长计算机打印:4分;判断点是否在矩形内并打印信息:2分参考程序:class Test{public static void main(String args[]){PlainRect pr=new PlainRect(10,10,10,l0);System.out.println("面积为:n+pr.area());if(pr.inlnside(23,13))Systern.out.println("在矩形内");elseSystem.out.println("不在矩形内”);}}4. (20 分)评分标准:程序包的导入:3分;程序窗体:3分;组件与添加:5分;事件监听器的添加:2分;实现ActionLister 接I I: 2 分;事件处理代码:5分;参考程序:import javax.swing.*;import java.awt.*;import java.awt.event.*;class FrameTest extends JFrame implements ActionListener{ J Label label;public FrameTest(){super("图形界面与事件处理“);setSize(250,150);Container con=getContentPane(); con. setLayout(null);label=new JLabel(u0");label.setBounds( 100,30,50,30);con .add(label);JButton button=new JButton("按钮(+5)"); button.setBounds(60,60,120,30);button.addActionListener(this);con .add(button);setVisible(true);)public static void main(String args[]){ FrameTest t=new FrameTest();}public void actionPerformed(ActionEvent e){ String str=label.getText();int i=lnteger.parselnt(str)+5;label.setText(String.valueOf(i));。

计08面向对象程序设计 考试参考答案(A卷)

计08面向对象程序设计  考试参考答案(A卷)
cout<<B.AuthorName <<endl;
cout<<B.Publish <<endl;
cout<<B.PageNum <<endl;
return Output;
}
int main()
{
Book b1,b2("数据结构","严教授","¸高等教育出版社",200);
cout<<b2;
ofstream f1("BookFile.txt",ios::out);
delete bed.
delete chair.
delete bed.
五、理解问答题(10分)
1.解答:
(1):(评分标准:指出错误得1分,改错2分(程序功能上等价也行))
标记行5错误,因为在类外不能直接访问对象的受保护的成员。改正:
i = d[0].GetC();
i += b.c;
d[0].SetC(i);
1.(评分标准:前两个知识点各2分,后一个知识点4分)
答:类:是指具有相同的属性和操作方法,并遵守相同规则的对象的集合。
对象:是包含现实世界物体特征的抽象实体,每个对象有内部的属性和操作方法。
主要区别:
面向对象的程序设计:它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,对象通过响应消息来实现程序的功能。编程时可以不知道对象的内部实现细节。
Win Begin
Win
OpenWin
But
OpenWin
3.程序3(10分,评分标准:每对一个得1分)
答:程序运行结果为:

面向对象程序设计试卷(试卷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、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

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

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

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

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

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

分钟。

100分,考试时间为1204. 满统分得单项选择一.分分,共小题,每小题3(本大题共10 评分) 30分人) B 中每个int类型的变量占用(1. C# 个字节的内存。

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

B 4.))(堆内存B 堆栈)(A () 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)23)(D)类型类型的值可以隐式转换成(9. float C的值而保持值不被改变。

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

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

《面向对象程序设计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、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

面向对象程序设计试题A卷-答案

面向对象程序设计试题A卷-答案

课程面向对象程序设计考试形式(闭卷,考试)一.判断题(正确的叙述打“√”,错误的叙述打“×”,每题1分共10分)1.在C++中,所有运算符均可重载。

(×)2.面向对象程序设计的三大特征是:封装、继承和多态。

(√)3.函数原型:f(int *&p);中的形参p是对指针变量的引用。

(√)4.一个类的常数据成员对该类的所有对象来说,其值都是相同的。

(×)5.类的友元函数、构造函数和析构函数均属于类的成员函数。

(×)6.类的静态成员函数只能直接引用该类中说明的静态成员。

(√)7.子类的对象可以赋值给基类对象,通过这个基类对象可访问到子类新增加的成员。

(×)8.C++ 类族中,构造函数和析构函数不能被派生类继承。

(√)9.在一个类族中,构造函数不能定义为虚函数,但析构函数可以定义为虚函数。

(√)10.若类A是类B的友元,类B是类C的友元,则类A是类C的友元。

(×)二.填空题(每格1分共14 分)1.C++中的数据类型bool型的值域是:{false,true}。

2.在已经定义了整型指针变量ip后,为了动态得到一个存储20个int型数的存储空间并由ip所指向,应使用语句: ip=new int[20] ;释放这些存储空间应使用语句:delete []ip;。

3.假定classA为一个类,则执行“classA a1[15],a2[25];”语句时,系统自动调用该类的构造函数的总次数为:40。

4.在C++中不使用宏替换去定义符号常量Pai的值为3.14159可使用语句:const float Pai=3.14159;5.已知fun()的函数原型为:int fun(float);现要定义一个指向该函数的指针变量pf,则pf的定义语句为:int(*pf)(float)=&fun;6.设函数 max 是由函数模板实现的,并且 max(3.5,5,8) 和 max(10,14.3,5)都是正确的函数调用,则该函数模板具有 3 个类型参数。

面向对象程序设计复习题(附参考答案)

面向对象程序设计复习题(附参考答案)

【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。

[A.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。

[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。

[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。

1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。

[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。

计面向对象程序设计考试试卷(A卷)参考解答

计面向对象程序设计考试试卷(A卷)参考解答

姓名
2. 程序 2(10 分) #include <iostream.h> //Toy-car class CToy { public: CToy( ) { cout<<"Create CToy."<<endl;} CToy(char color) {cout<<"Create CToy:"<<color<<endl;} ~CToy( ) {cout<<"delete CToy."<<endl; } }; class CCar { public: CCar(int Tire=4) {cout<<"create CCar:"<<Tire<<endl;} ~CCar( ){cout<<"delete CCar."<<endl; } }; class CToy_Car:public CToy,public CCar { public: CToy_Car(int p ):member(), CCar(p ),CToy() {cout<<"create CToy_Car."<<endl;} ~CToy_Car( ){cout<<"delete CToy_Car."<<endl; private: CToy member; }; void main( ) { CToy_Car toyc(4); }
6.在定义二维数组时,语句“int Sum[][2]={{1,2},{3},{}}; ”是正确地.(
9. 在编程中,有了面向对象地程序设计方法后,就不要用面向过程地程序设计方法了. ( 10. 类中地静态成员数据为该类地所有成员所共享,在初始化后,它地值不能被修改.(

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

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

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

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

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

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

A.MicrosoftVisualStudio6.0!B.MicrosoftC.MicrosoftVisualD.MicrosoftVisualStudio6.04、考虑下边的函数原型申明:voidtestDefaulParam(inta,intb=7,charz='* ');下边函数调用中,不合法的是(C )。

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

A.floatsum(intx,inty);B.intsum(inta,intb);C.floatsum(floatx,floaty);D.doublesum(inty,intx);6、以下表示引用的方法中,(A)是正确的。

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

面向对象程序设计-试卷-A(附答案)

面向对象程序设计-试卷-A(附答案)

面向对象程序设计-试卷-A(附答案)本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March2012 --2013学年第二学期《面向对象程序设计》试卷开课单位:计算机学院,考试形式:闭卷,允许带入场对应的答题表格中)1、在类定义的外部,可以被访问的成员有()A、所有类成员B、private的类成员C、public或private的类成员D、public的类成员2、下列关于C++语言类的描述中错误的是( ) 。

A 、类用于描述事物的属性和对事物的操作B、类与类之间通过封装而具有明确的独立性C、类与类之间必须是平等的关系,而不能组成层次结构D、类与类之间可以通过一些方法进行通信和联络3、下列数组定义中,不正确的是()。

A、 int x[1][3];B、 int x[2][2]={1,2,3};C、 int x[2][]={1,2,3,4 };D、 int x[][2]={1,2,3,4 }4、定义析构函数时,应该注意:()A、其名与类名完全相同B、返回类型是void类型C、无形参,也不可重载D、函数体中必须有delete语句5、下列函数中,正确的递归函数是()。

A 、int Fun(int n){ if(n<1) return 1; else return n*Fun(n+1); }B 、int Fun(int n){ if (abs(n)<1) return 1; else return n*Fun(n/2); }C 、int Fun(int n){ if(n>1) return 1; else return n*Fun(n*2); }D、 int Fun(int n){ if(n>1) return 1; else return n*Fun(n-1); }6、在C++中编译器所生成的文件的扩展名为()[答案修改过]A、 .cppB、 .objC、 .libD、 .exe7、派生类的对象对它的基类成员中的()是可以访问A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员8. C++设置虚基类的目的是( )A、消除二义性B、简化程序C、提高运行效率D、减少目标代码9. 以下关于this指针的叙述中正确的是:()A、任何与类相关的函数都有this指针;B、类的成员函数都有this指针;C、类的友员函数都有this指针;D、类的非静态成员函数才有this指针;10实现运行时的多态性采用( )A、重载函数B、构造函数C、析构函数D、虚函数11、若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=&a[5];则( ) 不是对a数组元素的正确引用(其中0≤i<10)A、p[i]B、 *(*(p+i) )C、a[p-a]D、* (&a[i])12、int Func(int,int);不可与下列哪个函数构成重载()A、int Func(int,int,int);B、double Func(int,int);C、double Func(double,double);D、double Func(int,double);13、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用()提供对全局变量的访问。

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

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

《面向对象程序设计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 )是正确的。

面向对象程序设计A卷 - 答案

面向对象程序设计A卷 - 答案

中国传媒大学 __2009___─__2010__学年第__二__学期期末考试试卷A答案考试科目: 面向对象程序设计(C++)考试班级: 09计科 考试方式: 闭卷 命题教师: 冯爽一、单项选择题(每题2分,共20分)二、问答题(共30分)1. (4分)2. (4分)运行结果:(1,2)(6,9)5,6(6,9)3. (4分)1)在类中的声明形式:static void function();‘J’ ‘o’ ‘h’ ‘n’ ‘s’ ‘o’ ‘n’ ‘/0’ age age obj1 obj22)在类外定义时的函数头部:void Demo::function()3)调用function函数的两种形式:Demo::function 或者Demo d; d.function();4. (4分)答:虚函数就是在基类中被关键字virtual说明,并在派生类中重新定义的函数。

虚函数是函数重载的另一种形式,普通函数重载时,参数个数或类型必须有所不同,函数返回值类型可以不同。

当重载一个虚函数时,要求函数原型必须完全相同。

如果仅返回值类型不同,其余均相同,系统会给出错误信息;若仅函数名相同,而参数个数、类型或顺序不同,系统将它作为普通的函数重载,这时虚函数的特性将丢失。

5. (4分)1) void Date::operator += ( int ); 或者Date& Date::operator += ( int );2) friend void operator += ( Date&, int ); 或者friend Date& operator += ( Date&, int );6. (4分)答:拷贝构造函数是只有一个参数,且参数是本类对象的引用,在对象之间赋值时需要调用拷贝构造函数。

转换构造函数是只有一个参数,且参数是基本类型数据。

当把一个基本类型数据转换成类类型时,需要调用转换构造函数。

(完整版)面向对象程序设计试卷及答案

(完整版)面向对象程序设计试卷及答案

考试试卷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#中子类可以继承多个基类,也可以继承一个接口。

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

东莞理工学院(本科)试卷(A卷)2012 --2013学年第二学期《面向对象程序设计》试卷开课单位:计算机学院,考试形式:闭卷,允许带入场一.单项选择题(15小题,每小题2分,共30分,请将正确答案填写在以下1、在类定义的外部,可以被访问的成员有()A、所有类成员B、private的类成员C、public或private的类成员D、public的类成员2、下列关于C++语言类的描述中错误的是( ) 。

A 、类用于描述事物的属性和对事物的操作B、类与类之间通过封装而具有明确的独立性C、类与类之间必须是平等的关系,而不能组成层次结构D、类与类之间可以通过一些方法进行通信和联络3、下列数组定义中,不正确的是()。

A、int x[1][3];B、int x[2][2]={1,2,3};C、int x[2][]={1,2,3,4 };D、int x[][2]={1,2,3,4 }4、定义析构函数时,应该注意:()A、其名与类名完全相同B、返回类型是void类型C、无形参,也不可重载D、函数体中必须有delete语句5、下列函数中,正确的递归函数是()。

A 、int Fun(int n){ if(n<1) return 1; else return n*Fun(n+1); }B 、int Fun(int n){ if (abs(n)<1) return 1; else return n*Fun(n/2); }C 、int Fun(int n){ if(n>1) return 1; else return n*Fun(n*2); }D、int Fun(int n){ if(n>1) return 1; else return n*Fun(n-1); }6、在C++中编译器所生成的文件的扩展名为()[答案修改过]A、.cppB、.objC、.libD、.exe7、派生类的对象对它的基类成员中的()是可以访问A、公有继承的公有成员B、公有继承的私有成员C、公有继承的保护成员D、私有继承的公有成员8. C++设置虚基类的目的是( )A、消除二义性B、简化程序C、提高运行效率D、减少目标代码9. 以下关于this指针的叙述中正确的是:()A、任何与类相关的函数都有this指针;B、类的成员函数都有this指针;C、类的友员函数都有this指针;D、类的非静态成员函数才有this指针;10实现运行时的多态性采用( )A、重载函数B、构造函数C、析构函数D、虚函数11、若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=&a[5];则() 不是对a数组元素的正确引用(其中0≤i<10)A、p[i]B、*(*(p+i) )C、a[p-a]D、* (&a[i])12、int Func(int,int);不可与下列哪个函数构成重载()A、int Func(int,int,int);B、double Func(int,int);C、double Func(double,double);D、double Func(int,double);13、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用()提供对全局变量的访问。

【内层隐藏外层】A 、域运算符B、指针C、重载D、引用14下列描述中,正确的是:()A、所有的运算符号都可以重载。

B、基类类型的指针可以指向子类,子类类型的指针也可以指向基类。

【只有public继承前一个说法才成立】D、动态联编要满足两个条件:被调用的成员函数是虚函数;用指针或引用调用虚函数。

15、下面类的定义,有()处错误。

class MyClass{private: int i=0; 2public: void MyClass(); 3~MyClass(int Value); 4} 1A、1B、2 C 、3 D、4二.填空题(每题2分,共20分)1、static加在局部变量定义前,改变局部变量的生存期但不改变它作用域的。

2. 类的私有成员只能被它的成员函数和友元函数访问。

3. 一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数。

4、假定AB为一个类,有类AB的两个对象a1,a2;则执行语句AB *a[10]={&a1,&a2};时系统自动调用该类的构造函数的次数为0 。

5、通过C++语言中类的继承和派生机制,可以扩充和完善已有类以适应新的需求。

【答案修改过】6. 若在类的定义体中给出了一个成员函数的完整定义,则该函数属于内联函数。

7. 不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为多态。

8. 对象的核心概念就是通常所说的继承、封装和多态性。

9. 在一个类中可以定义 1 个析构函数。

10、若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上const 关键字。

三.判断题,对的打T错的打F。

(5小题,每小题2分,共10分)1. 函数形参的作用域是该函数的函数体。

(√)2. 纯虚函数必须在抽象类中,所以抽象类中的成员函数必须是纯虚函数。

(×)3. 派生类中至少包含了它的所有基类的成员,在这些成员中可能有的是不可访问。

(√)[答案修改过]4. 可以在类的构造函数中对静态数据成员进行初始化。

(×)5. 构造函数和析构函数都可以定义为虚函数。

(×)。

四.程序填空(每题6分,共18分)根据程序的功能描述,将程序下划线空白处内容补充完整(每空白3分)1. 阅读下面是一段关于类的派生的程序,请完成填空。

以下程序是定义一个计数器类counter,对其重载运算符“+”,请填空。

class counter{private: int n;public:counter() {n=0;}counter(int i){n=i;}counter operator +(counter &c) 面是动态创建一个8x9x8的三维数组的一段程序,请按提示完成填空。

#include <iostream>using namespace std;int main() {float ***cp=new float**[8];程序1#include <iostream>using namespace std;class base {public:static int n;base(int x) { n=x;}virtual void set(int m) {n = m; cout << n <<' ';}};int base::n=0;class deriveA:public base {public:deriveA(int x):base(x) { }void set(int m) { n += m; cout << n <<' ';}};class deriveB:public base { Array public:deriveB(int x):base(x) { }void set(int m) { n +=m; cout <<n << ' ';}};int main(){deriveA dl(0);deriveB d2(1);base *pbase;pbase = &dl;pbase->set(1);pbase->base::set(0);pbase = &d2;pbase->set(1);pbase->base::set(3);cout<<endl;return 0;}输出结果:2 0 1 32. 程序2#include <iostream>using namespace std;class Base1 {public:int i;Base1(int x) { i=x;cout << "Constructing Base1 " << i << endl; } };class Base2: public Base1{public:Base2(int j): Base1(j){ cout << "Constructing Base2 " << j << endl; } };class Base3 {public:Base3() { cout << "Constructing Base3 *" << endl; }};class Derived: public Base2, public Base3 {public:int h;Derived(int a, int b, int c, int d): member2(d), member1(c), Base2(b){h=a; }private:Base1 member1;Base2 member2;Base3 member3;};int main() {Derived obj(1, 2, 3, 4);return 0;}输出结果:Constructing Base1 2Constructing Base2 2Constructing Base3 *Constructing Base1 3Constructing Base1 4Constructing Base2 4Constructing Base3 *六、程序设计(12分)定义一个抽象类Stereo,函数Volume为纯虚函数,用来计算体积。

由抽象类分别派生出立方体Cube类、球体Sphere类、圆柱体Cylinder类,并求其体积(其中球体的体积公式为V=4/3*PI*R*R*R)。

各立体形状的相关数据成员(其中:r代表半径,l代表长度,w代表宽度,h代表高度)属性都为private,并且通过各类的构造函数设置。

total是一个通用的,用以求不同立体形状的体积总和的全局函数。

1)定义和实现各个类,给出相关的成员数据、构造函数和必要的成员函数即可。

(4分,每个类1分)2)定义和实现total函数,注意该函数为全局函数不是某各类的成员函数。

(4分)3)编写main函数进行测试,功能要求如下:a、用基类指针数组,使它的每一个元素指向一个派生类的对象,并且所有形状立方体对象都进行内存动态分配和回收(即用new和delete操作符);b、主函数内调用total输出所有形状立方体的体积之和。

相关文档
最新文档