试卷代号:2231 座位号■ 中央广播电视大学2011一2012学年度第一学期“开放专科”期末考试 Visual Basic程序设计试题 2012年1月 题 号 二 三 四 五 总 分 分数 得 分 评卷人 一、单项选择题(每小题2分,共30分) 1.如果要在文本框中键入字符时,只显示某个字符,如星号(),应设置文本框的() 属性。 A.Caption B.PasswordChar C.Text D.Locked 2.MsgBox函数的返回值的数据类型是( ) A.字符串 B.日期型 C.逻辑型 D.整型 3.要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列 ()属性设置就有效。 A.MaxButton B.BorderSyle C.Width D.MinButton 4.VB程序中通常不会产生错误提示的是( A.编译错误 B.实时错误 C.运行时错误 D.逻辑错误 5.要设置命令按钮的背景图形,必须设置的两个属性是()。 A.Style和Picture B.Style和Icon C.Caption和Picture D.Value和Icon 1415
试卷代号 座位号 中央广播电视大学 2 0 11 2 0 2学年度第一学期"开放专科"期末考试 Visual Basic 程序设 2012 年1 得分|评卷人 -、单项选择题(每小题 3 0 1.如果要在文本框中键入字符时,只显示某个字符,如星号(祷),应设置文本框的( ) 属性。 A. Caption C. Text B. PasswordChar D. Locked 2. MsgBox 数据 )。 A. 串B. C. 逻辑 型D.整型 3. 体在 运 行 改 变 大 小 大 化 小 化 按 钮 ( )属性设置就有效。 A. MaxButton C. Width B. BorderSyle D. t t 4. VB 产生 )。 A. 误B. c.运行时错误 .逻辑错误 5. 按钮 须设 性是 )。 A. Style 和Picture C. Caption 和Picture B. Style 和Icon D. Value 和Icon 1415
6.下列关于变量的说法不正确的是()。 A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量 B.局部变量在声明它的过程执行完毕后就被释放了 C.静态局部变量是在过程中用Static语句声明的 D.局部变量的作用域仅限于声明它的过程 7.如下数组声明语句,正确的是()。 A.Dim a[3,4]As Integer B.Dim a(3,4)As Integer C.Dim a(n,n)As Integer D.Dim a(3 4)As Integer 8.若使图像框Image控件自动适应其中的图形大小,应()。 A.将控件的AutoSize属性设为True B.将控件的AutoSize属性设为False C.将控件的Stretche属性设为True D.将控件的Stretche属性设为False 9.执行Forml.Scale(-14,14)一(14,-14)语句后,Forml窗体坐标系x轴和y轴的 正方向是()。 A.向左和向下 B.向右和向上 C.向左和向上 D.向右和向下 l0.Timer控件可用于后台进程中,可在Timer事件内编程,要停止触发Timer事件,需 要设置的属性是( )。 A.Interval=0 Enabled=False B.Interval=0 Visible=False C.Interval=0 Enabled=False D.Enabled=False Visible=False ll.使用ADO数据模型时,建立Recordset和Connection对象连接的属性是()。 A.Execute B.CommandType C.Open D.ActiveConnection l2.要发送数据,通称使用Winsock控件的( )。 A.Accept方法 B.Listen方法 C.SendData方法 D.GetDate方法 13.用来从数据库表中删除记录的SQL命令是( A.DELETE B.SELECT C.UPDATE D.WHERE 1416
6. 不正 )。 A.局部变量是指那些在过程中用 m语句或 c语句声明的变量 B. 局部变量在声 过程执 后 就 释放 C. 局部 量是在过 用Static D.局部变量的作用域仅限于声明宫的过程 7. 正确 )。 A. Dim a[3 ,4J As Integer C. Dim a(n,n) As Integer B. Dim a(3 ,4) As Integer D. Dim a(3 4) As Integer 8. 控件 的 图 )。 A. 将控 的AutoSize 为True B. 性设 C. 的Stretche 为True D. 的Stretche 为False 9. 执行 or 1. Scale (-14 , 14) (14 一14) ,Form1 系x 轴 和y 正方向是( )。 A.向左和向下 .向右和向上 C. D. 10. Timer 可用 于后 在Timer 发Timer 要设置的属性是( )。 A. Interval = 或Enabled= False C. Interval = 且Enabled=False B. Interval=O 或Visible= False D. Enabled= False 且Visible= False 1. 用ADO 数据模 立Recordset和Connection 性是 )。 A. Execute C. Open 12. 用Winsock控件 A. Accept C. SendData B. CommandType D. ActiveConnection B. Listen D. GetDate 方法 13. 据库 除记 的SQL )。 A. DELETE B. SELECT C. UPDATE D. WHERE 1416
14.不属于VB数据库引擎的是( )。 A.ODBC B.BDE C.Jet引擎 D.OLE DB 15.如果创建了命令按钮数组控件,那么Click事件的参数是()。 A.Tag B.Caption C.Index D.没有参数 得 分 评卷人 二、填空题(每小题2分,共20分)】 16.在VB中想获得帮助,需要按的键是 ;要设置断点需要按 键。 17.Winsock控件主要用来编制基于 或 协议的网络应用程序。 18.定时器(Timer)控件可识别的事件是 ,发生该事件的时间间隔由定时 器的 属性设置。 19.在控件数组中,所有元素的 属性均相同,数组中的每个元素由 属性指定。 20.假设ADOcn为-个Connection对象,那么在VB程序中声明并创建ADOcn的语句 是 21.一个VB应用程序可以包含 个vbp文件。 22.列表框控件中最后一项的序号等于ListCount属性减 23.全局变量是指那些在 中有效的变量,一般在模块代码编辑器 的顶部使用 声明。 24.Dim i As Integer,则运行时变量i的初始值是 25.VB中参数传递的方式有两种,一种是 参数,另一种是 参数。 1417
14. 于VB )。 A. ODBC B. BDE C. Jet D. OLE DB 15. 按钮数组控件 么Click )。 A‘Tag B. Caption C. Index D. 没有参 得分市石 二、填空题{每小题 16. 想获得帮 助 17. Winsock 控件 编制 18. 器(Timer) 控件 件是 器的一一一属性设置。 19. 控 件 属性指定。 20. 一个 e c 对象 需要按 或协议的网络应用程序。 ,发生该事件的时间间隔由定时 属性均相同,数组中的每个元素由 1. 应用程序 个vbp 文件 22. 最后一项 序号等 un 性减 23. 有效 变 量 在 模 编辑 的顶部使用声明。 24. Dim i As Integer, JJltl 时变 初始值是 25. VB 数 传 递 参数。 参数,另一种是 1"417
得分 评卷人 三、阅读程序题(共25分) 阅读下列程序并写出程序运行结果。 26.(6分) Private Sub Form_Click() Dim I As Integer,j As Integer Dim c As Integer c=1 For I=1 To 3 For j=1 To 2 c=c+3 Next j Next I Print c End Sub 文件框Textl的输出结果是: 27.(6分) Private Sub Command1_Click() Dim s As Double Dim i As Integer s=5 i=1 Do While i<9 i=i+2 s=s+i LooP Textl.Text =s End Sub 写出程序运行时,单击命令按钮文本框Textl中的输出结果。 1418
得分|评卷人 三、阅读程序题{共 5分} 阅读下列程序并写出程序运行结果。 26. (6 Private Sub Form_ClickO Dim I As Integer. j As Integer Dim c As Integer c = 1 For I = 1 To 3 For j = 1 To 2 c = c + 3 Next j Next I Print c End Sub 文件框 !的输出结果是: 27. (6 Private Sub CommandLClickO Dim s As Double Dim i As Integer s = 5 i = 1 Do While i < 9 i=i+2 s = s Loop Textl. Text = s End Sub 写出程序运行时,单击命令按钮文本框 l中的输出结果。 1418
28.(6分) Function F(a As Integer) b=2 Static c b=b+1 c=c+1 F=a+b+c End Function Private Sub Command1_Click() Dim a As Integer a=2 For i=1 To 3 Print F(a) Next i End Sub 写出程序运行时,单击命令按钮在窗体上的输出结果。 29.(7分) Private Sub Command1_Click() Dim a As Integer:Dim b As Integer a=10:b=20 Changel a,b Print "Al=";a,"B1=";b a=10:b=20 Change2 a,b Print "A2=";a,"B2=";b End Sub Sub Changel(By Val x As Integer,ByVal y As Integer) t=x:x=y:y t End Sub 1419
28. (6 Function F(a As Integer) b = 2 Static c b=b 十1 c = F=a 十b + c End Function Private Sub Commandl_ClickO Dim a As Integer a=2 For j = 1 To 3 Print F(a) Next i End Sub 写出程序运行时,单击命令按钮在窗体上的输出结果。 29. (7 Private Sub Commandl_ClickO Dim a As Integer: Dim b As Integer a = 10: b = 20 Change1 a , b Print "A1="; a , "Bl="; b a = 10: b = 20 Change2 a , b Print "A2="; a , "B2="; b End Sub Sub Changel(ByVal x As Integer, ByVal y As Integer) t = x: x = y: y = t End Sub 1419
Sub Change2(x As Integer,y As Integer) t x:x-y:y=t End Sub 写出程序运行时,单击窗体Forml上的输出结果。 得 分 评卷人 四、完善程序题(共10分) 30.假设用Access创建了一个名为“学生.MDB”的数据库,并在其中创建了一张名为 “学生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。 现在要求利用VB编写一个数据库查询程序,程序的运行界面如图2所示,基本逻辑是: 首先文本框(Text1)中输入希望查询的学生学号,然后点击“查询”"按钮(Command1),如果数 据库中存在该学号,则分别在Text2、Text3、Text4中显示学号、姓名、籍贯信息,否则提示用 户“记录不存在”并使Textl获得焦点,要求用户重新输人。当点击退出按钮(Command2)时 关闭本窗体。 学生基本精汉:表 @▣☒ 学号, 姓名 籍贯 2009001 王进 天津 2009002 烨 河北 12009003 郭峰 山东对 记录:① 3D可刀心肃共有记录数 图1用Access创建的学生基本情况数据表 学生信息查询 面松 输入查询条件 要查询的学号 2009003 查询 查询结果 学号 2009003 姓名 郭哗 籍提 面系 退出 图2查询程序运行界面 1420
Sub ChangeZ(x As Integer, y As Integer) t = x: x = y: y = t End Sub 写出程序运行时,单击窗体 1上的输出结果。 得分|评卷人 四、完善程序题{共 0分} 30. 用Access 生.MDB" 据 库 一 张 "学生基本情况"的数据表,表中存放了学生的基本信息,如图1所示。 现在要求利用 B编写一个数据库查询程序,程序的运行界面如图2所示,基本逻辑是: 首先文本框 )中输入希望查询的学生学号,然后点击"查询"按钮 nd ,如果数 据库中存在该学号,则分别在 Z、 3、 4中显示学号、姓名、籍贯信息,否则提示用 户"记录不存在"并使 1获得焦点,要求用户重新输人。当点击退出按钮 mm )时 关闭本窗体。 1用 e s s创建的学生基本情况数据表 2查询程序运行界面 1420
程序如下,请补充完整。 Private ADOcn As Connection Private Sub Form_Load() [] ADOcn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:MDB" End Sub Private Sub Command1_Click() Dim strSQL As String Dim ADOrs As [2] Recordset ADOrs.ActiveConnection=ADOcn strSQL="Select From学生基本情况Where学号="+"'"十Textl+"" [3] f[4] ADOrs.EOF Then Text2=ADOrs.Fields("学号") Text3=ADOrs.Fields("姓名") Text4=ADOrs.Fields("籍贯") Else MsgBox"要查询的学号不存在,请重新输人!",vbOKOnly,"信息提示” Textl =" [5] End If End Sub Private Sub Command2_Click() UnLoad Me End 1421
Recordset 程序如下,请补充完整。 Private ADOcn As Connection Private Sub Form_LoadO [lJ AD n. Open "Provider=J\1icrosoft. Jet. OLEDR 4. O;Data Sour l\1D End Sub Private Sub Command1_ClickO Dim strSQL As String Dim ADOrs As [2J ADOrs. ActiveConnection = ADOcn strSQL = "Select 羡From 况Where , " + Text1 It fit [3J If [4J ADOrs. EOF Then Text2 = ADOrs. Fields(" It Text3 = ADOrs. Fields<" It Text4 = ADOrs. Fields<"籍贯 It Else MsgBox" 号不存在 重新 vbOKOnly , "信息提示" Text1 = "" [5J End If End Sub Private Sub Command2_ClickO UnLoad Me End 1421
得分 评卷人 五、编写程序题(共15分) 31.编写一工资调整程序。若基本工资大于等于3000元,增加工资10%,若小于3000元 大于2000元,则增加工资15%;若小于2000元则增加工资18%。要求在文本框Text1中输 入某职工的基本工资,单击“计算”按钮,在标签框Labl1中输出增加后的工资。程序运行界 面如图3所示。 工资四整程序 ▣区☒ 原工资 2500 增加后的工资 2875 计宜 退出 图3 1422
得分!评卷人 五、编写程序题{共 1. 编写一 资调整 基本 于3000 资10% ,若小于 0 0 0元 大于 2 0 0 0元,则增加工资 ;若小于 0元则增加工资 %。要求在文本框 xt1中输 入某职工的基本工资,单击"计算"按钮,在标签框 ll中输出增加后的工资。程序运行界 面如图 所示 1422
试卷代号:2231 中央广播电视大学2011一2012学年度第一学期“开放专科”期末考试 Visual Basic程序设计 试题答案及评分标准 (供参考) 2012年1月 一、单项选择题(每小题2分,共30分) 1.B 2.D 3.B 4.D 5.A 6.B 7.B 8.D 9.B 10.A 11.D 12.C 13.A 14.B 15.C 二、填空题(每小题2分,共20分】 16.F1 F9 17.TCP/IP UDP 18.Timer Interval 19.Name Index 20.Dim ADOen As New Connection 21.1 22. 1 23.整个应用程序 Public 24.0 25.引用参数传递(或按址传递) 按值传递 三、阅读程序题(共25分) 26.(6分) 19 27.(6分) 29 28.(6分) 6 7 8 1423
试卷代号 2 3 中央广播电视大学 11 2学年度第一学期"开放专科"期末考试 Visual Basic 程序 试题 案 及 分标 (供参考) 2012 一、单项选择题{每小题2分,共 0分) 1. B 2. D 3. B 6. B 7. B 8. D 11. D 12. C 13. A 二、填空题{每小题 2分,共 0分) 16. F1 F9 17. TCP/IP UDP 4. D 9. B 14.B 5.A 10. A 15. C 18. Timer 19. Name Interval Index 20. Dim ADOcn As New Connection 21. 1 22. 1 23. 序Public 24. 0 25. 参数传 或按址传 三、阅读程序题(共 26. (6 19 27. (6 29 28. (6 6 7 8 按值传递 1423
29.(7分) A1=10B1=20 A2=20B2=10 四、完善程序题(共10分) 30.[1]Set ADOcn New Connection [2]New [3]ADOrs.Open strSQL [4]Not [5]Text1.SetFocus 五、编写程序题(共15分) 31.参考答案: Private Sub Command1_Click() Dim x As Integer,y As Single x=Val(Textl.Text) Select Case x Case Is >=3000 y=x¥1.1 Case Is >=2000 y=×*1.15 Case Else y=x*1.18 End Select Label3.Caption =y End Sub Private Sub Command2_Click() Unload Me End Sub 1424
29. (7 Al= 10 Bl= 20 A2= 20 B2= 10 四、完善程序题(共正 30. [IJ Set ADOcn = New Connection [2J New [3J ADOrs. Open strSQL [4J Not [5JText1. SetFocu 五、编写程序题{共 1. Private Sub Commandl_ClickO Dim x As Integer, y As Single x = Val(Textl. Text) Select Case x Case Is > = 3000 y=x 1.1 Case Is > = 2000 y=x 1. 15 Cas巳Else y=x 1. 18 End Select Label3. Caption = y End Sub Private Sub Command2_ClickO Unload Me End Sub 1424