单击命令按钮时,下列程序代码的执行结果为 Public Sub Procl(n As Integer,ByVal m As integer) n=n Mod 10 m=m\10 End sub Private Sub Commandl_Click() Dim x AS Integer,y AS Integer x=12:y=24 Call Procl(x,y) Print x;y End subA.12 24B.2 24C.2 3D.12 2

题目

单击命令按钮时,下列程序代码的执行结果为 Public Sub Procl(n As Integer,ByVal m As integer) n=n Mod 10 m=m\10 End sub Private Sub Commandl_Click() Dim x AS Integer,y AS Integer x=12:y=24 Call Procl(x,y) Print x;y End sub

A.12 24

B.2 24

C.2 3

D.12 2


相似考题
参考答案和解析
正确答案:B
解析:本题主要考查对过程的理解程度。在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合后执行被调过程。在Visual Basic中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下: 传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。 传值的结合过程是,当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作都不会影响实参。而题中被调过程Procl中有两个形参,其中第一个形参为传址方式,第二个形参为传值方式。主调过程分别把实参x,y传递给Procl,所以当过程调用结束后,实参x的值应随着被调过程变化而变化,而实参y值在主凋函数中始终不变,所以输出y的值仍为24;在被调过程中“n=n Mod 10”被调用时,相当于“x=x Mod 10”,所以x的最终值应为2。选项B是正确的。
更多“单击命令按钮时,下列程序代码的执行结果为Public Sub Procl(n As Integer,ByVal m As integer)n= ”相关问题
  • 第1题:

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

    A.12 34

    B.2 34

    C.2 3

    D.12 3


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

  • 第2题:

    单击命令按钮时,下列程序代码的执行结果为( )。 Private Sub Procl(nAs Integer,ByValmASInteger) n=nMod 10 m=m\10 End Sub PrivateSubCommandl_Click() Dimx As Integer Dimy As Integer x=12 y=34 CallProcl(x,y) Printx;y End Sub

    A.12 34

    B.2 34

    C.2 3

    D.12 3


    正确答案:A

  • 第3题:

    单击命令按钮时,下列程序代码的执行结果为 Private Sub Command1_Click( ) Print MyFunc(24,18) End Sub Public Function MyFunc(m As Integer,n As Integer)As Integer Do While m ◇ n Do While m>n:m=m—n:Loop DO While m<n:n=n-m:Loop Loop My Func=m End Function

    A.2

    B.4

    C.6

    D.8


    正确答案:C
    解析:根据Myfune的定义,当m与n不相等时执行D。循环,此时如果m大于n,则执行m=m-n的Do循环。据此,MyFune(24,18)的值应该为24减去18。

  • 第4题:

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

  • 第5题:

    单击命令按钮时,下列程序代码的执行结果为______。 Public Sub Procl(n As Integer, By Val 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=12Mod10=2,y=34最终的输出结果是:234。