
.NET编程基础期末练习题一3 中央电大工学院袁薇 一、选择题(选择一个正确答案的代码填入括号中,每空2分,共30分) 1、NET框架提供了一个可重新分发的安装程序,它包含运行NET框架应用程序所 需的公共语言运行库和NET框架组件。NET框架可重新分发软件包作为一个独立的可执 行文件()提供。 A.DotnetFrameWork.com B.Dotnetfx.com C.Dotnetfx.exe D DotnetFrameWork.exe 2、Employee是个结构类型,其描述如下: Public Structure Employee Public Name As String'姓名 Public EmployeeNumber As Integer'编号 Public Salary As Double'工资 Public Bonus As Double'加班费 Sub CalculateBonus(By Val hours As Single) 按照每天8小时每月22天计算,加班费是工资的2倍 Bonus=Salary hours/(8*22) If EmployeeNumber 100 Then Bonus=Bonus*2'100号以内的员工加班费翻倍 End If End Sub End Structure 请问以下写法正确的是()和()。 A.e1^EmployeeNumber =202 B.el.EmployeeNumber =20 C.el.CalculateBonus(20) D.e1.CalculateBonus(20,20) 1
1 .NET 编程基础期末练习题-3 中央电大工学院 袁薇 一、选择题(选择一个正确答案的代码填入括号中,每空 2 分,共 30 分) 1、 .NET 框架提供了一个可重新分发的安装程序,它包含运行.NET 框架应用程序所 需的公共语言运行库和.NET 框架组件。.NET 框架可重新分发软件包作为一个独立的可执 行文件( )提供。 A. DotnetFrameWork.com B. Dotnetfx.com C. Dotnetfx.exe D. DotnetFrameWork.exe 2、 Employee 是个结构类型,其描述如下: Public Structure Employee Public Name As String '姓名 Public EmployeeNumber As Integer '编号 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 Sub End Structure 请问以下写法正确的是( )和( )。 A. e1^EmployeeNumber =202 B. e1.EmployeeNumber =20 C. e1.CalculateBonus(20) D. e1.CalculateBonus(20,20)

E.el^CalculateBonus(20) 3、 Quarter是个枚举类型,包含4个值。其定义如下: Enum Quarter Spring Summer Autumn Winter End Enum 请问以下代码执行后变量qint的值是()。 Dim q As quarter'定义Quarter枚举变量 Dim q_int As Integer'枚举变量的数值 q quarter.Autumn qint=q'获得枚举的数值 A.0 B.1 C.2 D.3 E.4 4、空串与空引用比较,前者()后者。 A. C.= D.>= 5、面向对象程序设计中的数据封装指的是()。 A.输入数据必须输入保密口令 B.数据经过加密处理 C.对象内部数据结构的不可访问性 D.对象内部数据结构上建有防火墙 6、以下语句实现的是面向对象的( )。 Public Class CustomerInfo 2
2 E. e1^CalculateBonus(20) 3、 Quarter 是个枚举类型,包含 4 个值。其定义如下: Enum Quarter Spring Summer Autumn Winter End Enum 请问以下代码执行后变量 q_int 的值是( )。 Dim q As quarter '定义 Quarter 枚举变量 Dim q_int As Integer '枚举变量的数值 q = quarter.Autumn q_int = q '获得枚举的数值 A. 0 B. 1 C. 2 D. 3 E. 4 4、 空串与空引用比较,前者( )后者。 A. C. = D. >= 5、 面向对象程序设计中的数据封装指的是( )。 A.输入数据必须输入保密口令 B.数据经过加密处理 C. 对象内部数据结构的不可访问性 D.对象内部数据结构上建有防火墙 6、 以下语句实现的是面向对象的( )。 Public Class CustomerInfo

Inherits PersonInfo A.继承 B.封装 C.接口 D.多态 7、下面的代码结构表示的是对象的为()。 Public ReadOnly Property propertyname()As datatype 获取值 Get Return var End Get End Property A.公共属性 B.只写属性 C.只读属性 D.可变属性 8、关于使用Directory和DirectoryInfo类获取子目录的正确描述()( )。 A. Directory.GetDirectories返回一个目录数组 B.DirectoryInfo.GetDirectories返回一个目录数组 C.Directory.GetDirectories返回一个字符串数组 D. DirectoryInfo.GetDirectories返回一个字符串数组 9、 使用StreamReader类的()方法可以判断文件指针是否到了末尾。 A.Seek B Peek C.Close 0 ReadToEnd 10、 使用Command对象进行数据操作时,默认情况下Command Type属性为 )。 A.CommandType.Text B. CommandType.Procedure C. CommandType.CommandText
3 Inherits PersonInfo A. 继承 B. 封装 C. 接口 D. 多态 7、 下面的代码结构表示的是对象的为( )。 Public ReadOnly Property propertyname() As datatype '获取值 Get … Return var End Get End Property A. 公共属性 B. 只写属性 C. 只读属性 D. 可变属性 8、 关于使用 Directory 和 DirectoryInfo 类获取子目录的正确描述( )( )。 A. Directory.GetDirectories 返回一个目录数组 B. DirectoryInfo.GetDirectories 返回一个目录数组 C. Directory.GetDirectories 返回一个字符串数组 D. DirectoryInfo.GetDirectories 返回一个字符串数组 9、 使用 StreamReader 类的( )方法可以判断文件指针是否到了末尾。 A. Seek B. Peek C. Close D. ReadToEnd 10、 使用 Command 对象进行数据操作时,默认情况下 CommandType 属性为 ( )。 A. CommandType.Text B. CommandType.Procedure C. CommandType.CommandText

D.CommandType.StoredProcedure ll、以下语句执行后,myDataSet中增加的表的名称是()。 dim myDataSet as new DataSet() myDataSet.Tables.Add() A.Tablel B.Table2 C TableN D.Nothing 12、包含在DataSet集合中的集合是()。 A.ROWS集合 B.Columns集合 C.Tables集合 D.Parameters集合 13、要检索指定主表记录的所有子表相关记录,应该调用的方法是()。 A.GetRows B.GetRelation C.GetChildRows D.GetParentRows 二、判断题(正确的划√,错的划×,每小题2分,共20分) L.创建派生类时,可以通过Inherits指定要继承的基类,通过NotInheritable禁止某 个类称为基类,通过MustInherit指定“抽象类”。() 2.可以通过语句myDataView..Sort=“EmployeeID”对数据试图进行数据过滤。 () 3.数据集中的数据表名称是不区分大小写的,ds.Tables(("Employees'")和 ds.Tables("employees'")是同一个表。() 4.多态就是同一个类中的方法可以有多个不同的实现形式。() 5.使用Mid函数获得子字符串时,其索引从1开始。() 6.Directory..GetFiles返回一个字符串数组。() 7.可以使用GetParentRows方法检索指定主表记录的所有子表相关记录。() 8.Delegate,也就是委托,是可用于调用其他对象方法的对象,该类型提供函数指
4 D. CommandType.StoredProcedure 11、以下语句执行后,myDataSet 中增加的表的名称是( )。 dim myDataSet as new DataSet() myDataSet.Tables.Add() A. Table1 B. Table2 C. TableN D. Nothing 12、包含在 DataSet 集合中的集合是( )。 A. Rows 集合 B. Columns 集合 C. Tables 集合 D. Parameters 集合 13、要检索指定主表记录的所有子表相关记录,应该调用的方法是( )。 A. GetRows B. GetRelation C. GetChildRows D. GetParentRows 二、判断题(正确的划√,错的划×,每小题 2 分,共 20 分) 1. 创建派生类时,可以通过 Inherits 指定要继承的基类,通过 NotInheritable 禁止某 个类称为基类,通过 MustInherit 指定“抽象类”。( ) 2. 可以通过语句 myDataView.Sort= “EmployeeID” 对数据试图进行数据过滤。 ( ) 3. 数 据 集 中 的 数 据 表 名 称 是 不 区 分 大 小 写 的 , ds.Tables("Employees") 和 ds.Tables("employees")是同一个表。( ) 4. 多态就是同一个类中的方法可以有多个不同的实现形式。( ) 5. 使用 Mid 函数获得子字符串时,其索引从 1 开始。( ) 6. Directory.GetFiles 返回一个字符串数组。( ) 7. 可以使用 GetParentRows 方法检索指定主表记录的所有子表相关记录。( ) 8. Delegate,也就是委托,是可用于调用其他对象方法的对象,该类型提供函数指

针的功能。() 9.在.NET框架中,数组是一种引用类型,所有的数组都从System.Array类继承。 () 10.字符串是引用类型。() 三、简答题(每小题6分,共30分) 1.简述值类型和引用类型的区别。 2.简述类的字段和属性的区别。 3.简要描述Web服务的实现原理。 4.以下程序列出C盘根目录下的所有子目录,请仔细检查代码,指出其中的错误并 改正: 5.结构S Employee和类C Employee定义分别如下: Public Structure S_Employee Public Name As String'姓名 Public Salary As Double'工资 End Structure Public Class C Employee Public Name As String'姓名 Public Salary As Double'工资 End Class 请问以下代码执行后,el,e2,cl,c2的Name和Salary值分别是多少? ‘测试结构 Dim el As S Employee el.Salary =1000 el.Name="邱钦伦" Dim e2 As S Employee e2=el e2.Name="崔林" el.Salary =2000 ‘测试类 Dim cl As New C Employee()
5 针的功能。( ) 9. 在.NET 框架中,数组是一种引用类型,所有的数组都从 System.Array 类继承。 ( ) 10. 字符串是引用类型。( ) 三、简答题(每小题 6 分,共 30 分) 1. 简述值类型和引用类型的区别。 2. 简述类的字段和属性的区别。 3. 简要描述 Web 服务的实现原理。 4. 以下程序列出 C 盘根目录下的所有子目录,请仔细检查代码,指出其中的错误并 改正: 5. 结构 S_Employee 和类 C_Employee 定义分别如下: Public Structure S_Employee Public Name As String '姓名 Public Salary As Double '工资 End Structure Public Class C_Employee Public Name As String '姓名 Public Salary As Double '工资 End Class 请问以下代码执行后,e1, 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 cl.Name="邱钦伦" Dim c2 As C Employee c2=cl c2.Name="崔林" c1.Salary=2000 四、编程题(每空5分,共20分) 1.以下代码使用StreamReader从文件(“c:boot ini”)中读取信息,并将读取的信息 显示在文本框中TextBox2中。请根据程序代码中的注释将程序补充完整。 Dim sr As StreamReader ·打开将要读取的文件 sr=File.Open Text(“① ·从文件中读取行 Dim x As String While sr.② <◇-1 x=sr.ReadLine() TextBox2.Text &=x vbCrLf End While TextBox2.Text &vbCrLf "------------the end-----------' sr.Close() 2.以下代码通过数据视图实现数据过滤功能,其中TextBoxl用于填写过滤条件 (Customer表中City列的值),DataGrid显示该表过滤和排序后的数据。请根据程序代码 中的注释将程序补充完整。 创建新的视图dv Dim dv As DataView=New DataView() '设置视图dv的表为OrderDetails dv.③ DataSet11.Tables("OrderDetails") '设置视图dv的过滤条件 dv.④ ="City="&TextBox1.Text MessageBox.Show(dv.Count) 6
6 c1.Salary = 1000 c1.Name = "邱钦伦" Dim c2 As C_Employee c2 = c1 c2.Name = "崔林" c1.Salary = 2000 四、编程题(每空 5 分,共 20 分) 1.以下代码使用 StreamReader 从文件(“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.以下代码通过数据视图实现数据过滤功能,其中 TextBox1 用于填写过滤条件 (Customer 表中 City 列的值),DataGrid 显示该表过滤和排序后的数据。请根据程序代码 中的注释将程序补充完整。 '创建新的视图 dv Dim dv As DataView = New DataView() '设置视图 dv 的表为 OrderDetails dv. ③________________ = DataSet11.Tables("OrderDetails") '设置视图 dv 的过滤条件 dv. ④________________ = "City='" & TextBox1.Text & "'" MessageBox.Show(dv.Count)

DataGrid1.DataSource dv 个
7 DataGrid1.DataSource = dv

参考答案 一、选择题(每空2分,共30分) 1.C 2.BC 3.D 4.B 5.C 6.A7.C 8.BC 9.B 10.A 11.A 12.C 13.C 二、判断题(每小题2分,共20分) 1,5,6,8,9,10是正确的,其余是错误的。 三、简答题(每小题6分,共30分) 1.答:值类型包含的是数据,引用类型包含的是指向对象实例的引用或指针。对一 个值类型变量的操作不会影响另外一个变量,而对一个引用变量的操作会影响其他引用变 量。 2.答:类的成员包括成员变量和成员函数。公开的成员变量又称为字段,而用 Property语句定义的成员变量则称为属性:属性使用属性过程控制如何设置或返回值,而 字段只是公共变量。 3.答:XML Web Service的原理是:通过简单对象访问协议(SOAP)提供网络功能, 它使用“Wb服务描述语言(WSDL)”文件进行描述,并通过“统一描述、发现和集成(UDD)” 进行注册。 4.答:DirectoryInfo..GetDirectories返回的是目录数组而不是字符串数组,应将Dim subDirectories As String()'定义字符串数组修改为:Dim subDirectories As DirectoryInfo()'定 义目录数组。 5.答:el.Name="邱钦伦",cl.Salary=2000 e2.Name="崔林",e2.Salary=l000 cl.Name="崔林",cl.Salary=2000 c2.Name="崔林",c2.Salary=2000 四、编程题(每空5分,共20分) ①c:\boot..ini ②Peek ③Table ④RowFilter
8 参考答案 一、选择题(每空 2 分,共 30 分) 1.C 2.BC 3.D 4.B 5.C 6.A 7.C 8.BC 9.B 10.A 11.A 12.C 13.C 二、判断题(每小题 2 分,共 20 分) 1,5,6,8,9,10 是正确的,其余是错误的。 三、简答题(每小题 6 分,共 30 分) 1. 答:值类型包含的是数据,引用类型包含的是指向对象实例的引用或指针。对一 个值类型变量的操作不会影响另外一个变量,而对一个引用变量的操作会影响其他引用变 量。 2. 答:类的成员包括成员变量和成员函数。公开的成员变量又称为字段,而用 Property 语句定义的成员变量则称为属性;属性使用属性过程控制如何设置或返回值,而 字段只是公共变量。 3. 答:XML Web Service 的原理是:通过简单对象访问协议(SOAP)提供网络功能, 它使用“Web 服务描述语言(WSDL)”文件进行描述,并通过“统一描述、发现和集成(UDDI)” 进行注册。 4. 答:DirectoryInfo.GetDirectories 返回的是目录数组而不是字符串数组,应将 Dim subDirectories As String() '定义字符串数组修改为:Dim subDirectories As DirectoryInfo() '定 义目录数组。 5. 答:e1.Name = "邱钦伦", e1.Salary = 2000 e2.Name = "崔林", e2.Salary = 1000 c1.Name = "崔林", c1.Salary = 2000 c2.Name = "崔林", c2.Salary = 2000 四、编程题(每空 5 分,共 20 分) ①c:\boot.ini ②Peek ③Table ④RowFilter