VB过程习题.doc

上传人:s****u 文档编号:12767027 上传时间:2020-05-23 格式:DOC 页数:13 大小:64.50KB
返回 下载 相关 举报
VB过程习题.doc_第1页
第1页 / 共13页
VB过程习题.doc_第2页
第2页 / 共13页
VB过程习题.doc_第3页
第3页 / 共13页
点击查看更多>>
资源描述
第六章 过程习题一、选择题1. 下列叙述中正确的是( c )。 (A)在窗体的Form_Load事件中定义的变量是全局变量 (B)局部变量的作用域可以超出所定义的过程 (C)在某个Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只局限于该过程。 (D)在调用过程时,所有局部变量被系统初始化为0 2. 下列四个叙述中,错误的是( c )。 (A)过程内用Dim语句定义的变量,它的作用域是此过程 (B)过程内用Static语句定义的变量,它的生存期与整个过程的运行期相同 (C)过程内用Dim语句定义的变量,它的生存期与整个过程的运行期相同 (D)若在模块的“通用声明”中写上语句:Option Explicit,则该模块的所有变量必须先说明后引用3. 在过程定义中用( c )表示形参的传值。 (A)Var (B)ByDef (C)ByVal (D)Value4. 若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便地调用Sort子过程,应该将该过程放在( b )中。(A)窗体模块 (B)标准模块 (C)类模块 (D)工程5. 在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用( d )关键字在过程中定义局部变量。 (A)Dim (B)Private (C)Public (D)Static6. 下面子过程语句说明合法的是( d )。 (A)Sub f1(Byval n%() (B)Sub f1(n%) as integer(C)Function f1%(f1%) (D)Function f1(Byval n%)7. 要想从子过程调用后返回两个结果,下面子过程语句说明合法的是( c )。 (A)Sub f1(Byval n%, Byval m%) (B)Sub f1(n%, Byval m%)(C)Sub f1(n%, m%) (D)Sub f1(Byval n%, m%)8. 在VB应用程序中,以下正确的描述是( b )。 (A)过程的定义可以嵌套,但过程的调用不能嵌套(B)过程的定义不可以嵌套,但过程的调用可以嵌套(C)过程的定义和调用均不可以嵌套(D)过程的定义和调用均可以嵌套9. 以下叙述中错误的是( c )。 (A)一个工程中只能有一个Sub Main过程(B)窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体(C)窗体的Hide方法和Unload方法的作用完全相同(D)若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体10. 以下叙述中错误的是( d )。(A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型(B)Sub过程中不能嵌套定义Sub过程(C)Sub过程中可以嵌套调用Sub过程(D)事件过程中可以像通用过程一样由用户定义过程名11. 定义带可变参数的过程,使用的关键字是( c )。 (A)Optional (B)Option (C)ParamArray (D)Private12. 定义带可选参数的过程,使用的关键字是( a )。(A)Optional (B)Option (C)ParamArray (D)Private二、填空题1. 在过程定义的首部出现的变量名叫做( 形式参数 )参数,而在调用过程中传送给过程的( 常量 )、( 变量 )、( 数组元素 )或( 表达式 )叫做( 实在参数 )参数。2. 定义和调用函数或过程时参数传递的两种方法是(按值传递 )和(按地址传递 )。3. 在窗体的通用段用Dim语句定义的变量是(窗体级)级变量,它只能在(本窗体)中使用。4. 全局级过程在定义时可以默认,也可以使用关键字( public )进行显示声明;窗体/模块级的过程声明时要用关键字( private )。5. 用ParamArray关键字声明可变参数时,被声明的参数只能是(变体类型数组 )。6. 在带可选参数的过程中,使用(isming )函数来测试可选参数是否被选。三、分析运行结果1. 阅读程序Function f(a As Integer) Static cb = 0: b = b + 1 c = c + 1: f = a + b + cEnd FunctionPrivate Sub command1_click() Dim a As Integer a = 2 For i = 1 To 3 Print f(a); Next iEnd Sub程序运行后,单击命令按钮,输出结果为:2. 阅读程序Sub s(x As Single, y As Single) t = x x = t / y y = t Mod yEnd SubPrivate Sub command1_click() Dim a As Single, b As Single a = 5 b = 4 s a, b Print a, bEnd Sub程序运行后,单击命令按钮,输出结果为:3. 阅读程序Function M(x%, y%) As Integer M = IIf(x y, x, y)End FunctionPrivate Sub command1_click() Dim a As Integer, b As Integer a = 1 b = 2 Print M(a, b)End Sub程序运行后,单击命令按钮,输出结果为:4. 阅读程序Sub Inc(a As Integer) Static x As Integer x = x + a Print x;End SubPrivate Sub command1_click() Inc 2 Inc 3 Inc 4End Sub程序运行后,单击命令按钮,输出结果为:5. 阅读程序:Sub p(b() As Integer) For i = 1 To 4 b(i) = 2 * i Next iEnd SubPrivate Sub command1_click() Dim a(1 To 4) As Integer a(1) = 5 a(2) = 6 a(3) = 7 a(4) = 8 p a() For i = 1 To 4 Print a(i); Next iEnd Sub程序运行后,单击命令按钮,输出结果为:6. 阅读程序:Function fun(ByVal num As Long) As Long Dim k As Long k = 1 num = Abs(num) Do While num k = k * (num Mod 10) num = num 10 Loop fun = kEnd FunctionPrivate Sub command1_click() Dim n As Long, r As Long n = Val(InputBox(请输入一个数:) r = fun(n) Print rEnd Sub程序运行后,单击命令按钮,输入1234,输出结果为:7. 阅读程序:Function func(a%, b%) As Integer Static m As Integer, i As Integer m = 0 i = 2 i = i + m + 1 m = i + a + b func = mEnd FunctionPrivate Sub command1_click() Dim k%, m%, p% k = 4 m = 1 p = func(k, m) Print p; p = func(k, m) Print pEnd Sub程序运行后,单击命令按钮,输出结果为:8. 阅读程序:Dim a%, b%, c%Public Sub p1(x%, y%) Dim c% x = 2 * x: y = y + 2: c = x + yEnd SubPublic Sub p2(x%, ByVal y%) Dim c% x = 2 * x: y = y + 2: c = x + yEnd SubPrivate Sub command1_click() a = 2: b = 4: c = 6 Call p1(a, b) Print a, b, c Call p2(a, b) Print a, b, cEnd Sub程序运行后,单击命令按钮,输出结果为:9. 阅读程序:Private Sub command1_click() Dim m%, i%, x%(10) For i = 0 To 4 x(i) = i + 1 Next i For i = 1 To 2 Call proc(x() Next i For i = 0 To 4 Print x(i) Next iEnd SubPublic Sub proc(a%() Static i% Do a(i) = a(i) + a(i + 1) i = i + 1 Loop While i y, x, y)End FunctionPrivate Sub command1_click() Dim a As Integer, b As Integer a = 100 b = 200 Print M(a, b)End Sub程序运行后,单击命令按钮,输出结果为:17. 阅读程序:Private i As IntegerPrivate Sub abc() a$ = Chr(Asc(A) + i) b$ = Chr(Asc(Z) - x) Print a$ & b$; ;End SubPrivate Sub command1_click() Dim x As Integer For i = 0 To 4 x = x + 1 abc Next iEnd Sub程序运行后,单击命令按钮,输出结果为:四、简答题1. 子过程与函数过程的异同点是什么?2. 什么是形参?什么事实参?3. 调用子过程或函数过程时,实参与形参的对应关系如何?应注意什么问题?4. 值传递与地址传递的选择与其特点是什么?5. 在VB中,形参若是数组,不要说明数组元素的个数,即以数组名和圆括号表示,在过程体内如何表示数组的上下界?6. 在Form1窗体通用声明部分声明的变量,可否在Form2窗体中的过程被访问?7. 要使变量在某事件过程中保值,有哪几种变量声明的方法?8. 指出下面过程语句说明中的错误:(1)Sub f1(n%) as integer (2)Function f1%(f1%)(3)Sub f1(ByVal n%() (4)Sub f1(x(i)as integer)9. 已知有如下求两个平方数和的fsum子过程:Public Sub fsum(sum%, byval m%, byval n%) Sum=m*m+n*nEnd Sub在事件过程中有如下变量声明:Dim a%,b%,c!a=10b=20则指出如下过程调用语句错误所在:(1)fsum 3,4,5 (2)fsum c, a, b (5)call fsum c, a, b(3)fsum a+b, a, b (4)call fsum(sqr(c), sqr(a), sqr(b)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!