VB第六章习题答案(上海立信会计学院)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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关键字声明为全局变量。

八、在同一模块、不同过程中声明的相同变量名,两者是否表示同一个变量?两者之间有没有联系?

答:不能作为同一个变量应用,

没任何联系,各自在过程中有效

相关文档
最新文档