1、.NET编程基础期末练习题 一、选择题(选择一个正确答案的代码填入括号中,每空2分,共30分)1、.NET 框架提供了一个可重新分发的安装程序,它包含运行.NET框架应用程序所需的公共语言运行库和.NET框架组件。.NET框架可重新分发软件包作为一个独立的可执行文件( )提供。A.DotnetFrameWB.DC.Dotnetfx.exe D.DotnetFrameWork.exe 2、Employee是个结构类型,其描述如下:Public Structure Employee Public Name As String 姓名 Public EmployeeNumber As Integer
2、编号 Public Salary As Double 工资 Public Bonus As Double 加班费 Sub CalculateBonus(ByVal hours As Single) 按照每天8小时每月22天计算,加班费是工资的2倍 Bonus = Salary * hours / (8 * 22) If EmployeeNumber 100 Then Bonus = Bonus * 2 100号以内的员工加班费翻倍 End If End SubEnd Structure请问以下写法正确的是( )和( )。A.e1EmployeeNumber =202B.e1.EmployeeN
3、umber =20C.e1.CalculateBonus(20)D.e1.CalculateBonus(20,20)E.e1CalculateBonus(20)3、Quarter是个枚举类型,包含4个值。其定义如下: Enum Quarter Spring Summer AutumnWinter End Enum请问以下代码执行后变量q_int的值是( )。 Dim q As quarter 定义Quarter枚举变量 Dim q_int As Integer 枚举变量的数值 q = quarter.Autumn q_int = q 获得枚举的数值A.0 B.1C.2D.3E.44、空串与空引
4、用比较,前者( )后者。A. C. = D. =5、面向对象程序设计中的数据封装指的是( )。A输入数据必须输入保密口令B数据经过加密处理C. 对象内部数据结构的不可访问性D对象内部数据结构上建有防火墙6、以下语句实现的是面向对象的( )。Public Class CustomerInfo Inherits PersonInfoA.继承B.封装C.接口D.多态7、下面的代码结构表示的是对象的为( )。Public ReadOnly Property propertyname() As datatype 获取值Get Return varEnd GetEnd PropertyA.公共属性 B.
5、只写属性C.只读属性 D. 可变属性8、关于使用Directory和DirectoryInfo类获取子目录的正确描述( )( )。A.Directory.GetDirectories返回一个目录数组B.DirectoryInfo.GetDirectories返回一个目录数组C.Directory.GetDirectories返回一个字符串数组D.DirectoryInfo.GetDirectories返回一个字符串数组9、使用StreamReader 类的( )方法可以判断文件指针是否到了末尾。A.Seek B.PeekC.CloseD.ReadToEnd10、使用Command对象进行数据操
6、作时,默认情况下CommandType属性为( )。A.CommandType.Text B.CommandType.ProcedureC.CommandType.CommandText D.CommandType.StoredProcedure11、以下语句执行后,myDataSet中增加的表的名称是( )。dim myDataSet as new DataSet()myDataSet.Tables.Add()A.Table1B.Table2C.TableND.Nothing12、包含在DataSet集合中的集合是( )。A. Rows集合 B. Columns集合C. Tables集合D.
7、 Parameters集合13、要检索指定主表记录的所有子表相关记录,应该调用的方法是( )。A.GetRows B.GetRelationC.GetChildRowsD.GetParentRows二、判断题(正确的划,错的划,每小题2分,共20分)1.创建派生类时,可以通过Inherits指定要继承的基类,通过NotInheritable禁止某个类称为基类,通过MustInherit指定“抽象类”。( )2.可以通过语句 myDataView.Sort= “EmployeeID” 对数据试图进行数据过滤。( )3.数据集中的数据表名称是不区分大小写的,ds.Tables(Employees)
8、和ds.Tables(employees)是同一个表。( )4.多态就是同一个类中的方法可以有多个不同的实现形式。( )5.使用Mid函数获得子字符串时,其索引从1开始。( )6.Directory.GetFiles返回一个字符串数组。( )7.可以使用GetParentRows方法检索指定主表记录的所有子表相关记录。( )8.Delegate,也就是委托,是可用于调用其他对象方法的对象,该类型提供函数指针的功能。( )9.在.NET框架中,数组是一种引用类型,所有的数组都从System.Array类继承。( )10.字符串是引用类型。( )三、简答题(每小题6分,共30分)1.简述值类型和引
9、用类型的区别。2.简述类的字段和属性的区别。3.简要描述Web服务的实现原理。4.以下程序列出C盘根目录下的所有子目录,请仔细检查代码,指出其中的错误并改正:5. 结构S_Employee和类C_Employee定义分别如下:Public Structure S_Employee Public Name As String 姓名 Public Salary As Double 工资End StructurePublic Class C_Employee Public Name As String 姓名 Public Salary As Double 工资End Class请问以下代码执行后,e
10、1, e2, c1, c2的Name和Salary值分别是多少?测试结构 Dim e1 As S_Employee e1.Salary = 1000 e1.Name = 邱钦伦 Dim e2 As S_Employee e2 = e1 e2.Name = 崔林 e1.Salary = 2000 测试类 Dim c1 As New C_Employee() c1.Salary = 1000 c1.Name = 邱钦伦 Dim c2 As C_Employee c2 = c1 c2.Name = 崔林 c1.Salary = 2000四、编程题(每空5分,共20分)1以下代码使用 StreamRe
11、ader 从文件(“c:boot.ini”)中读取信息,并将读取的信息显示在文本框中TextBox2中。请根据程序代码中的注释将程序补充完整。 Dim sr As StreamReader 打开将要读取的文件. sr = File.OpenText(“_”) 从文件中读取行. Dim x As String While sr. _ -1 x = sr. ReadLine() TextBox2.Text &= x & vbCrLf End While TextBox2.Text &= vbCrLf & -the end- sr. Close()2以下代码通过数据视图实现数据过滤功能,其中Text
12、Box1用于填写过滤条件(Customer表中City列的值),DataGrid显示该表过滤和排序后的数据。请根据程序代码中的注释将程序补充完整。创建新的视图dvDim dv As DataView = New DataView()设置视图dv的表为OrderDetailsdv. _ = DataSet11.Tables(OrderDetails)设置视图dv的过滤条件dv. _ = City= & TextBox1.Text & MessageBox.Show(dv.Count)DataGrid1.DataSource = dv参考答案一、选择题(每空2分,共30分)1C 2BC 3D 4B
13、 5C6A 7C 8BC 9B 10A11A 12C 13C 二、判断题(每小题2分,共20分)1,5,6,8,9,10是正确的,其余是错误的。三、简答题(每小题6分,共30分)1.答:值类型包含的是数据,引用类型包含的是指向对象实例的引用或指针。对一个值类型变量的操作不会影响另外一个变量,而对一个引用变量的操作会影响其他引用变量。2.答:类的成员包括成员变量和成员函数。公开的成员变量又称为字段,而用Property语句定义的成员变量则称为属性;属性使用属性过程控制如何设置或返回值,而字段只是公共变量。3.答:XML Web Service的原理是:通过简单对象访问协议(SOAP)提供网络功能
14、,它使用“Web服务描述语言(WSDL)”文件进行描述,并通过“统一描述、发现和集成(UDDI)”进行注册。4.答:DirectoryInfo.GetDirectories返回的是目录数组而不是字符串数组,应将 Dim subDirectories As String() 定义字符串数组修改为:Dim subDirectories As DirectoryInfo() 定义目录数组。5.答:e1.Name = 邱钦伦, e1.Salary = 2000e2.Name = 崔林, e2.Salary = 1000c1.Name = 崔林, c1.Salary = 2000c2.Name = 崔林, c2.Salary = 2000四、编程题(每空5分,共20分)c:boot.iniPeekTableRowFilter