内容正文:
编写说明:内蒙古自治区对口招生《计算机类考纲百套卷》,依据《2019年内蒙古自治区高等职业院校对口招收中等职业学校毕业生计算机类专业课综合考试指导纲要》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲“掌握”“理解”要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第6卷,为考点训练卷,按《Visual Basic程序设计》范围和要求编写。具体内容为:数据输出,常用基本语句,利用文本框进行数据输入,使用对话框实现数据的输入和输出。
内蒙古对口招生《计算机类考纲百套卷》 第6卷
《Visual Basic程序设计》
顺序结构 考点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共30小题,每题2分,共60分)
1. 分析以下代码片段,程序的输出是______。
Private Sub Form_Click()
Dim i As Integer, s As Integer
s = 0
For i = 1 To 10 Step 2
s = s + i
Next i
Print s
End Sub
A. 25
B. 30
C. 55
D. 出错
2. 分析以下代码,Print输出中数值100前的符号位空格情况是______。
Private Sub Form_Click()
Print "X"; 100
End Sub
A. 无空格
B. 1个空格
C. 2个空格
D. 出错
3. 分析以下代码片段,数组声明正确的是______。
Dim a(5) As Integer
A. a有5个元素,下标0~4
B. a有6个元素,下标0~5
C. a有6个元素,下标1~6(默认)
D. 语法错误
4. 分析以下代码,MsgBox函数的返回值正确的是______。
(用户单击了"确定"按钮)
Private Sub Form_Click()
Dim r As Integer
r = MsgBox("继续吗?", vbOKCancel)
Print r
End Sub
A. 0
B. 1
C. -1
D. 出错
5. 分析以下代码片段,Print输出结果是______。
Private Sub Form_Click()
Print Tab(20); "A";
Print Tab(10); "B"
End Sub
A. A在第20列,B在第10列(同行)
B. A在第20列,B在第10列(下一行)
C. A在第20列,B紧接着A输出
D. 出错
6. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim x As Variant
x = Null
Print x + 10
End Sub
A. 输出10
B. 输出Null
C. 出错
D. 输出空
7. 分析以下代码片段,For循环的执行次数是______。
For i = 10 To 1 Step -2
Print i
Next i
A. 5次
B. 4次
C. 10次
D. 0次
8. 分析以下代码,InputBox函数的xpos参数作用是______。
x = InputBox("输入", "标题", "默认", 2000)
A. 设置输入框宽度
B. 设置输入框水平位置(距屏幕左边缘)
C. 设置默认选中文本
D. 设置输入框垂直位置
9. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
Dim a(1 To 5) As Integer
Print LBound(a), UBound(a)
End Sub
A. 0 5
B. 1 5
C. 1 6
D. 出错
10. 分析以下代码,Print输出结果是______。
Private Sub Form_Click()
Dim s As String
s = "Visual Basic"
Print Left(s, 6); Right(s, 5)
End Sub
A. Visual Basic
B. VisualBasic
C. Visual Basic
D. 出错
11. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
On Error Resume Next
Dim x As Integer
x = "abc"
Print "继续执行"
End Sub
A. 输出"继续执行"
B. 运行时出错中断
C. 输出空
D. 编译错误
12. 分析以下代码,MsgBox作为函数使用时,buttons参数的正确写法是______。
A. MsgBox("Hello", vbOKOnly)
B. MsgBox "Hello", vbOKOnly
C. x = MsgBox "Hello"
D. Call MsgBox("Hello")
13. 分析以下代码片段,Print输出中Tab(30)的实际效果是______。
Private Sub Form_Click()
Print Tab(5); "A";
Print Tab(30); "B"
End Sub
A. B在第30列(同行)
B. B在下一行第30列
C. B紧接着A输出
D. 出错
14. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim x As Integer
x = 10
If x > 5 Then Print "A"
If x > 8 Then Print "B"
End Sub
A. 输出A
B. 输出B
C. 输出A和B
D. 无输出
15. 分析以下代码片段,数组元素的默认初始值是______。
Private Sub Form_Click()
Dim a(5) As Integer
Print a(0)
End Sub
A. 0
B. Null
C. 空字符串
D. 随机数
16. 分析以下代码,InputBox函数返回值的处理正确的是______。
Dim x As Integer
x = Val(InputBox("输入"))
A. 直接赋值,自动转换类型
B. 需用Val函数转换
C. 需用CInt函数转换
D. 不能赋值给Integer变量
17. 分析以下代码片段,Print输出结果是______。
Private Sub Form_Click()
Print Format(1234.567, "0,000.00")
End Sub
A. 1,234.57
B. 1234.57
C. 1,234.56
D. 出错
18. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim s As String
s = ""
If s = "" Then Print "空"
If s = Null Then Print "Null"
End Sub
A. 输出"空"
B. 输出"Null"
C. 输出"空"和"Null"
D. 出错
19. 分析以下代码片段,循环的执行次数是______。
Dim i As Integer, s As Integer
s = 0
For i = 1 To 5
s = s + i
If s > 10 Then Exit For
Next i
Print i
A. 3次
B. 4次
C. 5次
D. 6次
20. 分析以下代码,MsgBox对话框的默认按钮是______。
MsgBox "提示", vbOKCancel + vbDefaultButton2
A. 确定按钮
B. 取消按钮
C. 第一个按钮
D. 第二个按钮
21. 分析以下代码片段,Print输出结果是______。
Private Sub Form_Click()
Dim d As Date
d = #7/5/2026#
Print Format(d, "yyyy年mm月dd日")
End Sub
A. 2026年07月05日
B. 2026年7月5日
C. 2026年07月05日
D. 出错
22. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim x As Variant
x = Array(1, 2, 3, 4, 5)
Print x(2)
End Sub
A. 1
B. 2
C. 3
D. 出错
23. 分析以下代码片段,InputBox函数单击取消后返回值是______。
Dim s As String
s = InputBox("输入")
If s = "" Then Print "取消"
A. Null
B. 空字符串""
C. 0
D. False
24. 分析以下代码,Print输出结果是______。
Private Sub Form_Click()
Print 10; Spc(2); 20; Spc(1); 30
End Sub
A. 10 20 30(含空格)
B. 102030
C. 10 20 30
D. 出错
25. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
Dim a As Integer, b As Integer
a = 5: b = 10
Swap a, b
Print a, b
End Sub
Private Sub Swap(x As Integer, y As Integer)
Dim t As Integer
t = x: x = y: y = t
End Sub
A. 5 10
B. 10 5
C. 0 0
D. 出错
26. 分析以下代码,MsgBox函数的vbYesNo常量的返回值是______。
(用户单击"是")
Dim r As Integer
r = MsgBox("继续?", vbYesNo)
A. 5
B. 6
C. 7
D. 1
27. 分析以下代码片段,循环变量i的最终值是______。
For i = 1 To 10
If i = 5 Then Exit For
Next i
Print i
A. 5
B. 6
C. 10
D. 11
28. 分析以下代码,Print输出中字符串连接正确的是______。
Private Sub Form_Click()
Dim a As String, b As String
a = "Hello": b = "World"
Print a & " " & b
End Sub
A. HelloWorld
B. Hello World
C. Hello World
D. 出错
29. 分析以下代码片段,叙述正确的是______。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("确定退出?", vbYesNo) = vbNo Then Cancel = 1
End Sub
A. 单击"是"阻止退出
B. 单击"否"阻止退出
C. 单击"是"允许退出
D. 程序出错
30. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
Dim s As String
s = "VB6.0"
Print Mid(s, 3, 2)
End Sub
A. VB
B. 6.
C. B6
D. 出错
二、填空题(本大题共10小题,每题2分,共20分)
1. 以下程序用Array函数给Variant变量赋值,并输出第3个元素,空白处应填入______。
Private Sub Form_Click()
Dim v As Variant
v = Array("苹果", "香蕉", "橙子", "葡萄")
Print 【1】
End Sub
2. 以下程序用Format函数格式化日期,输出"2026年07月05日",空白处应填入______。
Private Sub Form_Click()
Dim d As Date
d = #7/5/2026#
Print 【1】
End Sub
3. 以下程序用Mid函数截取字符串,空白处应填入______。
Private Sub Form_Click()
Dim s As String
s = "Visual Basic 6.0"
Print 【1】
End Sub
(要求输出"Basic")
4. 以下程序用Do Until循环计算1~50的和,空白处应填入______。
Private Sub Form_Click()
Dim s As Integer, i As Integer
s = 0: i = 1
Do Until 【1】
s = s + i
i = i + 1
Loop
Print s
End Sub
5. 以下程序用With语句设置命令按钮属性,空白处应填入______。
Private Sub Form_Load()
With Command1
.Caption = "确定"
.Enabled = True
【1】
End With
End Sub
(要求设置按钮宽度为1200缇)
6. 以下程序用InputBox输入文件名,并用MsgBox确认,空白处应填入______。
Private Sub Form_Click()
Dim fname As String
fname = InputBox("输入文件名", "新建文件", "untitled")
If fname <> "" Then
MsgBox 【1】 & " 已创建", vbInformation, "提示"
End If
End Sub
7. 以下程序用Print方法在窗体上绘制简单柱状图(用*表示),空白处应填入______。
Private Sub Form_Click()
Dim data(1 To 5) As Integer
data(1) = 3: data(2) = 7: data(3) = 5: data(4) = 9: data(5) = 4
For i = 1 To 5
Print "第" & i & "个:";
For j = 1 To 【1】
Print "*";
Next j
【2】
Next i
End Sub
8. 以下程序用Select Case判断季节,空白处应填入______。
Private Sub Form_Click()
Dim m As Integer
m = Val(InputBox("输入月份(1-12)"))
Select Case m
Case 12, 1, 2: Print "冬季"
Case 3, 4, 5: Print "春季"
Case 6, 7, 8: Print "夏季"
Case 【1】
Print "秋季"
End Select
End Sub
9. 以下程序用On Error语句处理错误,空白处应填入______。
Private Sub Form_Click()
【1】
Dim x As Integer
x = "abc"
Print "程序继续运行"
End Sub
10. 以下程序用MsgBox函数作为判断条件,空白处应填入______。
Private Sub Form_Click()
If 【1】 = vbYes Then
Print "用户同意"
Else
Print "用户取消"
End If
End Sub
三、程序填空题(本大题共2小题,每题10分,共20分)
1. 以下程序用InputBox输入10个整数,找出最大值并输出。阅读程序,在空白处填入恰当内容。
Private Sub Form_Click()
Dim a(1 To 10) As Integer
Dim i As Integer, max As Integer
For i = 1 To 10
a(i) = Val(InputBox("输入第" & i & "个数"))
Next i
max = 【1】
For i = 2 To 10
If 【2】 Then max = a(i)
Next i
Print "最大值:"; max
End Sub
2. 以下程序用Print方法和Tab函数在窗体上输出如下乘法表(右上三角,共5行)。阅读程序,在空白处填入恰当内容。
1 2 3 4 5
2 4 6 8
3 6 9
4 8
5
Private Sub Form_Click()
Dim i As Integer, j As Integer
For i = 1 To 5
For j = 1 To 【1】
If j < i Then
Print Spc(3);
Else
Print Tab(【2】); i * j;
End If
Next j
【3】
Next i
End Sub
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:内蒙古自治区对口招生《计算机类考纲百套卷》,依据《2019年内蒙古自治区高等职业院校对口招收中等职业学校毕业生计算机类专业课综合考试指导纲要》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲“掌握”“理解”要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第6卷,为考点训练卷,按《Visual Basic程序设计》范围和要求编写。具体内容为:数据输出,常用基本语句,利用文本框进行数据输入,使用对话框实现数据的输入和输出。
内蒙古对口招生《计算机类考纲百套卷》 第6卷
《Visual Basic程序设计》
顺序结构 考点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共30小题,每题2分,共60分)
1. 分析以下代码片段,程序的输出是______。
Private Sub Form_Click()
Dim i As Integer, s As Integer
s = 0
For i = 1 To 10 Step 2
s = s + i
Next i
Print s
End Sub
A. 25
B. 30
C. 55
D. 出错
【答案】A
【解析】For i=1 To 10 Step 2:i取值为1,3,5,7,9(步长为2,不超过10)。s=0+1+3+5+7+9=25。Print s输出25。
2. 分析以下代码,Print输出中数值100前的符号位空格情况是______。
Private Sub Form_Click()
Print "X"; 100
End Sub
A. 无空格
B. 1个空格
C. 2个空格
D. 出错
【答案】B
【解析】Print输出数值时,数值前有一个符号位空格(正数空格,负数显示-号)。用分号紧凑输出时,字符串后紧跟数值的符号位空格。故Print "X";100输出:X 100(X后有1个空格)。
3. 分析以下代码片段,数组声明正确的是______。
Dim a(5) As Integer
A. a有5个元素,下标0~4
B. a有6个元素,下标0~5
C. a有6个元素,下标1~6(默认)
D. 语法错误
【答案】B
【解析】Dim a(5) As Integer声明数组a有6个元素,下标为0~5(VB默认下限为0)。若要用下标1~5需加Option Base 1,或用Dim a(1 To 5) As Integer。
4. 分析以下代码,MsgBox函数的返回值正确的是______。
(用户单击了"确定"按钮)
Private Sub Form_Click()
Dim r As Integer
r = MsgBox("继续吗?", vbOKCancel)
Print r
End Sub
A. 0
B. 1
C. -1
D. 出错
【答案】B
【解析】MsgBox作为函数使用时,用户单击"确定"(vbOK)返回1,单击"取消"(vbCancel)返回2。vbOKCancel显示确定和取消两个按钮。r=1时表示用户单击了确定。
5. 分析以下代码片段,Print输出结果是______。
Private Sub Form_Click()
Print Tab(20); "A";
Print Tab(10); "B"
End Sub
A. A在第20列,B在第10列(同行)
B. A在第20列,B在第10列(下一行)
C. A在第20列,B紧接着A输出
D. 出错
【答案】B
【解析】Tab(n)是绝对定位。若当前打印位置已超过第n列,Tab(n)会先换行再定位到第n列。第一条Print已到第20列后,第二条Print中Tab(10)因已超过第10列,先换行再定位到第10列输出B。
6. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim x As Variant
x = Null
Print x + 10
End Sub
A. 输出10
B. 输出Null
C. 出错
D. 输出空
【答案】B
【解析】Null是Variant类型的特殊值,表示"无有效数据"。任何包含Null的表达式其结果仍为Null。x=Null,x+10结果为Null。Print输出Null(空白)。
7. 分析以下代码片段,For循环的执行次数是______。
For i = 10 To 1 Step -2
Print i
Next i
A. 5次
B. 4次
C. 10次
D. 0次
【答案】A
【解析】For i=10 To 1 Step -2:i取值为10,8,6,4,2(步长为-2,终止值为1,不小于1时继续)。共5次。若步长为正且初值>终值,或步长为负且初值<终值,则循环0次。
8. 分析以下代码,InputBox函数的xpos参数作用是______。
x = InputBox("输入", "标题", "默认", 2000)
A. 设置输入框宽度
B. 设置输入框水平位置(距屏幕左边缘)
C. 设置默认选中文本
D. 设置输入框垂直位置
【答案】B
【解析】InputBox(prompt[,title][,default][,xpos][,ypos])。xpos设置对话框左边距屏幕左边缘的距离(水平位置,以缇为单位)。ypos设置垂直位置。2000表示距屏幕左边缘2000缇。
9. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
Dim a(1 To 5) As Integer
Print LBound(a), UBound(a)
End Sub
A. 0 5
B. 1 5
C. 1 6
D. 出错
【答案】B
【解析】Dim a(1 To 5) As Integer声明数组下标范围为1~5。LBound(a)返回数组下限1,UBound(a)返回数组上限5。若用Dim a(5)则LBound=0,UBound=5。
10. 分析以下代码,Print输出结果是______。
Private Sub Form_Click()
Dim s As String
s = "Visual Basic"
Print Left(s, 6); Right(s, 5)
End Sub
A. Visual Basic
B. VisualBasic
C. Visual Basic
D. 出错
【答案】B
11. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
On Error Resume Next
Dim x As Integer
x = "abc"
Print "继续执行"
End Sub
A. 输出"继续执行"
B. 运行时出错中断
C. 输出空
D. 编译错误
【答案】A
【解析】On Error Resume Next语句使程序遇到运行时错误时不中断,而是跳过错误语句继续执行下一句。x="abc"赋值给Integer变量会产生类型不匹配错误,但被On Error Resume Next忽略,程序继续输出"继续执行"。
12. 分析以下代码,MsgBox作为函数使用时,buttons参数的正确写法是______。
A. MsgBox("Hello", vbOKOnly)
B. MsgBox "Hello", vbOKOnly
C. x = MsgBox "Hello"
D. Call MsgBox("Hello")
【答案】A
【解析】MsgBox作为函数使用(有返回值)时,参数必须用括号括起来,且返回值需赋给变量。A正确。B是语句用法(无括号)。C语法错误(函数调用需用括号)。D是语句用法(Call关键字)。
13. 分析以下代码片段,Print输出中Tab(30)的实际效果是______。
Private Sub Form_Click()
Print Tab(5); "A";
Print Tab(30); "B"
End Sub
A. B在第30列(同行)
B. B在下一行第30列
C. B紧接着A输出
D. 出错
【答案】A
【解析】Tab(n)绝对定位到第n列。第一条Print输出A后光标在第6列左右,未超过第30列,故第二条Print中Tab(30)在同一行定位到第30列输出B。
14. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim x As Integer
x = 10
If x > 5 Then Print "A"
If x > 8 Then Print "B"
End Sub
A. 输出A
B. 输出B
C. 输出A和B
D. 无输出
【答案】C
【解析】x=10,x>5为True,执行Print "A"。x>8也为True,执行Print "B"。两个If语句是独立的,都会判断并执行。输出:A(换行)B。
15. 分析以下代码片段,数组元素的默认初始值是______。
Private Sub Form_Click()
Dim a(5) As Integer
Print a(0)
End Sub
A. 0
B. Null
C. 空字符串
D. 随机数
【答案】A
【解析】数值类型数组(Integer、Long、Single、Double等)声明后,所有元素默认初始化为0。String类型数组元素默认初始化为空字符串""。Variant类型数组元素默认初始化为Empty。
16. 分析以下代码,InputBox函数返回值的处理正确的是______。
Dim x As Integer
x = Val(InputBox("输入"))
A. 直接赋值,自动转换类型
B. 需用Val函数转换
C. 需用CInt函数转换
D. 不能赋值给Integer变量
【答案】B
【解析】InputBox返回值类型为String。赋值给Integer变量时需用Val()函数将字符串转为数值。Val("123")=123,Val("abc")=0(无法转换时返回0)。CInt()也可转换但会报错若无法转换。
17. 分析以下代码片段,Print输出结果是______。
Private Sub Form_Click()
Print Format(1234.567, "0,000.00")
End Sub
A. 1,234.57
B. 1234.57
C. 1,234.56
D. 出错
【答案】A
【解析】Format函数格式化数值。"0,000.00"表示:至少1位整数部分,千分位逗号分隔,保留两位小数(四舍五入)。1234.567格式化为1,234.57。
18. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim s As String
s = ""
If s = "" Then Print "空"
If s = Null Then Print "Null"
End Sub
A. 输出"空"
B. 输出"Null"
C. 输出"空"和"Null"
D. 出错
【答案】A
【解析】s=""(空字符串),s=""为True,输出"空"。s=Null判断Null值时,结果仍为Null(不是True也不是False),故If s=Null Then不执行。判断Null应用IsNull(s)函数。
19. 分析以下代码片段,循环的执行次数是______。
Dim i As Integer, s As Integer
s = 0
For i = 1 To 5
s = s + i
If s > 10 Then Exit For
Next i
Print i
A. 3次
B. 4次
C. 5次
D. 6次
【答案】C
【解析】s=0,i=1时s=1;i=2时s=3;i=3时s=6;i=4时s=10;i=5时s=15>10,触发Exit For退出循环。循环共执行5次(i=1~5)。Print i输出5(Exit For后i的值为5)。
20. 分析以下代码,MsgBox对话框的默认按钮是______。
MsgBox "提示", vbOKCancel + vbDefaultButton2
A. 确定按钮
B. 取消按钮
C. 第一个按钮
D. 第二个按钮
【答案】B
【解析】vbDefaultButton2指定第二个按钮为默认按钮(按Enter键默认选择)。vbOKCancel显示"确定"和"取消"两个按钮,第二个按钮是"取消"。故默认按钮是"取消"。
21. 分析以下代码片段,Print输出结果是______。
Private Sub Form_Click()
Dim d As Date
d = #7/5/2026#
Print Format(d, "yyyy年mm月dd日")
End Sub
A. 2026年07月05日
B. 2026年7月5日
C. 2026年07月05日
D. 出错
【答案】A
【解析】Format函数中"mm"表示两位月份(不足两位补0),"dd"表示两位日期。#7/5/2026#是Date类型字面量。Format输出:2026年07月05日。
22. 分析以下代码,叙述正确的是______。
Private Sub Form_Click()
Dim x As Variant
x = Array(1, 2, 3, 4, 5)
Print x(2)
End Sub
A. 1
B. 2
C. 3
D. 出错
【答案】C
【解析】Array函数返回Variant数组,下标默认从0开始。x(0)=1,x(1)=2,x(2)=3。Print x(2)输出3。注意Array函数返回的数组下标受Option Base影响。
23. 分析以下代码片段,InputBox函数单击取消后返回值是______。
Dim s As String
s = InputBox("输入")
If s = "" Then Print "取消"
A. Null
B. 空字符串""
C. 0
D. False
【答案】B
【解析】单击InputBox的"取消"按钮,InputBox返回空字符串""。s=""判断s是否为空字符串,为True则输出"取消"。注意:返回空字符串不同于Null。
24. 分析以下代码,Print输出结果是______。
Private Sub Form_Click()
Print 10; Spc(2); 20; Spc(1); 30
End Sub
A. 10 20 30(含空格)
B. 102030
C. 10 20 30
D. 出错
【答案】A
【解析】Print输出数值时数值前有符号位空格。Spc(2)输出2个空格,Spc(1)输出1个空格。分号紧凑输出。输出格式:10(符号位空格)(2空格)20(符号位空格)(1空格)30。
25. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
Dim a As Integer, b As Integer
a = 5: b = 10
Swap a, b
Print a, b
End Sub
Private Sub Swap(x As Integer, y As Integer)
Dim t As Integer
t = x: x = y: y = t
End Sub
A. 5 10
B. 10 5
C. 0 0
D. 出错
【答案】B
【解析】VB参数传递默认按地址传递(ByRef),Swap子过程交换了x和y的值,同时也交换了实参a和b的值。调用后a=10,b=5。输出10 5。
26. 分析以下代码,MsgBox函数的vbYesNo常量的返回值是______。
(用户单击"是")
Dim r As Integer
r = MsgBox("继续?", vbYesNo)
A. 5
B. 6
C. 7
D. 1
【答案】B
【解析】MsgBox返回值:vbOK=1,vbCancel=2,vbAbort=3,vbRetry=4,vbIgnore=5,vbYes=6,vbNo=7。用户单击"是"返回6(vbYes)。
27. 分析以下代码片段,循环变量i的最终值是______。
For i = 1 To 10
If i = 5 Then Exit For
Next i
Print i
A. 5
B. 6
C. 10
D. 11
【答案】A
【解析】For循环正常结束时i的值为终值+1(此处为11)。但若用Exit For提前退出,i的值为退出时的值。i=5时触发Exit For,退出循环,Print i输出5。
28. 分析以下代码,Print输出中字符串连接正确的是______。
Private Sub Form_Click()
Dim a As String, b As String
a = "Hello": b = "World"
Print a & " " & b
End Sub
A. HelloWorld
B. Hello World
C. Hello World
D. 出错
【答案】B
【解析】&是字符串连接运算符。a & " " & b将a、空格、b连接。输出:Hello World(一个空格)。注意:+也可用于字符串连接,但若操作数中有数值会做加法。
29. 分析以下代码片段,叙述正确的是______。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("确定退出?", vbYesNo) = vbNo Then Cancel = 1
End Sub
A. 单击"是"阻止退出
B. 单击"否"阻止退出
C. 单击"是"允许退出
D. 程序出错
【答案】B
【解析】QueryUnload事件在Unload事件前触发。Cancel参数设为非0值可阻止窗体卸载。用户单击"否"时MsgBox返回vbNo=7,条件不成立,Cancel保持0,退出继续。单击"是"返回vbYes=6,条件成立,Cancel=1阻止退出。注意:代码中逻辑是单击"否"时Cancel=1阻止退出。
30. 分析以下代码片段,叙述正确的是______。
Private Sub Form_Click()
Dim s As String
s = "VB6.0"
Print Mid(s, 3, 2)
End Sub
A. VB
B. B6.
C. 6
D. 出错
【答案】C
二、填空题(本大题共10小题,每题2分,共20分)
1. 以下程序用Array函数给Variant变量赋值,并输出第3个元素,空白处应填入______。
Private Sub Form_Click()
Dim v As Variant
v = Array("苹果", "香蕉", "橙子", "葡萄")
Print 【1】
End Sub
【答案】v(2) 或 v(2) & ""
【解析】Array函数返回Variant数组,下标从0开始。v(0)="苹果",v(1)="香蕉",v(2)="橙子"。Print v(2)输出橙子。
2. 以下程序用Format函数格式化日期,输出"2026年07月05日",空白处应填入______。
Private Sub Form_Click()
Dim d As Date
d = #7/5/2026#
Print 【1】
End Sub
【答案】Format(d, "yyyy年mm月dd日")
【解析】Format函数格式化日期时间。"yyyy"四位年份,"mm"两位月份(补0),"dd"两位日期(补0)。注意:若用"m"则不加0(7月输出7),用"mm"则加0(07)。
3. 以下程序用Mid函数截取字符串,空白处应填入______。
Private Sub Form_Click()
Dim s As String
s = "Visual Basic 6.0"
Print 【1】
End Sub
(要求输出"Basic")
【答案】Mid(s, 8, 5) 或 Mid(s, 8, 5) & ""
【解析】Mid(字符串, 起始位置, 长度)截取子串。s="Visual Basic 6.0",第8个字符是'B',取5个字符:"Basic"。注意:VB中字符串下标从1开始。
4. 以下程序用Do Until循环计算1~50的和,空白处应填入______。
Private Sub Form_Click()
Dim s As Integer, i As Integer
s = 0: i = 1
Do Until 【1】
s = s + i
i = i + 1
Loop
Print s
End Sub
【答案】i > 50
【解析】Do Until 条件:当条件为True时退出循环。i>50为True时(i=51),退出循环。循环执行时i从1到50,s=1+2+...+50=1275。
5. 以下程序用With语句设置命令按钮属性,空白处应填入______。
Private Sub Form_Load()
With Command1
.Caption = "确定"
.Enabled = True
【1】
End With
End Sub
(要求设置按钮宽度为1200缇)
【答案】.Width = 1200
【解析】With语句中直接用.属性名设置对象属性。Command1.Width设置按钮宽度(单位为缇,1缇=1/1440英寸)。其他常见属性:.Height、.Left、.Top、.Visible、.Cancel(取消按钮)等。
6. 以下程序用InputBox输入文件名,并用MsgBox确认,空白处应填入______。
Private Sub Form_Click()
Dim fname As String
fname = InputBox("输入文件名", "新建文件", "untitled")
If fname <> "" Then
MsgBox 【1】 & " 已创建", vbInformation, "提示"
End If
End Sub
【答案】"文件 " & fname 或 "文件:" & fname
【解析】MsgBox第一个参数是提示字符串,需用&连接运算符将字符串与变量连接。fname是InputBox的返回值(字符串)。注意:InputBox返回空字符串表示用户单击了取消。
7. 以下程序用Print方法在窗体上绘制简单柱状图(用*表示),空白处应填入______。
Private Sub Form_Click()
Dim data(1 To 5) As Integer
data(1) = 3: data(2) = 7: data(3) = 5: data(4) = 9: data(5) = 4
For i = 1 To 5
Print "第" & i & "个:";
For j = 1 To 【1】
Print "*";
Next j
【2】
Next i
End Sub
【答案】data(i) 或 data(i) 和 Print
【解析】【1】内层循环次数由data(i)决定(柱状高度为data(i)个*号)。【2】内层循环结束后Print换行,使下一个柱状图从新行开始。
8. 以下程序用Select Case判断季节,空白处应填入______。
Private Sub Form_Click()
Dim m As Integer
m = Val(InputBox("输入月份(1-12)"))
Select Case m
Case 12, 1, 2: Print "冬季"
Case 3, 4, 5: Print "春季"
Case 6, 7, 8: Print "夏季"
Case 【1】
Print "秋季"
End Select
End Sub
【答案】9, 10, 11
【解析】Select Case的Case子句可以列举多个值(用逗号分隔)。秋季对应的月份是9月、10月、11月。故Case 9,10,11匹配秋季。
9. 以下程序用On Error语句处理错误,空白处应填入______。
Private Sub Form_Click()
【1】
Dim x As Integer
x = "abc"
Print "程序继续运行"
End Sub
【答案】On Error Resume Next
【解析】On Error Resume Next语句使程序遇到运行时错误时不中断,跳过错误语句继续执行。若不写此语句,x="abc"赋值给Integer变量会产生类型不匹配错误并中断程序。
10. 以下程序用MsgBox函数作为判断条件,空白处应填入______。
Private Sub Form_Click()
If 【1】 = vbYes Then
Print "用户同意"
Else
Print "用户取消"
End If
End Sub
【答案】MsgBox("是否继续?", vbYesNo, "确认")
【解析】MsgBox作为函数使用时返回值可当作条件判断。MsgBox("是否继续?",vbYesNo)返回vbYes(6)或vbNo(7)。If条件判断返回值是否等于vbYes。
三、程序填空题(本大题共2小题,每题10分,共20分)
1. 以下程序用InputBox输入10个整数,找出最大值并输出。阅读程序,在空白处填入恰当内容。
Private Sub Form_Click()
Dim a(1 To 10) As Integer
Dim i As Integer, max As Integer
For i = 1 To 10
a(i) = Val(InputBox("输入第" & i & "个数"))
Next i
max = 【1】
For i = 2 To 10
If 【2】 Then max = a(i)
Next i
Print "最大值:"; max
End Sub
【空1】a(1)
【空2】a(i) > max
【解析】【1】假设第1个元素为最大值(max=a(1))。【2】从第2个元素开始,若a(i)>max则更新max。循环结束后max为最大值。
2. 以下程序用Print方法和Tab函数在窗体上输出如下乘法表(右上三角,共5行)。阅读程序,在空白处填入恰当内容。
1 2 3 4 5
2 4 6 8
3 6 9
4 8
5
Private Sub Form_Click()
Dim i As Integer, j As Integer
For i = 1 To 5
For j = 1 To 【1】
If j < i Then
Print Spc(3);
Else
Print Tab(【2】); i * j;
End If
Next j
【3】
Next i
End Sub
【空1】5
【空2】j*4 或 j*4
【空3】Print
【解析】【1】内层循环j从1到5。【2】若j>=i则输出i*j,用Tab(j*4)定位输出位置(每个数字占约4列宽)。【3】每行结束后Print换行。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$