vb理论第3次练习.doc
文本预览下载声明
选择题
1. 下列关于函数的说法正确的是( ) A、函数名在过程中只能被赋值一次 B、如果在函数体内没有给函数名赋值,则该函数无返回值 C、如果在定义函数时没有说明函数的类型,则该函数是无类型的 D、利用Exit Function语句可以强制退出函数 解答:本题考察函数的概念及特点。选项A错误,函数名在过程中可以被赋值多次。选项B错误,如果在函数体内没有给函数名赋值,则数值函数返回0,字符函数返回一个空串。选项C错误,如果在定义函数时没有说明函数的类型,则该函数是变体类型。选项D正确,Exit Function语句可以强制退出函数。本题正确答案为 D。
2. 在参数传递过程中,使用关键字来修饰参数,可以使之按值传递,此关键字是( )。 A ByVal B ByRef C Value D Reference
解答:在参数传递过程中,若在形参前面加上关键字Byval,则表示此形参与实参结合方式为传值。本题正确答案为 A。
3. 如果在定义Sub过程时没有使用Private、Public和Static关键字,则所定义的过程是( )
A公有的 B 私有的 C 静态的 D 可能是公有的,也可能是私有的 解答:本题考察Sub过程的有效范围。一个过程有其作用域,不同的过程作用域不同。全局过程可以在程序的任何地方被调用,而局部过程只能在该过程所在的模块内被调用。Public关键字定义全局过程:Private关键字定义局部过程:Static关键字用于指定局部变量在内存中的存储方式。 在定义过程时,如果缺省说明过程有效范围的关键字,则该过程为全局过程,即该过程是公有的。本题正确答案为 A。
4. Sub过程与Function过程最根本的区别是( ) A Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以 B Function过程可以有参数,Sub过程不可以 C Sub过程不能返回值,而Function过程能返回值 D 两种过程参数的传递方式不同 解答:在Visual Basic中有两类过程,一类是系统提供的内部函数过程和事件过程;另一类是用户根据自己需要定义,供事件过程多次调用的过程,而第二类过程中,我们现在涉及最多的是子过程,即Sub过程。它们的共同点都是完成某种特定功能的一组程序代码,不同的是函数过程(Function)是带有返回值的特殊过程,所以函数过程定义时有返回值的类型说明。本题正确答案为 C。
5. 单击窗体时,下列程序代码的执行结果为( )。 Private Sub Form_Click( ) Text 2 End Sub Private Sub Text( x As Integer ) x = x * 2 + 1 If x 6 Then Call Text( x ) End If x = x * 2 + 1 Print x; End Sub A 23 47 B 11 35 C 22 45 D 24 51 解答:本题在函数调用过程中采用了简单递归的方式,具体流程如下:主调过程调用Text过程,把实参2传递给Text过程中的形参x,由x = x * 2 + 1语句推出x = 5,此时满足Text过程体中判断语句的判断条件,执行Call Text( x )语句,第二次调用Text过程。由x = x * 2 + 1语句得到x值为11,判断条件11 6为假,故返回此调用过程,执行x = x * 2 + 1,得x = 23并输出,结束此次调用过程。由于两次调用Text过程,第二次仍返回调用时的断点语句,即执行x = x * 2 + 1,Print x输出x的值为47,返回到主调过程,结束程序,两次输出为23, 47。本题正确答案为 A 。
6. 编写如下通用过程:Sub Proc(x As Single, y As Single) t=x
x=t/yy=t Mod y
End Sub
在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command I_Click()
Dim a As SingleDim b As Singlea=5b=4
Proc a, bPrint a, b
End Sub
程序运行后,如果单击命令按钮,则输出结果为A. 5 4 B. 1.25 1 C.4 5 D.1.25 5 解答:该例中的Proc过程有两个参数,均为单精度类型;由于没有ByVal关键字,参数使用的是引用(即传地址)方式。也就是说,实参a, b与形参x, y使
显示全部