第一部分(模块与VBA编程基础<习题8>)(p1~p6)
一、选择题(1~17)(p1-p3):
1.VBA中定义符号常量可以用关键字
A)Const B)Dim C)Public D)Static
2.Sub过程和Function过程最根本的区别是
A)Sub过程的过程名不能返回值,而Function过程能通过过程名返回值
B)Sub过程可以使用Call语句或直接使用过程名,而Function过程不能
C)两种过程参数的传递方式不同
D)Function过程可以有参数,Sub过程不能有参数
3.定义了二维数组A(2 to 5,5),则该数组的元素个数为
A)25 B)36 C)20 D)24
4.已知程序段:
s=0
For i=1 To 10 step 2
s=s+1
i=i*2
Next i
当循环结束后,变量i的值为a,变量s的值为b。
a. A)10 B)11 C)22 D)16
b. A)3 B)4 C)5 D)6
5.以下内容中不属VBA提供的数据验证函数是
A)IsText B)IsDate C)IsNumeric D)IsNull
6.已定义好有参函数f(m),其中形参m是整型量。下面调用该函数,传递实参为5将返回的函数值赋给变量t.以下正确的是
A)t=f(m) B)t=Call(m) C)t=f(5) D)t=Callf(5)
7.在有参函数设计时,要想实现某个参数的“双向”传递,就应当说明该形参为“传址”调用形式。其设置选项是
A)ByVal B)ByRef C)Optional D)ParamArray
8.在VBA代码调试过程中,能够显示出所有在当前过程中变量声明及变量值信息的是
A)快速监视窗口 B)监视窗口 C)立即窗口 D)本地窗口
9.VBA的逻辑值进行算术运算时,True值被当作
A)0 B)-1 C)1 D)任意值
10.VBA中不能进行错误处理的语句结构是
A)On Error Then标号 B)On Error Goto 标号
C)On Error Resume Next D)On Error Go 100
11.VBA中用实际参数a和b调用有参过程Area(m,n)的正确形式是
A)Aream,n B)Area a,b C)Call Area(m,n) D)Call Area a,b
12.给定日期DD,可以计算该日期当月最大天数的正确表达式是
A)Day(DD)
B)Day(DateSerial(Year(DD),Month(DD),Day(DD)))
C)Day(DateSerial(Year(DD),Month(DD),0))
D)Day(DateSerial(Year(DD),Month(DD)+1,0)
13.下列关于宏和模块的叙述中,正确的是
A)模块是能够被程序调用的函数
B)通过定义宏可以选择或更新数据
C)宏或模块都不能是窗体或报表上的事件代码
D)宏可以是独立的数据库对象,可以提供独立的操作动作
14.有如下VBA代码,运行结束后,变量n的值是
下列属于vb字符串函数是n=0
For i=1 TO 3
Forj=-4 To -1
n=n+1
Nextj
Next i
A)0 B)3 C)4 D)12
15.假设有如下Sub过程:
Sub sfun(x As Single,Y As Single)
t=x
x=t/y
y=t mod y ‘mod求余计算 例7 mod 4 =3
End Sub
在窗体中添加一个命令按钮(名为Comnndl),编写如下事件过程
Private Sub Commandl_Click()
Dim a As SinSle
Dim b As SinSle
a=5:b=4
sfun(a,b) ‘原书有错,改为:sfun a,b或call sfun(a,b)
MsgBox a & chr(10) + chr(13) & b ‘chr(数值)的功能返回数值对应的字母
End Sub ‘chr(10)=’返回1个换行符
?????‘chr(13)=’返回一个空格符号
注意:a → x ; b → y 是按地址传递的,因此不能写成sfun 5,4
chr与Asc互逆 例asc(a)=97 ; chr(97)=a asc(chr(97))=97
打开窗体运行后,单击命令按钮,消息框中有两行输出,内容分别为
A)1和1 B)1.25和l C)1.25和4 D)5和4
16.有如下VBA程序段:
sum=0
n=0
For i=1 TO 5
x=n/i
n=n+1
slim=sum
Next i
以上For循环计算sum,完成的表达式是
A)1+1/1+2/3+3/4+4/5 B)1+1/2+1/3+1/4+1/5
C)1/2+2/3+3/4+4/5 D)1/2+1/3+1/4+1/5
17.在窗体中有一个命令按钮runl6,对应的事件代码如下:
Private Sub runl6_Enter()
Dim num As Integer
Dim a As Integer
Dim b As Integer .
Dim i As Integer
For i=1 To 10
num=InputBox("请输入数据:","输入",1)
if Int(num/2)=num/2 Then ‘Int取整函数 例int(3.5)=3
a=a+1
Else
b=b+1
End lf
Next I
MsgBox("运行结果:a="& Str(a) & ",b=" & Str(b))
End Sub ‘str(123)=”123”将123转换成字符串
与val互逆。例:Val(str(123))=123
运行以上事件所完成的功能是
A)对输入的10个数据求累加和
B)对输入的10个数据求各自的余数,然后再进行累加
c)对输入的10个数据求分别统计有几个是整数,有几个是非整数
D)对输人的10个数据求分别统计有几个是奇数,有几个是偶数
二、填空题(1~25)(p4—p6)
1.VBA的全称是 Visual Basic for Application。
2.模块包含了一个声明区域和一个或多个子过程(以Sub开头)或函数过程(以Function开头)。
3. 说明变量最常用的方法,是使用Dim … As …结构.
4.VBA中变量作用域分为3个层次,这3个层次是局部变量、模块变量和全局变量。
5.在模块的说明区域中,用private关键字说明的变量是模块范围的变量;而用public或Global键字说明的变量是属于全局范围的变量。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论