Visual Basic模拟题
一、简答题:
在用Visual Basic开发应用程序时,一般分为几步进行?每一步需要完成什么操作? P22
答:(1)创建工程,设计界面。A、启动VB在“新建工程”对话框中选“标准EXE”工程,单击“打开”按钮,出现了窗体设计器,也就创建了第一个窗体。再利用控件工具箱在窗体上创建各种对象。B、如已启动VB,若需再创建新工程,可从“文件”菜单中选“新建工程”,在出现的对话框中选“标准EXE”并单击“打开”按钮,也可出现窗体设计器,再利用控件工具箱在窗体上创建各种对象。
(2)设置属性。设置窗体或控件等对象的属性。
(3)编写代码。在代码窗口编写代码。
(4)运行程序。按F5键和按工具栏上执行按钮,就可执行一个工程。
(5)保存工程(文件)。从“文件”菜单选“保存工程”出现“另存为”对话框,输入一个文件名,先保存窗体文件,生成.FRM文件;然后又出现一个对话框,需要再输入文件名,接着保存工程文件,生成.VBP文件。
(6)编译程序,生成.EXE文件。
2.按作用范围划分,变量分为几类?在什么位置以及如何声明各类变量? P39
答:分三类:
(1)过程内部使用的变量。在声明它们的过程中才能识别,为局部变量,用DIM或者STATIC关键字声明。用STATIC声明的局部变量为静态,其值一直存在,用DIM声明的变量只在过程执行期间才存在。
(2)模块内部使用的变量。在模块顶部的声明段使用PRIVATE关键字声明。
(3)所有模块使用的公用变量。用PUBLIC关键字声明,应在模块顶部的声明段来声明。
3. 什么是基本控件?如何在窗体上添加控件? P20
答:在窗体上用于输入、输出信息的图形或文字符号称为控件。如命令按钮、标签、文本框等为基本控件。在窗体上添加有两种方法:
(1)用鼠标单击工具箱中相应的控件按钮,再把鼠标移到窗体上,这时鼠标变成十字形,在合适的位置上按下鼠标左键并拖动,这里窗体上有一个矩形框,当其大小合适时,松开鼠标左键,窗体上就会显示一个相应大小的控件。同时可看到控件周围出现8个小方框,它们称为尺寸调节柄。利用尺寸调节柄可调节控件的大小。当控件上有尺寸调节柄时,说明该控件是“活动的”或“被选中的”。
(2)双击工具箱中要添加的控件按钮,就可在窗体的中央添加一个控件,然后再把它移到合适的位置。
4.常量和变量有什么区别?它们各应该在什么情况下使用? P35
答:常量是指在程序运行过程中,它的值始终保持不变的量。有两种形式,直接常量、符号常量。直接常量根据使用的数据类型分:字符串常量、数值常量、布尔常量、日期常量。符号常量分:内部(系统定义)常量和符号(用户定义)常量。用“Private”定义的常量只能在模块内部使用,用“Public”定义的常量可在模块之间使用。这样书写方便,提高编写程序的效率。
变量是指其值在程序运行期间可以改变的量,变量在整个程序运行中其值可以改变,但某一时刻变量有惟一确定的值。可以不声明直接使用。变量一般用小写,常量一般用大写。
5、什么是对象?什么是对象的事件和方法?试列举几个常用的事件和方法?P17
答:对象是代码和数据的组合,可作为一个单位来处理。可是应用程序的一部分,也可是整个应用程序。
对象事件是对象可以识别的动作,即窗体、控件和其他对象可以识别的动作。
如:Paint事件,Resize事件,Click事件,Keypress事件等。
对象本身具有一些函数或过程称为方法。方法就是对象要执行的动作,方法可以影响属性值。Form1.Print输出表项,Clear,AddlTem, RemoveITem.
6.VB有几种类型的表达式?请举例说明。 P46
答:VB有五种类型表达式:
(1)算术表达式 2*PI*R^2
(2)字符串表达式 “welcome”
(3)日期型表达式 #10/20/99#
(4)关系表达式 “A”<“B”
(5)布尔表达式 8>2AND5*3
二、论述题:
1. 举例说明使用菜单编辑器制作菜单的详细过程。 P219
答:(1)选取该窗体。从“工具”菜单中,选取“菜单编辑器”。或者在“工具栏”上单击“菜单编辑器”按钮。
(2)设置菜单、菜单项,设置其属性。在“标题”文本框中,为第一个菜单标题键入希望在菜单栏上显示的文本。如希望某一字符成为该菜单项的访问键,也可在该字符前面加一个&字符。在菜单中,这一字符会自动加上一条下划线。菜单标题文本显示在菜单控件列表框中。在“名称”文本框中,键入将用来在代码中引用该菜单控件的名字。)单击向左或向右箭头按钮,可改变该控件的缩进级,即改变该菜单条的级别。选取“下一个”就可再建一个菜单控件。单击“插入”可以在现有的控件之间增加一个菜单控件。也可单击向上与向下的箭头按钮,在现有菜单控件之中移动控件。如所有菜单控件都已创建,选取“确定”可关闭菜单编辑器。
(3)编写菜单项代码。
(4)运行菜单。
举例说明手工制作工具栏的详细过程。 P228
答:(1)手工创建工具栏。在MDI窗体上放置一个图片框。图片框的宽度会自动伸展,直到填满MDI窗体工作空间。工作空间就是窗体边框以内的区域,不包括标题条、菜单栏或所有的工具栏、状态栏或者可能在窗体上的滚动条。在图片框中,可放置任何想在工具栏上显示的控件。要在图片框中添加控件,单击工具栏中的控件按钮,然后在图片框中画出它。
(2)设置设计时的属性。使用工具栏的一个好处是可以显示一个形象的命令图示。IMAGE控件是作为工具栏按钮一个很好的选择,因为可以用它来显示一个位图。在设计时设置其PICTURe属性来显示一个位图,这样,当该按钮被单击时,即能提供一个命令执行的可见信息。也可以通过设置按钮的tooltiptext属性来使用工具提示,这样,当用户把指针保持在一个按钮上时,就可显示出该工具栏按钮的名称。
(3)编写代码。
‘在MDIForm1模块的公共过程中’
Public Sub FileNew()
Dim frmNewPad As New frMNotePad
FrmNewPad.Show
EndSub
‘在子窗体的“文件”菜单上选取“新建”
Private Sub MnuchildFileNew_Click()
MDIForm1.fileNew
End Sub
‘在MDI窗体的“文件”菜单上选取“新建”‘
Private Sub mnumdiFileNew_Click()
FileNew
End Sub
‘在工具栏上单击“新建文件”按钮‘
Private Sub BtnFileNew_Click()
FileNew
End Sub
(4)运行。
举例说明使用ToolBar控件制作工具栏的详细过程。 P230
三、填空题:
1. 窗体是设计工程的主界面。用户在这个窗体上设计界面。窗体有自己的属性、事件和方法。当窗体被加载时运行Load 事件。当窗体被卸载时运行Unload事件。每当用鼠标单击窗体就会发生Click事件。每当用鼠标双击窗体时就会发生DblClick事件。
2. 计时器控件是一个用来进行定时触发事件的控件,通常用计时器控件来设计与时间有关的应用程序。在工具箱中它是一个标有 秒表 图案的工具按钮。
3. 标签,是提供在窗体的相对位置上 输出文本 的区域,但该区域不能 进行编辑 。因而,常用来标识没有 标题 属性的控件,例如给文本框控件(TextBox)加 标题 。标签控件也常用来 输出文本 。
4. InputBox函数用来在对话框中显示 提示 ,等待用户输入 正文 或按下按钮 ,并返回包含文本框内容的 string 。
5. VB里有三种坐标系 屏幕坐标系 、窗体坐标系 以及 窗体内部坐标系 ,这三种坐标系都是以其 左上角 为坐标原点。
6. 对话框不是模式的就是无模式的。对于模式对话框,只有 关闭 该对话框以后才能继续操作应用程序的 其他部分 。无模式对话框 允许 在对话框与其他窗体之间转移焦点而 不用关闭对话框 。
7. 按下一键时将生成KeyDown和KeyPress事件,而松开此键后生成KeyUp事件。当用户按下一个KeyPress不能检测的键时将触发 Keydown 事件,而松开此键后时生成 Keyup 事件。对于键盘事件,只有当窗体为活动窗体且其上所有控件 均未获得焦点 ,窗体才获得焦点。如果将窗体上的KeyPreview属性设置为 true ,则对每个控件在控件识别其所有 键盘事件 之前,窗体就会接受这些键盘事件。
8. 命令按钮是Windows应用程序中最常用的控件,它一般被用来 启动 、中断或结束一个过程。单击它时将执行已写入命令按钮的 click 事件过程中的命令代码。用户可以将需要执行的操作放在命令按钮的 click 事件过程中,单击该命令按钮就可让程序运行,完成相应的操作。
9. 滚动条控件有 水平 滚动条和 直 滚动条,它们的使用方法完全一样,当在某些控件中的内容 太大或太多一次不能全部显示时 ,可通过移动滚动条使其显示出来。有时滚动条也可用来输入 一定范围的数据 。
10. 文本框可用来 显示 文本,也可用来输入文本,当文本框控件中的文本发生变化时引发Change( )事件事件。当 单击文本框事件 时引发Click ( )事件事件。当 双击文本框事件 时引发DblClick ( )事件事件。
11. 数组是一组名称相同而 下标 不同的变量。可以用一个 数组名 引用一组数据,并用 下标 来区分它们中的每个元素。数组中每个元素称 数组元素或称 下标变量 。
12. VB还提供了创建图形的一些方法,它们适用于窗体和图片框。清除所有图形和Print输出用 cls 方法,设置各个像素的颜色值用 pset 方法,画线、矩形或填充框用 line 方法,画圆、椭圆或圆弧用 circle 方法。
13. Visual Basic通用对话框控件(CommonDialog)提供了一组标准的操作对话框,可以进行 打开 和 保存文件 、 选择颜色 、 选择字体 和设置打印机等操作。此外,通用对话框还能启动帮助系统。
14. “菜单编辑器”分为上下两部分。上部分用来 设置属性 ,下部分则用显示用户设置的菜单和菜单项 。弹出式菜单是独立于菜单栏而显示在窗体上的浮动菜单 。在弹出式菜单上显示的项目取决于按下鼠标右键时 指针所处的位置 ;因此,弹出式菜单也被称为 上下文菜单或快捷菜单 。
15. 单选按钮用于建立一组 多选一 的选项供用户选择,即在这些选项中,用户一次只能选择其中的 一个 选项,并且必须选择其中 一个 选项。同时,当一个单选钮被选中时,其他选项 自动关闭 。
16. 列表框是以 列表 形式显示一系列项目和信息,用户可通过 单击其中某一项 来选择的自己所需项目或信息。在Windows中,使用列表框输出数据是保证数据标准化的重要手段,它是一个重要的 输出控件 。在工具栏中它是一个标着 带有滚动的列表 图案的按钮。
17. MsgBox 函数用来在对话框中 显示消息 ,等待用户 单击按钮 ,并返回一个 整数 ,告诉程序用户 单击了哪一个按钮 。
18. 在VB中有三种形式的数组,静态数组、动态的数组和控件数组。静态数组就是指数组元素的 个数在程序运行时保持不变的数组 ,动态数组是指数组中的元素个数在程序运行时可以变化的数组,控件数组是使用VB中某些常用控件创建的数组。使用静态数组、动态数组前必须要先声明,才能在程序中使用。
20. B提供了图形控件,如Shape控件和Line控件。它们提供一定的绘图样式,虽比较简单,但是使用非常方便,不需要编写代码,只要设置相应的属性即可。Shape(形状)控件和Line控件可用来 在窗体表面画图形元素 。但 不支持任何事件 ,只用于装饰。在设计时,可通过设置其属性来确定 显示某些图形 ,也可在程序运行时修改属性以 动态显示图形 。
21. 可通过 MouseDown、MouseUp、MouseMove 事件使应用程序对鼠标位置及状态的变化作出响应。 按下任意鼠标按钮 时发生MouseDown事件,释放任意 鼠标按钮 时发生MouseUp事件,鼠标指针移动到屏幕新位置时发生MouseMove事件。当鼠标指针位于 控件 上方时,控件将识别鼠标事件。如果在控件上按下鼠标按钮不放,即使此时鼠标指针已移离该控件,直到 用户释放按钮 为止,该控件仍能 识别鼠标事件 。当鼠标指针位于窗体上无控件的区域时, 窗体 将识别鼠标事件。
22.除了在应用程序中设计菜单外,可以用工具栏进一步增强应用程序的菜单界面。工具栏提供了对于应用程序中最常用的命令的 快速访问 。工具栏(也称为 发条或控制栏 )已经成为许多基于 Windows 的应用程序的标准功能。使用toolbar 控件来创建工具栏非常容易且很方便,它在 Visual Basic的专业版与企业版中是可用的。
四、编程题:
输入一个正整数,利用For循环来判断是否为素数。 P89
启动VB ,选“新建工程”中“标准EXE”工程。在出现的窗体上添加一个文本框、两个标签和两个命令按钮。
设置窗体和控件的属性。标签label1的caption属性开始设置为“请输入一个大于等于3的自然数N”;标签label2的caption属性开始设置为“输出判断结果:”,在工程运行后应输出判断具体的结果。Command1按钮为“判断”;Command2按钮为“退出”。
编写代码。
编写单击命令按钮“判断”所执行的代码。
Privat Sub Command1_Click()
Dim i,j,n As Long
N=Val(Text1.Text)
J=Clng(Sqr(n))
Debug.Print j
For i=2 to j
If n Mod i=0 then Exit For
Next i
If i>j then
Label2.Caption=Text1.Text&“为素数”
Else
Label2.Caption=Text1.Text&“为非素数”
End If
End Sub
编写单击Command2命令按钮“退出”所执行的代码。
Private Sub Command2_Click()
Unload Me
End Sub
编写Form_Activate()事件发生时所执行的代码。
Private Sub Form_Activate()
Text1.SetFocus
End Sub
运行结果。按F5键运行工程,当出现运行画面时在揭示的文本框中输入一个自然数,然后单击“判断”按钮,会在标签2中显示结果。
设计一个屏幕保护程序,屏幕上显示当前系统时间。
解:(1)在窗体上创建一个标签,一个定时器。
(2)设置属性。定时器的Interval=1
(3)编写代码。
Private Sub Timeer1_Timer()
Label1=Time
End Sub
(4)运行结果。
3. 在PictureBox控件内,用Line方法和Pset方法绘制正弦和余弦曲线。P163
解:(1)设计用户工程界面。在窗体上添加一个图片框和三个命令按钮。
(2)设置窗体属性和控件的属性。三个命令按钮的Caption属性分别为“正弦”、“余弦”、“退出”,其中图片框BorderStyle属性设置为1-Fixed single。
(3)编写代码。
编写单击“正弦”按钮所执行的代码。
Private Sub Command1_Click()
Const pi=3.1415926
Dim PicH As Integer,PicW As Integer
PicH=Picture1.ScaleHeight
PicW=Picture1.ScalWidth
Dim x As Integer
Picture1.Cls
Picture1.Line(0,PicH/2)-(PicW,PicH/2),RGB(0,0,255)
For x=0 to PicW
Rem
Picture1.Pset(x,PicH/2-0.4*PicH*Sin(4*x*pi/PicH)),RGB(255,0,0)
For j=0 to 4000:Next j
Next x
End Sub
编写单击“余弦”按钮执行的代码。
Private Sub Command2_Click()
Const pi=3.1415926
Dim PicH As Integer,PicW As Integer
PicH=Picture1.ScaleHeight
PicW=Picture1.ScaleWidth
Dim x As Integer
Picture1.Cls
Pictre1.Line(0,PicH/2)-(PicW,PicH/2),RGB(255,0,255)
For j=0 to 4000:Next j
Next x
End Sub
(4)运行结果。
4. 我国古代数学家张丘建在“算经”里提出一个世界数学史上有名的百鸡问题:鸡翁一、值钱五、鸡母一、值钱三,鸡雏三、值钱一,百钱买百鸡,问鸡翁、母、雏各几何? P90
解:(1)新建“标准EXE”工程,在出现的窗体上添加四个标签、一个列表框、一个框架和两个命令按钮。其中标签1放在框架内。
(2)标签1的Caption属性设为“公鸡每只5钱、母鸡每只3钱、小鸡1钱3只;100钱买100只鸡,问公鸡、母鸡、小鸡各多少只?”标签2的Caption属性为“公鸡”,标签3的Caption属性为“母鸡”,标签4的Caption属性为“小鸡”。
(3)代码编写如下:
编写单击命令按钮“计算”所执行的代码如下:
Private Sub Command1_Click()
List1.Clear
For x=1 to 19
For y=1 to 33
Z=100-x-y
If 5*x+y*3+z/3=100 Then
P=Format(x,”@@@”)&Format(y,“@@@@@”)&Format(z,”@@@@@”)
List1.AddItem p: Rem
End If
Next y
Next x
End Sub
编写单击命令按钮“退出”所执行的代码如下:
Private Sub Command2_Click()
End
End Sub
(4)运行结果。按F5键运行工程,出现运行界面后按“计算”按钮得到结果。
5. 求斐波那契数列的前N项。斐波那契数列问题是一个著名的古典数学总问题。此数列前几项为: 1,1,2,3,5,8,13,21,34,55,89,……
从数列中,可以看出这样的规律,这是一个典型的“递推”问题。从第三项开始,每一项都是由前两项相加得到的。即后面某一项可以从前面已知的项数求出。
斐波那契数列的第一项和第二项的值为:F1 = 1 F2 = 1 , 从第三项开始,其递推关系式如下: Fn =Fn-1 +Fn-2 。用Line方法在窗体上画出两个正方形,一个是空心,一个是实心。 P164
Dim f1,f2,f,s,i,n
N=inputbox(“请输入项数:“)
F1=1
F2=1
Print f1,f2
S=2
For i=3 to n
F=f1+f2
F2=f1
S=s+f
Print “F=”, F
Next i
Print “S=”,S
Private Sub Form_Click()
Line(600,600)-Step(1000,1000),RGB(0,255,0),B
Line(2000,600)-Step(1000,1000),RGB(255,0,0),BF
End Sub
6. 任意输入一个自然数,编程输出其各个因子。 P93
解:(1)新建“标准EXE”工程,在出现的界面上添加三个标签,一个文本框和两个命令按钮。
(2)设置窗体及控件的属性。标签1的Caption属性为“请输入一个自然数”;标签2的Caption属性为“N的因子是:”;标签3的Caption属性为空,在运行时赋值。标签3的Autosize属性为True;以便在运行时赋值能根据实际内容自动适应。命令1按钮为“计算”,命令2按钮为“退出”。
(3)编写代码如下:
编写单击命令按钮“计算”所执行的代码。
Private Sub Command1_Click()
Dim x As String, y As Single
Y=Val(Text1.Text)
I=2
X=””
Do While y<>1
If y Mod i=0 Then
X=x&”*”&Str(i)&Chr(13)
Y=y/i
Else
I=i+1
End if
Loop
Label2.Caption=x
Label1.Caption=Text1.Text&”的因子是:“
End Sub
编写单击命令按钮“退出“所执行的代码。
Private Sub Command2_Click()
End
End Sub
(4)运行结果。按F5执行工程,当出现运行界面时,从文本中输入一个自然数,然后单击命令按钮“计算“就会得到结果,即在标签3中输出了自然数的各个因子相*的结果。标签2的内容也根据输入的数自动改变。
写求1到n的和Function Sum的过程。 P138
Private Function Sum(n As Integer) As Integer
Sum=0
For i=1 to n
Sum=sum+i
Next i
End Function
8. 用Circle方法在窗体上画出一个正圆和一个椭圆。 P166
Private Sub Form_Click()
Const PI=3.1415926
FillStyle=1
Circle(2000,1000),800
End Sub
Private Sub Form_Click()
Rem
FillStyle=1
Circle(2000,1000),800,,,,1/3
End Sub
PAGE
1