有如下的程序:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegera=8b=3Calltest(6,a,b+1)Print"主程序";6;a;bEndSubSubtest(xAsInteger,ByValyAsInteger,ByValzAsInteger)Print"子程序";x;y;zx=2y=4z=3EndSub当单击Command1后,运行程序显示的结果是( )A.子程序643主程序684B.主程序643子程序684C.主程序684子程序683D.子

题目

有如下的程序:

PrivateSubCommand1_Click()

DimxAsInteger,yAsInteger

a=8

b=3

Calltest(6,a,b+1)

Print"主程序";6;a;b

EndSub

Subtest(xAsInteger,ByValyAsInteger,ByValzAsInteger)

Print"子程序";x;y;z

x=2

y=4

z=3

EndSub

当单击Command1后,运行程序显示的结果是( )

A.子程序643主程序684

B.主程序643子程序684

C.主程序684子程序683

D.子程序684主程序643


相似考题
参考答案和解析
正确答案:C
更多“有如下的程序:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegera=8b=3Calltest(6,a,b+ ”相关问题
  • 第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
    解析:在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在Visual Basic中,实参与形参的结合有两种方式,即传址与传值。这两种方法的特点如下: 传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。 传值的结合过程时:当调用一个过程,系统将实参的值复制给形参并断开了联系,被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程PCS中有两个形参,两者均为传值方式。主调过程分别把实参,x、y传递给PCS,所以当过程调用结束后,实参x、y的值都没有改变,最后输出的值应为:12 32。

  • 第2题:

    设有Function过程:

    Private Function f(a As Integer, b As Integer) As Integer

    a = a * a:

    b = b * b

    f = CInt(Sqr(a - b))

    End Function

    则如下程序段的运行结果是( )。

    Private Sub Command1_Click()

    Dim X As Integer, Y As Integer

    X = 5: Y = 4

    a = f(X, Y)

    Print a

    End Sub

    A. 5

    B. 4

    C. 3

    D. 9


    正确答案:C

  • 第3题:

    窗体上有一个名为Commandl的命令按钮,并有如下程序:

    Private Sub Command 1_Click()

    Dim a As Integer, b As Integer

    a=8

    b=12

    Print Fun(a, b);a; b

    End Sub

    Private Function Fun(ByVal a As Integer, b As Integer)As Integer

    a=a Mod 5

    b=b、5

    Fun=a

    End Function

    程序运行时,单击命令按钮,则输出结果是

    A)3 3 2

    B)3 8 2

    C)8 8 12

    D)3 8 12


    正确答案:B

  • 第4题:

    单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click( ) Dim x As Integer,y As Integer x=12:y=32 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.2 32

    C.2 3

    D.12 3


    正确答案:B
    解析:函数过程在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在VisualBasic中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下:1)传址的结合过程时:当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。2)传值的结合过程时:当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程Proc中有两个形参,其中第一个形参n为传址方式,第二个形参m为传值方式。主调过程分别把实参x、y传递给Proc,所以当过程调用结束后,实参x的值应随着被调过程变化而变化,而实参y值在主调函数中始终不变,所以输出y的值仍为32;在被调过程中“n=nModl0"被调用时,相当于“x=xMod10”,所以x的值最终为32,最后输出结果如选项B所示。

  • 第5题:

    若有如下程序:main(){int a=1,b=1;for(;a<=10;a++){if(b>=9)break;if(b%3==1){b+=3;continue;}b+

    若有如下程序: main() { int a=1,b=1; for(;a<=10;a++) { if(b>=9) break; if(b%3==1) {b+=3;continue;} b++; } printf("%d,%d",b,a); } 则程序运行后的输出结果是( )。

    A.10,4

    B.7,3

    C.10,3

    D.11,3


    正确答案:A
    解析:本题中for循环循环10次。如果b>=9结束循环。如果b能被3整除结束本次循坏。都不成立b加1。for循环执行过程为:当a=1,b=1时,b%3=1,b=b+3=1+3=4,进入下一次循环:当a=2,b=4时,b%3=1,b=b+3=4+3=7,进入下一次循环;当a=3,b=7时,b%3=1,b=b+3=7+3=10,进入下一次循环;当a=4,b=10时,因b>=9成立,执行“break;”退出循环。