内容正文:
《Visual Basic程序设计(第6版)》
期末复习卷(三)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共25小题,每小题2分,共50分)
1、以下叙述中错误的是( )。
A.Visual Basic 是事件驱动型可视化编程工具
B.Visual Basic应用程序不具有明显的开始和结束语句
C.Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性
D.Visual Basic中控件的某些属性只能在运行时设置
2、VB的一个应用程序至少包含一个____文件,该文件存储窗体上使用的所有控件对象和有关的___、对象对应的___过程和___代码。( )
A.模块、方法、事件、程序
B.窗体、属性、事件、程序
C.窗体、程序、属性、事件
D.窗体、属性、事件、模块
3、下面程序执行的结果是( )。
Private Sub Form_Click()
A$="123":B$="456"
C=Val(A$)+Val(B$)
Print C\100
End Sub
A.123
B.3
C.5
D.579
4、在Visual Basic中定义变量时,变量的类型可以用类型说明符标识。下列类型说明符表述错误的是( )。
A.$表示字符串型
B. #表示单精度型
C. @表示货币型
D. %表示整型
5、为了给x,y,z三个变量赋初值1,下面正确的赋值语句是( )
A. x = 1 : y = 1 : z = 1
B. x = 1, y = 1, z = 1
C. x = y = z = 1
D. xyz = 1
6、在 Visual Basic 中函数 Len("中国abC") 的值是( )
A. 7
B. 5
C. 9
D. 8
7、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim i As Integer,n As Integer
For i=0 To 50
i=i+3
n=n+1
If i>10 Then Exit For
Next
Text1.Text=Str(n)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是( )
A.2
B.3
C.4
D.5
8、有如下程序:
For i=1 to 3
For j=5 to 1 Step –1
Print i*j
Next j
Next i
则语句Print i*j的执行次数是( )。
A.15
B.16
C.17
D.18
9、下列对MsgBox函数使用正确的是( )
A. x = MsgBox("输入的数据超出范围", vbOKOnly, "注意")
B. x = MsgBox(输入的数据超出范围, vbOKOnly, 注意)
C. x = MsgBox("输入的数据超出范围", OK, "注意")
D. x = MsgBox(1)
10、下列关于 Visual Basic中窗体(form)的说法,错误的是( )
A. 窗体是应用程序的主要界面
B. 窗体可以包含控件
C. 窗体不能作为程序执行的开始点
D. 窗体可以通过代码进行属性设置
11、要使标签控件显示时不覆盖其背景内容,要对( )属性进行设置
A.BackColor
B.ForeColor
C.BorderStyle
D.BackStyle
12、为了使文本框同时具有垂直和水平滚动条,应先把MutLime属性设置为True,然后再把ScrolBars属性设置为( )。
A.0
B.1
C.2
D.3
13、当用户在文本框中键入一个字符时,能触发文本框的( )事件。
A.KeyPress 和 Click
B.KeyPress 和 LostFocus
C.KeyPress 和 Change
D.Change 和 LostFocus
14、名称为List1的列表框中已有若干列表项,为了使选中的列表项重复出现在列表的最后,应使用的语句为( )。
A. List1.List(List1.ListCount) = List1.List(List1.ListIndex)
B. List1.List(List1.ListCount+1) = List1.List(List1.ListIndex)
C. List1.List(ListCount) = List1.List(ListIndex)
D. List1.List(List1.ListCount) = List(List1.ListIndex)
15、窗体上有名称为Command1的命令按钮,名称分别为List1、List2的列表框,其中List1的MultiSelect属性设置为1(Simple),并有如下事件过程:
Private Sub Command1_Click()
For i=0 To List1.ListCount-1
If List1.Selected(i)=True Then
List2.AddItem Text
End If
Next
End Sub
上述事件过程的功能是将List1中被选中的列表项添加到List2中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是( )。
A.将For循环的终值改为List1.ListCount
B.将List1.Selected(i)=True 改为List1.List(i).Selected=True
C.将List2.AddItem Text 改为List2.AddItem List1.List(i)
D.将List2.AddItem Text 改为List2.AddItem List1.ListIndex
16、工程文件中包含一个模块文件和一个窗体文件。模块文件的程序代码如下:
Public x As Integer
Private y As Integer
窗体文件的程序代码是
Dim a As Integer
Private Sub Form_Load()
Dim b As Integer
a = 2: b = 3: x = 10: y = 20
End Sub
Private Sub Command1_Click()
a = a + 5: b = b + 5: x = x + 5: y = y + 5
Print a; b; x; y
End Sub
运行程序,单击窗体上的命令按钮,则在窗体上显示的是( )。
A.5 5 15 5
B.7 5 15 25
C.7 8 15 5
D.7 5 15 5
17、下列关于数组的说法中,正确的是( )
A.一个数组中只能包含相同类型的数据
B.数组只能在模块中定义,不能在过程中定义
C.在有些情况下,数组与普通变量一样可以不定义,先使用
D.定义数组时,数组中的每一维元素的个数必须是常量,不能是变量或表达式
18、设有如下程序:
Sub f(x As Integer, ByVal y As Integer)
x=2*x
y=y+x
End Sub
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a=6:b=35
Call f(a, b)
Print a, b
End Sub
程序运行后,单击命令按钮Command1,输出结果为( )。
A.6 47
B.12 47
C.6 35
D.12 35
19、下列关于函数过程的叙述中正确的是( )。
A.函数名只能被赋值一次
B.如果没有对函数名赋值,就没有函数值返回到调用过程中
C.函数名可以被多次赋值
D.定义函数的类型是指定义形参的类型
20、函数fun如下:
Private Function fun(ch As String) As Integer
Dim n%, st$, c$
For k = 1 To Len(ch)
c = Mid(ch, k, 1)
If c <> "A" Then
st = st & c
Else
n = n + 1
End If
Next k
ch = st
fun = n
End Function
函数的功能是( )。
A. 从字符串ch中删除所有字符“A”,返回值为删除的个数
B. 从字符串ch中删除所有字符“A”,返回值为删除后的字符串
C. 统计字符串ch中字符“A”的个数并返回
D.把字符串ch中不等于“A”的字符都改成“A”,返回值为修改的个数
21、关于Shape控件说法错误的是( )
A.Shape控件可以画出6种不同图形
B.Shape控件形状通过Shape属性设置
C.对Shape控件的FillColor设置颜色后,效果是对控件进行实心填充
D.Shape控件画出的图形用Circle方法不一定能画出
22、在 VB 中,"调试" 菜单中的 "逐语句" 命令的作用是( )
A. 执行整个程序直到下一个断点
B. 一次执行一行代码,并进入过程内部
C. 执行当前过程的下一行代码,不进入子过程
D. 终止程序的调试运行
23、下列程序运行结果是( )
Function f(m As Integer) As Integer
b = 1
Static c As Integer
b = b + 1
c = c + 1
f = m * b * c
End Function
Private Sub Command1_Click()
Dim a As Integer
a = 2
Sum = 0
For i = 1 To 3
Sum = Sum + f(a)
Next i
Print Sum
End Sub
A.12
B.16
C.20
D.24
24、如果在程序中要将a定义为静态变量,且为整型数,则应使用的语句是( )
A. Redim a As Integer
B. Static a As Integer
C. Public a As Integer
D. Dim a As Integer
25、在在窗体上添加一个命令按钮Command1和一个文本框Text1,然后编写如 下事件过程:
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x = 5
y = 7
z = 0
Text1.Text = ""
Call p1(x, y, z)
Text1.Text = Str(z)
End Sub
Private Sub p1(ByVal a As Integer, ByVal b As Integer, c As Integer)
c = a + b
End Sub
程序运行后,单击命令按钮得到的结果是( )。
A.12
B.0
C.Str(z)
D.没有显示结果
二、填空题(本大题共10小题,每小题2分,共20分)
1、窗体、控件、菜单等统称为_______,而对象的外观特征用_______描述,对象能完成的动作叫_______,对象对外界操作的响应叫_______。
2、VB 中字节类型(Byte)的取值范围是______,常用于存储文件二进制数据或小整数。
3、在VB中,A=7,B=3,C=4,则表达式A MOD 3 +B^3/C\5的值为_______。
4、在多窗体工程中,可用_______方法显示一个窗体,用_______方法将一个窗体隐藏起来。
5、在文本框中通过_______属性能获得当前插入点所在的位置。
6、获取列表框 List1 中选项的总个数,使用属性:List1.______;访问列表框中索引为 i 的选项文本,语句:List1.______(i)。
7、将一维数组arr() = Array("语文","数学","英语")的所有元素添加到列表框 List1 中,For 循环核心语句:
For i = 0 To UBound(arr)
List1. ______
Next i
8、调用带参数的函数 Sum (10,20) 并将结果赋值给变量 total,语句:total = ______。
9、嵌套过程中,内层过程要修改外层过程的变量,需将参数声明为______(传递方式)。
10、向顺序文件写入数据,语句为______或 ______;其中 ______ 会自动在字符串两端加双引号并插入逗号分隔符。
三、程序填空题(本大题共3小题,每题10分,共30分)
1、程序功能:用冒泡排序将下列数组元素从小到大进行排序。完成程序填空。
Sub sort(a())
Dim imin%, i%, j%
For i = 0 To UBound(a) - 1
For j = 0 To ___(1)________
If ___(2)________ Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
Next i
End Sub
Private Sub Form_Click()
Dim b(), i%
b = Array(8, 9, 4, 2, 6)
Call sort(b())
For i = 0 To UBound(b)
Print b(i);
Next i
End Sub
2、 程序功能:输入行数,在图片框中显示相应行数的杨辉三角。
Private Sub Command1_Click()
Dim s(20, 20) As Integer
Dim i%, j%, n%
n = Val(Text1.Text)
Picture1.Cls
For i = 1 To n
s(i, 1) = 1
___(1)________
Next i
For i = 3 To n
For j = 2 To i - 1
s(i, j) = ___(2)________
Next j
Next i
For i = 1 To n
For j = 1 To i
Picture1.Print ; Spc(3 - Len(Str(s(i, j)))); s(i, j);
Next j
Picture1.Print
Next i
End Sub
3、程序功能:D盘根目录下文件test1.txt的内容是:2,4,6,8,10,1,3,5,7,9。下面程序的功能是将文件后半部分的奇数分别按序插入前半部分的适当位置,得到的新数列是:1 2 3 4 5 6 7 8 9 10。(实现方法:第一次调整后的数列是1 2 4 6 8 10 3 5 7 9,第二次调整后的数列是:1 2 3 4 6 8 10 5 7 9)。
Option Explicit
Private Sub Form_Click()
Dim a(10) As Integer, i As Integer, J As Integer
Open "D:\test1.txt" For Input As #1
Do ___(1)________
J = J + 1
Input #1, a(J)
Loop
Call Insert(a)
For i = 1 To 10
Print a(i);
Next i
Print
Close #1
End Sub
Private Sub Insert(a() As Integer)
Dim i As Integer, Putp As Integer, J As Integer
Dim Getp As Integer, N As Integer, Tem As Integer
N = UBound(a) / 2
Putp = 1
Getp = N + 1
For i = 1 To N
Tem = a(Getp)
For J = Getp To Putp + 1 Step -1
___(2)_______
Next J
a(Putp) = Tem
Getp = Getp + 1
Putp = Putp + 2
Next i
End Sub
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
《Visual Basic程序设计(第6版)》
期末复习卷(三)
时间:90分钟 总分:100分
班级 姓名 学号 成绩
一、选择题(本大题共25小题,每小题2分,共50分)
1、以下叙述中错误的是( )。
A.Visual Basic 是事件驱动型可视化编程工具
B.Visual Basic应用程序不具有明显的开始和结束语句
C.Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性
D.Visual Basic中控件的某些属性只能在运行时设置
【答案】C
【解析】工具箱中部分非可视化 / 线性控件无这两个属性。
2、VB的一个应用程序至少包含一个____文件,该文件存储窗体上使用的所有控件对象和有关的___、对象对应的___过程和___代码。( )
A.模块、方法、事件、程序
B.窗体、属性、事件、程序
C.窗体、程序、属性、事件
D.窗体、属性、事件、模块
【答案】B
【解析】VB 的一个应用程序至少包含一个窗体(.frm) 文件,窗体文件会存储窗体上所有控件(如按钮、文本框)的属性,比如按钮的Caption(标题)、Width(宽度),文本框的Text(内容)等,这些属性定义了控件的外观和基础特征。窗体文件还存储每个对象(窗体 / 控件)对应的事件过程,窗体文件中还会包含该窗体范围内的通用程序代码。
3、下面程序执行的结果是( )。
Private Sub Form_Click()
A$="123":B$="456"
C=Val(A$)+Val(B$)
Print C\100
End Sub
A.123
B.3
C.5
D.579
【答案】C
【解析】\是整数除法,只保留商的整数部分,舍去余数。
4、在Visual Basic中定义变量时,变量的类型可以用类型说明符标识。下列类型说明符表述错误的是( )。
A.$表示字符串型
B. #表示单精度型
C. @表示货币型
D. %表示整型
【答案】B
【解析】在Visual Basic中,%表示整型;@表示货币型; #表示双精度型;$表示字符串型。
5、为了给x,y,z三个变量赋初值1,下面正确的赋值语句是( )
A. x = 1 : y = 1 : z = 1
B. x = 1, y = 1, z = 1
C. x = y = z = 1
D. xyz = 1
【答案】A
【解析】VB 中用:分隔同一行的多个语句,可实现多变量逐一声明赋值。
6、在 Visual Basic 中函数 Len("中国abC") 的值是( )
A. 7
B. 5
C. 9
D. 8
【答案】B
【解析】Len函数的核心作用是计算字符串的字符个数,VB 中对字符的计数规则是:一个中文字符 = 1 个字符;一个英文字母 / 数字 / 空格 = 1 个字符。
7、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim i As Integer,n As Integer
For i=0 To 50
i=i+3
n=n+1
If i>10 Then Exit For
Next
Text1.Text=Str(n)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是( )
A.2
B.3
C.4
D.5
【答案】B
【解析】循环共执行 3 轮,每轮 n 加 1,最终 n=3。
8、有如下程序:
For i=1 to 3
For j=5 to 1 Step –1
Print i*j
Next j
Next i
则语句Print i*j的执行次数是( )。
A.15
B.16
C.17
D.18
【答案】A
【解析】嵌套循环中,外层每执行 1 次,内层完整执行所有次数:总次数 = 外层次数 × 内层次数 = 3 × 5 = 15 次。
9、下列对MsgBox函数使用正确的是( )
A. x = MsgBox("输入的数据超出范围", vbOKOnly, "注意")
B. x = MsgBox(输入的数据超出范围, vbOKOnly, 注意)
C. x = MsgBox("输入的数据超出范围", OK, "注意")
D. x = MsgBox(1)
【答案】A
【解析】MsgBox函数的语法为:MsgBox(提示信息, 按钮样式, 标题),其中提示信息和标题需用字符串常量(加引号),按钮样式需使用系统定义的常量(如vbOKOnly)。
10、下列关于 Visual Basic中窗体(form)的说法,错误的是( )
A. 窗体是应用程序的主要界面
B. 窗体可以包含控件
C. 窗体不能作为程序执行的开始点
D. 窗体可以通过代码进行属性设置
【答案】C
【解析】启动窗体加载时,会先执行窗体的Form_Load事件过程,这是程序执行的起点。
11、要使标签控件显示时不覆盖其背景内容,要对( )属性进行设置
A.BackColor
B.ForeColor
C.BorderStyle
D.BackStyle
【答案】D
【解析】BackStyle=0(透明):标签不覆盖背景,是解决问题的核心设置;BackStyle=1(不透明):标签用BackColor覆盖背景(默认行为)。
12、为了使文本框同时具有垂直和水平滚动条,应先把MutLime属性设置为True,然后再把ScrolBars属性设置为( )。
A.0
B.1
C.2
D.3
【答案】D
【解析】文本框的Scro1Bars属性值,0表示无滚动条,1表示只有垂直滚动条,3表示水平和垂直滚动条都有。
13、当用户在文本框中键入一个字符时,能触发文本框的( )事件。
A.KeyPress 和 Click
B.KeyPress 和 LostFocus
C.KeyPress 和 Change
D.Change 和 LostFocus
【答案】C
【解析】文本框键入字符时,触发KeyPress(捕获键盘输入)和Change(内容变化)事件。
14、名称为List1的列表框中已有若干列表项,为了使选中的列表项重复出现在列表的最后,应使用的语句为( )。
A. List1.List(List1.ListCount) = List1.List(List1.ListIndex)
B. List1.List(List1.ListCount+1) = List1.List(List1.ListIndex)
C. List1.List(ListCount) = List1.List(ListIndex)
D. List1.List(List1.ListCount) = List(List1.ListIndex)
【答案】A
【解析】List1.ListIndex:获取选中项的索引,List1.List(List1.ListIndex):获取选中项的内容;List1.ListCount:指向列表末尾的下一个位置。
15、窗体上有名称为Command1的命令按钮,名称分别为List1、List2的列表框,其中List1的MultiSelect属性设置为1(Simple),并有如下事件过程:
Private Sub Command1_Click()
For i=0 To List1.ListCount-1
If List1.Selected(i)=True Then
List2.AddItem Text
End If
Next
End Sub
上述事件过程的功能是将List1中被选中的列表项添加到List2中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是( )。
A.将For循环的终值改为List1.ListCount
B.将List1.Selected(i)=True 改为List1.List(i).Selected=True
C.将List2.AddItem Text 改为List2.AddItem List1.List(i)
D.将List2.AddItem Text 改为List2.AddItem List1.ListIndex
【答案】C
【解析】列表框控件的List属性保存了列表框中所有值的数组,可以通过下标访问数组中的值。
16、工程文件中包含一个模块文件和一个窗体文件。模块文件的程序代码如下:
Public x As Integer
Private y As Integer
窗体文件的程序代码是
Dim a As Integer
Private Sub Form_Load()
Dim b As Integer
a = 2: b = 3: x = 10: y = 20
End Sub
Private Sub Command1_Click()
a = a + 5: b = b + 5: x = x + 5: y = y + 5
Print a; b; x; y
End Sub
运行程序,单击窗体上的命令按钮,则在窗体上显示的是( )。
A.5 5 15 5
B.7 5 15 25
C.7 8 15 5
D.7 5 15 5
【答案】D
【解析】程序在模块文件中定义x为整型全局变量,在整个工程中都起作用,而y定义为整型私有变量,只能在本模块文件中起作用。在窗体文件中变量a在本窗体文本中起作用,窗体加载事件中定义的变量b和没有声明的变量y,只在本事件过程起作用。程序窗体加载时,对后边有影响的变量值为a为2,x为10,没有指定初值的变量值默认为0,因此单击命令按钮后,a=a+5=7,b=b+5=5,x=x+5=15,y=y+5=5,结果输出7 5 15 5。
17、下列关于数组的说法中,正确的是( )
A.一个数组中只能包含相同类型的数据
B.数组只能在模块中定义,不能在过程中定义
C.在有些情况下,数组与普通变量一样可以不定义,先使用
D.定义数组时,数组中的每一维元素的个数必须是常量,不能是变量或表达式
【答案】A
【解析】数组是相同数据类型元素的有序集合,数组必须先定义后使用,无 “先使用后定义” 的情况;固定数组用常量定义维度,动态数组用ReDim+ 变量 / 表达式灵活调整。
18、设有如下程序:
Sub f(x As Integer, ByVal y As Integer)
x=2*x
y=y+x
End Sub
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a=6:b=35
Call f(a, b)
Print a, b
End Sub
程序运行后,单击命令按钮Command1,输出结果为( )。
A.6 47
B.12 47
C.6 35
D.12 35
【答案】D
【解析】按地址传递(默认,无 ByVal):过程中修改参数值,会同步改变主程序中变量的实际值,按值传递(ByVal):过程中仅使用参数的 “副本”,修改副本不会影响主程序中变量的原值。
19、下列关于函数过程的叙述中正确的是( )。
A.函数名只能被赋值一次
B.如果没有对函数名赋值,就没有函数值返回到调用过程中
C.函数名可以被多次赋值
D.定义函数的类型是指定义形参的类型
【答案】C
【解析】在 VB 中,函数名本质是一个局部变量,运行期间可以多次赋值,最终离函数前最后一次赋给它的值即为返回值。
20、函数fun如下:
Private Function fun(ch As String) As Integer
Dim n%, st$, c$
For k = 1 To Len(ch)
c = Mid(ch, k, 1)
If c <> "A" Then
st = st & c
Else
n = n + 1
End If
Next k
ch = st
fun = n
End Function
函数的功能是( )。
A. 从字符串ch中删除所有字符“A”,返回值为删除的个数
B. 从字符串ch中删除所有字符“A”,返回值为删除后的字符串
C. 统计字符串ch中字符“A”的个数并返回
D.把字符串ch中不等于“A”的字符都改成“A”,返回值为修改的个数
【答案】A
【解析】函数核心逻辑:遍历字符串,保留所有非 "A" 字符(删除 "A"),统计被删除的 "A" 的个数并返回。
21、关于Shape控件说法错误的是( )
A.Shape控件可以画出6种不同图形
B.Shape控件形状通过Shape属性设置
C.对Shape控件的FillColor设置颜色后,效果是对控件进行实心填充
D.Shape控件画出的图形用Circle方法不一定能画出
【答案】C
【解析】FillColor:设置填充颜色(仅指定 “用什么颜色填”);FillStyle:设置填充样式。
22、在 VB 中,"调试" 菜单中的 "逐语句" 命令的作用是( )
A. 执行整个程序直到下一个断点
B. 一次执行一行代码,并进入过程内部
C. 执行当前过程的下一行代码,不进入子过程
D. 终止程序的调试运行
【答案】B
【解析】“逐语句”(F8)的作用是一次执行一行代码,遇到过程 / 函数调用时会进入其内部逐行执行。
23、下列程序运行结果是( )
Function f(m As Integer) As Integer
b = 1
Static c As Integer
b = b + 1
c = c + 1
f = m * b * c
End Function
Private Sub Command1_Click()
Dim a As Integer
a = 2
Sum = 0
For i = 1 To 3
Sum = Sum + f(a)
Next i
Print Sum
End Sub
A.12
B.16
C.20
D.24
【答案】D
【解析】Static静态变量跨函数调用保留值,普通变量每次调用重置,三次调用f(2)的返回值分别是 4、8、12,累加和为 24。
24、如果在程序中要将a定义为静态变量,且为整型数,则应使用的语句是( )
A. Redim a As Integer
B. Static a As Integer
C. Public a As Integer
D. Dim a As Integer
【答案】B
【解析】ReDim→仅用于动态数组,不定义变量;Public→定义全局变量,非静态;Dim→定义普通变量,无静态保留值特性。
25、在在窗体上添加一个命令按钮Command1和一个文本框Text1,然后编写如 下事件过程:
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x = 5
y = 7
z = 0
Text1.Text = ""
Call p1(x, y, z)
Text1.Text = Str(z)
End Sub
Private Sub p1(ByVal a As Integer, ByVal b As Integer, c As Integer)
c = a + b
End Sub
程序运行后,单击命令按钮得到的结果是( )。
A.12
B.0
C.Str(z)
D.没有显示结果
【答案】A
【解析】ByVal(按值传递):过程中仅使用参数的 “副本”,修改副本不会影响主程序中变量的原值,无 ByVal(按地址传递):过程中修改参数值,会同步改变主程序中变量的实际值。
二、填空题(本大题共10小题,每小题2分,共20分)
1、窗体、控件、菜单等统称为_______,而对象的外观特征用_______描述,对象能完成的动作叫_______,对象对外界操作的响应叫_______。
【答案】对象; 属性;方法;事件
【解析】VB 是面向对象的编程工具,对象是程序中所有可操作实体的统称,属性是描述对象外观 / 特征的参数,方法是对象自带的、能主动完成的动作,事件是对象对外界操作的 “响应触发点”。
2、VB 中字节类型(Byte)的取值范围是______,常用于存储文件二进制数据或小整数。
【答案】0~255
【解析】Byte 是 8 位无符号整数,无负数,是 VB 最小数值类型。
3、在VB中,A=7,B=3,C=4,则表达式A MOD 3 +B^3/C\5的值为_______。
【答案】2
【解析】\(整数除法):截断小数取整,MOD(取模):求余数。
4、在多窗体工程中,可用_______方法显示一个窗体,用_______方法将一个窗体隐藏起来。
【答案】Show ;Hide
【解析】Show可指定模式(模式 / 非模式),未加载的窗体执行Show会先加载;Hide仅隐藏窗体,不卸载,内存中仍保留窗体状态。
5、在文本框中通过_______属性能获得当前插入点所在的位置。
【答案】SelStart
【解析】文本框中有选中的文本,SelStart表示选中文本的起始位置,SelLength表示选中文本的长度。
6、获取列表框 List1 中选项的总个数,使用属性:List1.______;访问列表框中索引为 i 的选项文本,语句:List1.______(i)。
【答案】ListCount、List
【解析】ListCount 是选项总数,List (i) 通过索引访问第 i 个选项的文本。
7、将一维数组arr() = Array("语文","数学","英语")的所有元素添加到列表框 List1 中,For 循环核心语句:
For i = 0 To UBound(arr)
List1. ______
Next i
【答案】AddItem arr(i)
【解析】List1.AddItem arr(i),AddItem是列表框添加项目的核心方法,arr(i)指定要添加的数组元素。
8、调用带参数的函数 Sum (10,20) 并将结果赋值给变量 total,语句:total = ______。
【答案】Sum(10,20)
【解析】函数调用必须赋值给变量 / 输出,不能直接写 Sum 10,20。
9、嵌套过程中,内层过程要修改外层过程的变量,需将参数声明为______(传递方式)。
【答案】ByRef
【解析】ByRef 按地址传递,修改参数会同步到外层变量;ByVal 仅传值,不影响原变量。
10、向顺序文件写入数据,语句为______或 ______;其中 ______ 会自动在字符串两端加双引号并插入逗号分隔符。
【答案】Print #;Write #;Write #
【解析】Write #会自动给字符串加双引号、数据间加逗号,Print #无额外格式。
三、程序填空题(本大题共3小题,每题10分,共30分)
1、程序功能:用冒泡排序将下列数组元素从小到大进行排序。完成程序填空。
Sub sort(a())
Dim imin%, i%, j%
For i = 0 To UBound(a) - 1
For j = 0 To ___(1)________
If ___(2)________ Then
t = a(j): a(j) = a(j + 1): a(j + 1) = t
End If
Next j
Next i
End Sub
Private Sub Form_Click()
Dim b(), i%
b = Array(8, 9, 4, 2, 6)
Call sort(b())
For i = 0 To UBound(b)
Print b(i);
Next i
End Sub
【答案】
(1)UBound(a) - 1 - i
(2)a(j) > a(j + 1)
【解析】UBound(a):数组最大下标,每轮外层循环后,末尾 i 个元素已排好序,内层循环只需遍历到UBound(a)-1-i,冒泡排序从小到大排序的核心规则是 “若前一个元素大于后一个元素,就交换两者位置”,这样每轮内层循环会把当前未排序部分的最大值 “推” 到末尾。
2、 程序功能:输入行数,在图片框中显示相应行数的杨辉三角。
Private Sub Command1_Click()
Dim s(20, 20) As Integer
Dim i%, j%, n%
n = Val(Text1.Text)
Picture1.Cls
For i = 1 To n
s(i, 1) = 1
___(1)________
Next i
For i = 3 To n
For j = 2 To i - 1
s(i, j) = ___(2)________
Next j
Next i
For i = 1 To n
For j = 1 To i
Picture1.Print ; Spc(3 - Len(Str(s(i, j)))); s(i, j);
Next j
Picture1.Print
Next i
End Sub
【答案】
(1) s(i, i) = 1
(2) s(i - 1, j - 1) + s(i - 1, j)
【解析】杨辉三角核心规律:每一行的第一个元素和最后一个元素都是 1,除首尾外,第 i 行第 j 列的元素 = 第 i-1 行第 j-1 列元素 + 第 i-1 行第 j 列元素。
3、程序功能:D盘根目录下文件test1.txt的内容是:2,4,6,8,10,1,3,5,7,9。下面程序的功能是将文件后半部分的奇数分别按序插入前半部分的适当位置,得到的新数列是:1 2 3 4 5 6 7 8 9 10。(实现方法:第一次调整后的数列是1 2 4 6 8 10 3 5 7 9,第二次调整后的数列是:1 2 3 4 6 8 10 5 7 9)。
Option Explicit
Private Sub Form_Click()
Dim a(10) As Integer, i As Integer, J As Integer
Open "D:\test1.txt" For Input As #1
Do ___(1)________
J = J + 1
Input #1, a(J)
Loop
Call Insert(a)
For i = 1 To 10
Print a(i);
Next i
Print
Close #1
End Sub
Private Sub Insert(a() As Integer)
Dim i As Integer, Putp As Integer, J As Integer
Dim Getp As Integer, N As Integer, Tem As Integer
N = UBound(a) / 2
Putp = 1
Getp = N + 1
For i = 1 To N
Tem = a(Getp)
For J = Getp To Putp + 1 Step -1
___(2)_______
Next J
a(Putp) = Tem
Getp = Getp + 1
Putp = Putp + 2
Next i
End Sub
【答案】
(1) While Not EOF(1)
(2) a(J) = a(J - 1)
【解析】循环读取文件直到末尾,确保读全 10 个数字,a(J) = a(J - 1):元素后移,为插入奇数腾出位置。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$