计算机二级

下列程序的输出结果是______。Private Sub Command1_Click()Dim arr(1 To 10)For i=l TO 10arr(i)=iNext iFor Each i In arr()art(i)=arr(i)*2+1Next iMsgBox arr(7)End Sub

题目

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

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

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

第1题:

5、下列程序的运行结果是 。 #include<iostream> using namespace std; void main() { int arr[10], i, k=0; for(i=0; i<10; i++) arr[i]=i; for(i=1; i<4; i++) k+=arr[i]+i; cout<<k<<endl; }


5,9

第2题:

下列程序执行后的输出结果是: main() { char arr[2][4]; strcpy(arr'"you"); strcpy(arr[1],"me"); arr[0][3]='&'; printf("%s\n",arr); } 程序的输出结果是( )。

A.you&me

B.me

C.you

D.err


正确答案:A
解析:本题定义了一个二维字符数组arr[2][4],该二维数组可以看成一个含有两个元素arr[0]、arr[1]的一维字符数组,分别看成是含有4个元素,也可以看成是以arr为首地址的一个一维字符数组。函数strcpy(arr,“you”)是把字符串“you”复制到arr指向的空间,strcpy(arr[1],“me”)同理,在以arr[0]为首地址的字符数组中有“you”,在以air[1]为首地址的字符数组中有“me”。arr[0][3]=‘&’;是给arr[0]为首地址的字符数组的第4个元素赋值为‘&’。因此输出为you&me。

第3题:

运行下列过程,当输入一组数据:l0,20,50,80,40,30,90,100,60,70,输出的结果应该是( )。Sub plDim i,j,arr(11)AsInteger

x=1

Whilek<=10

arr(k)=VaI(InputBox(”请输入第”&k&”个数:”,”输入窗口”))k=k+1

Wend

For i=1T09J=i+1

Ifarr(i)>arr(j)Thentemp=arr(i)

arr(i)=art(j)

arr(j)=temp

EndIfDebu9.Printarr(i)

NextiEnd Sub

A.无序数列

B.升序数列

C.降序数列

D.原输入数列


正确答案:A
本题中的第一个循环是将输入的数据放到数组中,第二个循环是一个单循环,如果要进行数列排序,必须使用二重循环才可以实现,所以此时输出的是一个无序数列。

第4题:

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

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。

第5题:

下列程序的功能是:输入10个整数,逆序后输出。请在程序空白处填入适当语句使程序完成指定的功能。

Private Sub Command2_Click()

Dim i, j, k,temp, arr(11) As lnteger

Dim result As String

For k=1 To 10

arr(k) =Val (InputBox( "请输入第" & k & "个数:","数据输入窗口"))

Next k

i=1

j = 10

Do

temp=arr(i)

arr(i)=arr(j)

arr(j)=temp

i=i+1

j=【12】

Loop While【13】

result =""

For k=1 To 10

result=result & arr(k) & Chr(13)

NeXt k

MsgBox result

End Sub


正确答案:

【12】
【答案】:j-1
【知识点】:VBA程序中循环结构的循环变量的设计
【解析】:此程序的功能是实现10个整数的逆序,变量i从第1个数向后移动需要不断加1,变量j从第10个数向前移动需要不断减1,故此空应填j-1。

【13】
【答案】:i>j
【知识点】:VBA程序中的循环结构
【解析】:此程序是用循环结构实现的,循环结束的条件是变量i和j从两边移到中间两个变量进行数据交换后,下次不再进行数据交换,此时变量i的值大于j的值,故此空应填i>j。

第6题:

运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60.70,输出的结果应该是

sub pl( )

Dim i, j, arr(11)As Integer

k=1

While k<=10

arr(k)=Val(InputBox("请输入第" & k & "个数:", "输入窗口" ))

k=k+1

Wend

For i=1 T0 9

j=i+1

If arr(i) >arr(j) Then

temp=arr (i)

arr(i)=arr (j)

arr(j)=temp

End If

Debug Print arr(i)

Next i

End Sub

A)升序数列

B)降序数列

C)无序数列

D)原输入数列


正确答案:A
【答案】:A
【知识点】:VBA编程
【解析】:本题中的For循环是一个单循环,i从1开始,每次递增1,循环9次,之后判断前一个数是否大于后一个数,如果大于则两者交换,之后输出。当i=1时,j=2,arr(1)小于arr(2)不交换,输出arr(1)为10。以此类推,输出arr(2)为20,arr(3)为50。当i=4时,j=5,arr(4)大于arr(5),两者交换,输出arr(4)为交换后的40,由此可以看出结果是无序数列。故本题答案为A。

第7题:

若有以下程序:includeusing namespace std;class sample{private: int x;public: sam

若有以下程序: #include <iostream> using namespace std; class sample { private: int x; public: sample() { } void setx(int i) { x=i; } friend int fun(sample B[],int n) { int m=O; for (int i=O; i<n; i++) { if(B[i].x>m) m=B [i].x; } return m; } }; int main ( ) { sample A[10]; int arr[]={90,87,42,78,97,84,60,55,78,65}; for (int i=O;i<10;i++) A[i]. setx (arr[i]); cout<<fun(A, 10)<<end1; return 0; } 该程序运行后的输出结果是( )。

A.97

B.84

C.90

D.78


正确答案:A
解析:程序中定义了一个类sample,以及类sample的友元函数fun()。在主函数中,通过for循环调用各数组对象中的setx成员函数给各个对象的私有数据成员赋值。而函数fun()的功能是返回各个数组对象中的最大私有成员数据的值。

第8题:

下列程序执行后的输出结果是 included main( ) { char arr[2][4]; strcpy(arr,"you")

下列程序执行后的输出结果是

#included<string.h>

main( )

{ char arr[2][4];

strcpy(arr,"you");strepy(arr[1],"me");

arr[0][3]='&';

cout<<arr<<endl;

}

A.you&me

B.you

C.me

D.err


正确答案:A
解析:本题考察二维数组的标识方式。arr作为数组名单独使用时表示一个指向数组首部的指针,故you放在数组第一行的前三列art[0][0]、arr[0][1]、arr[0][2]中。art[1]表示指向第二行的指针,因此me放在数组第二行的前两列arr[1][0]、arr[1][1]中。而&则直接按照两维下标放到第一行的第四列中。那么输出的时候默认按照从左到右,先上后下的顺序。因此本题的正确答案为A。

第9题:

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

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。