参考答案和解析
正确答案:B
解析:在本题中,用Call过程名的方法调用过程P1。在P1中,将参数C的值改为12。因为参数C是按地址传送(默认为按地址传送,即ByRef),故z的值变为12了,所以输出值为12。
更多“下面程序:Private Sub Form_Click()Dim x,y,z As Integerx=5y=7z=0Call P1(x,y,z)Print Str(z)En ”相关问题
  • 第1题:

    在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序: Private Sub Command1 Click() Dim x, y, z As Integer x = 5 y = 7 z = 0 Text1.Text = " " Call P1(x, y, z) Text1.Text=Str(z) End Sub Sub Pl(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
    解析:本题主要考查传值与传地址的区别。在VisualBasic中,参数通过两种方式传送。传地址通过关键字ByRef实现,可以通过改变过程中相应的参数来改变变量的值;而在传值方式下,VisualBasic为形参分配内存空间,并将相应的实参拷贝给各形参。本题中形参c默认以传地址的方式传送参数。在事件过程中调用时,变量2经过运算后,不再保留原来的值,而变为12,故本题正确答案为B,而不是A。

  • 第2题:

    在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后输写如下程序:

    Private Sub Command1_Click()

    Dim x,y,z As Integer

    x=5

    y=7

    z=0

    Text1.Text=""

    Call Fun1(x,y,z)

    Text1.Text=Str(z)

    End Sub

    Sub Fun1(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
    解析:过程Fun1的参数c是按地址传递的(ByRef,默认的传递方式),而Fun1用语句Call Fun1(x,y,z)调用后,形参c的值为12,则实参z的值亦为12。

  • 第3题:

    下面程序:

    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(By Val a As Integer, By Val b As Integer, c As Integer)

    c=a+b

    End Sub

    运行后的输出结果为______。

    A.0

    B.12

    C.Str(2)

    D.显示错误信息


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

  • 第4题:

    下面程序: Private Sub Form_Click() Dim x,y,z As Integer x=5 y=7 z=0 CallPI(x,y,z) Print Str(z) End Sub SubP1(By Val a As Integer, By Val 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是按地址传送(默认为按地址传送,即ByRed,故x的值变为12了,所以输出值为12。

  • 第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.Sb(z)

    D.显示错误信息


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