vb课后练习答案习题解答 (6)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.当用户()时,会引发焦点所在对象的KeyPress事件。
a)在键盘上按下有ASC码的键b)释放键盘上有ASC码的键
c)单击鼠标左键d)单击鼠标右键
答案:a
12.当用户在键盘上按下一个有ASC码的键时会发生()事件。
a) KeyPress和KeyDownb) KeyPress和KeyUp
c) KeyDown和KeyUpd) KeyPress和KeyMove
7.在模块内定义的过程,若在关键字sub或Function加前缀Public,则该过程称为( )。
答案:全局级过程或工程级过程
8.过程中定义的静态变量作用域是( ),生存期是( )。
答案:该过程内、整个应用程序运行结束之前
7
1.标准模块中的代码存放在以()为扩展名的文件中。
a).frmb).basc).clsd).txt
PrivateSub Command1_Click()
x = 10:Print x
Call s1:Print x
Call s2:Print x
End Sub
Private Sub s1()
x = x + 20:Print x
End Sub
Private Sub s2()
Dim x As Integer
Print "max="; m
End Sub
Private Function max(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)
If x > y Then max = x Else max = y
If z > max Then max = z
空串
Text3
Text
空串
Command1
Caption
计算
Command2
Caption
结束
(2)程序代码
Private Sub Command1_Click()
Dim x!, y!
x = Val(Text1.Text)
y = Val(Text2.Text)
Label3.Caption = "g(" & Str(x) & "," & Str(y) & ")="
答案:d
9.当鼠标在窗体上移动时,会发生()事件。
a) MouseDown b) MouseUp
c) MouseMove d) DragDown
答案:c
10.当某个对象具有焦点时,在键盘上按下某一键时就会发生()事件。
a)KeyPress b)KeyUp
c)KeyDown d)DragDown
答案:a、c
End Function
答案:max=480
3.Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
Call s(10, 5, a)
Call s(7, a, b)
Call s(a, b, c)
Print "a="; a, "b="; b, "c="; c
4.若模块中以关键字public定义子过程,则在()中都可以调用该过程。
答案:整个应用程序
5.若窗体模块或标准模块中以关键字private定义函数过程,则该函数过程只能在()中使用。
答案:该窗体模块或标准模块
6.每一个用标识符定义的变量、常量、过程都有一个有效范围,这个范围称为标识符的( )。
答案:作用域
Dim t As Long,i As Integer
t=1
For i=1 To n
t=t*i
Next i
fac=t
End Sub
是一个求n的阶乘子过程。
又如,Private Function max(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)
Dim i%, k%
For i = 1 To n
If a(i) Mod 3 = 2 Then
If k Mod 4 = 0 Then Print
Print a(i),
k = k + 1
End If
Nexti
End Sub
答案:输出10个1~100之间的随机整数,并把其中能被3除余2的数输出。
5.Public x As Integer
x = x + 20:Print x
End Sub
答案:10
30
30
20
30
6.Private Sub Command1_Click()
s3 (1): s3 (1): s3 (1)
End Sub
Private Sub s3(ByVal a As Integer)
Dim x As Integer
Static y As Integer
Text1.Text = "": Text2.Text = "": Text3.Text = ""
Label3.Caption = ""
End Sub
(3)运行情况
运行程序后,屏幕出现用户界面。把鼠标移到Text1文本框并单击,然后输入x(例如,2.5)。再把鼠标移到Text2文本框并单击,然后输入y(例如,3.4)。x和y输入后,单击标题为“计算”的命令按钮,系统执行相应的Click事件过程。执行结果如图3.7.3所示。求g(1.7,2.5)和g(3.8,2.9)的操作方法类似。单击标题为“结束”的命令按钮,结束程序的执行。
在窗体上建立三个标签、三个文本框和两个命令按钮。窗体和窗体上控件的主要属性设置如表3.7.3所示。
表3.7.3属性设置
控件名称
属性名
属性值
Form1
Caption
计算函数值
Label1
Caption
x=
Label2
Caption
y=
Label3
Caption
空串
Text1
Text
空串
Text2
Text
Dim i%
For i = 1 To 2
P(i)
Next i
For i = 3 To 1 Step -1
P(i)
Next i
End Sub
答案:**
****
******
****
**
2.Private Sub Command1_Click()
Dim m%
m = max(35, -21, 480)
m = max(max(m, 75, 100), 380, 28)
c) Exit Subd) Exit Function
答案:c
6.在过程的形式参数的前面加上关键字( ),则该参数说明为传值参数。
a) Val b) ref c) Byref d) ByVal
答案:d
7.关于过程作用域,错误的描述是()。
a)全局级过程的作用域为整个工程。
b)在某一窗体模块中定义的全局级过程,若被该模块外的模块所调用,必须在该过程名前加上窗体名称。
Text3.Text = Str(g(x, y))
End Sub
Private Sub Command2_Click()
End
End Sub
Private Function f(ByVal t!) As Single
f = (1 + Exp(-t)) / (1 + Exp(t))
End Function
答案:b
2.( )不能在标准模块中定义。
a)事件过程b)子过程c)函数过程d)公共过程
答案:a
3.设已定义子过程p,有3个数值型传值参数;设a为实型变量,调用该子过程的正确语句为()。
a) pb) call p 0.5,a,100
c) call p (0.5,cos(0.1),a+10)d) p (0.5,1.2,100)
End Sub
Private Sub s(x As Integer, y As Integer, z As Integer)
z = y–x
End Sub
答案:a=-5 b=-12 c=-7
4.Private Sub Command1_Click()
Dim i%
Const n = 10
Dim a(1 To n) As Integer
c)在不同模块中定义的模块级过程可以同名。
d)模块级过程与工程级过程不能同名。
答案:d
8.关于变量的作用域,正确的描述是()。
a)在模块内定义的变量,其作用域必定为所在模块。
b)同一模块中不同级的变量不能同名。
c)同一模块中所有在过程之外用Dim定义的变量为全局变量。
d)不同模块中定义的变量名字可以相同。
7
1.Private Sub p(ByVal i As Integer)
Dim j%, k%
For j = 0 To 7 - i
Print " ";
Next j
For k = 0 To 2 * i - 1
Print "*";
Next k
Print
End Sub
Private sub command1_Click()
图3.7.3执行结果
4.给定三组已按升序排列好的整型数据,使用过程编写程序把它们合并为一组仍能按升序排列的数据。
解答:
(1)界面设计和属性设置
在窗体上建立四个标签、四个文本框和两个命令按钮。窗体和窗体上控件的主要属性设置如表3.7.4所示。
If x > y Then max = x Else max = y
If z > max Then max = z
End Function
是一个求三个数x、y和z最大值的函数过程。
2.传值参数和传址参数的主要作用是什么?在调用过程进行参数传递时,它们之间有什么区别?
答:传值参数的主要作用是把需处理的原始数据传送给被调用过程的形式参数。传址参数的主要作用是把调用过程后的结果传递回给调用程序。
Randomize
For i = 1 To n
a(i) = Int(Rnd * 100 + 1)
Print a(i),
If i Mod 4 = 0 Then Print
Next i
Print
Call s(a, n)
End Sub
Private Sub s(a() As Integer, ByVal n As Integer)
对传值参数来说,在调用过程进行参数传递时,是把实际参数的值直接传送给相应的传值参数。值传送完之后,传值参数与相应的实际参数之间毫无任何联系。即在调用过程时,传值参数的改变不会引起相应实际参数的改变。
对传址参数来说,在调用过程进行参数传递时,是把实际参数的地址传送给相应的传址参数。调用过程时,对传址参数的任何操作都是对相应的实际参数进行。即在调用过程时,传址参数的改变会引起相应实际参数的改变。
答案:a
7
1.过程的主要作用是什么?VB有什么类型的自定义过程?试举例说明。
答:过程的主要作用有两个:一是任务划分。即把一个复杂的任务划分为若干个小任务,每个小任务可以用过程来完成,从而使任务更易于理解,易于实现和维护;二是代码重用。各种复杂的任务常常包含一些完全相同或非常相近的小任务。把这些小任务独立地编成公用的过程,由各个任务调用,这样的做法可以避免重复的编程劳动。
答案:c
4.设已定义函数过程f,它有三个实型传值参数;设a,b和c为实型变量,则调用该函数的正确语句为()。
a)f b) f( a+b, b+c )
c)f ( a+b, b+c ,c+a )d) f a+b, b+c, c+a
答案:c
5.在过程体中退出子过程的语句是()。
a) Exit Dob) Exit For
x = x + a: y = y + a
Print "x="; x, "y="; y
End Sub
答案:x=1 y=1
x=1 y=2
x=1 y=3
7
3. ,其中f(t)=(1+e )/(1+e ),求g(2.5,3.4),g(1.7,2.5)和g(3.8,2.9)的值。
解答:
(1)界面设计和属性设置
Private Function g(ByVal x!, ByVal y!) As Single
If x <= y Then
g = f(x + y) / (f(x) + f(y))
Else
g = f(x - y) / (f(x) + f(y))
End If
End Function
Private Sub Text1_Click()
在VB6中,有下列4种类型的自定义过程:
1)以关键字Sub开头的子过程;
2)以关键字Function开头的函数过程;
3)以关键字Property开头的属性过程;
4)以关键字Event开头的事件过程;
在教材中只介绍子过程和函数过程两种自定义过程。
例如,Private Sub fact(Byval n As Integer,Byref fac As Long)

7
1. 一个VB应用程序可以包括的三种模块是:()、()和()模块。
答案:窗体模块、标准模块、类模块
2.函数过程定义中至少有一个赋值语句把表达式的值赋给()。
答案:函数ቤተ መጻሕፍቲ ባይዱ程名
3.在VB中,过程定义中有两种传递形式的参数:一种是( ),称为传值调用;另一种是( ),称为传址调用。
答案:传值参数、传址参数
相关文档
最新文档