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个数之和的每一位数字。例如:若输入123和234,则应该输出: 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=7:z=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