计算机二级

阅读程序: Option Base 1 Dim arr() As Integer Private Sub Form. Click() Dim i As Integer,i As Integer ReDim arr(3,2) For i=1 To 3 For j=1 To 2 arr(i,j)=i*2+j Next j Next i ReDim arr(3,2)+arr(3,4) End Sub 程序运行后,单击窗体,输出结果为A.21B.13C.8D.25

题目

阅读程序: Option Base 1 Dim arr() As Integer Private Sub Form. Click() Dim i As Integer,i As Integer ReDim arr(3,2) For i=1 To 3 For j=1 To 2 arr(i,j)=i*2+j Next j Next i ReDim arr(3,2)+arr(3,4) End Sub 程序运行后,单击窗体,输出结果为

A.21

B.13

C.8

D.25

参考答案和解析
正确答案:A
解析:本题考查数组与多重循环等多个知识点。本题是综合性题目,难度较大。首先考生应该了解在VisualBasic中,有四种语句可以用来定义数组的,即Dim、ReDim、Static和Public。这四种语句的格式相同,但是使用的范围不一样。Dim,建立局部数组、公用数组或模块级数组,在窗体模块或标准模块中定义数组,不能在过程中定义;ReDim,用在过程中;Static,建立局部数组,用在过程中;Public,定义全局数组,用在标准模块中。程序使用多重循环给一个数组赋值,使用一个循环语句给另一个数组赋值,arr(3,2)=8,arr(3,4)=13,所以最终结果是8+13=21,选项A正确。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若二维数组arr[1…M,1…N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为( )。

A.base+((i一1)*M*j-i)*K
B.b ase+((i-1)*N+j-1)*K
C.baSe+((j-l)*M十i-1)*K
D.base+((j-1)*N+i-1)*K

答案:C
解析:

第2题:

阅读程序: Option Base 1 Private Sub Form_Click() Dim arr, Sum Sum=0 art=Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19) For i=1 To 10 If arr(i)/3=arr(i)\3 Then Sum=Sum+arr(i) End If Next i Print Sum End Sub 程序运行后,单击窗体,输出结果为______。

A.13

B.14

C.27

D.15


正确答案:C
解析:整数除法运算符(\)执行整除运算,结果为整型值,所以“arr(i)/3=arr(i)\3”为数组arr元素值被3整除的条件。计算结果为:3+9+15=27。

第3题:

阅读程序: Option Base 1 Private Sub Form_Click( ) Dim arr Sum Sum=0 arr=Array(1,3,5,7,9,11,13,15,17,19) For i=1 TO 10 If arr(i)/3=arr(i)\3 Then Sum=Sum+art(i) End If Next i Print Sum End Sub 程序运行后,单击窗体,输出结果为

A.13

B.14

C.27

D.15


正确答案:C
解析:首先用Array函数为数组arr赋值10个元素数值。If语句表明当arr(i)为3的倍数时,就把该arr(i)加到变量Sum上,Sum的初始值为0。故本题的正确答案为:3+9+15,C项为正确答案。

第4题:

阅读程序: Option Base 1 Private Sub Form_Click( ) Dim arr,Sum Sum=0 arr=Array(1,3,5,7,9,11,13,15,17,19) For i=1 To 10 If arr(i)/3=arr(i)\3 Then Sum=Sum+arr(i) End If Next i Print Sum End Sub程序运行后,单击窗体,输出结果为

A.13

B.14

C.27

D.15


正确答案:C
解析:分析题干,arr(i)/3=arr(i)\3是求出数组中能整除3的元素,而 Sum=Sum+arr(i)是将这些元素相加,也就是求3+9+15的值为27,所以选项C正确。

第5题:

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

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。

第6题:

● 若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为 (21) 。

A.base+((i-1)*M+j-i)*K

B.base+((i-1)*N+j-1)*K

C.base+((j-1)*M+i-1)*K

D.base+((j-1)*N+i-1)*K


正确答案:C

 

第7题:

阅读程序: Option Base 1 Private Sub Form. Click() Dim arr,Sum Sum= 0 arr=Array(1,3,5,7,9,11,13,15,17,19) For i=1 To 10 If arr(i)/3=arr(i)\3 Then Sum=Sum+arr(i) End If Next i Print Sum End Sub 程序运行后,单击窗体,输出结果为

A.13

B.14

C.27

D.15


正确答案:C
解析:本题综合考查Array函数与For循环等相关知识。首先用Array函数为数组arr赋值10个元素数值。If语句表明当arr(i)为3的倍数解,就把该arr(i)加到变量Sum上,Sum的初始值为0。故本题的正确答案为:3+9+15,C项为正确答案。

第8题:

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

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。

第9题:

阅读程序

Option Base 1

Private Sub Form_Click()

Dim arr,Sum

Sum = 0

arr = Array(1,3,5,7,9,11,13,15,17,19)

For i=1 To 10

If arr(i)/3 = arr(i)\3 Then

Sum = Sum + arr(i)

End If

Next i

Print Sum

End Sub

程序运行后,单击窗体,输出结果为( )。

A.13

B.14

C.27

D.15


正确答案:C