c面向对象程序设计期末考试题及完整参考答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return "I am a PostStudent."; }
}
static voidMain(){
Student st = new PostStudent();
Console.WriteLine(st.WhoYouAre());
}
则正确的执行结果是()。
A)I am a Student.B)I am a PostStudent.C)st.WhoYouAre()D)异常退出
public static string _name = "Circle";//定一个字符串的名称
public Circle(float r)//创建一个有参构造函数
{
id = 1;
_r = r;
}
public float Area()//计算圆的面积
{
return Convert.ToSingle(_r * _r * PI);
9.作为一种特殊的函数成员,重载类的操作符时,被重载的操作符必须被声明为公有的和______,并通过在关键字operator后跟操作符来声明。
2、判断题(每小题1分,共5分)
1.一个类只能有一个析构函数,且不能有参数和返回类型,也不能是静态的。
()
2.类的静态构造函数为类的所有对象共享,并且只在首次使用该类时被调用。
D)数组型参数必须位于参数列表中的最后;
4.有如下程序片段:
class Student
{
public virtual string WhoYouAre(){
return "I am a Student."; }
}
class PostStudent:Student
{
public new string WhoYouAre(){
}
}
2.阅读程序,按照要求在空白处填写正确的表达式。
using System;
namespace P5_5
{
public①//声明一个类,该类名称为Vehicle
{
private float speed;
public float Speed
{
get { return speed; }
set { speed = value; }
}
}
class ProgБайду номын сангаасam
{
static voidMain(string[] args)
{
Circle c =②;//创建一个半径为10.5的Circle实例
Console.WriteLine("该_name是{0},id是{1},半径r为{2},面积是{3}",③,④,⑤,c.Area());
3.C#程序的基本结构包括注释、______、______、______和类型及其成员等五部分。
4.数据类型是对客观数据对象的抽象,C#语言中的数据类型分为引用类型和______两大类。其中引用类型包括______、______、______和数组等。
5.方法是最基本的函数成员,对象所能执行的操作都是通过方法来定义的。方法应该包括返回类型、______、______和执行体等4个部分。
class Circle
{
protected float _r;//圆的半径
public float R
{
get { return _r; }
set { _r = value; }
}
public const double PI= 3.1415;//定一个双精度常量表示圆周率
public①;//定一个只读字段id,该字段数据类型为整型、初始值为0
}
public Vehicle(float speed)
{
②//将形参speed复制给当前类的speed字段
}
public③//声明一个虚方法,该方法原型为float Run(float distance)
{
return distance / speed;
5.已知st是类Student的一个实例,read()是Student类的一个静态成员。如果要访问Student的read()成员,则下列()表达式是正确的。
A)st.read()B)st::read()C)Student.read()D)Student::read()
4、简答题(每小题5分,共15分)
6.类的______函数名称与类名相同,且不能声明返回类型,其代码主要完成对象的初始化工作。
7.类索引函数的参数类型必须为______或______。
8.类对接口方法的实现时,在方法名称之前加上接口名,这叫做对接口方法的______实现,此时这个方法是这个类的______成员,不能通过类的实例来访问。
A)私有的或保护的B)公有的C)保护的或者共有的D)公有的或者私有的
2.在类中未说明访问权限的情况下,所有成员都是()的
A)共有的B)私有的C)内部的D)保护的
3.关于数组型参数下面那个说法是错误的()
A)方法中只允许定义一个数组型参数;
B)数组型参数所定义的数组必须是一维数组;
C)数组型参数可以作为引用参数或者输出型参数使用;
()
3.派生类可以继承基类的所有成员,并增加自己的成员进行功能扩张。
()
4.接口方法不能是静态的,也不能使用任何访问限制修饰符。
()
5.如果一个类被声明为抽象的,则它的派生类不可以被声明为抽象类。
()
3、选择题(每小题2分,共10分)
1.在设计一个类时,如果不希望外部对象访问该类成员,应定义为()。
学院2011/2012学年第一学期面向对象程序设计期末考试试题卷(A)
考试时间:120分钟
1、填空题(每空1分,共20分)
1.客观世界中的事物都是对象。对象具有自己的______,用来描述对象的静态特征;而对象的______用于描述对象的动态特征。
2.在面向对象的模型中,对象之间的关系可在类级别上概述为聚合、______、______和一般关联等四种。其中基类和派生类之间的关系属于______关系。
1.在面向对象的模型中,什么是类的多态性?C#是如何实现类的多态特性的?
2.什么是接口?如果一个类声明支持某个接口,那么该类必须遵循哪些规则?
3.请简单叙述委托发布和订阅的具体实现步骤。
5、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(每空2分,共20分)
1.定义一个名称为Circle的类。产生一个Circle类一个半径为10.5的对象,并输出该对象的名称、半径面积等信息。
}
static voidMain(){
Student st = new PostStudent();
Console.WriteLine(st.WhoYouAre());
}
则正确的执行结果是()。
A)I am a Student.B)I am a PostStudent.C)st.WhoYouAre()D)异常退出
public static string _name = "Circle";//定一个字符串的名称
public Circle(float r)//创建一个有参构造函数
{
id = 1;
_r = r;
}
public float Area()//计算圆的面积
{
return Convert.ToSingle(_r * _r * PI);
9.作为一种特殊的函数成员,重载类的操作符时,被重载的操作符必须被声明为公有的和______,并通过在关键字operator后跟操作符来声明。
2、判断题(每小题1分,共5分)
1.一个类只能有一个析构函数,且不能有参数和返回类型,也不能是静态的。
()
2.类的静态构造函数为类的所有对象共享,并且只在首次使用该类时被调用。
D)数组型参数必须位于参数列表中的最后;
4.有如下程序片段:
class Student
{
public virtual string WhoYouAre(){
return "I am a Student."; }
}
class PostStudent:Student
{
public new string WhoYouAre(){
}
}
2.阅读程序,按照要求在空白处填写正确的表达式。
using System;
namespace P5_5
{
public①//声明一个类,该类名称为Vehicle
{
private float speed;
public float Speed
{
get { return speed; }
set { speed = value; }
}
}
class ProgБайду номын сангаасam
{
static voidMain(string[] args)
{
Circle c =②;//创建一个半径为10.5的Circle实例
Console.WriteLine("该_name是{0},id是{1},半径r为{2},面积是{3}",③,④,⑤,c.Area());
3.C#程序的基本结构包括注释、______、______、______和类型及其成员等五部分。
4.数据类型是对客观数据对象的抽象,C#语言中的数据类型分为引用类型和______两大类。其中引用类型包括______、______、______和数组等。
5.方法是最基本的函数成员,对象所能执行的操作都是通过方法来定义的。方法应该包括返回类型、______、______和执行体等4个部分。
class Circle
{
protected float _r;//圆的半径
public float R
{
get { return _r; }
set { _r = value; }
}
public const double PI= 3.1415;//定一个双精度常量表示圆周率
public①;//定一个只读字段id,该字段数据类型为整型、初始值为0
}
public Vehicle(float speed)
{
②//将形参speed复制给当前类的speed字段
}
public③//声明一个虚方法,该方法原型为float Run(float distance)
{
return distance / speed;
5.已知st是类Student的一个实例,read()是Student类的一个静态成员。如果要访问Student的read()成员,则下列()表达式是正确的。
A)st.read()B)st::read()C)Student.read()D)Student::read()
4、简答题(每小题5分,共15分)
6.类的______函数名称与类名相同,且不能声明返回类型,其代码主要完成对象的初始化工作。
7.类索引函数的参数类型必须为______或______。
8.类对接口方法的实现时,在方法名称之前加上接口名,这叫做对接口方法的______实现,此时这个方法是这个类的______成员,不能通过类的实例来访问。
A)私有的或保护的B)公有的C)保护的或者共有的D)公有的或者私有的
2.在类中未说明访问权限的情况下,所有成员都是()的
A)共有的B)私有的C)内部的D)保护的
3.关于数组型参数下面那个说法是错误的()
A)方法中只允许定义一个数组型参数;
B)数组型参数所定义的数组必须是一维数组;
C)数组型参数可以作为引用参数或者输出型参数使用;
()
3.派生类可以继承基类的所有成员,并增加自己的成员进行功能扩张。
()
4.接口方法不能是静态的,也不能使用任何访问限制修饰符。
()
5.如果一个类被声明为抽象的,则它的派生类不可以被声明为抽象类。
()
3、选择题(每小题2分,共10分)
1.在设计一个类时,如果不希望外部对象访问该类成员,应定义为()。
学院2011/2012学年第一学期面向对象程序设计期末考试试题卷(A)
考试时间:120分钟
1、填空题(每空1分,共20分)
1.客观世界中的事物都是对象。对象具有自己的______,用来描述对象的静态特征;而对象的______用于描述对象的动态特征。
2.在面向对象的模型中,对象之间的关系可在类级别上概述为聚合、______、______和一般关联等四种。其中基类和派生类之间的关系属于______关系。
1.在面向对象的模型中,什么是类的多态性?C#是如何实现类的多态特性的?
2.什么是接口?如果一个类声明支持某个接口,那么该类必须遵循哪些规则?
3.请简单叙述委托发布和订阅的具体实现步骤。
5、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(每空2分,共20分)
1.定义一个名称为Circle的类。产生一个Circle类一个半径为10.5的对象,并输出该对象的名称、半径面积等信息。