《可视化程序设计》期末复习资料(C#)一、填空题1.C#不但具有面向对象程序语言所应有的一切特性:继承性、封装性、多态性,而且C#的一个重要创新就是使面向组件编程更加容易。
2.借助C#,可以创建多种应用程序,如:Windows应用程序、Web应用程序、控制台应用程序、智能设备应用程序(Pocket PC袖珍PC)、移动Web应用程序(PDA个人数字助理)等等。
3.每个C# 程序均必须包含一个称为Main的方法,该过程为应用程序的起始点并为应用程序提供总体控制。
该方法在“类”的内部声明,它必须具有static关键字,表明是静态方法。
4.MessageBox类用于显示可包含文本、按钮等的消息框,它是.NET框架类库中的类,要在自己的程序中使用MessageBox类,必须在自己的程序中定位该类的位置:MessageBox类位于System.Windows.Forms.dll程序集。
因此,在自己的程序中,必须添加对这个程序集的一个引用。
同时使用using System.Windows.Forms将其命名空间导入自己的程序中。
5.C#支持多种数据类型,主要有整型、非整型和其它类型。
其中decimal类型适合财务和货币计算。
浮点类型包括float和double类型,两者的主要差别不在数据范围,而在于其各自所表示的数值精度。
6.程序中常常需要临时存储一些值,在编程语言中使用变量来储存值。
变量的声明就是为指定的名称声名它的数据类型。
C#语法规定,变量必须以英文字母或下划线开头,不可以数字为开头来命名的,如果变量第一字符是下划线,则后面一定要有字符,字母或数字皆可。
变量对大小写是敏感的。
7.常量用来存储在整个应用程序的执行过程中保持不变的值。
常量用const来定义,它的命名规则、类型、作用范围和变量的相同。
8.Unicode字符是16位字符,用于表示世界上多数已知的书面语言。
数组可以通过同一名称引用一组相关的数据,并使用一个称为“索引”或“下标”的数字进行区分。
9.方法是实现可以由对象或类执行的计算或操作的成员。
一般说来,应用程序的每一行代码都必须在某个方法的内部。
方法对执行重复或共享的任务很有用。
所有方法都必须在一个类中定义。
10.向方法传递参数有两个办法,一个是传值,另一个是传引用。
前者形参将创建新的存储位置,被调用的方法将接受参数的一个副本;后者并不创建新的存储位置,实参和形参具有相同的位置。
11.类的成员或者是静态成员,或者是实例成员,一般说来,将前者看作属于类和将后者看作属于对象很有用。
在“类”中,如果声明有多个同名的方法但它们的签名不同,则称为方法的重载。
12.在现有的类(基类)的基础上建立新类(派生类)的处理过程称为继承,这带来的好主要有代码复用、继承性多态。
可以用base关键字从派生类中访问基类的成员。
在派生类中定义与基类同名的方法,使用new修饰符显式隐藏从基类继承的方法成员。
13.virtual关键字用于指定属性或方法可以在派生类中重写,具有该关键字的方法或属性被称作虚拟成员。
当实例方法声明包含override修饰符时,称该方法为重写方法,重写方法用相同的签名重写继承的虚拟方法。
14.在类声明中使用abstract修饰符以指示类只能是其他类的基类,我们称它为抽象类。
15.用GDI+绘制简单几何图形需要如下步骤:创建Graphics对象、创建笔或画笔、调用图形方法。
16.菜单可以分成两种基本类型:下拉式菜单和弹出式菜单。
Timer控件是实现在用户定义的时间间隔引发事件的计时器。
17.C#中引用类型有:类、委托、数组、接口。
委托声明的关键字是delegate。
18.用sealed修饰的类的特点是不能继承(密封)19.c#中的三元运算符是?:二、选择题平台开发的基础是()A、CLRB、Web ServiceC、Frame WorkD、Class Library2.在.NET平台中,提供很多服务来简化代码的开发和应用程序的部署是()A、CLRB、Web ServiceC、Frame WorkD、Class Library Common Language Runtime 的作用是()A、是.NET 托管程序的执行引擎B、供.NET 托管程序调用的API 集合C、.NET 托管程序的编译程序D、支持.NET 托管程序的操作系统 Framework 不支持哪种类型的用户界面?()A、Web 窗体B、Windows 窗体C、控制台应用程序D、COM 组件5.设置文本框的哪种属性用于输入口令类的文本。
()A、ReadOnlyB、TextC、PasswordCharD、DataSource6.在C#中,使用______语句捕获异常()A、doB、whileC、ifD、try 和catch7.在对用户单击鼠标动作进行处理时,需要对______事件进行编码。
()A、ClickB、DoubleClickC、KeyPressD、EnterPress8.在列表框中,修改______属性可使用户一次选择多项。
()A、SelectionModeB、DataSourceC、ItemsD、Text9.修改窗体的下列哪个属性可改变窗体的标题()A、NameB、TextC、CaptionD、Items10.在面向对象编程中,利用已有的类创建一个新类是利用对象的()A、继承性B、多态性C、重载性D、接口11.能不能直接访问对象的属性和方法,这取决于对象的()A、封装性B、继承性C、多态性D、接口12.声明成员只在类内部访问使用______关键字。
()A、privateB、friendC、protectedD、public13.以下关于Main方法的叙述,正确的有ACA、在类的内部声明,必须具备有static关键字B、在类的内部声明,必须具备有void关键字C、是静态方法D、Main方法是程序的入口点,不含参数14.类MessageBox的类库的程序集(动态链接库)在哪里?A、System.Windows.Forms.dllB、System. Windows.MessageBox.dllC. System.Data.dllD. System.MessageBox.Show.dll15.C#中的类型float 对应.NET 类库中的______ 正确答案:AA. System.SingleB. System.DoubleC. System.Int32D. System.Int6416.允许查看项目文件层次组织的IDE窗口名称是什么?A、解决方案资源管理器B、服务器资源管理器C. 对象浏览器D. 类视图17.抽象类shape 和派生类Sqare 定义如下:abstract class shape{public abstract void Draw();}class Sqare : shape{…………}应向类Sqare 中添加下列哪种合法Draw 方法,以实现shape 中的抽象方法Draw?A.protected overrides void Draw(){…………}B. public override void Draw(){…………}C. protected overloads void Draw(){…………}D. public overloads void Draw(){…………}正确答案:B18.为了将字符串str=“123456”转换成整数123456,可以使用以下哪条语句?答:A,CA. int Num = Int32.Parse(str)B. int Num = str.Parse(integer)C. int Num = (int)(str)D. int Num = str.T oInt()19.分析下列语句:namespace TestCS{public delegate void Hello(ref string target)}该语句的作用是:正确答案:DA. 在TestCS 命名空间中定义了一个名为Hello 的全局方法;B. 在TestCS 命名空间中声明了函数Hello 的原型;C. 在TestCS 命名空间中定义了一个名为Hello 的函数指针;D. 在TestCS 命名空间中定义了了一个名为Hello 的委托类型;20.以下关于接口的叙述,正确的有哪些?abcdA. 接口成员必须是方法、属性、事件或索引器。
B. 接口不能包含常数、字段、运算符C. 接口不能包含实例构造函数、析构函数或类型D. 接口不能包含任何种类的静态成员。
21.下列关于构造函数的描述正确的是()A. 构造函数可以声明返回类型。
B. 构造函数不可以重载C. 构造函数的方法名和类名相同D. 构造函数不能带参数22.C#的数据类型有()A. 值类型和调用类型;B. 值类型和引用类型;C. 引用类型和关系类型;D. 关系类型和调用类型;23.下列描述错误的是()A、类不可以多重继承而接口可以;B、抽象类自身可以定义成员而接口不可以;C、抽象类和接口都不能被实例化;D、一个类可以有多个基类和多个基接口;24.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。
A、方法、属性、索引器和事件;B、方法、常量、属性;C、索引器和字段;D、事件和字段;25.下列关于C#中索引器理解正确的是( )A、索引器的参数必须是两个或两个以上B、索引器的参数类型必须是整数型C、索引器没有名字D、以上皆非26.下面是关于类及其修饰符的一些描述,不正确的是()A、abstract类只能用来派生子类,不能用来创建abstract类的对象B、sealed类不但可以用来派生子类,也可以用来创建sealed类的对象C、abstract不能与sealed同时修饰一个类D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract 方法27.关于类的继承,下面叙述不正确的是()A、子类可以继承父类中的所有变量和方法B、一个子类只能有一个父类C、子类可以继承父类的父类中的变量和方法D、所有类都是通过直接或间接地继承Object类而得到的28.下列关于构造函数的描述不正确的是()A、构造函数不声明返回类型。
B、构造函数可以用private修饰C、构造函数必须与类名相同D、构造函数可以被显式调用29.下列关于析构函数的描述不正确的是()A、一个类中只能有一个析构函数B、析构函数可以被继承和重载C、析构函数的名字与类名相同,只是在前面加一个“~”D、析构函数没有任何参数,也不返回任何值30.下面对抽象类的描述不正确的是()A、抽象类只能作为其它类的基类,它不能直接被实例化。