期末练习题及部分答案_第1页
期末练习题及部分答案_第2页
期末练习题及部分答案_第3页
期末练习题及部分答案_第4页
期末练习题及部分答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选择题:(共20分,每小题2分)二、填空题/判断题(共20分,每空2分)三、程序阅读:(共10分,每小题5分)四、简答题:(共30分,每题6分)五、程序设计:(共20分,每题10分)基本概念:接口相关,静态相关,委托,索引,重载,抽象相关,继承相关,一维、二维数组定义使用;构造函数相关;C#数据类型;一、 填空题1、面向对象的三个重要特性: (1) 、(2) 、(3) 。 2、While循环语句至少执行(4) 次,dowhile语句至少执行 (5) 次。3、 (6) 类是.NET中所有类型的基类。 4、当变量按引用存储信息时,存储的不是 (7) ,而是 (8) 。5、要将控件锚定到其容器的

2、边缘,应设置控件的 (9) 属性。 6、 显示模式窗体可以使用 (10) 方法。7、改变窗体的标题,需修改的窗体属性是(11) 8、窗体的默认事件是 ( 12) 1、(1)继承 (2)封装 (3)多态2、(4)0 (5)13、(6)Object4、(7) 信息本身 (8)信息在内存中的存储位置5、(9)Anchor/锚定(Anchor)是指控件到窗体(或父容器)的边缘距离保持不变;6、(10)Dialog7、11 Text8、12 load事件二、判断题:(一) C#中一个类只能有一个基接口。(X )(二) 在C#中要在派生类中重新定义基类的虚函数必须在前面加override。 ( )(三)

3、C#中允许使用一个委托对象同时调用多个方法。( )(四) 装箱过程是隐式转换过程。( )(五) 索引器的参数类型必须是整数型 。(X )/使用索引器来操作集合对象就如同使用数组一样简单(六) 索引的Get访问器带参数,而属性的Get访问器不带参数。( )/索引器<=>一种支持参数的属性(七) 静态类中可以包含实例构造函数。(X )(八) C#中,接口成员不能添加任何访问修饰符。()(九) 抽象类中所有的成员都无实现。(X )/抽象类中可以定义成员的实现,但接口中不可以。(十) 命名空间允许嵌套。( )(十一) 索引可以是静态成员。(X )/索引器必须为实例成员,属性可以为静态成员或

4、实例成员(十二) 静态字段在内存中有多个备份。( x)/静态字段被类的所有实例所共享,即此类的所有实例都访问同一内存地址。 所以该内存位置的值变更的话,这种变更对所有的实例都可见三、简答题:(一) 作为一个完整的事件处理系统,其3大要素是什么,并简要说明。 事件源:指能触发事件的对象,有时又称为事件的发送者或事件的发布者。 侦听器:指能接收到事件消息的对象,Windows提供了基础的实践侦听服务。 事件处理程序:当事件发生时对事件进行处理,又称事件函数或事件方法。 (二)重载与覆盖的区别。(4、override与重载的区别是什么?)(1)方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载

5、是同一个类中方法之间的关系,是水平关系。(2)覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。(3)覆盖要求参数列表相同;重载要求参数列表不同。(4)覆盖关系中,调用那个方法体,是根据对象的类型(对像对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。(二) c#常见的程序错误可归结为哪3类。异常处理使用哪三种语句。c#常见的程序错误可归结为3类:语法错误、运行期错误、逻辑错误,常处理:try-catch语句、finally语句、throw语句(四)VisualC#中类的成员包括哪些?(最少写出6种)(1) 常量 (2) 域(字段) (

6、3) 构造函数 (4) 析构函数 (5) 方法 (6) 属性 (7) 事件 (8) 索引 (9) 操作符 (10) 类型 (五)C#提供了集合类,列举3个常用的集合类。Array数组、List 列表、ArrayList动态数组等(六)什么是类的多态性,C#中如何实现行为的多态。(七)说明下列单词在C#中的作用:using、namespace、class、this。using 语句允许程序员指定使用资源的对象应当何时释放资源。namespace既“命名空间”,也称“名称空间” VS.NET中的各种语言使用的一种代码组织的形式 通过名称空间来分类,区别不同的代码功能 同时是VS.NET中所有类的完

7、全名称的一部分。class是定义类的关键字,C+中也可以使用struct定义类。两者区别是,用class定义的类,如果数据成员或成员函数没有说明则默认为private(私有)的,而用struct定义的,默认为public(公共)的。this关键字引用当前对象实例的成员。(八)简述枚举型、类、数组这三种数据类型的区别。枚举型:通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序识一致的。类是 C# 中功能最为强大的数据类型。像结构一样,类也定义了数据类型的数据和行为。然后,程序员可以创建作为此类的实例的对象。与结构不同,类支持继承,而继承是面向对象编程的基础

8、部分。数组是一种数据结构,它包含若干相同类型的变量。数组是使用类型声明的:type arrayName;(九)简述抽象类与接口,并进行比较。(十)什么是委托?委托有哪些特点?委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。委托类似于 C+ 函数指针,但它是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不需要与委托签名精确匹配。(十二)常见的用户界面有几类?对话框应用程序、单文档界面应用程序SDI和多文档应用程序MDI 四、程序

9、设计: (一)编写代码,定义一个基类MyClass,其中包含虚拟方法GetString()。这个方法应返回有储在受保护字段myString中的字符串,该字段可以通过只写公共属性ConString 来访问。 public class MyClass private string myString; public string ConString get return myString; public virtual string GetString() return myString; (二) 从类MyCalss 中派生一个类MyDClass 。重写GetString()方法。使用该方法的基类执

10、行代码从基类中返回一个字符串,但在返回的字符串中添加文本“(output from derivedclass)”. public class MyDClass : MyClass public override string GetString() return base.GetString() + "(output from derivedclass)" (三)设计一个Student类用来保存学生的信息,包括学生的姓名、性别、年龄信息。要求:1.定义构造函数初始化类的实例(姓名、性别赋值后不可更改)。2.要求对年龄定义私有成员和公有属性,并且属性为可读写属性。3.要求定义

11、方法Ansewr()返回包含学生信息的字符串。public class Studentprivate readonly string name; private int age; private readonly char sex;public Student(string name,int age, char sex) =name; this.age=age;this.sex=sex; public int Age Getreturn this.age;Setthis.age=valule;pubilc string Answer() string result=strin

12、g.Format(“姓名:0,年龄:1,性别:2”,, this.age, this.sex);return string; (四) 设计一个Student类用来保存学生的信息,此类需要包括学生的姓名、年龄、性别。要求:1通过构造函数初始化类的实例(构造函数要求重载)2要求分别对前面包含的信息定义私有成员和公有属性,并且属性为可读写属性。3要求定义方法show()用来输出学生的各项信息。public class Studentprivate string name;private int age;private string sex; public Student () pu

13、blic Student (string name,int age,string sex)=name;this. age =age;this.sex=sex; public string NameGetreturn ;S=value;public int AgeGetreturn this.age;Setthis.age=valule;public string SexGetreturn this.sex;Setthis.sex=value; pubilc void show()Console.writeline(“姓名:0,年龄:1,

14、性别:2”,, this.age, this.sex); (五)现在有如图所示的一个计算器可以完成加、减、乘、除和取余数运算,四个textbox的名称从上至下分别为textBox1、textBox2、textBox3、textBox4。编写 “计算”按钮的Click事件处理方法使其完成计算的功能。private void button1_click(object sender, System.Eventargs e) private void button1_click(object sender,System.Eventargs e) float op1,op2;char

15、Operator; op1=Single.Parse(textBox1.Text );op2=Single.Parse(textBox3.Text);Operator=char.Parse(textBox2.Text); switch(Operator)case '+':op1+=op2;break;case '-':op1-=op2;break;case '*':op1*=op2;break;case '/':op1/=op2;break;case '%':op1%=op2;break; default:Mess

16、ageBox.Show("输入有错误!");break; textBox4.Text =op1.ToString(); 五、分析程序运行结果(一)(二) (三)using System;class Test public int x; static public int y; public Test(int x) this.x = x; static Test() y = 1; class TestStaticstatic void Main() Test t=new Test(1); Console.WriteLine("0,1",t.x,Test.y);t.x+;Test.y+;Console.WriteLine("0,1", t.x, Test.y);t = new Test(0); Console.WriteLine("0,1", t.x, Test.y);(四)下面这段代码输出什么?为什么?int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论