一.单项选择题(30分)1.在DOM中,装载一个XML文档的方法(D)A.save方法B.load方法C.loadXML方法D.send方法2.在对SQLServer数据库操作时应选用(A)A.SQLServer.NETFramework数据提供程序B.OLEDB.NETFramework数据提供程序C.ODBC.NETFramework数据提供程序D.Oracle.NETFramework数据提供程序3.下列选项中,(C)是引用类型A.enum类型B.struct类型C.string类型D.int类型4.C#的数据类型有(A)A.值类型和调用类型;B.值类型和引用类型;C.引用类型和关系类型;D.关系类型和调用类5.下列描述错误的是(D)A.类不可以多重继承而接口可以B.抽象类自身可以定义成员而接口不可以C.抽象类和接口都不能被实例化D.一个类可以有多个基类和多个基接口6.int[][]myArray3=newint[3][]{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};myArray3[2][2]的值是(D)7.下列关于构造函数的描述正确的是(C)A.构造函数可以声明返回类型。B.构造函数不可以用private修饰C.构造函数必须与类名相同D.构造函数不能带参数8.下面关于XML的描述错误的是(D)A.XML提供一种描述结构化数据的方法;B.XML是一种简单、与平台无关并被广泛采用的标准;C.XML文档可承载各种信息;D.XML只是为了生成结构化文档9.用户类若想支持Foreach语句需要实现的接口是:(A)A.IEnumerableB.IEnumeratorC.ICollectionD.ICollectData31.以下哪个是可以变长的数组?(D)A.ArrayB.string[]C.string[N]D.ArrayList10.以下哪个类是int的基类?()A.Int32B.ObjectC.ValueTypeD.Int1611.在三层架构开发中,面向对象编程三大特征体现最强的是(b)。A.继承B.封装C.多态D.封装、继承12.三层构架中,数据访问层的主要功能是(a)。A.数据存取B.逻辑处理C.数据展示D.数据存取、数据展示13.下列属于强类型的是(b)。A.ArrayList对象B.DataTable对象C.DataView对象D.实体对象14.三层架构的描述错误的是(d)。A.三层架构可以使程序设计“高内聚、低耦合”B.三层架构设计中,将问题划分开来各个解决,易于控制、扩展、分配资源及维护C.三层架构指的是一个应用程序分为数据层、业务逻辑层、表现层三个层次D.三层架构的表现层只能是WindowsApplication15.三层架构中的数据访问层描述,正确的是(d)。A.数据访问层就是对数据库的数据进行查询B.表现层可以直接依赖数据访问层C.数据访问层依赖于业务逻辑层D.数据访问层可以访问各种类型的数据源,不仅仅是SQLSERVER数据库二.多项选择题(20分)16.以下哪些可以作为接口成员?(多选)(ABDE)A.方法B.属性C.字段D.事件E.索引器F.构造函数G.析构函数17.以下关于ref和out的描述哪些项是正确的?(多选)(ACD)A.使用ref参数,传递到ref参数的参数必须最先初始化。B.使用out参数,传递到out参数的参数必须最先初始化。C.使用ref参数,必须将参数作为ref参数显式传递到方法。D.使用out参数,必须将参数作为out参数显式传递到方法。18.以下叙述正确的是:BCA.接口中可以有虚方法。B.一个类可以实现多个接口。C.接口不能被实例化。D.接口中可以包含已实现的方法。19.下面描述错误的是(C/D)。a)窗体也是控件;b)窗体也是类;c)控件是从窗体继承来的;d)窗体的父类是控件类;20.为访问Oracle数据库中的数据,可以使用以下哪种.NET数据提供者连接到数据库(bc)。【选两项】A.SQLServer.NET数据提供程序B.Oracle.NET数据提供程序C.OleDb.NET数据提供程序D.XML.NET数据提供程序21.DataView对象的特性有()。【选两项】A.DataView只能访问单个DataTable表B.DataView可以作为连接两个相关表的手段C.DataView不能进行排序D.DataView可以根据记录的版本、状态进行筛选22.关于Attribute类的GetCustomAttributes()方法,说法正确的有()。【选两项】A.GetCustomAttributes()是Attribute类的静态方法B.GetCustomAttributes()方法可以获得应用在Attribute类上的所有特性C.GetCustomAttributes()方法参数是一个Type类型的实例D.GetCustomAttributes()获得应用在Type类型上的所有特性23.关于System.Type类的GetMotheds()方法,说法正确的有()。【选两项】A.获取System.Type类型实例所引用的类的所有方法B.获取System.Type类的所有方法C.返回一个MethodInfo对象D.返回一个MethodInfo类型的数组24.永久保存程序运行时的数据,以下几种方法中正确的有()。【选三项】A.通过操作系统文件保存B.通过序列化机制保存C.通过数据库保存D.通过反射机制保存25.以下叙述正确的是:(BC)A.接口中可以有虚方法B.一个类可以实现多个接口C.接口不能被实例化D.接口中可以包含已实现的方法三.简答题(35分)1.DataReader和DataSet的异同?(7分)答:DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条..DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活。2.C#中的接口和类有什么异同。(7分)答:异:不能直接实例化接口。接口不包含方法的实现。接口、类和结构可从多个接口继承。但是C#只支持单继承:类只能从一个基类继承实现。类定义可在不同的源文件之间进行拆分。同:接口、类和结构可从多个接口继承。接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。接口可以包含事件、索引器、方法和属性。一个类可以实现多个接口。3.值类型和引用类型的区别?(8分)1.将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。2.值类型不可能派生出新的类型:所有的值类型均隐式派生自System.ValueType。但与引用类型相同的是,结构也可以实现接口。3.值类型不可能包含null值:然而,可空类型功能允许将null赋给值类型。4.每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。4.解释MVC模式(7分)MVC(ModelViewController)模型-视图-控制器aspx就是View,视图;Model:DataSet、Reader、对象;Controller:cs代码。MVC是典型的平行关系,没有说谁在上谁在下的关系,模型负责业务领域的事情,视图负责显示的事情,控制器把数据读取出来填充模型后把模型交给视图去处理。而各种验证什么的应该是在模型里处理了。它强制性的使应用程序的输入、处理和输出分开。MVC最大的好处是将逻辑和页面分离。5.override与重载的区别(6分)答:override与重载的区别重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要Override是进行基类中函数的重写。为了适应需要。四.程序设计题(15分)1.请编程实现一个快速排序算法?