当Form1_Click事件发生时,程序的输出结果是( )。 Private Sub Form_Click() Dim M As Integer,k As Integer,t As Integer M=5:k=7 Select Case M Case Is<0 M=M+5 Case 1 To 10 t=M:M=k:k=t Case Else M=k Mod 3 End Select Print M,k,t End SubA.5 5 7B.5 7 5C.7 5 5D.7 5 7

题目

当Form1_Click事件发生时,程序的输出结果是( )。 Private Sub Form_Click() Dim M As Integer,k As Integer,t As Integer M=5:k=7 Select Case M Case Is<0 M=M+5 Case 1 To 10 t=M:M=k:k=t Case Else M=k Mod 3 End Select Print M,k,t End Sub

A.5 5 7

B.5 7 5

C.7 5 5

D.7 5 7


相似考题
更多“当Form1_Click事件发生时,程序的输出结果是()。Private Sub Form_Click() Dim M As Integer,k As ”相关问题
  • 第1题:

    下列程序用来计算1+2+…n,当和大于100时停止计算,请填空。

    Private Sub Form_Click()

    Dim n as integer,s as integer,I as integer,k as integer

    s=0

    k=0

    n=inputbox(″请输入n的值)

    For i=1 to 100

    k=k+1

    s=s+I

    【 】

    Next i

    Print s

    End Sub


    正确答案:if s>100 then exit for
    if s>100 then exit for 解析:依题意,用变量S来记录1到n的累加和,当累加和S大于100时停止计算,故加入退出循环条件"if s>100 then exit for"

  • 第2题:

    有如下程序: Private Sub Command1_Click() Dim k As Integer,m As Integer Dim p As Integer k=4:m=1 p=PC(k,m):Print p; p=PC(k,m):Print p End Sub Private Function PC(a As Integer,b As Integer) Static m As Integer,i As Integer m=0:i=2 i=i + m + 1 m=i + a + b PC=m End Function 程序运行后,输出的结果为

    A.4 6

    B.6 6

    C.8 8

    D.10 12


    正确答案:C
    解析:在Sub过程中,程序段先定义了3个Integer型变量k,m,P,并给k赋给初值4,m的初值为1,然后调用事件过程PC,并将它的值赋给p;在事件过程PC中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在PC中,将m,I定义为静态变量,所以第一次调用后的值仍然保留,但是m,I分别都有赋值语句,将它们的值变为0,2,所以返回值不变。

  • 第3题:

    某个窗体己编写以下事件过程。打开窗体运行后,单击窗体,消息框的输出结果为【 】。

    Private Sub Form_Click()

    Dim k as Integer, n as Integer,m as Integer

    n=10 :m=1 : k=1

    Do While k<=n

    m=m*2

    k=k+1

    Loop

    MsgBox m

    End Sub


    正确答案:1024
    1024 解析:本题考查考生对VBA中控制结构的掌握。考生应该重点掌握VBA的控制结构,本题中的Do While…Loop循环结构是考试重点内容。在题目所给程序中,第一次循环结束后,m=1*2=2,即21;第二次循环结束后, m=2*2=4,即22;可见每次循环都使得m变为原来大小的2倍。因为k的初始值为1,终止条件为k=10,所以循环一共可以执行10次,因此m最后的值应该为210,即1024。

  • 第4题:

    当Form_Click事件发生时,程序输出的结果是 ______。 Private Sub Form. Click() Dim a As Integer,b As Integer,c As Integer a=1: b=1 Print a; b Do c=a+b Print c a=b:b=c Loop Until c>=5 End Sub

    A.1 1 1

    B.2 3 5

    C.2 5 7

    D.2 3 4


    正确答案:B
    解析:当发生窗体单击事件时,首先给变量a和b赋值1,然后输出为11,并换行,执行循环,c值为2,输出2后不换行,进行赋值后a为1,b为2,判断“c>=5”为False,继续执行下一循环。第二次循环输出c值为3,循环终止条件仍为False。第三次执行后,c值为5,循环终止条件为True,循环退出。因此输出的第二行为“235”。

  • 第5题:

    当Form1_Click事件发生时,写出在窗体上显示的第二行和第三行是( )。 Private a As Integer,c As Integer Private Sub Form_Click() Dim a As Integer,b As Integer a=10:b=10:c=10 Print a,b,c Call test1(a,B)Print a,b,c End Sub Private Sub test1(m As Integer,ByVal n As Integer) Dim c As Integer m=5:n=5:c=5 Print m,n,c End Sub

    A.5 5 5 5 10 10

    B.5 5 5 5 5 10

    C.5 5 10 5 10 10

    D.5 5 5 10 10 10


    正确答案:A
    解析:本题定义了两个模块级变量a和c,此两个变量在该模块的过程中都可以使用。当发生了窗体的单击事件时,将执行Form_Click事件过程,在该过程中定义了两个变量a和b,在该过程中使用的变量a不是模块级变量a,而是局部变量a,c是模块级变量,该事件过程中第一次输出的结果是:101010。调用test1过程,变量a按地址传递给形参m,变量b按值传递给形参n,开始执行test1过程。在过程中定义了一个变量c,所以在该过程中使用的c不是模块级变量c,而是局部变量c,给m赋值为5,由于是按地址传递,所以相应的实参a也变成了5,给n赋值5并没有改变对应实参的值,给c赋值5,所以test1过程中的输出为:555。调用返回后,输出的a、b和c的值分别是51010。

  • 第6题:

    下列程序的运行结果是 Private Sub Form_Click() Dim k As Integer n=5 m=1 k=1 Do m=m+2 k=k+1 Loop Until k>n Print m End Sub

    A.1

    B.12

    C.11

    D.32


    正确答案:C
    解析:本题主要是对Do...Loop Until循环语句的考查。当Loop Until后的条件不成立时,即退出循环。该题在k为1、2、3、 4、5时,都执行了循环语句,故一共执行了五次,同时m=m+2也执行了五次,最后m的值增加了10,故运行结果为11。

  • 第7题:

    有如下事件过程: Private Sub Commaild1_Click( ) Dim i As Integer For i =1 To 2 DC Next i End Sub Sub DC( ) 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 * # 1 1 * #

    B.1 1 * # 1 2 * #

    C.1 1 * # 1 1 * ##

    D.1 1 * # 1 2 * ##


    正确答案:D
    解析:本题考查函数调用和输出格式的语句。当I=1时,调用函数过程DC,由于y,n为静态变量值保存,执行x=x+1;y=y+1后x=1,y=1;执行m=m&"*":n=n&"#"后,m="*",n="#";当I=2时同上,只是y=2,n="##"。

  • 第8题:

    有如下的程序。 Private Sub Commandl_Click( ) Dim k As Integer, m As Integer Dim P As Integer k=4: m=1 P=Fun(k, m) : Print P; P = Fun ( k, m) : Print P End Sub Private Function Fun( a As Integer, b As Integer) Static m As Integer, i As Integer m=5:i=2 i=i+m+1 m=i + a + b Fun=m\2 End Function 单击命令按钮后,输出结果为

    A.2 2

    B.4 4

    C.5 5

    D.6


    正确答案:D
    解析:在Sub过程中,程序段先定义了3个 Integer型变量k,m,P,并给A赋给初值4,m的初值为1,然后调用事件过程Fun,并将它的值赋给9;在事件过程 Fun中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在Fun中,将m,i定义为静态变量,所以第一次调用后的值仍然保留,但是 m,i分别都有赋值语句,将它们的值变为5,2,所以返回值不变都是6 6。注意: 调用函数只能返回一个结果值。注意:函数调用、参数传递

  • 第9题:

    当Form_Click;事件发生时,窗体上显示的第三行是 ______。 Private Sub Form_Click() Dim i As Integer, j As Integer, k As Integer Dim x(5, 5) As Integer For i = 1 To 5 k = 1 For j = 1 To 5 If i <= j Then x(i, j) = k + 1 k=k+2 Else x(i, j) = k + 1 End If Next j Next i For i = 1 To 5 For j = 1 To 5 Print x(i, j) Next j Print Next i End Sub

    A.22135

    B.21357

    C.22213

    D.13579


    正确答案:A
    解析:程序首先通过一个双重循环二维数组x的各个元素赋值,通过计算不难得出二维数组各行的值:第一行:13579第二行:21357第三行:22135第四行:22213第五行:22221第三行的值为22135,因此本题选A。

  • 第10题:

    下面程序运行后的结果是( )。 Private Sub Form_Click() Dim s As Integer,k As Integer,i As Integer,n As Integer s=1 fori=1 to 3 forj=i to 3 for k=j to istep-1 s=s*k nextk,J,i print s End Sub

    A.6

    B.72

    C.144

    D.432


    正确答案:D

  • 第11题:

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

  • 第12题:

    在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。 Private Sub fun3(x As Integer) Static a As Integer Dim b As Integer a=a+3:b=b+3 a=a+x:b=b+x Printa;b End Sub Private Sub Command1_Click() Dim k As Integer,m As Integer,n As Integer k=2:m=1 Call fun3(k) Call fun3(m) End Sub

    A.5 5 9 9

    B.5 5 9 4

    C.5 5 4 4

    D.5 5 4 9


    正确答案:B
    解析:当发生了Command1_Click事件时,定义了两个变量k和m并给它们赋初值2和1,执行第一次过程调用,把k的值按地址传递给形参x,进入过程执行,在过程中定义了一个静态变量a和一个局部变量b,执行四条赋值语句后,变量a和b的值分别为5和5,所以输出为55。第一次过程调用返回过后,进行第二次过程调用,进入fun过程时,要注意的是:静态变量a将依旧是上一次退出时的值5,而局部变量要重新定义,值为0。执行四条赋值语句后,变量a和b的值分别为9和4,所以输出为94。

  • 第13题:

    阅读以下程序:

    Private Sub Form_click()

    Dim k, n, m As integer

    n = 20

    m = 1

    k = 1

    Do While k <= n

    m=m+2

    k = k + 1

    Loop

    Print m

    End Sub

    单击窗体程序的执行结果是【 】。


    正确答案:41
    41 解析:本题的循环体共要执行20次,m的最终值为1+2*20=41。

  • 第14题:

    当Form1_Click事件发生时,窗体上显示的第三行是( )。 Option Base 1 Private Sub Form_Click() Dim i As Integer,j As Integer Dim k As Integer,a(5,5)As Integer For i=1 To 5 k=1 For j=1 To 5 If i<=j Then a(i,j)=k k=k+1 Else a(i,j)=1 End If Next j Next i For i=1 To 5 For j=1 To 5 Print a(i,j); Next j Print Next i End Sub

    A.1 2 3 4 5

    B.1 1 2 3 4

    C.1 1 1 2 3

    D.1 1 1 1 2


    正确答案:C
    解析:本题首先定义了一个5行5列的数组,然后通过一个二重For循环给它的每个元素赋初值,赋值规律是左上右下对角线下面的元素值为1,该对角线上元素的值为1,该对角线上面的元素值在前一元素值的基础上增加1。接着通过一个两层For循环按行输出二维数组a,故输出的第三行为“11123”。

  • 第15题:

    在窗体上画一个名称为Command1命令按钮,然后编写如下事件过程: Private Function fun1(n As Integer)As Integer Dim k As Integer If n = 1 Then k = 1 Else k = 1 + fun1(n - 1)* 2 End If fun1 = k End Function Private Sub Command1_Click () Dim m As Integer, x As Integer x = 4 m = fun1 (x) Print m End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.4

    B.6

    C.9

    D.15


    正确答案:D
    解析:fun1是一个递归过程,fun1函数过程共调用了5次,在Command1的单击事件中调用了fun1(4),其他3次调用的分别是fun1(3)、fun1(2)和fun1(1),由fun1函数过程自身调用。在fun1的调用过程中,相当于k=1、k=1+1×2=3、k=1+3×2=7、k=1+2×7=15。

  • 第16题:

    有如下程序: Private Sub Command1_Click() Dim k As Integer,m As Integer Dim op As Integer k=4:m=1 p=PPC(k,m):Print op; p=PPC(k.m):Print op End Sub Private Function PPC(a As Integer,b As Integer) Static m As Integer,i As Integer m=0:i=2 i=i+m+1 m=i+a+b PPC=m End Function 程序运行后,输出的结果为

    A.4 6

    B.6 6

    C.8 8

    D.10 12


    正确答案:C
    解析:考查考生对函数及函数参数的运用。
      [解题要点] 在Sub过程中,程序段先定义了3个Integer型变量k,m,op,并为k赋给初值4,m的初值为1,然后调用事件过程PPC,并将它的值赋给op。在事件过程PPC中定义了两个形参,参数的传送通过引用实参,即将k,m的地址作为a,b的地址;在PPC中,将m,i定义为静态变量,第一次调用后的值仍然保留,但是m,i分别都有赋值语句,将它们的值变为0,2,所以返回值不变。
      [错解分析] 函数PPC中的两个参数都是以传值方式传递,注意不要与传地址方式传递混淆。
      [考点链接] 过程的定义和调用,以及参数传递方式的选择。

  • 第17题:

    阅读下列程序: Private Sub Command1_Click( ) Dim i As Integer,k As Integer k=2 For i=1 To 3 Print H(k); Next i End Sub Function H(j As Integer) a=0 Static b a=a+1 b=b+1 H=a*b+j End Function 程序运行后,单击命令按钮输出结果是

    A.234

    B.345

    C.567

    D.356


    正确答案:B
    解析:被调过程是一个函数过程,它有一个形式参数j,在被调过程声明中,定义了一个参数a,初值为0,一个静态变量b。语句a=a+1和b=b+1分别使用a和b各增加1,然后返回H的值,因为b是静态变量,所以每次调用同一个参数k时,b会保留前次的数值,使输出的结果变化,否则每次输出的结果都是一样的。根据分析,第一次调用时a=1,b=1,H=3;第二次调用:a=1,b=2,H=4;第三次调用:a=1,b=3=,H=5。所以最后的输出结果是345。

  • 第18题:

    有如下的程序: Private Sub Command1_Click() Dim k As Integer,m As Integer Dim P As Integer k=4:m=1 P=Fun(k,m):Print P; P=Fun(k,m):Print P End Sub Private Function Fun(a As Integer,b As Integer) Static m As Integer,i As Integer in=5:i=2 i=i+m+1 m=i+a+b Fun=m\2 End Function 单击命令按钮后,输出结果为

    A.2 2

    B.4 4

    C.5 5

    D.6 6


    正确答案:D
    解析:在Sub过程中,程序段先定义了3个Integer型变量k,m,p,并赋给k初值为4,m的初值为1,然后调用事件过程Fun,并将它的值赋给p;在事件过程Fun中定义了两个形参,参数的传送是通过引用实参,即将k,m的地址作为a,b的地址;在Fun中,将m,i定义为静态变量,所以第一次调用后的值仍然保留,但是m,i分别都有赋值语句,将它们的值变为5,2,所以返回值不变,都是6,6。

  • 第19题:

    为某个窗体编写如下事件,单击窗体,消息框显示的结果为【 】。

    Private Sub Form_Click( )

    Dim k As Integer ,n As Integer ,m As Integer

    n=10:m=1:k=1

    Do While k<=n

    m=m*2

    k=k+1

    Loop

    MsgBox m

    End Sub


    正确答案:1024
    1024 解析:Do While语句是先判断条件,如果条件为True,则执行循环体。本题中的条件表达式是k=n,而刚开始k=1,n=10,而循环一次k就加1,故一共要执行10次循环。而m每执行一次就乘2,故一共乘了10次2,最后m的值为1024。

  • 第20题:

    以下程序运行后输出的结果是 ______。 Option Base 1 Private Sub Form_Click() Dim A(20) For K=1 To 20 A(K)=K^2 Next K Print A(K) End Sub

    A.20

    B.441

    C.400

    D.出错信息


    正确答案:D
    解析:本题定义A是一个一维数组,数组元素的下标范围允许为1~20。在循环中,将下标变量的平方赋给该数组的每个元素。当循环结束后,输出A数组的第K个元素的值,但此时K的值是21,A数组无此元素,故产生下标越界的错误。

  • 第21题:

    当发生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。

  • 第22题:

    有如下程序:Private Sub Command1_Click() Dim k As Integer,m As Integer Dim op As Integer k=4:m=1 op:PPC(k,m):Print op; op:PPC(k,m):Print opEnd SubPrivate Function,PPC(a As Integer,b As Integer) Static m As Integer,i As Integer m=0:i=2 i=i+m+1 m=i+a+b PPC=mEnd Function程序运行后,输出的结果为

    A.4 6

    B.6 6

    C.8 8

    D.10 12


    正确答案:C
    解析:在Sub过程中,程序段先定义了3个Integer型变量k,m,op,并给k赋给初值4,m的初值为1,然后调用事件过程PPC,并将它的值赋给op;在事件过程PPC中定义了两个形参,参数的传送是通过引用实事,即将k,m的地址作为a,b的地址;在PPC中,将m,I定义为静态变量,第一次调用后的值仍然保留,但是m,I分别都有赋值语句,将它们的值变为0,2,所以返回值不变。注意:过程的定义和调用,以及参数传递方式的选择。

  • 第23题:

    执行下面的程序,单击窗体后窗体消息框内显示结果是( )。 PRIVATE SUB FORM_CLICK() DIM STR AS STRING, K AS INTEGER STR="AB" FOR K = LEN(STR) TO 1 STEP -1 STR=STR&CHR(ASC(MID(STR, K, 1)) +K) NEXT K MSGBOX STR END SUB

    A.ABCE

    B.ABCD

    C.ABDB

    D.ABFB


    正确答案:C
    解析:对字符串变量STR(初始值为"AB")进行字符追加,分析其中的Len、Chr和Mid三个字符串处理函数后,可以判断出追加的字符是D和B,故答案C正确。