VB作业2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB第二次作业〔5~7章〕
一、选择题〔每题2分,共2×20=40分〕
1、当在滚动条内拖动滚动块时触发
A.KeyUp事件
B.KeyPress事件
C.Scroll事件
D.Change事件
2、设已经在"菜单编辑器"中设计了窗体的快捷菜单,其顶级菜单为Bs,取消其"可见"属性,运行时,在以下事件过程中,可以使快捷菜单响应鼠标右键菜单的是
A.Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If Button=2 Then PopupMenu Bs, 2
End Sub
B.Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
PopupMenu Bs
End Sub
C.Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
PopupMenu Bs,0
End Sub
D.Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If (Button=vbLeftButton) Or (Button=vbRightButton) Then PopupMenu Bs
End Sub
3、图像框有一个属性,可以自动调整图形的大小,以适应图像框的尺寸,这个属性是
A) Autosize B) Stretch
C) AutoRedraw D) Appearance
4、以下表达中正确的选项是
A) 在窗体的Form_Load事件过程中定义的变量是全局变量
B) 局部变量的作用域可以超出所定义的过程
C)在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程
D) 在调用过程时,所有局部变量被系统初始化为0或空字符串
5、以下表达中错误的选项是
A) 如果过程被定义为Static类型,则该过程中的局部变量都是Static类型
B) Sub过程中不能嵌套定义Sub过程
C) Sub过程中可以嵌套调用Sub过程
D) 事件过程可以像通用过程一样由用户定义过程名
6、以下表达中错误的选项是
A) 在同一窗体的菜单项中,不允许出现标题相同的菜单项
B) 在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键
C) 程序运行过程中,可以重新设置菜单的Visible属性
D) 弹出式菜单也在菜单编辑器中定义
7、设在菜单编辑器中定义了一个菜单项,名为menu1。

为了在运行时隐藏该菜单项,应使用的语句是
A) menu1.Enabled=True B) Munu1.Enabled=False
C) Menu1.Visible=True D) Menu1.Visible=False
8、以下表达中错误的选项是
A) 在程序运行时,通用对话框控件是不可见的
B) 在同一个程序中,用不同的方法(如ShowOpen或ShowSave等〕打开的通用对话框具有不同的作用
C)调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件
D) 调用通用对话框控件的ShowColor方法,可以打开颜色对话框
9、设有如下的记录类型
Type Student
numberAs string
name As String
age As Integer
End Type
则正确引用该记录类型变量的代码是
A) Student.name=”张红”
B) Dim s As Student
=”张红”
C) Dim s As Type Student
=”张红”
D) Dim s As Type
s.Dame=”张红”
10、表示滚动条控件取值范围最大值的属性是
A)Max B)LargeChange C)Value D)Max—Min
11、系统默认的参数传递方式是〔〕传递。

A、按值
B、按地址
C、ByVal
D、按实参
12、假定有以下函数过程:
Function Fun(S As String) As String
Dim s1 As String
For i=1 To Len(S)
s1=UCase(Mid(S,i,1))十s1
Next i
Fun=s1
End Function
在窗体上画一个命令按钮,然后编写如下事件过程:
Prlvate Sub Commmldl_Click()
Dim Str1 As String,Str2 As String
Strl=inputbox(”请输入一个字符串”)
Str2=Fun(Strl)
Print Str2
End Sub
程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为
A)abcdefg B)ABCDEFG C)gfedcba D)GFEDCBA
13、以下表达中错误的选项是
A)用Shell函数可以调用能够在Windows下运行的应用程序
B)用Shell函数可以调用可执行文件,也可以调用VisualBasic的内部函数
C)调用Shell函数的格式应为:<变量名>=Shell(……)
D)用Shell函数不能执行DoS命令
14、以下关于过程及过程参数的描述中,错误的选项是
A)过程的参数可以是控件名称
B)用数组作为过程的参数时,使用的是“传地址”方式
c)只有函数过程能够将过程中处理的信息传回到调用的程序中
D)窗体可以作为过程的参数
15、一个工程中包含两个名称分别为Forml、Form2的窗体,一个名称为mdlFunc的标准
模块。

假定在Forml、Form2和mdlFunc中分别建立了自定义过程,其定义格式为:Forml中定义的过程:
PriVate Sub frmfunctionl()
End Sub
Form2中定义的过程:
Public Sub frmffunction2()
End Sub
mdlFunc中定义的过程:
PubliC Sub mdlFunction()
End Sub
在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下表达中正确的选项是
A)上述三个过程都可以在工程中的任何窗体或模块中被调用
B)frmfunction2和mdlfunction过程能够在工程中各个窗体或模块中被调用
C)上述三个过程都只能在各自被定义的模块中调用
D)只有mdlFunction过程能够被工程中各个窗体或模块调用
16、在窗体上画一个名称为CommonDialogl的通用对话框,一个名称为Commandl的命令按钮。

要求单击命令按钮时,打开一个保存文件的通用对话框。

该窗口的标题为"Save",缺省文件名为“SaveFile”,在“文件类型”栏中显示*.txt。

则能够满足上述要求的程序是
A)Private Sub Command_C1ick()
Commondialogl.FileName=“Savefile”
Commondialogl.filter="All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc"
CommonDialogl.Filterindex=2
CommonDialogl.Dial0g.title="Save"
CommonDialogl.Action=2
End Sub
B)Private Sub Commandl—Click()
CommonDialogl.FileName="SaveFile"
CommonDiaLogl.Filter="A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc"
C0mmonDialogl.FilterIndex=1
CommonDialogl.DialogTitle="Save"
CommonDialogl.Action=2
End Sub
C)Private Sub Cmmandl_C1ick()
COmmonDialogl.FileName="Save"
CommonDialogl.FiLter="A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
CommonDialogl.Filterindex=2
C0mmonDialogl.DialogTitle="SaveFile"
CommonDialogl.Action=2
End Sub
D)Private Sub Commandl_C1ick()
CommonDialogl.FileName="SaveFile"
CommonDialogl.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
CommonDialogl.FilterIndex=1
CommonDialogl.DialogTitle=“Save”
CommonDialogl.Action=1
End Sub
17、以下关于变量作用域的表达中,正确的选项是
A) 窗体中凡被声明为Private的变量只能在某个指定的过程中使用
B) 全局变量必须在标准模块中声明
C) 模块级变量只能用Private关键字声明
D) Static类型变量的作用域是它所在的窗体或模块文件
18、在以下描述中正确的选项是
A)标准模块中的任何过程都可以在整个工程范围内被调用
B) 在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程
C) 如果工程中包含Sub Main过程,则程序将首先执行该过程
D) 如果工程中不包含Sub Main过程,则程序一定首先执行第一个建立的窗体
19、在窗体上画一个名称为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:
Private Function f(m As Integer)
If m Mod 2 = 0 Then
f = m
Else
f = 1
End If
End Function
Private Sub Command1_Click()
Dim i As Integer
s = 0
For i = 1 To 5
s = s + f(i)
Next
Print s
End Sub
程序运行后,单击命令按钮,在窗体上显示的是
A) 11 B) 10 C) 9 D) 8
20、在用菜单编辑器设计菜单时,必须输入的项有
〔A〕快捷键〔B〕标题〔C〕索引〔D〕名称
二、填空题〔每题2分,共2×15=30分〕
1、一个多文档界面的应用程序可以包含三类窗体分别是、
、。

MDI父窗体、MDI子窗体、普通窗体
2、自定义类型中的元素类型可以是字符串,但该字符串必须是。

定义长度
3、一个VB应用程序可以包括三种模块:、
和。

窗体模块;标准模块;类模块
4、每一个过程都有一个使用范围,过程的使用范围称为。

过程的作用域
5、要设置Data控件连接数据库的名称,需要设置其属性。

DatabaseName
6、For循环中,当步长大于零时,初始值终止值,当步长小于零时,初始值终止值,不指明步长时,默认步长是。

小于等于;大于等于;1
7、要设置Data控件连接的数据库类型,需要设置其属性。

RecordsetType
8、符号常量在某一过程中说明,则该符号常量只能在_______内有效。

该过程内
9、在函数过程定义中一般至少有一个赋值语句把所得函数值赋给。

函数过程名
10、模块级过程的作用域为。

它所在模块
11、在用Show方法后显示自定义对话框时,如果Show方法后带_____________参数就将窗体作为模式对话框显示。

vbModal或1
12、菜单的热键指使用_____________键和菜单项标题中的一个字符来打开菜单。

Alt
13、如果在建立菜单时在标题文本框中输人一个_____________,那么菜单显示时形成一个分隔线。

下划线或“_”
14、如果把菜单项的_____________属性设置为True,则该菜单项成为一个选项。

Checked
15、坐标度量单位可通过____________来改变。

ScaleMode属性
三、程序阅读,答复以下问题〔每题5分,共5×4=20分〕
四、1、写出以下窗体模块中事件过程的执行结果。

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
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
2、写出下面程序运行后,单击窗体,输入数据为2、4时,窗体的输出结果。

Sub ASay〔x As Integer,ByVal y As Integer〕
Dim a As Integer
A=2*x+y
x=a+1
y=x+10
End Sub
Private Sub Form_Click〔〕
Dim a As Integer, b As Integer
a=Val〔InputBox〔”请输入一个整数”〕〕
b=Val〔InputBox〔”请输入一个整数”〕〕
Call Asay〔a,b〕
P rint “a=”;a,”b=”;b
End Sub
答案:执行结果为:a=9 b=4
3 、写出以下事件过程的执行结果。

Private Sub Command1_Click()
Dim m%
m=max(35, -21, 480)
m=max(max(m, 75, 100), 380, 28)
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
End Function
答案:执行结果为: 80
4、在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码,程序运行后,单击命令按钮,输出结果是什么?
Private Sub Command1_Click()
Dim a(5, 5)
For i = 1 To 3
For j = 1 To 4
a(i, j) = i * j
Next j
Next i
For n= 1 To 2
For M = 1 To 3
Print a(M, n);
Next M
Next n
End Sub
答案:1 2 3 2 4 6
五、编写程序〔10分〕
编写程序:利用文本框检查用户口令,而且使用静态变量来限制输入口令的次数。

界面如下列图:
答案:编写文本框Text1的KeyPress事件代码:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Static n As Integer
If KeyAscii = 13 Then
If LCase(Text1.Text) = "longxb" Then
Label1.Caption = "欢迎使用本系统"
Else
n = n + 1
If n = 3 Then
Label1.Caption = "对不起,您无权使用"
Text1.Enabled = False
Else
Label1.Caption = "对不起,口令错"
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End If
End If
End If
End Sub。

相关文档
最新文档