第九章过程习题

发布时间:2012-01-25 13:39:26

1、 设有以下函数过程

Private Function fun(a() as integer,b as string) as integer

End Function

若已有变量声明:

Dim x(5) as integer,n as integer,ch as string

则下面正确的过程调用语句是()

A) x(0)=Funtion(x,”ch”) B)n=fun()

C)Call Fun x,”ch” D)n=Fun(x(5),ch)

2、已知有下面的过程()

Private sub pro(a as integer,b as string,optional x as boolean)

….

End sub

正确调用此过程的语句是()

A)Call pro(5) B)Call pro 5,”abc”,False

C)pro(12,”abc”,True) D)pro 5,”abc”

3、下列可以作为过程名的是()

A) Sub B)_sub C) 3Sub D)Sub1

4某人编写了如下的程序

Private sub Command1_click()

Dim a as Integer ,b as Integer

a=Inputbox(“请输入整数”)

b=Intputbox(“请输入整数”)

Pro a

Pro b

Call pro(a+b)

End sub

Private sub pro(n as Integer)

While (n>0)

Print n Mod 10

n=n\10

Wend

End sub

此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入123234,则应该输出:

321

432

753

但调试时发现只输出了前2(2个数的反序),而未输出第3(即两个数之和的反序),程序需要修改,下面的修改方案中正确的是

A)把过程pro 的形式参数n as Integer 改为 byval n as Integer

B) Call pro(a+b) 改为 pro a+b

C) n=n\10 改为 n=n/10

D) pro b 语句之后增加语句c%=a+b ,再把 Call pro(a+b) 改为 pro c

5在窗体上画一个名称为Command1的的命令按钮和一个名称为Text1的文本框,然后编写如下程序:

Private Sub Command1_click()

Dim x as integer,y as integer,z as integer

x=5 y=7z=0

Text1.text= ""

Call p1(x,y,z)

Text1.text=str(z)

End Sub

Sub p1(byval a as Integer,byval b as Integer,c as Integer)

C=a+b

End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是( )

A)0 B)12 C)str(z) D)没有显示

6窗体上有一个名为Command1的命令按钮,并有如下程序:

Private Sub Command1_Click()

Dim a as integer,b as integer

a=8

b=12

print Fun(a,b);a;b

End Sub

Private Function fun(Byval a as integer, b as integer) as integer

a=a mod 5

b=b\5

Fun=a

End Function

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

A)3 3 2 B)3 8 2 C)8 8 2 D)3 8 12

7假定有以下函数过程:

Public Function Fun(s As String) As string

Dim s1 As string

For i=1 to len(s)

s1=Lcase(mid(s,i,1))+s1

Next i

Fun=s1

End function

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

Private Sub Command1_Click()

Dim str1 As String,str2 as string

str1=inputbox(“请输入一个字符串”)

str2=Fun(str1)

Print str2

END SUB

程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg,则单击“确定”按钮后在窗体上输出结果为( )

A)BCDEFG B)Abcdefg

C)GFEDCB D)gfedcba

8在窗体上画一个命令按钮(名称为Command1),并编写如下代码:

  Functin Fun1(Byval a As Integer ,b As Integer) As Integer

       Dim t As Integer

       t=a-b

       b=t+a

       Fun1=t+b

 End Function

Private Sub Command1_Click()

      Dim x As Integer

      X=10

      Print Fun1(Fun1(x,(Fun1(x,x-1))),x-1)

End Sub

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

A)10        B)0          C)11     D)21

9为计a^n 的值,某人编写了函数power 如下:

Public Function power(a as interger,n as integer) As long

Dim p As Long

p=a

For k= 1 to n

p=p*a

Next k

power=p

End function

在调试时发现错误,例如Print power(5,4)的输出应该是625,但实际输出是3125,程序需要修改,下面的修改方案中有3个是正确的,错误的一个是( )

A) for k=1 to n 改为 for k=2 to n

B) p=p*a 改为 p=p^n

C) for k=1 to n 改为 for k=1 to n-1

D) p=a 改为 p=1

10以下关于过程及过程参数的描述中,错误的是( )

A)调用过程时可以用控件名称作为实际参数

B)用数组作为过程的参数时,使用的是传地址方式

C)只有函数过程能够将过程中处理的信息传回到调用的程序中

D)窗体(Form)可以作为过程的参数

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

Private Sub Command1_Click()

Dim i As integer

Dim n as integer

Sum =0

n=inputbox(“enter a number”)

For i=1 to n

Sum =12

Next i

Print Sum

End sub

Function fun(t as integer ) as long

p=1

For i=1 to t

p=p*i

Next i

13

End function

以上程序的功能是,计算1+2+3+….+n!,其中n 从键盘输入,请填空。

12窗体上命令按钮Command1的事件过程如下:

Private Sub Command1_Click()

Dim total As Integer

total = s(1) + s(2)

Print total

End Sub

Private Function s(m As Integer) As Integer

Static x As Integer

For i = 1 To m

x = x + i

Next i

s = x

End Function

运行程序,3次单击命令按钮command1,输出结果为:( )

13)下列关于函数过程的叙述中,正确的是( )。

A)如果不指明函数过程参数的类型,则该参数没有数据类型

B)函数过程的返回值可以有多个

C)当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递

D)函数过程形参的类型与函数返回值的类型没有关系

14)下列关于过程的叙述中,错误的是( )。

A)事件过程是由某个事件触发而执行的过程

B)函数过程的返回值可以有多个

C)可以在事件过程中调用通用过程

D)不能在事件过程中定义函数过程

参考答案:

1---5 ADDAB 6----10 BDBDC 11) Sum+Fun(i) Fun=p 12) 21 13.D 14.B

第九章过程习题

相关推荐