在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序:Public x As IntegerPrivate Sub C

题目

在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序: Public x As Integer Private Sub Commandl_click() x=10 Call s 1 Call s 2 MsgBOx x End Sub Pfivate Sub s1() x=x+20 End Sub Private Sub

A.10

B.30

C.40

D.50

参考答案和解析
正确答案:B
解析: 本题考查变量作用域的知识。在整个程序中定义了一个全局变量x,在命令按钮的单击事件中对这个x赋值为10,然后依次调用s1和s2;在s1中对x自加了20;在s2中用Dim定义了一个局部变量 x,按照局部覆盖全局的原则,在s2中的操作都是基于局部变量x而不是全局变量x。故此最终的输出结果为30。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在窗体中添加一个命令按钮,名称为Commandl,然后编写如下程序:

窗体打开运行后,单击命令按钮,则消息框的输出结果为__________。


正确答案:
2500【解析】本题考查循环的知识。这个问题比较简单,实际上就是求l到100之间的奇数和,最终结果为2500。

第2题:

在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序:

Private Sub Commandl Click( )x=10

Call slCall s2MsgBox x

End Sub

Private Sub sl( )x=x+20

End Sub

Private Sub s2( )Dim x As Integer

窗体打开运行后,单击命令按钮,则消息框的输出结果为( )。

A.10

B.30

C.40

D.50


正确答案:B

B。【解析】在本题中,定义了一个全局变量X,在命令按钮的单击事件中对这个X赋值为10,然后依次调用sl和s2;在s1中对X自加了20;在s2中用Dim定义了一个局部变量x,按照局部覆盖全局的原则,在s2中的操作都是基于局部变量X而不是全局变量X。所以本题输出结果为30。

第3题:

在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序:Public X As Integer Private Sub Commandl Click( )x=10 Call slCall s2MsgBox x End Sub Private Sub sl( )x=x+20 End Sub Private Sub s2( )Dim x As Integer x=x+20End Sub窗体打开运行后,单击命令按钮,则消息框的输出结果为( )。

A.10

B.30

C.40

D.50


正确答案:B
B。【解析】在本题中,定义了一个全局变量X,在命令按钮的单击事件中对这个X赋值为10,然后依次调用sl和s2;在s1中对X自加了20;在s2中用Dim定义了一个局部变量x,按照局部覆盖全局的原则,在s2中的操作都是基于局部变量X而不是全局变量X。所以本题输出结果为30。

第4题:

在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序:窗体打开运行后,单击命令按钮,则消息框的输出结果为( )。

A. 3

B. 4

C. 6

D. 7


正确答案:A
本题考查VBA中参数传递的知识。在 VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用 ByRef声明,说明此参数为传址调用:没有说明传递类型,则默认为传址传递。本题中在定义子过程f的时候用ByVal声明了形参x,说明为传值调用,此时对X的任何更改不会影响调用它的实参i,所以执行完Call f(i)这条语句后i的值不变仍为3,当然也不满足If语句的条件,故此最后输出结果为3。

第5题:

在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序:窗体打开运行后,单击命令按扭,则消息框的输出结果为( )。

A. 10

B. 30

C. 40

D. 50


正确答案:B
本题考查变量作用域的知识。在整个程序中定义了一个全局变量x,在命令按钮的单击事件中对这个x赋值为10,然后依次调用s1和s2;在s1中对x自加了20;在s2中用Dim定义了一个局部变量x,按照局部覆盖全局的原则,在s2中的操作都是基于局部变量x而不是全局变量x。故此最终的输出结果为30。

第6题:

在窗体上添加一个名称为Textl的文本框和一个名称为Commandl的命令按钮,然后编写如下事件过程:

程序运行后,单击命令按钮,在文本框中显示的值是__________。


正确答案:
30【解析】本题考查VBA中二维数组和循环的知识。本题属于比较简单的问题,使用了二重循环为二维数组进行了部分赋值,最后求两个数组元素值并求和,注意这两个元素是否已被赋值,若没有赋值则为0。本题中对于a(2,3)赋值为2*3也就是6,a(4,6)赋值为4*6也就是24,最后的结果为6 24=30。

第7题:

在窗体中添加一个名称为Coml的命令按钮,然后编写如下程序:


正确答案:
3【解析】本题考查VBA程序的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。此题中形参P被说明为ByVal传值形式的整型量,当运行Cornl-click过程时调用s函数,实参i传送其值给形参P,P发生变化p=p*2=3*2=6。但因为使用的是ByVal传值传递,所以实参i的值不发生变化,if语句中的判断条件为假,所以会直接执行MsgBox i语句后输出3。

第8题:

在窗体中添加一个名称为Commandl的命令按钮,然后编写如下程序:

Pfivme Sub f(ByVal x As Integer)

x=x+4

End Sub

Pfivate Sub Commandl_Click()

i=3

Call f(i)

Ifi>4 Then i=i*2

MsgBOx I

End Sub

窗体打开运行后,单击命令按钮,则消息框的输出结果为______。


正确答案:3
3 解析: 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。本题中在定义子过程f的时候用ByVal声明了形参x,说明为传值调用,此时对x的任何更改不会影响调用它的实参i,所以执行完Call f(i) 这条语句后i的值不变仍为 3,当然也不满足If语句的条件,故此最后输出结果为3。

第9题:

在窗体上添加一个命令按钮(名为Commandl),然后编写如下程序:

打开窗体运行后,单击命令按钮,消息框的输出结果为__________。


正确答案:
20【解析】本题考查IIf函数的知识。对于Ⅱf函数可用于执行简单的条件判断操作,当第一个参数为真时返回第二个参数值,否则返回第三个参数值。因为x>y为假,所以返回Y的值也就是返回20。