A)#2012-1-23#-#2011-2-3# B)year(#2011-2-3#)C)DateValue(\ 【例】 下列表达式中,能正确表示条件\和y都是奇数\的是C
A)x Mod 2=0 And y Mod 2=0 B)x Mod 2=0 Or y Mod 2=0
C)x Mod 2=1 And y Mod 2=1 D)x Mod 2=1 Or y Mod 2=1 【例】 在VBA中,能自动检查出来的错误是A
A)语法错误 B)逻辑错误 C)运行错误 D)注释错误 【例】 下列给出的选项中,非法的变量名是C
A)Sum B)Integer_2 C)Rem D)Form1
【例】 如果在被调用的过程中改变了形参变量的值,但又不影响实参变量本身,这种参数传递方式称为A
A)按值传递 B)按地址传递 C)ByRef传递 D)按形参传递 【例】 表达式\的功能是B
A)将变量A保留小数点后1位 B)将变量A四舍五入取整 C)将变量A保留小数点后5位 D)舍去变量A的小数部分
【例】VBA语句\NewArray(10) as Integer\的含义是B
A)定义10个整型数构成的数组NewArray B)定义11个整型数构成的数组NewArray C)定义1个值为整型数的变量NewArray(10) D)定义1个值为10的变量NewArray 【例】 运行下列程序段,结果是B
For m=10 to 1 step 0 k=k+3 Next m
A)形成死循环 B)循环体不执行即结束循环 C)出现语法错误 D)循环体执行一次后结束循环
【例】 下列表达式计算结果为数值类型的是A
A)#5/5/2010#-#5/1/2010# B)\ C)102=98+4 D)#5/1/2010#+5
【例】 要将一个数字字符串转换成对应的数值,应使用的函数是A A)Val B)Single C)Asc D)Space 【例】下列变量名中,合法的是C
A)4A B)A-1 C)ABC_1 D)private
【例】 若变量i的初值为8,则下列循环语句中循环体的执行次数为C Do While i<=17 i=i+2 Loop
A)3次 B)4次 C)5次 D)6次 【例】 InputBox函数的返回值类型是B
A)数值 B)字符串 C)变体 D)视输入的数据而定 【例】下列能够交换变量X和Y值的程序段是C
A)Y=X:X=Y B)Z=X:Y=Z:X=Y C)Z=X:X=Y:Y=Z D)Z=X:W=Y:Y=Z:X=Y
【例】 在VBA中要将数值表达式的值转换为字符串,应使用函数 str() 。 【例】 在VBA中要判断一个字段的值是否为Null,应该使用的函数是 ISNULL 。 【例】函数表达式题目: 1. int(-2.8)+fix(2.8) 2. 10\\3+-8 mod 3 3. year(#2011/12/12#)-month(#2011/10/10#)+day(#2012/1/1#)
4. left(―南京财经大学‖,2)+mid(―南京财经大学‖,3,2)+right(‖南京财经大学‖,2) 5. instr(3,“ab12abc34abc”,‖a‖,1) 6. 已知2011年12月31日是星期六,weekday(#2011/12/31#) 7. val(―-12e2abcd‖)+len(―南京财经大学‖) 8. chr(asc(―A‖)+5)
【例】1. 运行下列程序,结果是( ) f=13 Private Sub Command32_Click() f0=1:fl=1:k=1 Do While k<=5 f=f0+f1 f0=f1 f1=f k=k+1 Loop
// MsgBox \& f End Sub
【例】2. 有如下事件程序,运行该程序后输出结果是( ) x=1, y=0
Private Sub Command33_Click()
Dim x As Integer,y As Integer x=1:y=0
Do Until y<=25 y=y + x * x x=x + 1 Loop MsgBox \& x & \, y=\& y End Sub
【例】3. 下列程序的功能是计算Sum=1+(1+3)+(1+3+5)+??+(1+3+5+??+39) Private Sub Command34_Click() t=0 m=1 sum=0 Do
t=t+m sum=sum+t m= m+2 Loop While m<=39 MsgBox %um=\sum End Sub
【例】4. 运行下列程序,输入如下两行: Hi,
I am here.
弹出的窗体中的显示结果是 Hi, Private Sub Command11_Click() Dim abc As String,sum As String sum=\Do abc=InputBox(\输入abc\
If Right(abc,1)=\Then Exit Do sum=sum+abc Loop MsgBox sum End Sub
【例】5. 运行下列程序,窗体中的显示结果是:x= 21 。 Option Compare Database Dim x As Integer Private Sub Form_Load() x=3
End Sub
Private Sub Command11_Click()
Static a As Integer Dim b As Integer b=x^2 fun1 x,b fun1 x,b MsgBox \& x End Sub
Sub fun1(ByRef y As Integer,ByVal z As Integer) y = y+z z = y-z End Sub
【例】6. 数据库中有\学生成绩表\,包括\姓名\、\平时成绩\、\考试成绩\和\期末总评\等字段,现要根据\平时成绩\和\考试成绩\对学生进行\期末总评\。规定:\平时成绩\加\考试成绩\大于等于85分,则期末总评为\优\,\平时成绩\加\考试成绩\小于60分,则期末总评为\不及格\,其他情况期末总评为\合格\。
下面的程序按照上述要求计算每名学生的期末总评。请在空白处填入适当的语句,使程序可以完成指定的功能。
Private Sub Command0_Click()
Dim db As DAO.Database Dim rs As DAO.Recordset
Dim pscj,kscj,qmzp As DAO.Field Dim count As Integer Set db=CurrentDb() Set rs=db.OpenRecordset(\学生成绩表\Set pscj=rs.Fields(\平时成绩\Set kscj=rs.Fields(\考试成绩\Set qmzp=rs.Fields(\期末总评\count=0 Do While Not rs.EOF rs.edit
If pscj+kscj>=85 Then
// qmzp=\优\
ElseIf pscj+kscj<60 Then qmzp=\不及格\Else
qmzp=\合格\End If rs.Update count=count+1 rs.movenext Loop rs.Close db.Close
Set rs=Nothing Set db=Nothing
MsgBox \学生人数:\& count End Sub
【例】7. 窗体中有命令按钮Command1,事件过程如下: Public Function f(x AS Integer)As Integer Dim y As Integer x=20 y=2 f=x*y End Function
Private Sub Commandl_Click() Dim y As Integer Static x As Integer x=10 y=5 y=f(x)
Debug.Print x;y End Sub
运行程序,单击命令按钮,则立即窗口中显示的内容是( ) 20 40
【例】8. 窗体中有命令按钮Command1和文本框Text1,事件过程如下: Function result(ByVal x As Integer)As Boolean If x Mod 2=0 Then result=True Else
result=False End If End Function Private Sub Commandl_Click()
x=Val(InputBox(\请输入一个整数\
If result(x) Then Text1=Str(x) & \是偶数.\ Else
Text1=Str(x) & \是奇数.\ End If End Sub
【例】9.窗体有命令按钮Command1和文本框Text1,对应的事件代码如下: Private Sub Command1_Click() For i=1 To 4 x=3 For j=1 To 3 For k=1 To 2 x=x+3 Next k Next j Next i Textl.Value=Str(x) End Sub
运行以上事件过程,文本框中的输出是( ) 21
例】10. 窗体中有命令按钮run34,对应的事件代码如下: Private Sub run34_Enter() Dim num As Integer,a As Integer,b As Integer,i As Integer For i=1 To 10
num=InputBox(\请输入数据:\,\输入\ If Int(num/ 2)=num/ 2 Then a=a+1 Else
b=b+1 End If Next i
MsgBox (\运行结果:a=\& Str(a) & \,b=\& Str(b)) End Sub
运行以上事件过程,所完成的功能是( )对输入的10个数据分别统计奇数和偶
// 数的个数
【例】11. 运行下列程序,输入数据8、9、3、0后,窗体中显示结果是( ) 20 Private Sub Form_click()
Dim sum As Integer,m As Integer sum=0
Do m=InputBox(\输入m\ sum=sum+m Loop Until m=0 MsgBox sum End Sub
【例】12. 下列程序的功能是求方程:x2+y2=1000的所有整数解。请在空白处填入适当的语句,使程序完成指定的功能。
Private Sub Commandl_Click() Dim x as integer,y as integer For x= -34 To 34 For y=-34 To 34
If x*x+y*y=1000 Then Debug.Print x,Y End If Next y Next x End Sub
【例】13. 下列程序的功能是求算式:1+1/2!+1/3! +1/4! +……前10项的和(其中n!的含义是n的阶乘)。请在空白处填入适当的语句,使程序完成指定的功能。 Private Sub Commandl_C1ick()
Dim i as integer,s as single,a as single a=1:s=0 For i=1 To 10 a= a/i s=s+a Next i Debug.Print \+1/ 2! +l/ 3!+……=\;s End Sub
【例】14. 在窗体中有一个名为Command12的命令按钮,Click事件功能是:接收从键盘输入的10个大于0的不同整数,找出其中的最大值和对应的输入位置。请在空白处填入适当语句,使程序可以完成指定的功能。
Private Sub Commandl2_Click() max=0 maxn=0 For i=1 To 10
num=Val(InputBox(\请输入第\& i & \个大于0的整数:\ If max MsgBox(\最大值为第\& maxn & \个输入的\& max) End Sub 【例】15. 数据库的\职工基本情况表\有\姓名\和\职称\等字段,要分别统计教授、副教授和其他人员的数量。请在空白处填入适当语句,使程序可以完成指定的功能。 Private Sub Command5_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim zc As DAO.Field Dim Countl As Integer,Count2 As Integer,Count3 As Integer Set db=CurrentDb() Set rs=db.OpenRecordset(\职工基本情况表\ Set zc=rs.Fields(\职称\ Countl=0:Count2=0:Count3=0 Do While Not rs.eof Select Case zc Case Is=\教授\ Countl=Count1+1 Case Is=\副教授\ Count2= // Count2+1 Case Else Count3=Count3+1 End Select rs.movenext Loop rs.Close Set rs=Nothing Set db=Nothing MsgBox \教授:\& Countl & \,副教授:\& Count2 & \,其他:\& Count3 End Sub 【例】16. 在窗体上有一个命令按钮Command1和一个文本框Textl,编写事件代码如下: Private Sub Commandl_Click() Dim i,j,x For i=i To 20 step 2 x=0 For j=i To 20 step 3 x=x+1 Next j Next i Textl.Value=Str(x) End Sub 打开窗体运行后,单击命令按钮,文本框中显示的结果是( )1 【例】17. 在窗体上有一个命令按钮Command1,编写事件代码如下: Private Sub Commandl_Click() Dim y As Integer y=0 Do y=InputBox(\ If(y Mod 10)+Int(y/10)=10 Then Debug.Print y; Loop Until y=0 End Sub 打开窗体运行后,单击命令按钮,依次输入10、37、50、55、64、20、28、19、-19、0,立即窗口上输出的结果是( )3755642819 【例】19. 在窗体中有一个命令按钮Commandl和一个文本框Textl,编写事件代码如下: Private Sub Commandl_Click() For I=1 To 4 X=3 For j=1 To 3 For k=1 To 2 x=x+3 Next k Next j Next I Text1.value=Str(X) End Sub 打开窗体运行后,单击命令按钮,文本框Textl输出的结果是( )21 编写程序 '1、用循环结构编程计算下列数列前10项之和,并按下图所示输出计算的结果。 ' 1 + ( - 3 / 4) + ( 5 / 9 ) + ( - 7 / 16 ) + ( 9 / 25 ) + ( - 11 / 36 ) + …… Sub p02() Dim s As Single,i As Integer S=0 For i = 1 To 10 s = s + (-1) ^ (i + 1) * ((2 * i - 1) / (i * i)) Next i MsgBox \+ ( - 3 / 4) + ( 5 / 9 ) + ( - 7 / 16 ) + ( 9 / 25 ) + ...的前十项之和为 \& Chr(13) & s End Sub ' //