计算机二级

下列程序运行后的输出结果是______。Private Sub f(k,s)s=1For j=1 To ks=s*jNextEnd SubPrivate Sub Command1_Click()Sum=0For i=1 To 3Call f(i,s)Sum=Sum+sNextPrint SumEnd Sub

题目

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

Private Sub f(k,s)

s=1

For j=1 To k

s=s*j

Next

End Sub

Private Sub Command1_Click()

Sum=0

For i=1 To 3

Call f(i,s)

Sum=Sum+s

Next

Print Sum

End Sub

参考答案和解析
正确答案:9
9 解析:本题考查的重点是在子过程的调用过程中,虚实参数的传送问题,变量s按十传送。子过程f()求n!,sum的计算过程为1!+2!+3!=1+2+6=9
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

( 23 )在窗体上画一个命令按钮,其名称为 command1, 然后编写如下代码:

Option Base 1

Private Sub Command1_Click()

Dim a

a = Array(1, 2, 3, 4)

j = 1

For i = 4 To 1 Step -1

s = s + a(i) * j

j = j * 10

Next i

Print s

End Sub

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

A ) 4321

B ) 1234

C ) 34

D ) 12


正确答案:B

第2题:

运行下列程序,单击窗体后输出的结果是( )。

Private Sub Form_Click()

Dim a

Dim s As Integer, i As Integer

a = Array(1, 2, 3, 4, 5, 6)

s = 1

For i = 5 To 1 Step -2

s = s * a(i)

Next i

Print s

End Sub

A、 15

B、 48

C、 120

D、 720


正确答案:B

第3题:

( 30 )下面程序的输出结果是

Private Sub Command1_Click()

ch$= ” ABCDEF ”

proc ch

Print ch

End Sub

Private Sub proc(ch As String)

S= ””

For k=Len(ch) To 1 Step-1

s=s&Mid(ch,k,1)

Next k

ch=s

End Sub

A ) ABCDEF

B ) FEDCBA

C ) A

D ) F


正确答案:B

第4题:

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

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。

第5题:

窗体上有一个命令按钮,命令按钮的单击事件过程如下。运行程序后,单击命令按钮,输出结果是 Private Sub Commandl_Click() Dim a a=Array(1,2,3,4,5) Fork=1 To 4 s=s+a(k) Next k Print s End Sub A.10 B.14 C.15 D.120


正确答案:B
【解析】使用Array函数为数组变量赋值,数组变量不能是具体的数据类型,只能是变体(Variant)类型,使用Array函数给数组变量赋值的3种形式是:①显式定义为Variant变量(例如,Dim数组变量名As Variant);②在定义时不指明类型(例如,Dim数组变量名);③不定义而直接使用。

第6题:

执行下列程序段后输出的结果是( )。

s = 1

For i = 1 To 3

For j = 0 To i-1

s = s + s * j

Next j

? s;

Next I

A、 1 2

B、 2 1

C、 2 2 12

D、 1 2 12


正确答案:D

第7题:

设有如下程序:

Private Sub Form_C1ick()

Dim s As Long,f As Long

Dim n As Integer,i As Integer

f=1

n=4

For i=1 To n

f=f*i

s=s+f

Next i

Print s

End Sub

程序运行后,单击窗体,输出结果是

A.32

B.33

C.34 0)35


正确答案:B
解析:i=1时,f=f*i=1*1=1,s=s+f=0+1=1.i=2时,f=f*i=1*2=2,s=s+f=1+2=3,i=3时,f=f*i=2*3=6,s=s+f=3+6=9,i=4时,f=f*i=6*4=24,s=s+f=9+24=33,因此本题答案为B)。

第8题:

(30)在窗体上画一个名为 Command1 的命令按钮,然后编写如下代码:

Option Base 1

Private Sub Command1_Click( )

Dim a

a=Array(1, 2, 3, 4)

j=1

For i=4 To 1 Step -1

s=s+a(i)*j

j=j*10

Next i

Print s

End Sub

运行上面的程序,其输出结果是( )。

A)1234

B)12

C)34

D)4321


正确答案:A

(30)【答案】A)
【解析】s=4×1+3×10+2×100+1×1000=1234.

第9题:

(24)在窗体上画一个名为Command1德命令按钮,然后编写下列程序: Option Base 1 Private Sub Command1_Click() Dim Arr Arr=Array(1,2,3,4,5) j=1 For i=5 To 1 Step -1 S=S+Arr(i)*j j=j*10 Next Print S End Sub 程序运行后,单击命令按钮,输出结果是 A.54321 B.123 C.12345 D.345


正确答案:C
【解析】本题考查使用Array函数给数组元素赋值的应用。分析程序可知,通过For循环将数组中的各个元素通过一定的公式进行运算。运算过程为:当i=5时,Arr(5)=5,S=5;当i=4时,Arr(4)=4,S=45;当i=3时,Arr(3)=3,S=345;当i=2时,Arr(2)=2,S=2345;当i=1时,Arr(1)=1,S=12345;当i=0时,条件不满足退出循环,执行循环后面的语句Print S。因此,最后输出的值为“12345”。

第10题:

以下程序的输出结果是【 】。include defineN 5 int fun(int *s,int a,int n) {int j; *s=

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

include <stdio.h>

define N 5

int fun(int *s,int a,int n)

{ int j;

*s=a j=n;

while(a!=s[j]) j-;

return j;

main()

{ int s[N+1]; int k:

for(k=1 ;k<=N;k++) s[k]=k+1:

print f("%d\n",fun(s,4,N));

}


正确答案:3
3 解析:本题主函数中定义了一个一维数组s,并通过for循环给s[1]到s[5]的元素分别赋值为2、3、4、5、6。然后调用 fun函数,使指针变量s与数组s共用同一存储单元。在函数fun中,a=4,n=5,所以while的条件表达式首先判断的是 4!=s[5]是否成立,由于s[5]=6,所以成立,执行j-;接着判断4!=s[4]是否成立,由于s[4]=5,所以成立,执行j-;然后判断4!=s[3]是否成立,由于s[3]=4,所以条件表达式不成立,返回j的值3。

更多相关问题