期末练习题及部分答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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++ 函数指针,但它是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不需要与委托签名精确匹配。