一、单项选择题(本大题共16小题,每小题1分,共16分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。
1.InputBox()函数的返回类型是(D)
A、整型
B、对象
C、数字型
D、字符串
2.下列关键字中,不能定义变量的是(B)
A、Redim
B、Declare
C、Static
D、Public
3.用八进制表示Visual Basic的整型常数时, 前面要加上的符号是(B)
A、&H
B、&
C、&B
D、&D
4.表达式Int(6.7)的结果是(D)
A、-1
B、0
C、5
D、6
5.下列语句中,可以用来在列表框Listl中插入一行文本的是(B)
A、Listl. Cls
B、Listl.Addltem
C、Listl.RemoveItem
D、Listl.ClearAll
6.要使输入到文本框中的字符显示“*”号, 应该设置(D)属性。
A、Text
B、Enabled
C、Max.Length
D、Pass Word Char
7.VB的全局变量可以用(A)语句声明。
A、Public或Global
B、Public或Dim
C、Static或Global
D、Dim或Global
8.滚动条分为(D)
A、矩形滚动条和圆形滚动条
B、垂直滚动条和纵向滚动条
C、横向滚动条和水平滚动条
D、垂直滚动条和水平滚动条
9.过程定义 Sub MySub( ByVal xAs Integer, ByRefy As Integer ), 下列说法正确的是(B)
A、x是传地址参数,y是传值参数
B、y是传地址参数,x是传值参数
C、x和y都是传值参数
D、x和y都是传地址参数
10.计时器控件Timer 的计时间隔是由(B)属性来设置的。
A、Enabled
B、Interval
C、Timer
D、Text
11.VB最主要的两个特点是可视化界面设计和(A)驱动的编程机制。
A、事件
B、任务
C、键盘
D、过程
12.在程序代码中可以使用(B)方法设置焦点。
A、Tab
B、Setfocus
C、TabStop
D、TabStart
13.下列数组定义中, 元素个数最多的是(C)
A、Dim A(4,2)
B、Dim A(3,3)
C、Dim A (-1 To 3,3)
D、Dim A( 1 To 2,3)
14.通用对话框 CommonDialog控件,不能用于的是(D)
A、调用Help文件
B、选择字体
C、选择颜色
D、选择文件夹
15.文件指针的定位通过(D)语句来实现。
A、Hide
B、Close
C、Open
D、Seek
16.下列内部函数中,(C)不属于日期和时间函数。
A、Day
B、Now
C、Cos
D、Time
二、判断改错题(本大题共10小题,每小题2分,共20分)判断下列每小题的正误。正确 的在题后括号内打“√” ;错误的打“×”,并改正划线部分。
17.全局变量(可以)在工程的每个模块、每个过程中使用。
正确。
18.滚动条的Max属性必须(大于或等于)Min属性。
错误。
19.Forml. Print Format(2.86, “0. 0 ”)会在Forml 上显示(2.9)。
正确。
20.文本框(支持)Click事件。
正确。
21.Do ..Loop While语句中如果条件总是成立,Do循环(可能)陷入“死循环”。
正确。
22.定义数组时,(不可以)用ReDim语句来定义。
错误。改正:可以。
23.在同一模块中,(允许)多个Sub 过程和多个Function 过程同名。
错误。改正:不允许。
24.可以使用通用对话框CommonDialog的ShowFont方法来建立字体对话框。
正确。
25.写顺序文件时, 可以使用Print#语句和(Writeline#)语句。
错误。改正:Write#。
26.对于框架而言,要把Enabled属性设置为压(False)。这样才能保证框架内的对象是“活动”的。
错误。改正:True。
三、简答题(本大题共2小题,每小题8分,共16分)
27.表达式可能含有多种运算, 请简述算术运算表达式的执行顺序。
答:
顺序:(1)指数(^);(2)取负(-);(3)乘(*);除(/);(4)整除(\);(5)取模(Mod);(6)加(+)、减(-);(7)连接(&)。
28.什么是闲置循环? DoEvents语句有什么作用?
答:
(1)闲置循环就是当应用程序处于闲置状态时,用一个循环来执行其他操作。当执行闲置循环时,将占用全部 CPU 时间,不允许执行其他事件过程,使系统处于无限循环中,没有任何反应。
(2)Visual Basic 提供DoEvents语句,当执行闲置循环时,可以用它把控制权交给周围环境使用,响应其他的事件任务,处理完毕后然后回到原来的程序继续执行。
四、解读程序题(本大题共2小题,每小题6分,共12分)解读程序,根据题目对程序的说明,在程序中空格处填写正确代码。填错、未填均无分。
29.从键盘上输入若干个学生的考试分数, 统计并输出最高分数和最低分数, 当输入负数-1时结束输入,并输出结果。
Private Sub Form_Click()
Dim x !, max!, min!
x = InputBox("Enter a score")
max = x
min = x
Do While (1)
If x >max Then
max = x
End If
If x < min Then
(2)
End If
x = (3)
Loop
Print " max = ";max, "min =";min
End Sub
从键盘上输入若干个学生的考试分数, 统计并输出最高分数和最低分数, 当输入负数-1时结束输入,并输出结果。
答:
(1)x=-1;
(2)min = x;
(3)InputBox (“Enter a score”)。
30.如果一个数的因子之和等于这个数本身,则称这样的数为完全数。例如28=1+2+4+7+14,因此28是一个完全数。下列程序找出1000以内的所有完全数之和。
Sub Main()
Dim i, j, sum, t As Integer
sum = 1
For i = 2 To 999
(1)
For j = 2 To i - 1
If (2) Then t = t + j
Next
If(3) Then sum = sum + i
Next
Print“满足条件的数之和为:”, sumEnd Sub
如果一个数的因子之和等于这个数本身,则称这样的数为完全数。例如28=1+2+4+7+14,因此28是一个完全数。下列程序找出1000以内的所有完全数之和。
答:
(1)t = 1;
(2)i Mod j = 0;
(3)t = i。
五、程序阅读题(本大题共4小题,每小题4分,共16分)阅读程序,在题后的空格处填写 程序运行的结果。填错、未填均无分。
31.下列程序单击窗体后,窗体的输出结果为()。
Private Sub Form_Click()
Dim n As Integer, s As Integern = 5s = O
Dos=s+ n* (n-1)n=n-1
Loop While n> 0
Prints
End Sub
答:
40。
32.下列程序的执行结果 s 的值是()。
Private Sub Command l_Click()
Dim i,s As Integeri = O
Do i = i + 1 s = s + i*i*i
Loop Until i>= 4
Prints
End Sub
答:
100。
33.假定有下列函数过程:
Function Fun(S As String) As String
Dim s1 As String
For i= 1 To Len(S)
s 1 =Mid(S,i,1)+s1
Next i
Fun = s1
End Function
窗体上有一个命令按钮Command 1, 然后编写如下事件过程:
Private Sub Command 1 _ Click ()
Dim Str 1 As String,Str2 As String
Str 1 = inputbox(“请输入 一个字符串”)
Str2 = Fun (Str 1)
Print Str2
End Sub
程序运行后,单击命令按钮,如果在输入对话框中输入字符串“12abc34”, 则单击 “确定”按钮后在窗体上的输出结果为()。
答:
43cba21。
34.窗体上有一个命令按钮(Command l) 和 一个文本框(Text l),编写如下程序,当运行程序后,单击命令按钮,依次输入89,76,59后,文本框Text l最后显示的内容是
Private Sub Command l_Click ()
Dim i, j As Integer, s As String
s=“”
For j = 1 To 3
i = InputBox(“请输入分数”)
If i < 60 Then s = “不及格”
If i > 90 Then
s= “优秀”
Else if i > 80 Then
s =“良好”
Else
s =“及格”
End If
Next
Text l.Text = s
End Sub
窗体上有一个命令按钮(Command l) 和 一个文本框(Text l),编写如下程序,当运行程序后,单击命令按钮,依次输入89,76,59后,文本框Text l最后显示的内容是()。
答:
及格。
六、编程题(本大题共2小题,每小题10分,共20分)编写程序实现题目所给要求。
35.编写程序,求n以内所有素数的和,其中n由用户输入。
答:
Private Sub Command1_Click()
Dim i, j, sum, flag,n As Integer, m As Integer
n =Val(inputBox(“请输入 n”))
If n>1 then
sum = 0
For i = 2 To n
flag = 0
For j = 2 To i\2
If i mod j=0 Then flag = 1
Next
If flag = 0 Then sum = sum + i
Next
Print “n 以内所有的素数和为: ”,sum
End if
End Sub
36.编写程序,用随机数产生30个三位正整数,计算井输出这30个数的平均值。要求输出数据时,每6个数一行。
答:
Private Sub Commandl_Click()
Dim i, j, sum As Integer, a(30) As Integer
For i =1 To 30
a(i) = Int(100 + 900 * Rnd)
Next
sum = 0
For i = 1 To 30
sum = sum + a(i)
print a(i)
If i Mod 6 = 0 Then print
Next
Print
Print “这 30 个数的平均值为:”,sum/30
End Sub