运行下列程序:Private Sub Command1_Click( )Dim A(10) As IntegerFor i = 1 To 5A(i) = iA(i + 5) = iNext iFor i = 1 To 10s = s + A(i)Next iDebug.Print sEnd Sub单击按钮后,则在立即窗口内显示的结果是( )。A.5B.10C.30D.出错信息

题目

运行下列程序:

Private Sub Command1_Click( )

Dim A(10) As Integer

For i = 1 To 5

A(i) = i

A(i + 5) = i

Next i

For i = 1 To 10

s = s + A(i)

Next i

Debug.Print s

End Sub

单击按钮后,则在立即窗口内显示的结果是( )。

A.5

B.10

C.30

D.出错信息


相似考题
参考答案和解析
正确答案:C
更多“运行下列程序:Private Sub Command1_Click( )Dim A(10) As IntegerFor i = 1 To 5A(i) = iA(i ”相关问题
  • 第1题:

    下列程序的输出结果是______。

    Private Sub Command1_Click()

    Dim arr(1To 10)

    For i=1 To 10

    arr(i)=i

    Next i

    For Each i In arr()

    arr(i)=arr(i)*2+1

    Next i

    MsgBox arr(7)

    End Sub


    正确答案:15
    15 解析:本题考查VBA中For Each…Next循环的知识。For Each…Next循环是一种特殊的循环,这种循环只能用在数组中,用来遍历数组中的每一个元素。本题中的第一个循环为数组的每个元素赋值,而第二个循环中更改了这些值。综合两个循环来看,实际上最后arr(i)的值为 2*i+1。

  • 第2题:

    在窗体上有一个命令按钮,然后编写如下事件过程:

    Private Sub Command1_Click()

    Dim a(5) As String

    FOR i=1 To 5

    a(i) =Chr(Asc("A") +(i-1))

    Next

    For Each b In a

    Print b;

    Next

    End Sub

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

    A.ABCDE

    B.1 2 3 4 5

    C.abcde

    D.出错信息


    正确答案:A
    解析:本题考查数组的赋值操作及For Each…In循环语句。本程序段首先定义了一个一维数组变量,然后用For循环为其赋值,Asc() 函数的作用是返回字符的ASCII码,字符“A”的ASCII码为65,Chr() 函数的作用是将ASCII码值变为相应的字符,而“a(i)=Chr(Asc("A") +(i-1))”的作用是将每次比原来大1的ASCII码值变为字符赋给a,所以a的元素是“A,B,C,D,E”。For Each…In用于输出a中元素的值,所以正确答案是选项A。

  • 第3题:

    以下程序的功能是将多维数组a(1 To m,1 To n)中的元素转移到一个名为b(1 To n*m)的一维数组中,完成该程序。

    OptionBase 1

    Private Sub Command1_Click(Index As Integer)

    Dima(1 To 20,1 To 10)

    Dim b()

    ReDimb(1 To 200)

    For i=1 To 20

    For j=1 To 10

    A(i,j)=i*j

    Next j

    Next i

    Tran a,20,10b

    End Sub

    Sub Tran(a()an,n,b())

    Dim i As Integer

    For i=1 To m

    For j=1 To n

    ______=a(i,j)

    Next j

    Next i

    End Sub


    正确答案:b((i-1)*n+j)
    b((i-1)*n+j)

  • 第4题:

    下面程序:________Option Base 1Private Sub Command1_Click() Dim a(10),p(3)As Integer Dim i,k As Integer k=5 For i=1 To 10 a(i)=i Next For i=1 To 3 p(i)=a(i*i) Next For i=1 To 3 k=k+p(i)*2 Next Print kEnd Sub运行后的输出结果为________。

    A.33

    B.28

    C.35

    D.37


    正确答案:A
    解析:此题中共定义了两个数组:a(i),p(i),共用到三次For循环:
      第一个For语句是对数组a(i)赋值,a(1)到a(10)的值分别为1到10;
      第二个For语句是对数组p(i)赋值,p(1)=a(1)=1,p(2)=a(4)=4,p(3)=a(9)=9;
      第三个For语句是对k的值循环相加,三次循环的结果分别为:7,15,33。

  • 第5题:

    下面程序段的运行结果是【 】。

    Option Base 1

    Private Sub Swap (a() As Integ

    For I=1 to 10\2

    t=a(I)

    a(I)=a(10-I+1)

    a(10-I+1)=t

    Next I

    End Sub

    Private Sub Form_Click()

    Dim x(10) As Integer

    For I=1 to 10

    x(I)=I*2

    Next I

    Swap x()

    For I=1 to 10

    Print x(I)

    Next I

    End Sub


    正确答案:20 18 16 14 12 10 8 6 4 2
    20 18 16 14 12 10 8 6 4 2 解析:本题考查考生数组虚实结合的问题,在该事件过程中,定义并生成了x数组,该数组共10个元素,分别是 2 4 6 8 10 12 14 16 18 20,接着使用了不带Call的调用语句,实际参数和虚拟参数都是数组,是地址传送,在过程中访问的数组就是事件过程中的x数组。在该过程中,将数组的第一个元素和最后一个元素交换位置,依此类推,返回事件过程后输出交换后的数组全部元素。

  • 第6题:

    下列程序段的运行结果是:Private Sub Command1_Click() Dim n AS Integer I =21: n = 3 do while I>n I=I- n Loop Print IEnd Sub在窗体上打印的结果是______。

    A.3

    B.5

    C.6

    D.8


    正确答案:A
    解析:while型循环的条件为假时离开循环,即i=3时就离开,最后打印的i值为3。

  • 第7题:

    下列程序的输出结果是【 】。

    Private Sub Command1_Click()

    Dim a(1 To 20)

    Dim i

    For i=1 To 20

    a(i)=i

    Next i

    For Each i In a()

    a(i)=20

    Next i

    Print a(2)

    End Sub


    正确答案:20
    20 解析:本题考查For Next…Each语句的用法,For Next…Each语句是针对数组和集合中的每一个元素进行一次操作的语句组合,具体格式我们前面已经有详细介绍。本题定义了一个数组,然后利用For循环将1~20赋给数组元素,又利用For Each Next语句将数组的每一个元素定义为20,故输出结果为20。

  • 第8题:

    下面运行程序后,单击命令按钮,输出出的结果是【 】。

    Private Sub Command1_Click( )

    Dim a% (1 To 5) ,i%, s

    For i = 1 To 5

    a(i) =i

    Next

    s = Fun(a)

    Print"s="; s;

    End Sub

    Function Fun(a() As Integer)

    Dim t, i%

    t=1

    For i = LBound(A0To UBound(a)

    t=t * a(i)

    Next

    Fun =t

    End Function


    正确答案:s1=24 s2=360
    s1=24 s2=360 解析:程序首先调用循环语句为数组a、b赋值,其中a(i)=i;b(i)=i,且数组。的上下界分别为1和5,接着将数组。作为参数调用Fun过程,在Fun过程中,定义了两个变量t及i,i作为循环语句For的变量,它的初始值和终值分别为数组的上下界,循环体为t =t*a(i),即将a(i)的值乘以t,然后再赋给t,当循环结束后,程序返回的就是数组。中的各元素的积,输出结果为:s=120。注意:函数调用和参数传递。

  • 第9题:

    Private Sub Commandl Click()

    Dim i As Integer, j As Integer

    Dim a (10,10)As Integer

    For i=1 To 3

    For j= i To 3

    a(i,j)=(i-1)*3+j

    Print a (i,j);

    Next j

    Print

    Next i

    End Sub

    程序运行后,单击命令按钮,窗体上显示的是( )。


    正确答案:D

  • 第10题:

    在窗体上有文本框Text1和命令按钮Command1,并有下列事件过程:

    Private Sub Command1_Click()

    Dim i As Integer,n As Integer

    For i=0 To 50

    i=i+3

    n=n+1

    If i>10 Then Exit For

    Next

    Text1.Text=Str(n)

    End Sub

    单击命令按钮,程序运行后,在文本框中显示的值是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:C
    解析:For循环是指定循环次数的循环,但是有时候可能需要在循环变量到达终值前退出循环,这可以使用Exit For语句来实现。在一个For循环中,可以含有一个或多个Exit For语句,并且它可以出现在循环体的任何位置。本题中,当i大于10的时候,就退出For循环,不管循环变量j是否达到终值50。程序执行过程如下:第1次循环,即j=0时:i=3,n=1;第2次循环,即j=1时:i=6,n=2;第3次循环,即j=2时:i=9,n=3;第4次循环,即j=3时:i=12,n=4;此时i>10成立,执行Exit For语句退出循环。

  • 第11题:

    下列程序的输出结果是( )。

    Private Sub Command1_Click()

    Dim arr(1 To 10)

    For i=1 To 10

    Next i

    For Each i In arr()

    Next i

    End Sub


    正确答案:15
    15 解析: 本题考查VBA中For Each…Next循环的知识。For Each…Next循环是一种特殊的循环,这种循环只能用在数组中,用来遍历数组中的每一个元素。本题中的第一个循环为数组的每个元素赋值,而第二个循环中更改了这些值。综合两个循环来看,实际上最后arr(i)的值为2*i+1。

  • 第12题:

    下面程序运行后,单击命令按钮,输出的结果是______。

    Private Sub Command1_Click()

    Dim a%(1 To 5),i%,s

    For i=1 To 5

    a(i) =i

    Next

    s=Fun(A)Print "s=";s;

    End Sub

    Function Fun(a() As Integer)

    Dim t,i%

    t=1

    For i=LBound(A)To UBound(A)t=t*a(i)

    Next

    Fun=t

    End Function


    正确答案:120
    120 解析:程序首先调用循环语句为数组a、b赋值,其中a(i)=i,且数组a的上下界分别为1和5,接着将数组。作为参数调用Fun过程,在Fun过程中,定义了两个变量t及i,i作为循环语句For的变量,它的初始值和终值分别为数组的上下界,循环体为t=t*a(i),即将a(i)的值乘以t,然后再赋给t,当循环结束后,程序返回的就是数组a中的各元素的积,故输出结果为:s=120。

  • 第13题:

    在窗体上画一个命令按钮,然后编写如下事件过程:

    Sub BTC(oldCopy() As Integer, newCopy() As Integer)

    Dim i As Integer

    For i=LBound(oldCopy() ) To UBound(oldCopy() )

    newCopy(i) =oldCopy(i)

    Next i

    End Sub

    Private Sub Command1_Click()

    Dim m(10) As Integer, n(10) As Integer

    For i=1 To 10

    m(i) =i  i

    Next i

    Call BTC(m, n)

    Print n(5)

    End Sub

    程序运行后,单击命令按钮输出结果为( )。

    A.0

    B.2

    C.10

    D.25


    正确答案:D

  • 第14题:

    阅读程序: Sub p( b () As Integer)For i =1To 4 b(i) = 2(iNext i End Sub Private Sub Command1_Click()Dim a (1 To 4) As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 call p (a) For i=1 To 4 Print a(i) Next iEnd Sub运行上面的程序,单击命令按钮,输出结果为。


    正确答案:2 4 6 8
    【解析】本题综合考查Sub过程的建立与调用以及数组的赋值。P过程为参数b()赋值,赋值方法为b()中的元素值等于其下标的2倍。在事件过程中,数组a(1 to 4)先被逐一赋值,然后以传地址的方式被p过程调用。在调用中,a(i)被重新按照p过程的赋值方式(即元素值等于对应下标值的2倍)赋值。由于是以传地址的方式传送a(1 to 4),故在调用完p过程后,a(1 to 4),故在调用完p过程后,a(1 to 4)中的元素值将保留,故空白处填:2 4 6 8。

  • 第15题:

    下面运行程序后,单击命令按钮,输出的结果是 【 】 。

    Private Sub Command1_Click()

    Dim a%(1 To 5),i%, s#

    For i=1 To 5

    a(i)=i

    Next

    s=Fun(a)

    Print "s="; s;

    End Sub

    Function Fun(a() As Integer)

    Dim t#, i%

    t=1

    For i=LBound(a) To UBound(a)

    t=t  a(i)

    Next

    Fun=t

    End Function


    正确答案:S=120
    S=120 解析:程序首先调用循环语句为数组a、b赋值,其中a(i)=i;b(i)=i,且数组a的上下界分别为1和5,接着将数组a作为参数调用Fun过程,在Fun过程中,定义了两个变量t及i,i作为循环语句For的变量,它的初始值和终值分别为数组的上下界,循环体为t = t*a(i),即将a(i)的值乘以t,然后再赋给t,当循环结束后,程序返回的就是数组a中各元素的积,输出结果为:s=120。

  • 第16题:

    下列程序的输出结果是【 】

    Private Sub Command1_Click()

    Dim a(1 To 20)

    Dim i

    For i=l To 20

    a(i)=i

    Next i

    For Each i In a()

    a (i) =20

    Next i


    正确答案:20
    20 解析:本题考查For Next...Each语句的用法,For Next...Each语句是针对数组和集合中的每一个元素进行一次操作的语句组合,具体格式我们前面已经有详细介绍。本题定义了一个数组,然后利用For循环将1-20赋给数组元素,又利用For Each Next语句将数组的每一个元素定义为20,故输出结果为20。

  • 第17题:

    设有如下程序:

    Private Sub Form. Click( )

    Dim ary(1 To 5)As Integer

    Dim i As Integer

    Dim sum As Integer

    For i=1 To 5

    ary(i)=i+l

    sum=sum+ary(i)

    Next i

    Print sum

    End Sub

    程序运行后,单击窗体,则在窗体上显示的是( )。

    A.15

    B.16

    C.20

    D.25


    正确答案:C
    C。【解析】本题中因为i是从l~5递增,当i=1时,ary(1)=1+i=2,sum=sum+2----2,当i=2时,ary(2)=1+i=2+1=3,sum=sum+3=2+3=5,同理当i=3时,ary(3)=4,sum=9,当i=4时,ary(4)=5,sum=14,当i=5时,ary(5)=6,sum=20,所以答案选择C。

  • 第18题:

    在窗体中添加一个标签LblResult和一个命令按钮Command1,然后编写程序。程序的功能是单击命令按钮,计算1+2+3+4+5的值,并把结果转化为字符串显示在标签内,能够实现上述功能的程序段是, ( )

    A.Private Sub Command1_Click() Dim I,R As Integer For I=1 To 5 Step 1 R=R+I Next LblResult. Name=Str$ (R) End Sub

    B.Private Sub Command1_ClickO Dim I,R As Integer For I=1 To 5 Step 1 R=R+I Next LblResult. Caption= Str$ (R) End Sub

    C.Private Sub Command1_Click() Dim I,R As Integer Do While I<5 R=R+I I=I+1 Loop LblResult. Caption=Str$ (R) End Sub

    D.Private Sub Command1_Click() Dim I,R As Integer Do R=R+I I=I+1 Loop While I<5 LblResult. Caption=Str$ (R) End Sub


    正确答案:B
    解析:标签的Name属性用于设置标签控件的名称,Caption属性用于设置控件的标题。题中要把结果显示在标签内,应用 Caption属性,排除选项A。选项C、D项中都只计算了1+2+3+4的值,故不满足题意。只有B项是正确的。

  • 第19题:

    一下程序的作用是生成一个10×10的矩阵.该矩阵主对角线上的数据为1,其余数据为0(程序运行结果如下图所示)。该程序不完整,请补充完改程序。

    Private Sub Command1_Click()

    Dim a(10,10)As Integer

    For i=1 To【 】

    For j=1 To 10

    If【 】Then

    【 】=1

    Else

    a(i,j)=0

    End If

    Next j

    Next i

    For i =1 To 10

    For j=1 To 10

    Print a(i,j);

    Next j

    Print

    Next i

    End Sub


    正确答案:10 i=j a(ij)
    10 , i=j , a(i,j)

  • 第20题:

    以下能够正确计算1+2+3+…+10的程序是

    A.Private Sub Command1_Click() Sum=0 ForI=1 To 10 Sum=Sum+I Next I Print Sum End Sub

    B.Private Sub Command1_Click() Sum=0,I=1 Do While I<=10 Sum=Sum+I I=I+1 Print Sum End Sub

    C.Private Sub Command1_Click() Sum=0: I=1 Do Sum=Sum+I I=I+1 Loop While I<10 Print Sum End Sub

    D.Private Sub Command1_Click() Sum=0: I=1 Do Sum=Sum+I I=I+1 Loop Until I<10 Print Sum End Sub


    正确答案:A
    解析:本题考查For循环与 Do循环控制语句。A选项进行10次循环,分别将1之10累加给Sum,故正确。选项B缺少Loop关键词,否则也是正确的。选项C与D由于受条件“lclo”限制,Do循环只能进行一次。

  • 第21题:

    有程序如下: Sub subP(b() As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Command1_Click() Dim a(1 To 4) As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 subP a() For i=1 To 4 Print a(i) Next i End Sub运行上面程序,单击命令按钮,输出结果为______ 。

    A. 2 4 6 8

    B.5 2 2 2

    C.10 12 14 16

    D.出错


    正确答案:A

  • 第22题:

    下列程序的输出结果是______。

    Private Sub Command1_Click()

    Dim arr(1 To 10)

    For i=l TO 10

    arr(i)=i

    Next i

    For Each i In arr()

    art(i)=arr(i)*2+1

    Next i

    MsgBox arr(7)

    End Sub


    正确答案:15
    15 解析:题考查VBA中For Each...Next循环的知识。For Each...Next循环是一种特殊的循环,这种循环只能用在数组中,用来遍历数组中的每一个元素。本题中的第一个循环为数组的每个元素赋值,而第二个循环中更改了这些值。综合两个循环来看,实际上最后arr(i)的值为2*i+1。

  • 第23题:

    在窗体上面1个名称为Command1的命令按钮,然后编写下列事件过程

    Option Base 1

    Private Sub,Command1 Click( )

    Dim a(5,5)ks Integer

    For i=1 To j

    For j=1 To 5

    a(i,j)=(i+j)*5\10

    Next j

    Next i

    S=0

    For i=1 To j

    s=s+a(i,i)

    Next i

    Print s

    End Sub

    程序运行后,单击命令按钮,输出结果是( )。

    A.15

    B.13

    C.11

    D.9


    正确答案:A
    A。【解析】程序首先是利用两层For循环给数组进行赋值,其规律是:第一行,a(1,1)=1,a(1,2)=1,a(1,3)=2,a(1,4)=2,a(1,5)=3;第二行,a(2,1)=1,a(2,2)=2,a(2,3)=2,a(2,4)=3,a(2,5)=3;第三行,a(3,1)=2,a(3,2)=2,a(3,3)=3,a(3,4)=3,a(3,5)=4;……第五行,a(5,1)=3,a(5,2)=3,a(5,3)=4,a(5,4)=4,a(5,5)=5。可知正对角线上的是1、2、3、4、5。题中的S就是计算正对角线上的和。故应选择A。