期末练习题及部分答案

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

一、选择题:(共20分,每小题2分)

二、填空题/判断题(共20分,每空2分)

三、程序阅读:(共10分,每小题5分)

四、简答题:(共30分,每题6分)

五、程序设计:(共20分,每题10分)

基本概念:接口相关,静态相关,委托,索引,重载,抽象相关,继承相关,一维、二维数组定义使用;构造函数相关;C#数据类型;

1、面向对象的三个重要特性:(1)、(2)、(3)。

2、While循环语句至少执行(4)次,do—while语句至少执行(5)次。

3、(6)类是.NET中所有类型的基类。

4、当变量按引用存储信息时,存储的不是 (7) ,而是 (8) 。

5、要将控件锚定到其容器的边缘,应设置控件的(9)属性。

6、显示模式窗体可以使用(10)方法。

7、改变窗体的标题,需修改的窗体属性是(11)

8、窗体的默认事件是(12)

1、(1)继承(2)封装(3)多态

2、(4)0 (5)1

3、(6)Object

4、(7)信息本身(8)信息在内存中的存储位置

5、(9)Anchor//锚定(Anchor)是指控件到窗体(或父容器)的边缘距离保持不变;

6、(10)Dialog

7、11 Text

8、12 load事件

二、判断题:

(一)C#中一个类只能有一个基接口。(X )

(二)在C#中要在派生类中重新定义基类的虚函数必须在前面加override。(√)

(三) C#中允许使用一个委托对象同时调用多个方法。(√)

(四)装箱过程是隐式转换过程。(√)

(五)索引器的参数类型必须是整数型。(X )//使用索引器来操作集合对象就如同使

用数组一样简单

(六)索引的Get访问器带参数,而属性的Get访问器不带参数。(√)//索引器<==>

一种支持参数的属性

(七)静态类中可以包含实例构造函数。(X )

(八)C#中,接口成员不能添加任何访问修饰符。(√)

(九)抽象类中所有的成员都无实现。(X )////抽象类中可以定义成员的实现,

但接口中不可以。

(十)命名空间允许嵌套。(√)

(十一)索引可以是静态成员。(X )//索引器必须为实例成员,属性可以为静态成员或实例成员

(十二)静态字段在内存中有多个备份。( x)//静态字段被类的所有实例所共享,即此类的所有实例都访问同一内存地址。所以该内存位置的值变更的话,这种变更对所有的实例都可见

三、简答题:

(一)作为一个完整的事件处理系统,其3大要素是什么,并简要说明。

事件源:指能触发事件的对象,有时又称为事件的发送者或事件的发布者。

侦听器:指能接收到事件消息的对象,Windows提供了基础的实践侦听服务。

事件处理程序:当事件发生时对事件进行处理,又称事件函数或事件方法。(二)重载与覆盖的区别。(4、override与重载的区别是什么?)

(1)方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。

(2)覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。

(3)覆盖要求参数列表相同;重载要求参数列表不同。

(4)覆盖关系中,调用那个方法体,是根据对象的类型(对像对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。

(二) c#常见的程序错误可归结为哪3类。异常处理使用哪三种语句。

c#常见的程序错误可归结为3类:语法错误、运行期错误、逻辑错误,常处理:try-catch语句、finally语句、throw语句

(四)VisualC#中类的成员包括哪些?(最少写出6种)

(1)常量

(2)域(字段)

(3)构造函数

(4)析构函数

(5)方法

(6)属性

(7)事件

(8)索引

(9)操作符

(10)类型

(五)C#提供了集合类,列举3个常用的集合类。

Array数组、List 列表、ArrayList动态数组等

(六)什么是类的多态性,C#中如何实现行为的多态。

(七)说明下列单词在C#中的作用:using、namespace、class、this。

using 语句允许程序员指定使用资源的对象应当何时释放资源。

namespace既“命名空间”,也称“名称空间” 中的各种语言使用的一种代码组织的形式通过名称空间来分类,区别不同的代码功能同时是中所有类的完全名称的一部分。

class是定义类的关键字,C++中也可以使用struct定义类。两者区别是,用class 定义的类,如果数据成员或成员函数没有说明则默认为private(私有)的,而用struct定义的,默认为public(公共)的。

this关键字引用当前对象实例的成员。

(八)简述枚举型、类、数组这三种数据类型的区别。

枚举型:通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序识一致的。类是 C# 中功能最为强大的数据类型。像结构一样,类也定义了数据类型的数据和行为。然后,程序员可以创建作为此类的实例的对象。与结构不同,类支持继承,而继承是面向对象编程的基础部分。数组是一种数据结构,它包含若干相同类型的变量。数组是使用类型声明的:type[] arrayName;

(九)简述抽象类与接口,并进行比较。

(十)什么是委托?委托有哪些特点?

委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。委托类似于 C++ 函数指针,但它是类型安全的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

方法不需要与委托签名精确匹配。

相关文档
最新文档