试题一、判断题(每小题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模式打开文件,如果指定文件和路径不存在,则会自动创建指定文件及路径。 |
(11) | 将VB新建的“标准EXE”工程保存在磁盘上,至少会产生 (11) 文件。 [A] .frx和.frm [B] .exe和.vbp [C] .vbp和.frm [D] .frm和.bas |
(12) | 窗体Form1的Name属性是Frm1,它的单击事件过程名是 (12) 。 [A] Form1_Click [B] Form_Click [C] Frm1_Click [D] Me_Click |
(13) | 已知字符串变量x存放"1234",表达式Val("&H"+Left(x,2))的值是 (13) 。 [A] 0 |
(14) | 假定通过复制、粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是 (14) 。 [A] 数组中每个命令按钮的名称(Name属性)均为Command1 [B] 若未做修改,数组中每个命令按钮的大小都一样 [C] 数组中各个命令按钮使用同一个Click事件过程 [D] 数组中每个命令按钮的Index属性值都相同 |
(15) | 要使文本框显示滚动条,除了设置ScrollBars属性外还必须设置 (15) 属性。 [A]AutoSize |
(16) | 当Stretch属性为False时, (16) 。 [A] 图片大小随影像框的大小进行调整 [B] 影像框的大小随图片大小进行调整 [C] 图片框的大小随图片大小进行调整 [D] 图片大小随图片框的大小进行调整 |
(17) | 在设计菜单时,为了创建分隔栏,要在 (17) 中输入连字符(-)。 [A] 名称栏 [B] 标题栏 [C] 索引栏 [D] 显示区 |
(18) | 将通用对话框控件以“打开文件”对话框方式打开,可选 (18) 方法。 [A] ShowOpen |
(19) | [B] Private Sub Drive1_Change()
End Sub [D] Private Sub Dir1_Change()
End Sub 要使得驱动器列表框控件Drive1发生变化时目录列表框Dir1的路径与之保持一致,应编写 (19) 事件代码。 [A] Private Sub Drive1_Change()
End Sub [C] Private Sub Dir1_Change()
End Sub |
(20) | 执行语句“Write #1, 234; -34.56, "Hi"; Date”后,相应的文件内被写入 (20) 。 [A] 234,-34.56,"Hi",#2004-06-11# [B] 234;-34.56,"Hi";#2004-06-11# [C] 234,-34.56,Hi,2004-06-11 [D] 234 -34.56 "Hi" #2004-06-11# |
每空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) )
End Sub
【选项】
(21) [A] Int(Rnd * 90) + 10 [B] Int(Rnd * 100)
[C] Int(Rnd * 99) [D] 10 To 99
(22) [A] Call Swap a(i), a(j) [B] Call Swap(a(i), a(j))
[C] Temp = Swap(a(j), a(i)) [D] Swap(a(j), a(i))
(23) [A] If i = 10 Then Print [B] If i = 10 *n Then Print
[C] If i \\ 10 = 0 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()
开始" Then
显示"
(26)
单击该区域" + (27) + "次"
End Sub
Private Sub Form_Activate()
(28)
(29) : P1.Circle (0, 0), 2
End Sub
Private Sub Form_Load()
开始": P1.Enabled = False
End Sub
Private Sub P1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
(30) Then n = n + 1
End Sub
【选项】
(26) [A] "退出" [B] "开 始" [C] "显示" [D] "开始"
(27) [A] n [B] Val(n) [C] Str(n) [D] Trim(n)
(28) [A] 1 [B] 0 [C] 2 [D] 3
(29) [A] vbBlack [B] RGB(255,0,0) [C] vbWhite [D] RGB(255,255,0)
(30) [A] x * x + y * y <= 4 [B] x > 2 And y > 2
[C] x * x + y * y <= 2 [D] x * x + y * y > 4
试题四、程序改错题(每小题2分,共10分)
Transfer 过程用于将一个十六进制整数转换为十进制整数,number函数过程用于将一个十六进制符号转换为数值。
Public Sub Transfer()
十六进制数
十进制数
输入一个十六进制整数")
'--------(1)--------
'--------(2)--------
'--------(3)--------
Loop While i < n
转换为十进制数为" & str(Dec) '--------(4)--------
End Sub
Public Function number(str As String) As Integer
'--------(5)--------
End Function
试题五、程序阅读题(每小题5分,共20分)
程序1、阅读下列程序,写出当Text1获得输入焦点后,依次按 1、2、a、5键,Label1中显示的内容。
Private Sub Text1_KeyPress(K As Integer)
If K < Asc("0") Or K > Asc("9") Then
Else
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()
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()
End Sub
试题六、程序设计题(10分)
文本文件“e:\\aaa.txt”中存放了若干行字符,编制相应事件过程:在加载窗体时读入文件中各行字符并顺序在列表框控件List1的列表部分显示,在运行时按窗体控制菜单“关闭”后自动将列表框中各行数据存储到文本文件e:\\aaa.txt。
【提示】加载窗体时自动执行的事件过程是Form_load(),按窗体控制菜单“关闭”后自动执行的事件过程是Form_Unload(Cancel As Integer)
参
一、判断题(每小题2分,满分20分)
(1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) |
B | B | B | B | B | B | B | A | B | B |
(11) | (12) | (13) | (14) | (15) | (16) | (17) | (18) | (19) | (20) |
C | B | D | D | B | A | B | A | B | A |
(21) | (22) | (23) | (24) | (25) | (26) | (27) | (28) | (29) | (30) |
A | B | D | B | C | D | C | B | A | A |
(1)n = Len(Hex)
(2)temp = Mid(Hex, n - i, 1)
(3)Dec = Dec + number(temp) * 16 ^ i
(4)Form1.Print Hex & "转换为十进制数为" & Dec
(5)number = Val(str)
五、程序阅读题(每小题5分,满分20分)
程序1 | 程序2 |
程序3 | 程序4 |
执行次数为11 文字的显示位置始终在窗体的左边 Label1的标题在窗体上的显示变化规律为字体变大、变化减慢 |
六、程序设计题(10分)
Private Sub Form_Load()
End Sub
Private Sub Form_Unload(Cancel As Integer)
End Sub