运行下列程序:Private Sub Form_Click( )Dim x As Integer, y As String, z As Stringy = &qu运行下列程序:Private Sub Form_Click( )Dim x As Integer, y As String, z As Stringy = "12345"For x = 1 To Len(y)z = Mid(Left(y, x), 1)Next xPrint zEnd Sub单击窗体后,则在窗体上显示的结果是( )。A.1B.11

题目
运行下列程序:Private Sub Form_Click( )Dim x As Integer, y As String, z As Stringy = &qu

运行下列程序:

Private Sub Form_Click( )

Dim x As Integer, y As String, z As String

y = "12345"

For x = 1 To Len(y)

z = Mid(Left(y, x), 1)

Next x

Print z

End Sub

单击窗体后,则在窗体上显示的结果是( )。

A.1

B.11111

C.55555

D.12345


相似考题
更多“运行下列程序:Private Sub Form_Click( )Dim x As Integer, y As String, z As Stringy = &qu ”相关问题
  • 第1题:

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

  • 第2题:

    单击命令按钮时,下列程序的执行结果为 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计算后输出到调用的地方。

  • 第3题:

    单击命令按钮时,下列程序的执行结果是 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。注意:过程的定义和调用。

  • 第4题:

    单击按钮时,以下程序运行后的输出结果是 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,z) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub

    A.6 6 12 `

    B.9 5 10 6101051010

    C.9 6 12

    D.9 10 10 910155410


    正确答案:A
    解析:从整体上看,可得主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参x也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6。执行x=x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值变为10,相应的实参y的值变为10,而形参y和x的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

  • 第5题:

    单击一次窗体之后,下列程序代码的执行结果为______。 Private Sub Command1_ Click() Dim x As Integer, y As Integer, z As Integer x = 1: y = 2: z = 3 Call fun1 (x, y, z) Print x; y; z Call fun2(x, y, z) Print x; y; z End Sub Private Sub fun1(x As Integer, y As Integer, z As Integer) x = 10 * z y=z*z+ x z=x+ y+ z End Sub Private Sub fun2 (ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) x=10*z y=z*z+ x z=x+ y +z End Sub

    A.1 2 3 30 39 72

    B.1 2 3 1 2 3

    C.30 39 72 1 2 3

    D.30 39 72 30 39 72


    正确答案:D

  • 第6题:

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

    A.7

    B.14

    C.17

    D.30


    正确答案:B
    解析:对于多个过程或函数依次调用的处理和简单过程调用处理一样,本题先调用函数fun2,而函数fun2又调用函数fun1,结果返回的顺序是从fun1到fun2,fun2计算后输出到调用的地方。只要注意函数的调用关系依次处理即可解决此类问题。

  • 第7题:

    单击命令按钮执行下列程序,其输出结果是( )。 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 End Function Function SecProc(x As Integer,y As Integer, z As Integer) SecProc=FirProc(z,x,y)+x End Function

    A.20

    B.22

    C.28

    D.30


    正确答案:C
    解析:本题是在Command1过程中调用SecProc函数,而在SecProc函数中又调用了FirProc函数。函数调用时,实参和形参要一一对应传递.程序运行过程如下:①PrintSecProc(c,b,A)→PrintSecProc(5,4,3);②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→PrintSecProc(c,b,A)→Print28。形参是在被调用的Sub,Function过程中定义的参数名;实参则是在调用的Sub或Function过程中定义的参数名。

  • 第8题:

    下面程序: 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。

  • 第9题:

    下面程序: 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。

  • 第10题:

    运行下列程序:Private Sub Form_Click( )Dim y As Integer, x As IntegerDo Until x > 20x

    运行下列程序:

    Private Sub Form_Click( )

    Dim y As Integer, x As Integer

    Do Until x > 20

    x = x + 10

    y = y + x

    If x > 20 Then Exit Do

    Loop

    Print x, y

    End Sub

    单击窗体后,则在窗体上显示的结果是( )。

    A.10 20

    B.30 60

    C.10 30

    D.20 60


    正确答案:B

  • 第11题:

    下面程序:

    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。

  • 第12题:

    单击按钮时,以下列程序运行后的输出结果是 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


    正确答案:A
    解析:从整体上看,主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参,也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值为6。执行z=x+y后,形参。值应为12,当然这次调用后,程序代码输出的数值为6,6,12。第二次调用被调过程proc1,主调过程把实参x,x,x的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值就为10,相应的实参Y的值变为10,而形参y和。的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

  • 第13题:

    下面程序: 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。

  • 第14题:

    设有如下程序: Private Sub Form. Click( ) Dim i As Integer,x As String,y As String x="ABCDEFG" For i=4 To 1Step-1 y=Mid(X,i,i)+y Next i Print y End Sub 程序运行后,单击窗体,输出结果为( )。

    A.ABCCDEDEFG

    B.AABBCDEFG

    C.ABCDEFG

    D.AABBCCDDEEFFGG


    正确答案:A
    A。【解析】本题也是考查字符串的取值,当i=4时,y=Mid(x,4,4)+y=DEFG,当i=3时,Y=Mid(X,3,3)q-y=CDEDEFG,当i=2时,y=Mid(X,2,2)+y=BCCDEFG,当i=1时,y=Mid(x,1,1)+Y=ABCCDEFG,所以答案选择A。

  • 第15题:

    下面程序:

    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。

  • 第16题:

    有如下程序: Private Sub Commandl_Click( ) Dim i As Integer For i=1 To 2 DS Next i End Sub Sub DS( ) Dim x As Integer,m As String Static y,n X=X + 1 y=y + 1 m=m &"*”:n=n&"#" Print x,y,m,n End Sub 程序运行后,输出的结果是

    A.1 1 * #

    B.1 1 * #

    C.1 1 * # 1 1 * # 1 2 * #

    D.1 1 * # 1 1 * ## 1 2 * ##


    正确答案:D
    解析:当i=1时,调用函数过程DS,由于y,n为静态变量值保存,执行x=x+1;y=y+1后x=1,y=1执行m=m&"*":n=n&"#"后,m="*",n="#";当I=2时同上,只是y=2,n="##"。输出结果如选项D)所示。

  • 第17题:

    单击一次窗体之后,下列程序代码的执行结果为______。 Private Sub Command1_ Click() Dim a As Integer, b As Integer, c As Integer a = 1: b = 2: c = 4 Print Value(a, b,C)End Sub Function Num(x As Integer, y As Integer, z As Integer) Num = x * x + y * y + z * z End Function Function Value(x As Integer, y As Integer, z As Integer) Value = Num(x, y, z) + 2 * x End Function

    A.21

    B.23

    C.19

    D.35


    正确答案:B

  • 第18题:

    有如下函数:Private Function firstfunc(x As Integer, y As Integer) As Integer Dim n As Integer Do While n <= 4 x=x +y n=-+1 Loop firstfunc = x End Function调用该函数的事件过程如下:Private Sub Command1_lick() Dim x As Integer Dim y As Integer Dim n As Integer Dim z As Integer x=1 y=1 For n = 1 To 3 z = firstfunc(x, y) Next n Print z End Sub该事件过程的执行结果是 ______。

    A.1

    B.3

    C.16

    D.9


    正确答案:C

  • 第19题:

    当发生Form_Click事件时,下列程序的输出结果是( )。 Private m As Integer,n As Integer Private Sub Form_Click() Dim k As Integer,p As Integer k=6:p=60 Call sub1(k,p) Print m,n,m,k,p Call sub1(k,p) Print m,n,k,p End Sub Private Sub Form_Load() m=7 n=70 End Sub Public Sub sub1(x As Integer,ByVal y As Integer) Dim m As Integer n=n+5 m=n+x+y x=x+y y=x+y End Sub

    A.7 75 66 60 7 80 126 60

    B.7 75 66 60 7 75 126 60

    C.7 75 66 60 7 80 66 60

    D.7 75 66 60 7 75 66 60


    正确答案:A
    解析:本题定义了两个窗体级变量m和n,并在窗体的Load事件中给窗体级变量m和n分别赋值7和70。当发生Form_Click事件时,首先进行第一次sub1过程的调用,把k的值6按地址传递给形参x,把p的值60按值传递给形参y。在sub1中定义了一个局部变量m,因此在该函数中使用的m是局部变量而非窗体级变量。执行下面的4条赋值语句后,窗体级变量n的值为75,局部变量m的值为142,形参x的值为66,形参y的值为126。函数调用返回后,由于p是按值传递,所以它的值没有变化,k是按地址传递,所以它的值变为邱,输出m、n、k和p的值分别是7、75、66和60。同理,分析第二次sub1过程调用,可知过程调用返回后,变量m、n、k和p的值分别是7、80、126、60。

  • 第20题:

    阅读下面的程序; Function Func(x As Integer,y As Integer)As Integer Dim n As Integer Do While n < = 4 x=x + y n = n + 1 Loop Func=x End Function Private Sub Command1_Click() Dim x As Integet, y As Integer Dim n As Integer,z As Integer x=1 y=1 For n = 1 To 6 z=Func(x,y) Next n Print z End Sub 程序运行后,单击命令按钮,输出的结果为.

    A.16

    B.21

    C.26

    D.31


    正确答案:D
    解析:过程Func有两个参数,使用的是引用方式,参数和返回值均为整型,在命令按钮事件过程的For循环中调用Func过程,共循环6次,每次循环调用一次。两个过程中使用的变量(包括参数)基本相同,但由于是局部变量,不会发生冲突。无论在事件过程还是通用过程中,y的值始终保持不变,总等于1。在Func过程中,DoLoop循环共执行5次,通过变量n控制(从0~4),每次都执行x=x+1,因此,每调用一次Func过程,都使得x=x+5,并将返回值赋给事件过程中的变量z。6次调用中,循环变量n的计算过程为:1、2、3、4、5、6:返回值z的结果为:6、11、16、21、26、31。

  • 第21题:

    在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub sub1(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 sub1(1, 2,A)Print a End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.8

    B.2

    C.5

    D.11


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

  • 第22题:

    设有如下程序: Private Sub Form. Click( ) Dim i As Integer,x As String,y As String x="

    设有如下程序:

    Private Sub Form. Click( )

    Dim i As Integer,x As String,y As String

    x="ABCDEFG"

    For i=4 To 1Step-1

    y=Mid(X,i,i)+y

    Next i

    Print y

    End Sub

    程序运行后,单击窗体,输出结果为( )。

    A.ABCCDEDEFG

    B.AABBCDEFG

    C.ABCDEFG

    D.AABBCCDDEEFFGG


    正确答案:A
    A。【解析】本题也是考查字符串的取值,当i=4时,y=Mid(x,4,4)+y=DEFG,当i=3时,Y=Mid(X,3,3)q-y=CDEDEFG,当i=2时,y=Mid(X,2,2)+y=BCCDEFG,当i=1时,y=Mid(x,1,1)+Y=ABCCDEFG,所以答案选择A。

  • 第23题:

    在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为,( )。 Private Sub fun(ByVal x As Integer,ByVal y As Integer,Byval z As Integer) z=x^3*y^3 End Sub Private Sub Command1_Click() Dim m As Integer Call fun(2,3,m) Print m End Sub

    A.216

    B.0

    C.35

    D.程序不能运行


    正确答案:B
    解析:当发生了Command1.的单击事件时,调用fun过程,把常量2、3和变量m按值传给形参x、y和z,在过程fun中把表达式“x^3*y^3”的值赋给z,z的值为316。过程调用返回后,由于m是值传递,所以对z的修改并没有改变它的值,m依旧保留原来的值是0。