VB第六章习题答案(上海立信会计学院)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海立信会计学院
班级:学号:姓名:指导教师:
系部:专业:
习题六p150
一、简述子过程与函数过程的共同点和不同之处。
答:相同之处:都是功能相对独立的一种子程序结构,它们有各自的过程头、变量声明和过程体,在程序的设计过程中可以提高效率。
不同之处:
(1)声明的关键字不同。子过程为Sub,而函数过程为Function。
(2)了过程无值就无类型说明,函数过程有值因此有类型的说明
(3)函数的过程名称同时是结果变量,因此在函数过程体内至少要对函数的过程名赋值一次数据,而子过程内不能赋值。
(4)调用的方式不同,子过程是一条独立的语句,可以用Call子过程名或省略Call直接以子过程名调用;函数的过程不是一条独立的语句,是一个函数值,必须参与表达式运算。
(5)通常,函数过程可以被子过程代替,只需要在调用的过程中改变一下过程调用的形式,并在子过程的形参表中增加一个地址传递的形参来传递结果。
二、什么是形参,实参?什么是值引用?地址引用?地址应用对实参有什么限制?
答:形参:在定义过程时的一种假设的参数,只代表该过程的参数的个数、类型,它的名字不重要,没有任何的值,只表示在过程体内将进行的一种操作。
实参:在调用子过程时提供过程形参的初始值,或通过过程体处理后的结果。
值引用:系统将实际参数的值传到形参之后,实参与形参断开联系,过程中对于形参的修改不会影响到实际参数的变化。
地址引用:实参与形参共同使用一个存储单元,在过程中对形参进行修改,则对应的实际参数也同时变化。
在地址引用时,实参只能是变量,不能是常量或表达式。
三、指出下面过程语句说明中的错误:
(1)Sub f1(n%) as Integer
(2)Function f1%(f1%)
(3)Sub f1(ByVal n%())
(4)Sub f1(x(i) as Integer)
答:(1)Sub子过程名没有返回值,因此就没有数据的类型
(2)函数名与形参名称相同
(3)形参n为数组,不允许声明为ByVal值传递
(4)形参x(i)不允许为数组元素
四、已知有如下求两个平方数和的fsum子过程:
Public Sub fsum(sum%, ByVal a%, ByVal b%)
sum = a * a + b * b
End Sub
在事件过程中若有如下变量声明:
Private Sub Command1_Click()
Dim a%, b%, c!
a = 10:
b = 20
则指出如下过程调用语句的错误所在:
(1)fusum 3, 4, 5
(2)fsum c, a, b
(3)fsum a + b, a, b
(4)Call fsum(Sqr(c), Sqr(a), Sqr(b))
(5)Call fsum c,a,b
答:(1)furm子过程的第一个形参是地址传递,因此对应的实参3不能是常量
(2)furm的第一个形参是整型而且是地址传递,对应的实参c是单精度,数据类型不匹配(3)furm的第一个形参是地址传递,因此对应的实参a+b不应当是表达式
(4)furm的第一个形参是地址传递,因此对应的实参Sqr(c)不应当是表达式
(5)用Call语句调用furm子过程时,必须用圆括号来描述实参
六、要使变量在某事件过程中保留值,有哪几种变量声明的方法?
答:声明为static或者全局变量
七、为了使某变量在所有的窗体中都能使用,应在何处声明该变量?
答:应在窗体\模块的通用声明段用Public关键字声明为全局变量。
八、在同一模块、不同过程中声明的相同变量名,两者是否表示同一个变量?两者之间有没有联系?
答:不能作为同一个变量应用,
没任何联系,各自在过程中有效