单击命令按钮时,下列程序的执行结果为 Private Sub Command1 Click() Dim x As Integer,y A

题目

单击命令按钮时,下列程序的执行结果为 Private Sub Command1 Click() Dim x As Integer,y As Integer x=12:y=32 Call PCS(x,y) Print x;y End Sub Public Sub PCS(ByVal n As Integer,ByVal m As Integer) n=n Mod 10 m=m Mod 10 End Sub

A.1232

B.232

C.23

D.123

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

单击命令按钮时,下列程序的执行结果为

Private Sub Command1_Click()

Dim x As Integer, y As Integer

x=12: y=32

Call PCS(x, y)

Print x; y

End Sub

Public Sub PCS(ByVal n As Integer, ByVal m As Integer)

n=n Mod 10

m=m Mod 10

End Sub( )。

A.12 32

B.2 32

C.2 3

D.12 3


正确答案:A

第2题:

在窗体上画1个命令按钮,其名称为Command1,然后编写如下程序: Private Sub Command1 Click() Dim a(10) As Integer Dim x As Integer For i=1 To 10 a(i)=8+i Next x=2 Print a(f(x)+x) End Sub Function f(x As Integer) x=x+3 f=x End Function 程序运行后,单击命令按钮,输出结果为______。

A.12

B.15

C.17

D.18


正确答案:D
解析:函数f的作用是将x的值加3(由于Vb中默认的参数传递方式为ByRef,故对形参的改变将影响到实参),同时将该值作为函数的结果返回。由于开始时x的值为2,执行f(x)后,x的值为5,f(x)的结果亦为5。故最后输出的结果应为a(10),而在for循环中a(10)=8+10=18。

第3题:

单击命令按钮时,下列的执行结果为

Private Sub Command1_Click()

Dim x As Integer, y As Integer

x=86: y=29

Call Proc(x, y)

Print x; y

End Sub

Public Sub Proc(n As Integer, ByVal m As Integer)

n=n Mod 10

m=m Mod 10

End Sub( )。

A.12 32

B.6 29

C.2 3

D.12 3


正确答案:B

第4题:

在窗体上画一个名称为Command1的命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim x As Integer Static y As Integer Cls x=x+5 y=y+3 Print x,y End Sub 程序运行时,两次单击命令按钮Command1后,窗体显示的结果是( )。

A.10 6

B.5 6

C.5 3

D.10 3


正确答案:B

第5题:

单击命令按钮时,下列程序代码的执行结果为 ______。 Public Sub Procl(n As Integer,ByVal m As Integer) n=n Mod 10 m=m/10 End Sub Private Sub Command1_Click() Dim x As Integer,y As Integer x=12: y=34 Call Procl(x,y) Print x;y End Sub

A.12 34

B.2 34

C.2 3

D.12 3


正确答案:B
解析:过程中传递参数的方式有两种:
  一种是按地址传递参数,这种形式使过程用变量的内存地址去访问实际变量的内容,如果在过程中改变了该变量的值,则是真正改变了这一变量的值,这种形式是传递参数的缺省方式。
  另一种是按值传递参数,这种形式只是传递变量的副本,如果在过程中改变该变量副本的值,并不能真正改变该变量本身的值。
  解题思路:观察程序段,过程Procl的第一个参数n是按地址传递参数,第二个参数m是按值传递参数,所以调用过程Procl后,变量x的值改变,而变量y的值不变。
  由程序段可知,x=12 Mod 10=2,y=34
  最终的输出结果是: 2 34。

第6题:

在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub subl(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) z=x*x+y*y End Sub Private Sub Command1_Click() Dim a As Integer a=8 Call subl(1, 2,a) Print a End Sub 程序运行后,单击命令按钮,则窗体下显示的内容是______。

A.8

B.2

C.5

D.11


正确答案:A
解析:因为Subl过程的形参都是传值传送,所以在其内的所有计算结果都不将返回,并不影响对应的实参值,变量a的值并没有改变,仍然是8。

第7题:

在窗体上画1个命令按钮,名称为Command1,然后编写如下程序: Dim Flag As Boolean Private Sub Command1_Click() Dim intNum As Integer intNum=InputBox(“请输入:”) If Flag Then Print f(intNum) End If End Sub Function f(X as Integer)As Integer If X<10 Then Y=X Else Y=X+10 End If f=Y End Function Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X as Single,Y As Single) Flag=True End Sub 运行程序,首先单击窗体,然后单击命令按钮,在输入对话框中输入5,则程序的输出结果为______。

A.0

B.5

C.15

D.无任何输出


正确答案:B
解析:单击窗体在释放鼠标时,将会触发Form_MouseUp事件,将Flag值置True,从而允许输出。在Command1的Click事件中,通过输入框输入5,并在窗体上输出f(5),函数f的作用是,如果自变量x10,则直接返回 x,否则返回x+10。故本题应输出5。

第8题:

单击命令按钮时,下列程序的执行结果为( )。 Private Sub Commandl_Click() Dimx As Integer,y As Integer x=12: y=32 CallPCS(x,y) PrintX;y End Sub PubUc Sub PCS(ByValn As Integer,ByValm As Integer) n=nMod 10 m=mMod 10 End Sub

A.1232

B.232

C.23

D.123


正确答案:A

第9题:

单击命令按钮时,下列程序代码的执行结果为( )。 Private Function FirProc(x As Integer,y As Integer,z As Integer) FirProc=2*x+y+3*z End Funcfion Private Function SecProc(x As Integer,y As Integer,z As Integer) SecProc=FirProc(z,x,y)+x End Funcfion Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim c As Integer a=2 b=3 c=4 Printf SecProc(c,b,a) End Sub

A.21

B.19

C.17

D.34


正确答案:A

第10题:

在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:

Private Sub Command1_Click()

Dim a(10)As Integer

Dim x As Integer

For i=1 To 10

a(i)=i

Next i

x=1

MsgBoxa(f(x)+x)

End Sub

Function f(y As Integer)

y=y+2

f=y

End Function

程序运行后,单击命令按钮,消息框的输出结果为______。


正确答案:6
6 解析:本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。本题中函数f的形参y没有使用ByVal声明,则默认为传址传递。当求a(f(x)+x)值的时候,先要求出f(x)+x的值。由于x的值为1,那么调用函数f以后得到f(x)的返回值为3,同时由于函数f中改变了形参y的值,在传址传递的前提下这一改变会影响到对应的实参x,故此函数调用结束后x的值变为3,也就是最后输出的应该是a(6)的值也就是6。举一反三,如果最后输出的不是a(f(x)+x)而是 a(x+f(x)),则会先取得x的值1,然后再计算f(x)的值为3,那么最后输出的就不是a(6)的值而是a(4)的值了。

更多相关问题