计算机二级

单击按钮时,以下列程序运行后的输出结果是 Private Sub proc1(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=X+y End Sub Private Sub Command1_Click( ) Dim x As Integer,y As Integer,z As Integer x=1:y=2:z=3 Call proc1(x,x,2) Print x;x;z Call proc1(x,y,y) Print x;y;y End S

题目

单击按钮时,以下列程序运行后的输出结果是 Private Sub proc1(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=X+y End Sub Private Sub Command1_Click( ) Dim x As Integer,y As Integer,z As Integer x=1:y=2:z=3 Call proc1(x,x,2) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub

A.6 6 12 6 6 10

B.9 5 10 5 10 10

C.9 6 12 9 10 15

D.9 5 10 5 4 10

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

第1题:

在窗体上画一个名称为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。

第2题:

单击命令按钮时,下列程序代码的执行结果为( )。 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

第3题:

单击命令按钮执行下列程序,其输出结果是。 Private Sub Commana1_Click() Dim a As Integer,b As Integer,c As Integer a = 3 b = 4 c = 5 Print SecProc(c,b,a) End Sub Function FirProc(x As Integer,y As Integer,z As Integer) FirProc = 2 * x + y + 3 * z End Function Function SecProc(x As Integer,y As Integer,z As Integer) SecProc = FirProc(z,x,y) + x End FunctionA. 20 B. 22 C. 28 D. 30


正确答案:C
【解析】本题是在Commana1过程中调用SecProc函数,而在SecProc函数中又调用了FirProc函数。函数调用时,实参和形参要一一对应传递。程序运行过程是:①Print SecProc(c,b,a)→Print SecProc(3,5,4);②SecProc = FirProc(z,x,y) + x→SecProc = FirProc(3,5,4) + 5;③FirProc = 2 * x + y + 3 * z→FirProc = 2 * 3 + 5 + 3 * 4=23;④SecProc = 28→Print SecProc(c,b,a)→Print28.形参是在被调用的Sub、Function过程中定义的参数名;实参则是在调用的Sub或Function过程中定义的参数名。

第4题:

单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click() Dim a As Integer,b As Integer,c As Integer a=2:b=3:C=4 Print P2(c,b,A)End Sub Private Function P1(x As Integer,y As Integer,z As Integer) P1=2 * X + y + 3 * z End Function Private Function P2(x As Integer,y As Integer,z As Integer) P2=P1(z,x,y) + X End Function

A.21

B.19

C.17

D.34


正确答案:A
解析:对于多个过程或函数依次调用和处理与简单过程调用处理一样,本题先调用函数P2,而函数P2又调用函数P1,结果返回的顺序是从P1到P2,P2计算后输出到调用的地方。

第5题:

下面程序: Private Sub Form. _Click () Dim x, y, z As Integer x=5 y=7 z=0 Call P1(x, y, z) Print Str (z) End Sub Sub P1 (ByVal a As Integer, ByVal b As Integer , c As Integer) c= a+b End Sub 运行后的输出结果为______。

A.0

B.12

C.Str(z)

D.显示错误信息


正确答案:B
解析:在本题中,用Call过程名的方法调用过程P1,在P1中,将参数C的值改变为12。因为参数C是按地址传送(默认为按地址传送,即ByRef),故z的值变为12了,所以输出值为12。

第6题:

下列程序运行后,单击命令按钮,窗体显示的结果为( )。 Private Function pl(x As Integer,y As Integer,z As Integer) pl=2*x+y+3*z End Function Private Function p2(X As Integer,y As Integer,z As Integer) p2=p1(z,y,x)+x End Function Private Sub Commandl_Click()

A.23

B.19

C.21

D.22


正确答案:A

第7题:

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

Private Sub Command1_Click()

Dima As Integer,b As Integer,c As Integer

a=3:b=4:c=5

Print SecProc(c,b,A)End Sub

Function FirProc(x As Integer,y As Integer,z As Integer)

FirProc=2*x+y+3*z+2

End Function

Function SecProc(x As Integer,y As Integer,z As Integer)

SecProc=FirProc(z,x,y) +x+7

End Function

A.20

B.25

C.37

D.32


正确答案:C
解析:此题程序代码中用了嵌套调用,我们对这样的问题要多加小心,千万不要把实参和相对应的形参弄混。主调过程Commandl_Click输出的是SecProc(c,b,A)的返回值,调用过程SecProc时,主调过程分别把实参c、b、a地址传给形参x、y、z,此时在过程SecProc中,SecProc=FirProc(a,c,B)+7。由此看出,程序段执行此语句时,将调用过程FirProc。把实参a,c,b的地址分别传给形参x、y、2,此时在过程FirProc中,FirProc=2*x+y+3*z+2,所以FirProc(a,c,B)=6+4+15 +2=27,SecProc(a,c,B)=27+3+7=37。

第8题:

在窗体上画一个命令按钮,然后编写如下程序: Sub S1(ByVal x As Integer,ByVal y As Integer) Dim t As Integer t=x x=y y=t End Sub Private Sub Command1_Click() Dim a As Integer,b As Integer a=10 b=30 S1 a,b Print"a=";a;"b=";b End Sub 程序运行后,单击命令按钮,输出结果是 ______。

A.a=30 b=10

B.a=30 b=30

C.a=10 b=30

D.a=10 b=10


正确答案:C
解析:过程S1似乎是要将两个变量的值进行交换,但由于参数是用传值的方式来传递变量值的,所以执行完该过程后,a和b的值并未被交换,保持原来的值不变。

第9题:

在窗体上画一个命令按钮,然后编写如下程序 Private Sub Command4 Click() Dim a As Integer,b As Integer a=1 b=2 Print N(a,B)End Sub Function N(x As Integer,y As Integer)As Integer N=IIf(x>y,x,y) End Function 程序运行后,单击命令按钮,输出结果为

A.l

B.2

C.5

D.8


正确答案:B
解析:事件过程N的作用是输出两个数中最大的,它调用了IIF函数,条件部分是(x>y),如果满足,那么N的值即为x的值,否则为y的值。在Sub过程中,定义了两个变量a,b,并赋给它们初值1,2,并调用Print函数,输出N(a,B)的值,因为xy,所以输出y=2。

第10题:

单击命令按钮时,下列程序的执行结果是 Private Sub Command1_Click() Dim a As Integer,b As Integer,C As Integer a=3 b=4 c=5 Print SecProc(c,b,A)End Sub Function FirProc (x As Integer,y As Integer,z As Integer) FirProc=2 * x + y + 3 * z+2 End Function Function SecProc (x As Integer,y As hteger,z As Integer) SecProc=FirProc(z,x,y)+x+7 End Function

A.20

B.25

C.37

D.32


正确答案:C
解析:此题程序代码中用了两层调用,我们对样的问题要多加小心,不能掉以轻心,千万不要把实参和相对应的形参弄混淆。主调过程Commandl_Click;输出的是SecProc(c,b,A)返回值,调用过程SecProc时,主调过程分别把实参c、b、a地址传给形参x、y、z,此时在过程SecProc中,SecProc(a,C.B)+7。由此看出,程序段执行此语句时,将调用过程FirProe。把实参a,c,b的地址分别传给形参x、y、z,,此时在过程FirProe中,Firproc=2*x+y+3*z+2,所以FirProc(a,c,B)=6+4+15+2=27,SecProc(a,c,B)=27+3+7=37。注意:过程的定义和调用。

更多相关问题