运行下列程序:Private Sub form_Click( )x = 8: y = 2Call fun1((x), y)Print x, yEnd SubPrivate Sub fun1(x, y)s = xx = s / yy = s Mod yEnd Sub单击窗体后,则在窗体上显示的结果是( )。A.4 2B.8 2C.8 0D.2 4

题目

运行下列程序:

Private Sub form_Click( )

x = 8: y = 2

Call fun1((x), y)

Print x, y

End Sub

Private Sub fun1(x, y)

s = x

x = s / y

y = s Mod y

End Sub

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

A.4 2

B.8 2

C.8 0

D.2 4


相似考题
更多“运行下列程序:Private Sub form_Click( )x = 8: y = 2Call fun1((x), y)Print x, yEnd SubPri ”相关问题
  • 第1题:

    (28)下列程序的运行结果是。 Private Sub Command1_Click() a=1.5 b=1.5 Call fun(a,b) Print a,b Private Sub fun(x,y) x=y*x y=y+x End SubA.2.25 3.75 B.1.5 2.25 C.1.5 0.75 D.0.75 1.5


    正确答案:A
    【解析】分析程序,命令按钮中的调用函数语句执行过程为:Call fun(a,b)→x=y*y=1.5*1.5=2.25,y=y+x=1.5+2.25=3.75。因为这里的参数是默认类型,即传地址形式传递参数,所以a,b的值也改变为2.25、3.75。

  • 第2题:

    下列程序的功能是:当x<50时,y=0.8*Π;当50≤x≤100时,y=0.7*Π;当x>100时,没有意义。请填空。

    Private Sub Command1_Click()

    Dim x As Single

    x=InputBox("请输入x的值!")

    Select Case x

    Case Is < 50

    y=0.8 * x

    Case 50 To 100

    y=0.7 * x

    【 】

    Print "输入的数据出界!"

    End Select

    Print x, y

    End Sub


    正确答案:Case Else
    Case Else 解析:考查考生对多分支控制结构的掌握。阅读程序后,在Select Case 结构中,只有两个Case子句,分别表示x取值的两种情况,但题目中将x的值分为3种情况,空白处应该填写Case Else语句。嵌套使用多分支控制结构时,应注意程序执行过程。

  • 第3题:

    下列程序的运行结果是( )。 Private Sub Command1_Click() a=1.5 b=1.5 Call fun(a,b)Print a,b End Sub Private Sub fun(x,y) x=y*y y=y+x End Sub

    A.2.25 3.75

    B.1.5 2.25

    C.1.5 0.75

    D.0.75 1.5


    正确答案:A
    解析:分析程序,命令按钮中的调用函数语句执行过程为:Callfun(a,b)→x=y*y=1.5*1.5=2.25,y=y+x=1.5+2.25=3.75。因为这里的参数是默认类型,即传地址形式传递参数,所以a、b的值也改变为2.25、3.75。

  • 第4题:

    下列程序的运行结果是( )。 Private Sub Commandl_Click() a=1.5 b=1.5 Call fun(a,B)Print a,b End Sub Private Sub fun(x,y) x=y*y y=y+x End Sub

    A.2.25 3.75

    B.1.5 2.25

    C.1.5 0.75

    D.0.75 1.5


    正确答案:A
    解析:分析程序,命令按钮中的调用函数语句执行过程为:Call fun(a,B)→x=y*y=1.5*1.5=2.25,y=y+x=1.5+2.25=3.75。因为这里的参数是默认类型,即传地址形式传递参数,所以a、b的值也改变为2.25、3.750。

  • 第5题:

    执行下列程序后,鼠标单击窗体,输出结果为

    Private Sub Form_Click()

    Print "Click";

    End Sub

    Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)

    Print "Donw"

    End Sub

    Private Sub Form_MouseUp(ButtonAs Integer,Shift As Integer,X As Single,Y As Single)

    Print "Up"

    End Sub

    A.DownUpClick

    B.ClickDownUp

    C.DownClickUp

    D.UpDownCliek


    正确答案:A
    解析:鼠标单击时,依次引发MouseDown、MouseUp和Click事件,即Click事件包含鼠标按下和放开事件。

  • 第6题:

    下列程序的功能是:当x<50时,y=0.8×x;当50≤x≤100时,y=0.7×x;当x>100时,没有意义。请填空。 Private

    下列程序的功能是:当x<50时,y=0.8×x;当50≤x≤100时,y=0.7×x;当x>100时,没有意义。请填空。

    Private Sub Command1_Click()

    Dim x AS Single

    x=InputBox("请输入x的值!")

    ________

    Case Is<50

    y=0.8*x

    Case 50 To 100

    y=0.7*K

    __________

    Print"输入的数据出界!"

    End Select

    Print x,y

    End Sub


    正确答案:Select Case x Case Eles
    Select Case x Case Eles

  • 第7题:

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

  • 第8题:

    运行下列程序:

    Dim x, y

    Private Sub Form_Click( )

    x = 1: y = 1: z = 1

    fun1 (1)

    Print x; y; z

    End Sub

    Private Sub fun1(a)

    x = a + x: y = a + x: z = a + y

    End Sub

    单击窗体后,则输出结果是( )。

    A.1 1 1

    B.2 3 1

    C.2 3 4

    D.2 2 1


    正确答案:B

  • 第9题:

    运行下列程序: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

  • 第10题:

    运行下列程序:Dim bPrivate Sub Form_Click( )a = 1: b = 1Call fun1(a)Print "X = &quo

    运行下列程序:

    Dim b

    Private Sub Form_Click( )

    a = 1: b = 1

    Call fun1(a)

    Print "X = "; a; ",Y = "; b

    End Sub

    Private Sub fun1(a)

    b = 2 * a

    a = 3 * b

    End Sub

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

    A.X = 1,Y = 1

    B.X = 2,Y = 6

    C.X = 6,Y = 2

    D.X = 6,Y = 1


    正确答案:C

  • 第11题:

    程序段如下,当发生Form_Click事件时,窗体上输出的结果是( )。 Option Explicit Private x As Integer Public y As Integer Sub Test() Dim y as integer x=2:y=2 Print"x1=";x;"y1=";y End Sub Private Sub Form_Click() x=1:y=1 Test Print "X2=";x;"y2=";y End Sub

    A.x1=2 y1=2 x2=2 y2=1

    B.x1=2 y1=2 x2=2 y2=2

    C.x1=2 y1=1 x2=2 y2=2

    D.x1=2 y1=1 x2=2 y2=1


    正确答案:A
    解析:本题首先定义了一个窗体级变量x和一个全局变量y。当发生窗体的单击事件后,给窗体级变量x和全局变量y分别赋值1,然后调用Test函数。在该函数中定义了一个局部变量y,在函数中使用的y是局部变量,给窗体级变量x赋值2,给局部变量y赋值2,输出的x和y的值都是2。函数调用返回后,窗体级的变量x的值为2,全局变量y的值依旧为1。

  • 第12题:

    以下是某个窗体的模块代码,请分析单击窗体后程序运行至"*"号位置时变量X、Y和Z的值分别是【 】。

    DIM X AS INTEGER

    DIM Y AS INTEGER

    PRIVATE SUB FORM_CLICK()

    DIM X AS INTEGER

    X=1

    Y=1

    CALL AA(Y+1)

    Z=BB(X)

    '* * * * * * *

    MSGBOX "X="&X&"/Y="&Y&"/Z="&Z

    END SUB

    PRIVATE SUB AA(BYVAL Z AS INTEGER)

    Y=Z+X

    Z=X+Y

    END SUB

    PRIVATE FUNCTION BB(BYREF Y AS INTEGER

    Y=Y+1

    BB=X+Y

    END FUNCTION


    正确答案:222
    2,2,2 解析:调用AA过程后,全局变量Y的值为2。这时形参为局部变量Y,而实参为局部变量 X,传递采用“传址”调用,即形参Y与实参X占用同一内存地址,并且形参Y会获得实参X的传递值1。当执行BB过程中的Y=Y+1语句时,形参Y与实参x的值均为1+1=2,此时,函数的返回值为BB=X+Y,是全局变量X与形参Y相加,值为0+2=2。综合判断,得出答案为2, 2,2。

  • 第13题:

    有如下函数过程: Function fun1(ByVal x As Integer,ByVal y As Integer) As Integer Do While y<>0 reminder=x Mod y x=y y=reminder Loop fun1=x End Function 在下列按钮单击事件中调用该函数,则该程序的运行结果是( )。 Private Sub Command1_Click() Dim a AS Integer Dim b As Integer a=100 b=25 x=fun1(a,B) Print x End Sub

    A.0

    B.25

    C.50

    D.100


    正确答案:B
    解析:可以通过两种方式来传递参数,即按值传递参数和按地址传递参数。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。用ByVal关键字指出参数是按值来传递的。按地址传递参数使过程用变量的内存地址去访问实际变量的内容,在将变量传递给过程时,通过过程可永远改变变量值。默认时是按地址传递参数。题中fun1函数的参数都是核值传送的,函数使用“过程名=表达式”的形式获得函数的返回值,如题中“fun1=x”语句。调用函数“x=fun1(a,B)”后,x=25。

  • 第14题:

    下列程序的功能是:当x<50时,y =0.8 xx;当50≤x≤100时,y=0.7 xx;当x>100时, Private Sub Command1_

    下列程序的功能是:当x<50时,y =0.8 xx;当50≤x≤100时,y=0.7 xx;当x>100时,

    Private Sub Command1_Click()

    Dim x As Single

    x = InputBox("请输入x的值" )

    Select Case x

    Case Is<50

    y=0.8 * x

    Case 50 To 100

    y=0.7 * x

    【 】

    Print "输入数据出界!"

    End Select

    Print x, y

    End Sub


    正确答案:Case Else
    Case Else 解析:阅读程序后,在Select Case结构中,只有两个Case子句,分别表示x取值的两种情况,但题目中将 x的值分为3种情况,空白处应该填写Case Else语句。

  • 第15题:

    下列程序的功能是求方程:x2+y2=1000的所有整数解。请在空白处填入适当的语句,使程序完成指定的功能。

    Private Sub Command 1_Click()

    Dim x as intege,y as integer

    For x=-34 To 34

    For y=-34 To 34

    If______Then

    Debug.print x,Y

    End If

    Next y

    Next x

    End Sub


    正确答案:(x*x+y*y)=1000
    (x*x+y*y)=1000 解析:此处即为判断条件,此题中要求找到满足方程x2+y2=1000的x、y值,此处即应为x2+y2=1000的程序写法。

  • 第16题:

    单击一次窗体之后,下列程序代码的执行结果为______。 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

  • 第17题:

    以下程序运行后的输出结果是 ______。 Sub add(x,y) x=x+y Print "x=";x;",y=";y End Sub Private Sub Command1_Click() x=1 y=1 Call add((x),(y)) Print"x="; x;",y=";y End Sub

    A.x=1,y=1 x=2,y=2

    B.x=2,y=1 x=1,y=1

    C.x=1,y=1 x=1,y=1

    D.x=2,y=1 x=2,y=1


    正确答案:B
    解析:在过程调用语句中,一般不特别指明,参数是按传地址方式传递的。此题两个实际参数都用圆括号括起,表示为传值方式,形参的变化不影响实参,因此,虽然形参x变为2,在过程add中输出2,但返回事件过程后,输出x的值不受影响,为1。

  • 第18题:

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

  • 第19题:

    执行下列程序后,鼠标单击窗体,输出结果为 Private Sub Form_Click() Print"Click": End Sub Private Sub Form_MouseDown(Button As Integer,Shift_As Integer,X As Single,Y As Single) Print"Donw" End Sub Private Sub Form_MouseUp(Button As Integer,Shift_As Integer,X As Single,Y As Single) Print"Up" End Sub

    A.DownUpClick

    B.CfickDownUp

    C.DownClickUp

    D.UpDownClick


    正确答案:A

  • 第20题:

    运行下列程序:

    Private Sub Form_Click( )

    a$ = 2

    b$ = 1

    Call abcd(a, b, c$, d$)

    Print c; d

    End Sub

    Private Sub abcd(x$, y$, z$, s$)

    z = x + y

    s = x - y

    End Sub

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

    A.3 1

    B.1 3

    C.211

    D.显示出错信息


    正确答案:C

  • 第21题:

    运行下列程序:

    Private Sub Form_Click( )

    Dim a As Integer

    a = 1

    For i = 1 To 5

    Call fun1(a)

    Next i

    Print a

    End Sub

    Private Sub fun1(x)

    y = 2

    Do

    x = x + y

    Loop Until x > 10

    End Sub

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

    A.5

    B.1 2 3 4 5

    C.19

    D.7


    正确答案:C

  • 第22题:

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

    A.6 6 12 7 11 11

    B.8 5 10 5 11 11

    C.9 6 12 9 10 15

    D.8 10 10 5 9 10


    正确答案:A
    解析:第一次调用被调过程Gopd,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为4,4和3,执行语句x=3*z+1后,形参x值变为10,此时相对应的实参x也变为10执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6;执行z=x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程Gopd,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z+1后,形参x值为7,相对实参x值也相应的变为7;执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4;执行x=x+y后,形参z值变为11,相应的实参y的值变为11,而形参y和z的地址相同,最后它们值都应为11,所以此次调用后,程序输出的数值为7,11和11。

  • 第23题:

    有如下函数过程: Function fun1 (ByVal x As Integer, ByVal y As Integer) As Integer Do While y <> 0 reminder=x Mod y x=y y=reminder Loop fun1=x End Function 在下列按钮单击事件中调节器用该函数,则该程序的运行结果是( )。 Private Sub Command1_Click() Dim a As Integer Dim b As Integer a=100 b=25 x=fun1(a,b)Print x End Sub

    A.0

    B.25

    C.5O

    D.100


    正确答案:B
    解析:可以通过两种方式来传递参数,即按值传递参数和按地址传递参数。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身.用ByVel关键字指出参数是按值来传递的。按地址传递参数使过程用变量的内存地址去访问实际变量的内容,在将变量传递给过程时,通过过程可,永远改变变量值.默认时是按地址传递参数。题中fun1函数的参数都是按值传送的,函数使用“过程名=表达式”的形式获得函数的返回值,如愿中“fun1=x”语句。调用函数“x=fun1(s,b)”后,x=25。