计算机二级

运行下列程序: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.出错信息

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

第1题:

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

Option Base 1

Pribate Sub Command1_Click()

Dim a(5.5) As Integer

For i=1 To 5

a(I,j)*5\10

Next j

Next i

S=0

For i=1 To 5

S=s+a(i,i)

Next i

Print s

End Sub

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

A.15

B.13

C.11

D.9


正确答案:A

第2题:

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

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。

第3题:

设有命令按钮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

第4题:

以下程序的功能是将多维数组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)

第5题:

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

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。

第6题:

( 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 。

第7题:

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

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

第8题:

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

Option Base 1

Private Sub swap(a()As InteSer)

For I=1 to 10\2

t=a(i)

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

a(10-1+1)=t

Next1

End Sub

Private Sub Form_Click()

Dim x(10)As Integer

For I=1 to 10

x(i)=I*2

Next1

Swap x()

For1=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数组。在该过程中,将数组的第一个元素和最后一个元素交换位置,依此类推,返同事件过程后输出交换后的数组全部元素。

第9题:

阅读程序: 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。

第10题:

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

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。

更多相关问题