资源描述
《过程》历届真题
(1) 假定有如下的Sub过程:(2002年4月)
Sub S(x As Single,y As Single)
t = x
x =t/y
y =t Mod y
End Sub
在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Commandl_Click ( )
Dim a As Single
Dim b As Single
a =5
b =4
S a,b
Print a,b
End Sub
程序运行后,单击命令按钮,输出结果为 。
A) 5 4 B) 1 1 C) 1.25 4 D) 1.25 1
(2) 阅读程序:(2002年4月)
Function F(a As Integer)
b = 0
Static c
b = b+1
c = c+1
f = a+b+c
End Function
Private Sub Commandl_Click ()
Dim a As Integer
a =2
For i =1 To 3
Print F(a)
Next i
End Sub
运行上面的程序,单击命令按钮,输出结果为 。
A) 4 B) 4 C) 4 D) 4
4 5 6 7
4 6 8 9
(3) 阅读程序:(2002年4月)
Sub subP(b() As Integer)
For i =1 To 4
b(i)=2*i
Next i
End Sub
Private Sub Commandl_Click()
Dim a(1 To 4)As Integer
a (1)=5
a (2)=6
a (3)=7
a (4)=8
subP a ()
For i =1 To 4
Print a(i)
Next i
End Sub
运行上面的程序,单击命令按钮,输出结果为 。
A)2 B)5 C)10 D)出错
4 6 12
6 7 14
8 8 16
(4) 在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:(2002年9月)
Private Sub Command1_Click()
Static X As Integer
Static Y As Integer
Cls
Y=1
Y=Y+5
X=5+X
Print X,Y
End Sub
程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为
A) 15 16 B) 15 6 C) 15 15 D) 5 6
(5) 下列叙述中正确的是(2002年9月)
A) 在窗体的Form_Load事件过程中定义的变量是全局变量
B) 局部变量的作用域可以超出所定义的过程
C) 在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程
D) 在调用过程时,所有局部变量被系统初始化为0或空字符串
(6) 在窗体上画一个命令按钮,名称为Command1。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程F1。在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则返回0。能够正确实现上述功能的代码是(2002年9月)
A) Private Sub Command1_Click()
x=InputBox(“请输入整数”)
a=F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
Return 0
Else
Return 1
End If
End Function
B) Private Sub Command1_Click()
x=InputBox(“请输入整数”)
a=F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
F1=0
Else
F1=1
End If
End Function
C) Private Sub Command1_Click()
x=InputBox(“请输入整数”)
F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
F1=1
Else
F1=0
End If
End Function
D) Private Sub Command1_Click()
x=InputBox(“请输入整数”)
F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
Return 0
Else
Return 1
End If
End Function
(7) 在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:(2002年9月)
Private Sub Command1_Click()
Dim x,y,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) 没有显示
(8)假定有以下函数过程: (2003年4月)
Function Fun(S As String) As String
Dim s1 As String
For i = 1 To Len(S)
s1 = UCase(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) abcdefg B)ABCDEFG C)gfedcba D)GFEDCBA
(9)以下关于过程及过程参数的描述中,错误的是 (2003年4月)
A)过程的参数可以是控件名称
B)用数组作为过程的参数时,使用的是“传地址”方式
C)只有函数过程能够将过程中处理的信息传回到调用的程序中
D)窗体可以作为过程的参数
(10)在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为Labell、Label2的标签,然后编写如下程序代码:(2003年4月)
Private x As Integer
Private Sub proc(ByVal a As Integer, ByVal b As Integer)
x = a * a
y = b十b
End Sub
Private Sub Command1_Click()
x = 5: y = 3
Call proc(x, y)
Label1.Caption = x
Label2.Caption = y
End Sub
程序运行后,单击命令按钮,则两个标签中显示的内容分别是
A)5和3 B)25和3 C)25和6 D)5和6
(11)设有如下通用过程:(2003年9月)
Public Function f(x As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Static x As Integer
x = 10
y=5
y = f(x)
Print x; y
End Sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是
A)10 5 B)20 5 C)20 40 D)10 40
(12)设有如下通用过程:(2003年9月)
Public Sub Fun(a(), ByVal x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:
Private Sub Command1_Click()
Dim arr(5) As Variant
For i = 1 To 5
arr(i) = i
Next
n = 10
Call Fun(arr(), n)
Text1.Text = n
End Sub
程序运行后,单击命令按钮,则在文本框中显示的内容是
A)10 B)15 C)25 D)24
(13) 在以下描述中正确的是(2004年4月)
A) 标准模块中的任何过程都可以在整个工程范围内被调用
B) 在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程
C) 如果工程中包含Sub Main过程,则程序将首先执行该过程
D) 如果工程中不包含Sub Main过程,则程序一定首先执行第一个建立的窗体
(14) 在窗体上画一个名称为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:(2004年4月)
Private Function f(m As Integer)
If m Mod 2 = 0 Then
f = m
Else
f = 1
End If
End Function
Private Sub Command1_Click()
Dim i As Integer
s = 0
For i = 1 To 5
s = s + f(i)
Next
Print s
End Sub
程序运行后,单击命令按钮,在窗体上显示的是
A) 11 B) 10 C) 9 D) 8
(15) 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:(2004年9月)
Private Sub Command1_Click()
Static x As Integer
Cls
For i=1 To 2
y=y+x
x=x+2
Next
Print x,y
End Sub
程序运行后,连续三次单击Command1按钮后,窗体上显示的是
A) 4 2 B) 12 18 C) 12 30 D) 4 6
(16) 设一个工程由两个窗体组成,其名称分别为Form1和Form2,在Form1上有一个名称为Command1的命令按钮。窗体Form1的程序代码如下:(2004年9月)
Private Sub Command1_Click()
Dim a As Integer
a=10
Call g(Form2,a)
End Sub
Private Sub g(f As Form,x As Integer)
y=IIf(x>10,100,-100)
f.Show
f.Caption=y
End Sub
运行以上程序,正确的结果是
A) Form1的Caption属性值为100 B) Form2的Caption属性值为-100
C) Form1的Caption属性值为-100 D) Form2的Caption属性值为100
(17)在窗体上画一个名称为Command1的命令按钮,并编写如下程序:(2004年9月)
Private Sub Command1_Click()
Dim x As Integer
Static y As Integer
x=10
y=5
Call f1(x,y)
Print x,y
End Sub
Private Sub f1(ByRef x1 As Integer, y1 As Integer)
x1=x1+2
y1=y1+2
End Sub
程序运行后,单击命令按钮,在窗体上显示的内容是
A) 10 5 B) 12 5 C) 10 7 D) 12 7
(18)设有如下程序(2004年9月)
Option Base 1
Private Sub Command1_Click()
Dim a(10) As Integer
Dim n As Integer
n=InputBox("输入数据")
If n<10 Then
Call GetArray(a,n)
End If
End Sub
Private Sub GetArray(b() As Integer,n As Integer)
Dim c(10) As Integer
j=0
For i=1 To n
b(i)=CInt(Rnd()*100)
If b(i)/2=b(i)\2 Then
j=j+1
c(j)=b(i)
End If
Next
Print j
End Sub
以下叙述中错误的是
A) 数组b中的偶数被保存在数组c中
B) 程序运行结束后,在窗体上显示的是c数组中元素的个数
C) GetArray过程的参数n是按值传送的
D) 如果输入的数据大于10,则窗体上不显示任何显示
(19)在窗体上画一个名称为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:(2005年4月)
Private Function fun(ByVal m As Integer)
If m Mod 2 = 0 Then
fun = 2
Else
fun = 1
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, s As Integer
s = 0
For i = 1 To 5
s = s + fun(i)
Next
Print s
End Sub
序运行后,单击命令按钮,在窗体上显示的是______。
A)6 B)7 C)8 D)9
(20)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:(2005年4月)
Dim SW As Boolean
Function func(X As Integer) As Integer
If X < 20 Then
Y = X
Else
Y = 20 + X
End If
func = Y
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = False
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = True
End Sub
Private Sub Command1_Click()
Dim intNum As Integer
intNum = InputBox("")
If SW Then
Print func(intNum)
End If
End Sub程序运行后,单击命令按钮,将显示一个输入对话框,如果在输入对话框中输入25,则程序的执行结果为______。
A)输出0 B)输出25 C)输出45 D)无任何输出
(21)设有如下通用过程:(2005年4月)
Public Sub Fun(a() As Integer, x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。然后编写如下的事件过程:
Private Sub Command1_Click()
Dim arr(5) As Integer, n As Integer
For i = 1 To 5
arr(i) = i + i
Next
Fun arr, n
Text1.Text = Str(n)
End Sub
程序运行后,单击命令按钮,则在文本框中显示的内容是______。
A)30 B)25 C)20 D)15
(22)以下关于函数过程的叙述中,正确的是(2005年9月)
A)如果不指明函数过程参数的类型,则该参数没有数据类型
B)函数过程的返回值可以有多个
C)当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递
D)函数过程形参的类型与函数返回值的类型没有关系
(23)函数过程F1的功能是:如果参数b为奇数,则返回值为1,否则返回值为0。以下能正确实现上述功能的代码是(2005年9月)
A)Function F1(b As Integer)
If b Mod 2 = 0 Then
Return 0
Else
Return 1
End If
End Function
B)Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 0
Else
F1 = 1
End If
End Function
C)Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 1
Else
F1 = 0
End If
End Function
D)Function F1(b As Integer)
If b Mod 2 <> 0 Then
Return 0
Else
Return 1
End If
End Function
(刘向阳 鲍娟 整理)
展开阅读全文