《VB程序设计》期末考试试卷
_____级_________专业______班 学号_____姓名______________ 一、判断题(每小题2分,共20分)
在以下提供的若干陈述中,逐一判断其正确与否,用A表示正确,用B表示错误。 (1) 事件过程可以由某个用户事件触发执行,它不能被其他过程调用。 (2) Visual Basic的Double类型数据可以精确表示其数值范围内的所有实数。 (3) For/Next循环正常(未执行Exit For)结束后,控制变量的当前值等于终值。 (4) Sub过程名在过程中必须被赋值。
(5) SetFocus方法是把焦点移到指定对象上,使对象获得焦点,该方法适用于所有控件。 (6) 移动框架时框架内控件也随之移动,所以框架内控件的Left和Top属性值也随之改变。 (7) 单选钮控件和复选框控件都具有Value属性,它们的作用完全一样。
(8) 当组合框的Style属性设置为0时,组合框称为“下拉式组合框”,其选项可以从下拉列表框
的列表项中选择,也可以由用户输入。 (9) 若Visual Basic中容器取缺省坐标系,则坐标原点在容器左上角、单位长度为像素。 (10) 用Output模式打开文件,如果指定文件和路径不存在,则会自动创建指定文件及路径。
二、单选题(每小题2分,共20分)
(11) 将VB新建的“标准EXE”工程保存在磁盘上,至少会产生( )文件。
[A] .frx和.frm
[B] .exe和.vbp
[C] .vbp和.frm
[D] .frm和.bas
(12) 窗体Form1的Name属性是Frm1,它的单击事件过程名是( )。
[A] Form1_Click
[B] Form_Click [C] Frm1_Click
[D] Me_Click
(13) 已知字符串变量x存放\,表达式Val(\的值是( )。
[A] 0
[B] &H12
[C] 12
[D] 18
(14) 假定通过复制、粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是
( )。 [A] 数组中每个命令按钮的名称(Name属性)均为Command1 [B] 若未做修改,数组中每个命令按钮的大小都一样 [C] 数组中各个命令按钮使用同一个Click事件过程 [D] 数组中每个命令按钮的Index属性值都相同
(15) 要使文本框显示滚动条,除了设置ScrollBars属性外还必须设置( )属性。 [A]AutoSize
[B]MultiLine
[C]Alignment
第1页(共8页)
[D]Visible
(16) 当Stretch属性为False时( )。 [A] 图片大小随影像框的大小进行调整 [C] 图片框的大小随图片大小进行调整
[B] 影像框的大小随图片大小进行调整 [D] 图片大小随图片框的大小进行调整
(17) 在设计菜单时,为了创建分隔栏,要在( )中输入连字符(-)。 [A] 名称栏
[B] 标题栏
[C] 索引栏
[D] 显示区
(18) 将通用对话框控件以“打开文件”对话框方式打开,可选( )方法。 [A] ShowOpen [B] Action [C] Open [D] FileName (19) 下面子过程语句说明合法的是_________
A.Sub f1(ByVal n%( )) B.Sub f1(n%) As Integer C.Function f1%(f1%) D.Function f1(ByVal n%) (20) 执行语句“Write #1, 234; -34.56, \”后,相应的文件内被写入( )。 [A] 234,-34.56,\[C] 234,-34.56,Hi,2004-06-11
[B] 234;-34.56,\ [D] 234 -34.56 \
三、程序填空题(每空2分,共20分,)
阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。
程序1【程序说明】以下程序随机产生100个两位正整数,先对这些数按从大到小的顺序排序并按
每行10个显示在窗体上。再找出所有的个位数字与十位数字之和等于10的数。 【程序】
Private Sub Form_Click()
Dim a(100) As Integer, i As Integer, j As Integer, t As Integer, x As Integer, y As Integer For i = 1 To 100
a(i) = (21) Next i
For i = 1 To 99
For j = i + 1 To 100 If a(i) < a(j) Then
(22) End If Next j Next i
For i = 1 To 100 Print a(i);
(23) Next i
For i = 1 To 100
x = (24) '取十位数字 y = a(i) Mod 10 '取个位数字 If x + y = 10 Then Print a(i) Next i End Sub
Private Sub Swap( (25) )
第2页(共8页)
Dim Temp As Integer
Temp = X : X = Y : Y = Temp End Sub 【选项】
(21) [A] Int(Rnd * 90) + 10 (22) (23)
[C] Int(Rnd * 99) [A] Call Swap a(i), a(j) [C] Temp = Swap(a(j), a(i)) [A] If i = 10 Then Print [C] If i \\ 10 = 0 Then Print
[B] Int(Rnd * 100)
[D] 10 To 99
[B] Call Swap(a(i), a(j)) [D] Swap(a(j), a(i))
[B] If i = 10 *n Then Print [D] If i Mod 10 = 0 Then Print
(24) [A] a(i) / 10 [B] a(i) \\ 10 [C] Int(a(i))/10 [D] Fix(a(i))
(25) [A] ByVal X As Integer, ByVal Y As Integer [B] ByVal X As Single, ByVal Y As Single [C] ByRef X As Integer, ByRef Y As Integer [D] ByRef X As Single, ByRef Y As Single
程序2【程序说明】统计鼠标单击图片框控件P1中两个同心圆所
围成黑色区域(如右图所示)的次数:首次单击Command1将统计结果清零、P1可用,再次单击则以消息框显示统计结果、P1不可用。
【程序】
Dim n As Integer
Private Sub Command1_Click()
If Command1.Caption = \开始\
Command1.Caption = \显示\ P1.Enabled = True: n = 0 Else
Command1.Caption = (26)
P1.Enabled = False: MsgBox \单击该区域\ (27) + \次\ End If End Sub
Private Sub Form_Activate() P1.Width = P1.Height P1.Scale (-3, 3)-(3, -3)
P1.FillStyle = (28)
P1.FillColor = (29) : P1.Circle (0, 0), 2 P1.FillColor = vbWhite: P1.Circle (0, 0), 1 End Sub
Private Sub Form_Load()
Command1.Caption = \开始\End Sub
Private Sub P1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If x * x + y * y >= 1 And (30) Then n = n + 1 End Sub 【选项】 (26) [A] \退出\
[B] \开 始\
[C] \显示\
第3页(共8页)
[D] \开始\
(27) [A] n (28) [A] 1 (29) [A] vbBlack
[B] Val(n) [B] 0
[B] RGB(255,0,0)
[C] Str(n) [C] 2 [C] vbWhite [B] x > 2 And y > 2 [D] x * x + y * y > 4
[D] Trim(n) [D] 3
[D] RGB(255,255,0)
(30) [A] x * x + y * y <= 4
[C] x * x + y * y <= 2
四、程序改错题(每小题2分,共10分)
Transfer 过程用于将一个十六进制整数转换为十进制整数,number函数过程用于将一个十六进制符号转换为数值。 Public Sub Transfer()
Dim Hex As String '十六进制数 Dim Dec As Double '十进制数 Dim temp As String Dim i As Integer Dim n As Integer
Hex = InputBox(\输入一个十六进制整数\ n = Val(Hex) '--------(1)-------- i = 0 Do
temp = Mid(Hex, i, 1) '--------(2)-------- Dec = Dec + number * 16 ^ i '--------(3)-------- i = i + 1 Loop While i < n
Form1.Print str(Hex) & \转换为十进制数为\ '--------(4)-------- End Sub
Public Function number(str As String) As Integer Select Case str Case \ number = 10 Case \ number = 11 Case \ number = 12 Case \ number = 13 Case \ number = 14 Case \ number = 15 Case Else
number = str '--------(5)-------- End Select End Function
五、程序阅读题(每小题5分,共20分)
程序1、阅读下列程序,写出当Text1获得输入焦点后,依次按 1、2、a、5键,Label1中显示的内容。
Private Sub Text1_KeyPress(K As Integer)
If K < Asc(\ K = 0
第4页(共8页)
Else
Label1.Caption = Chr(K) + Label1.Caption End If End Sub
程序2、已知水平滚动条HScroll1的有关属性已经在属性窗口进行了如下的设置:
HScroll1.Min=1:HScroll1.Max=10
HScroll1.SmallChange=1: HScroll1.LargeChange=2:HScroll1.Value=5
阅读以下程序,写出连续3次单击水平滚动条HScroll1右端箭头后,窗体上显示的结果。 Private Sub HScroll1_Change() Dim y As Integer
If HScroll1.Value Mod 2 = 0 Then y = y + HScroll1.Value End If
Print \End Sub
程序3、写出程序运行后事件过程Timer1_Timer自动执行的次数、“运行中...”这段文字的显示位置及Label1的标题在窗体上的变化规律。 Private Sub Form_Load()
Timer1.Interval = 100 : Form1.WindowState = 2
Label1.Width = ScaleWidth / 2: Label1.Left = ScaleLeft Label1.Alignment = 0: Label1.Caption = \运行中...\End Sub
Private Sub Timer1_Timer() Static m As Byte
m = m + 8: Label1.FontSize = m
Timer1.Interval = Timer1.Interval + 100 If m > 80 Then Timer1.Enabled = False End Sub
程序4、写出程序运行后单击窗体,窗体上的显示结果。 Private Sub Form_Click()
Dim i As Integer, j As Integer For i = 1 To 6
Print Spc(6 - i);
For j = 1 To (2 * i) - 1: Print \ Print Next i End Sub
六、程序设计题(10分)
第5页(共8页)
文本文件“e:\\aaa.txt”中存放了若干行字符,编制相应事件过程:在加载窗体时读入文件中各行字符并顺序在列表框控件List1的列表部分显示,在运行时按窗体控制菜单“关闭”后自动将列表框中各行数据存储到文本文件e:\\aaa.txt。
【提示】加载窗体时自动执行的事件过程是Form_load(),按窗体控制菜单“关闭”后自动执行的事件过程是Form_Unload(Cancel As Integer)
第6页(共8页)
《VB程序设计》期末考试试卷参考答案
一、判断题(每小题2分,满分20分) (1) B (2) B (3) B (4) B (5) B (6) B (7) B (8) A (9) B (10) B 二、单选题(每小题2分,满分20分)
(11) (12) (13) (14) (15) (16) (17) (18) (19) (20) C B D D B A B A D A 三、程序填空题(每小题2分,满分20分) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) A B D B C D C B A A 四、程序改错题(每小题2分,满分10分)
(1)n = Len(Hex)
(2)temp = Mid(Hex, n - i, 1)
(3)Dec = Dec + number(temp) * 16 ^ i
(4)Form1.Print Hex & \转换为十进制数为\(5)number = Val(str)
五、程序阅读题(每小题5分,满分20分) 程序1 程序2 程序3 执行次数为11 文字的显示位置始终在窗体的左边 Label1的标题在窗体上的显示变化规律为字体变大、变化减慢 程序4 第7页(共8页)
六、程序设计题(10分)
Private Sub Form_Load() Dim x As String
Open \ Do While Not EOF(1) Line Input #1, x List1.AddItem x Loop Close #1 End Sub
Private Sub Form_Unload(Cancel As Integer) Dim i As Integer
Open \ For i = 0 To List1.ListCount - 1 Print #1, List1.List(i) Next i Close #1 End Sub
第8页(共8页)
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库《Visual Basic程序设计》期末考试试卷与参考答案在线全文阅读。
相关推荐: