一、单项选择题(本大题共16小题,每小题1分,共16分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。
1.InputBoxo()函数的返回类型是(D)
A、整型
B、布尔型
C、双精度
D、字符串
2.下列关键字中,不能定义变量的是(B)
A、Dim
B、Declare
C、Redim
D、Private
3.用八进制表示 Visual Basic的整型常数时,前面要加上的符号是(B)
A、&H
B、&O
C、&h
D、&D
4.表达式Int(3.5)的结果是(B)
A、6
B、3
C、0
D、-1
5.下列语句中,可以清除列表框 List 1的全部内容的是(B)
A、List1. ClearScreen
B、List1. Clear
C、List1. Remove
D、List1. ClearAll
6.要限制在文本框内输入的最大字符数,应该设置(C)属性。
A、Text
B、Multiline
C、MaxLength
D、PassWordChar
7.VB的变量可以分为(D)
A、局部变量和全局变量
B、模块变量和全局变量
C、局部变量和模块变量
D、局部变量、模块变量和全局变量
8.要得到组合框内用户选择的内容,需要使用(D)属性。
A、Caption
B、List
C、Style
D、Text
9.根据过程定义 Sub MySub(ByVal x As Integer, By Val y As Integer),下列说法正确的是(C)
A、x是传地址参数,y是传值参数
B、y是传地址参数,x是传值参数
C、x和y都是传值参数
D、x和y都是传地址参数
10.计时器控件 Timer 的计时间隔是由(B)属性来设置的。
A、Value
B、Interval
C、Time
D、Text
11.要获得计算机当前屏幕的分辨率,可以使用(D)系统对象。
A、Mouse
B、App
C、Printer
D、Screen
12.决定窗体上Tab顺序的属性是(B)
A、Tab
B、TabIndex
C、TabStop
D、TabStart
13.下列数组定义中,元素个数最多的是(C)
A、Dim A(3, 3)
B、Dim A(2, 3)
C、Dim A(1 To 2, 4)
D、Dim A(1 To 2, 3)
14.通用对话框 CommonDialog控件,不能用于(D)
A、打印
B、保存文件
C、选择颜色
D、选择文件夹
15.关闭随机文件,使用(B)语句。
A、Hide
B、Close
C、Open
D、Kill
16.下列内部函数中(B)是随机函数。
A、Randomize
B、Rnd
C、Cos
D、Sgn
二、判断改错题(本大题共10小题,每小题2分,共20分)判断下列每小题的正误。正确 的在题后括号内打“√” ;错误的打“×”,并改正划线部分。
17.在不同的过程中(不可以)定义相同名字的局部变量。
错误。在不同的过程中可以定义相同名字的局部变量,它们之间没有任何关系。
18.滚动条的 Value属性表示滚动框在滚动条上的(当前位置)。
正确。
19.Form1. Print Format(3.18,“0.0”)会在Form1上显示(3.2)。
正确。
20.文本框(不支持)Dblclick事件。
错误。改正:支持。
21.While循环语句先对条件进行测试,然后才决定是否执行循环体,只有条件为(False)时,才执行循环体。
错误。改正:True。
22.数组声明时,(必须)说明数组的数据类型。
错误。改正:可以不/不必。
23.过程 Private Sub PrintOn(y As Integer)(不可以)被其它模块调用。
正确。
24.可以使用通用对话框 Commondialog的(Color方法)设置颜色。
正确。
25.写顺序文件时,用Print#语句和Write#语句,结果是(一样)的。
错误。改正:不同/不一样。
26.框架Frame是一个容器控件,可以放置其它控件。
正确。
三、简答题(本大题共2小题,每小题8分,共16分)
27.书写VB表达式有什么要求?
答:
(1)乘号(* )不能省略,也不能用(?)来代替。
(2)括号可以改变运算顺序。在表达式样中只能使用圆括号,不能用方括号或花括号。
(3)一般情况下,不允许两个运算符相连,要用括号隔开。
(4)表达式要在同一行书写,指数运算符(∧)表示自乘,当 A 和(或)B 不是单个常量或变量时,要用括号括起来。
28.简述VB中标准模块和窗体模块的主要功能。
答:
标准模块主要用来进行全局变量声明、模块层声明及通用过程的建立、Sub Main 过程的建立。窗体模块主要用来进行窗体层声明、通用过程的声明和事件过程的声明。
四、解读程序题(本大题共2小题,每小题6分,共12分)解读程序,根据题目对程序的说明,在程序中空格处填写正确代码。填错、未填均无分。
29.窗体上有三个文本框(名字分别为Texta, Textb, Textc)和一个名为 Labela的标签。下列程序的功能是输入一元二次方程ax2+bx+c=0(a不为0)的3个系数a、b、c,在标签上显示根的情况。
Private Sub Commandl Click()
Dim a!,b!,c!,delta!
a=Val(TextA.Text):b=Val(TextB.Text):c=(1)
delta=(2)
If delta>0 Then
Labela.Caption=“有两个不相等的实根”
ElseIf delta =0 Then
Labela.Caption=“有两个相等的实根”
Else
(3)=“没有实根”
End If
End Sub
窗体上有三个文本框(名字分别为Texta, Textb, Textc)和一个名为 Labela的标签。下列程序的功能是输入一元二次方程ax2+bx+c=0(a不为0)的3个系数a、b、c,在标签上显示根的情况。
答:
(1)Textc. Text 或 Val(Textc. Text)
(2)b * b-4 * a * c
(3)Labela. Caption
30.下面程序的功能是使用函数过程求s=

的值。
Private Sub Command1_Click()
Dim m%, n%, p%, s#
m=val(InputBox(“请输入m=”))
n=val(InputBox(“请输入n=”))
p=val(InputBox(“请输入p=”))
s=(1)
print s
End Sub
Private Function f(ByVal x%) As Long
Dim k As Integer, s As Long
s=0
For k =1 To x
s=(2)
Next k
(3)
End Function
下面程序的功能是使用函数过程求s
答:
(1)(f(m) * f(n)) / f(p)
(2)s + k
(3)f=s 或 return s
五、程序阅读题(本大题共4小题,每小题4分,共16分)阅读程序,在题后的空格处填写 程序运行的结果。填错、未填均无分。
31.下列程序单击窗体后,窗体的输出结果为()。
Private Sub Form_Click()
Dim n As Integer, s As Integer
n=10 s=0
Do s=s+n n=n-1
Loop While >0
Print s
End Sub
答:55
32.下列程序的执行结果s的值是()。
Private Sub Command_Click()
Dim i, As Integeri=0
s=1
Do i=i+1 s=s*i
Loop
Until i>=4
Print s
End Sub
答:24
33.假定有下列函数过程:
Function Fun(S As String)As String
Dim sl As String
For i=1 To Len(S)
s1=Mid(S,i,1)+s1
Next i
Fun=s1
End Function
窗体上有一个命令按钮 Command1,然后编写如下事件过程:
Private Sub Commandl_Click()
Dim Strl As String, Str2 As String
Strl=InputBox(“请输入字符串”)
Str2=Fun(Str1)
Print Str2
End Sub
程序运行后,单击命令按钮,如果在输入对话框中输人字符串“abc589”,则单击“确定”按钮后在窗体上的输出结果为____。
答:985cba
34.窗体上有一个命令按钮(Com mand1)和一个文本框(Text1),编写如下程序,当运行程序后,单击命令按钮,依次输入85,65,50后,文本框Text1最后显示的内容是____。
Private Sub Command1_Click()
Dim i,j As Integer, As String
s=“”
Forj=1 To 3
i= InputBox(“请输入分数”)
Ifi<6 0 Then=“不及格”
If i> 90 Then
s=“优秀”
Elself i> 80 Then
s=“良好”
Else
s=“及格”
End If
Next
Text1.Text=s
End Sub
窗体上有一个命令按钮(Com mand1)和一个文本框(Text1),编写如下程序,当运行程序后,单击命令按钮,依次输入85,65,50后,文本框Text1最后显示的内容是()。
答:不及格
六、编程题(本大题共2小题,每小题10分,共20分)编写程序实现题目所给要求。
35.编写程序,求200以内所有素数的和。
答:
Private Sub Commandl _Click()
Dim i, j, sum, flag As Integer, m As Integer sum=0
For i=2 to 200
flag=0∥(判断是否是素数共4分,参考代码如下,程序只要能判断是否为素数,均给4分)
For j=2 To/2
If Mod j=0 Then flag=1
Next
If flag=0 Then sum=sum+i
Next
Print“200以内所有的素数和为:”,sum
End Sub
36.编写程序,用随机数产生32个三位正整数,计算并输出这32个数的和。要求输出数据时,每8个数一行。
答:
Private Sub Command 1 _Click()
Dimi,j, sum As Integer,a(32) As Integer
For i=1 To 32
a(i)=Int(100+900*Rnd)
Next
sum=0
For i= To 32
sum=sum+a(i)
Print a(i)
If Mod 8=0 Then Print
Next
Print
Print“这32个数的总和为:”,sum
End Sub