计算机二级

下列程序的输出结果是【 】。Private Sub Command l Click()Dim a(1 TO 20)Dim iFor i=1 TO 20a(i)=iNext iFor Each i In a()a(i)=20Next iPrint a(2) End Sub

题目

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

Private Sub Command l 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

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在窗体上面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。

第2题:

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

Private Sub Commandl_Click()

Dim alt(1 To 10)

Fori=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。

第3题:

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

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。

第4题:

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

Private Sub Commandl_Click( )

Dim a(1 To 20)

Dim i

Fori = 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 Each... Next语句是针对数组和集合中的每一个元素进行一次操作的语句组合。本题定义了一个数组,然后利用For循环将1-20赋给数组元素,又利用For Each... Next语句将数组的每一个元素定义为20,故输出结果为20。

第5题:

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

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。

第6题:

设有命令按钮Command1的单击事件过程,代码如下: Private Sub Command1 Click() Dim a(3,3)As Integer For i=1 To 3 For j=1 To 3 a(i,j)=i*j+i Next j Next i Sum=0 For i=1 To 3 Sum=Sum+a(i,4-i) Next i Print Sum End Sub 运行程序,单击命令按钮,输出结果是______。

A.20

B.7

C.16

D.17


正确答案:C
解析:第3个For语句是用来打计算a(1,3)、a(2,2)及a(3,1)这三个数组元素的和。由第1、2这两个嵌入的For语句知,a(1,3)=1*3+3=6;a(2,2)=2*2+2=6;a(3,1)=3*1+1=4。故最后Sum的值应为6+6+4=16。

第7题:

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

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。

第8题:

( 22 )命令按钮 Command1 的单击事件过程的代码如下:

Private Sub Command1_Click( )

Dim a(3 , 3)As Integer

For i=1 To 3

For j=1 To 3

a(i , j)=i*j+i

Next j

Next i

Sum=0

For i=1 To 3

Sum=Sum+a(i , 4-i)

Next i

Print Sum

End Sub

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

A ) 20

B ) 7

C ) 16

D ) 17


正确答案:C

( 22 )【答案】 C )
【解析 】 经赋值后数组 a 的元素为 (2,3,4,4,6,8,6,9,12) , 而第三个 For 循环语句的作用是求次对角线上三个元素的和,即 Sum=a(1,3)+a(2,2)+a(3,1)=4+6+6=16 。

第9题:

设有命令按钮Command1的单击事件过程,代码如下:

Private Sub Command1_Click()

Dim a(3,3)As Integer

For i=1 To 3

For j=1 To 3

a(i,j)=i*j+i

Next j

Next i

Sum=0

For i=1 To 3

Sum=Sum+a(i,4-i)

Next i

Print Sum

End Sub

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

A.20

B.7

C.16

D.17


正确答案:C

经赋值后数组a的元素为(2,3,4,4,6,8,6,9,12),而第三个For循环语句的作用是求次对角线上三个元素的和,即Sum=a(1,3)+a(2,2)+a(3,1)=4+6+6=16