第6章 过程与函数
一、填空题
1.数组名作为过程或函数实参,相应的形
参传递方式为____按地址传递____。 2.一维长整型数组a作过程形参写作:a()
As Long,二维长整型数组b作过程形参写作:____b() As Long ____。 3.过程形参为整型,对应实参为5.64,传
递给形参的值为____6____。
4.调用过程时对形参的改变不会导致相应
实参变量的改变,则该形参采用____按值传递____方式。
5.调用过程时对形参的改变就是对相应实
参变量的改变,则该形参采用____按地址传递____方式。
6.声明Single类型全局变量x,写作
____Public x As Single(或 Public x!)____;声明Integer类型静态变量x,写作____Static x As Integer (或
Static x%)____。
7.在窗体Form1的过程中引用窗体Form2
中的全局变量y,写作____Form2.y____。
8.阅读如下代码,单击窗体后,窗体上的
显示结果为____s = 2 s = 5 s = 9____。 Dim i As Integer, n As Integer Private Sub Form_Click() Dim i As Integer For i = 1 To 3
s = sum(i): Print \Next i End Sub
Private Function sum(n As Integer) Static j As Integer j = j + n + 1: sum = j End Function 二、选择题
1.VB程序设计语言中,函数过程与子过程必
须分别用关键字( C )声明。 (A)Private,Public (B)Public,
Private
(C)Function, Sub (D)Sub, Function 2.要调用一个已经定义好的函数
myfunction( ),用语句的方式调用函数,下列写法哪个是正确的( D ) (A)Call myfunction (B)myFunction (C)myFunction ( ) (D)Call myFunction( )
3.定义过程时,如果在过程名前加关键字
Private,则该过程为( A )。 (A)它是私有过程,仅在定义该过程的模块内有效,模块内的过程可以调用该过程
(B)它是公有过程,在整个工程内有效,模块外的过程可以调用该过程 (C)它是私有过程,在整个工程内有效,模块外的过程可以调用该过程
(D)它是公有过程,仅在定义该过程的模块内有效,模块内的过程可以调用该过程
4.在过程中用Dim保留字定义的变量是
( B )
(A)全局变量 (B)局部变量 (C)静态变量 (D)以上都不是
5.防止递归函数进入死锁的机制是
( A )
(A)在适当的条件下返回 (B)通过Stop语句终止递归调用
(C)通过End语句终止递归函数 (D)不需要返回
6.关于函数与子程序的关系,下面说法正确
的是( A )
(A) 函数执行完后将得到一个返回值,而子程序只是执行一系列动作
(B) 函数可以不带参数,而子程序必须带参数
(C) 在函数中只用到传地址的方式,而子程序只能用到传值方式
(D)子程序可以被其他子程序调用,而函数不能被其他函数调用
7.Visual Basic 6.0 中缺省的参数传递机
制是( B )
(A) 传值 (B) 传址 (C) 传值和传地址 (D)从实参到形参
8.使用( C )语句可以实现过程的特殊
出口。
(A) Public Sub/Function (B) Call 过程名
(C) Exit Sub/Function (D)Private Sub/Function 三、思考题
1.静态变量和动态变量的区别是什么? 2.函数过程与子程序过程有什么区别? 3.子过程调用有哪几种形式?
4.什么是形参?什么是实参?什么是值引
用?什么是地址引用?对应的实参有没有限制?
5.怎样引用其他模块的过程和变量? 6.编制通用函数过程,计算Double类型一
维数组所有元素的平均值。
7.编制通用Sub过程,将Single类型一维
数组反序排放(如实参数组元素依次为6、5、9、7,调用后为7、9、5、6;若为-3.2、4、2.6、31、7.3,调用后为7.3、31、2.6、4、-3.2)。