计算机二级

在窗体上画一个命令按钮,其名称为Command1。程序运行后,单击命令按钮,输出结果为( )。 Private Sub p1(n As Integer) For i=n To 1 Step-1 x=String(i,"*") Print x Next i End Sub Private Sub Command1_Click() p1(3) End SubA.*** ** *B.* ** ***C.* * *D.******

题目

在窗体上画一个命令按钮,其名称为Command1。程序运行后,单击命令按钮,输出结果为( )。 Private Sub p1(n As Integer) For i=n To 1 Step-1 x=String(i,"*") Print x Next i End Sub Private Sub Command1_Click() p1(3) End Sub

A.*** ** *

B.* ** ***

C.* * *

D.******

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

第1题:

在窗体上画一个名为Command1的命令按钮,编写如下程序:

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


正确答案:
4
【解析】本题考查了数组的嵌套使用。程序首先通过一个For循环给数组M的各个数组元素赋值,然后通过数组下标嵌套本身。注意:这样的嵌套时,要保证数组下标不出界,否则程序将出错。

第2题:

在窗体上画一个命令按钮,其名称为Command1。程序运行后,单击命令按钮,输出结果为 ( )。 Private Sub p1(n As Integer) For i=n To 1 Step-1 x=String(i, "*") Print x Next i End Sub Private Sub Command1_Click() p1 (3) End Sub

A.* * * * * *

B.* * * * * *

C.* * *

D.* * * * * *


正确答案:A
解析:分析程序可知,命令按钮单击事件调用pl(3)函数,因此循环中的n为3,所以For循环的条件为Fori=3to1Step-1,小所以For循环从3递减到1,输出的“*”号也递减,每一次Print执行后,自动换行。最后输出的结果如选项A)所示。

第3题:

在窗体上画一个命令按钮,其名称为Command1。程序运行后,单击命令按钮,输出结果是( )。

Private Sub p1(n As Integer)

For i=n To 1 Step-1

x=String(i,"*")

Print x

Next i

End Sub

Private Sub Command1_Click()

p1(3)

End SubA)

*B)C)D)

A.*** ** *

B.* ** ****

C.* * *

D.******


正确答案:A
解析:分析程序可知,命令按钮单击事件调用p1(3)函数,因此循环中的n为3,所以For循环的条件为For i=3 to 1 Step-1,所以For循环从3递减到1,输出的“*”号也递减,每一次Print执行后,自动换行。最后输出的结果如选项A)所示。

第4题:

在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1 Click() For i=1 To 4 If i=1 Then x=i If i<=4 Then x=X+1 Print x Next i End Sub 程序运行后,单击命令按钮,其输出结果为:_______。

A.1 2 3 4

B.2 3 4 5

C.2 3 4 4

D.3 4 5 6


正确答案:B
解析:第一次循环时x的值为2,每次加1,所以答案为2345。

第5题:

在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() x=-5 If Sgn(x) Then y=Sgn(x^2) Else y=Sgn(x) End If Print y End Sub 程序运行后,单击命令按钮,其输出结果为 ______。

A.-5

B.25

C.-1

D.1


正确答案:D
解析:Sgn(number)函数的功能是返回number的正负号。如果number>0,Sgn返回1;number=0,Sgn返回0;number0,Sgn返回-1。在本题中Sgn(-5)的返回值为-1,-1为真,所以执行y=Sgn(x^2),返回1,所以y的值为1。

第6题:

在窗体上画一个命令按钮<其名称为Command1),然后编写如下事件过程: Private Sub Command1 Click() For i=1 T04 If i=1 Thenx=i If i<=4 Then x=x+1 Print x Next i End Sub 程序运行后,单击命令按钮;其输出结果为 ______。

A.1 2 3 4

B.2 3 4 5

C.2 3 4 4

D.3 4 5 6


正确答案:B
解析:第一次循环时x的值为2,每次加1,所以答案为2 3 4 5。

第7题:

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

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


正确答案:
9【解析】本题考查VBA中程序设计的知识。对于这个问题,首先注意到循环的次数为6次;然后注意到循环内的两个If语句为顺序关系而不是嵌套关系,第一个If语句只有第一次循环时才会满足;第一次循环时首先执行第一个If语句把x赋值为1,然后执行第二个If语句;以后各次循环均照此分析,前4次循环x自加l,后两次循环X自加2,最后输出结果为9。

第8题:

在窗体上画一个命令按钮,其名称为Command1,然后编写如卞程序:

Private Sub Command1-Click()

Dim a(10) As Integer

Dim x As Integer

For i=1 To 10

a(i)=i

Next i

x=1

MsgBox a(f(x)+x)

End Sub

Function f(y As Integer)

y=y+2

f=y

End Function

程序运行后,单击命令按钮,消息框的输出结果为______。


正确答案:6
6 解析:本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参:若用ByRcf声明,说明此参数为传址调用,此时形参的变化将会返回到实参:没有说明传递类型,则默认为传址传递。本题中函数f的形参y没有使用ByVal声明,则默认为传址传递。当求a(f(x)+x)值的时候,先要求出f(x)+x的值。由于x的值为1,那么调用函数f以后得到f(x)的返回值为3,同时由于函数f中改变了形参y的值,在传址传递的前提下这一改变会影响到对应的实参x,故此函数调用结束后x的值变为3,也就是最后输出的应该是a(6)的值也就是 6。举一反三,如果最后输出的不是a(f(x)+x)而是 a(x+fx)),则会先取得x的值1,然后再计算f(x)的值为3,那么最后输出的就不是a(6)的值而是a(4)的值了。

第9题:

在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:

Private Sub Command1_Click()

Dim a(10)As Integer

Dim x As Integer

For i=1 To 10

a(i)=i

Next i

x=1

MsgBoxa(f(x)+x)

End Sub

Function f(y As Integer)

y=y+2

f=y

End Function

程序运行后,单击命令按钮,消息框的输出结果为______。


正确答案:6
6 解析:本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。本题中函数f的形参y没有使用ByVal声明,则默认为传址传递。当求a(f(x)+x)值的时候,先要求出f(x)+x的值。由于x的值为1,那么调用函数f以后得到f(x)的返回值为3,同时由于函数f中改变了形参y的值,在传址传递的前提下这一改变会影响到对应的实参x,故此函数调用结束后x的值变为3,也就是最后输出的应该是a(6)的值也就是6。举一反三,如果最后输出的不是a(f(x)+x)而是 a(x+f(x)),则会先取得x的值1,然后再计算f(x)的值为3,那么最后输出的就不是a(6)的值而是a(4)的值了。