VB程序设计期末综合练习

更新时间:2024-04-12 21:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

期末综合练习一

一、单项选择题

1.后缀为.Vbp的文件表示VB 的( )

A.类模块文件 B.窗体文件

C.工程文件 D.标准类模块文件 2.后缀为.bas的文件表示VB 的( )。

A.窗体文件 B.类模块文件 C.工程文件 D.标准类模块文件

3.当需要上下文帮助时,选择要帮助的内容,希望出现MSDN窗口及显示所需的帮助信息,应按的键是( )。

A.Help B.F10 C.F1 D. Esc 4.当一个工程中含有多个窗体时,其中的启动窗体是( )。 A.启动VB时创建的第一个窗体 B.第一个添加的窗体

C.最后一个添加的窗体 D.在“工程属性”对话框中指定的窗体 5.为了保存一个Visual Basic应用程序,下列说法正确的是( )。 A.只保存窗体文件(.frm) B.只保存工程文件(.vbp)

C.分别保存工程文件和标准模块文件(.bas) D.分别保存工程文件、窗体文件和标准模块文件

6.要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列( )属性设置就有效。

A.MaxButton B.BorderSyle C.Width D.MinButton 7.在Visual Basic中,变量的默认类型是( ) A.Integer B. Variant C.Double D.Currency 8.有程序代码如下:

Text1.Text = \

则Text1,Text ,和\分别代表( )。 A.对象,值,属性 B.对象,方法,属性 C.对象,属性,值 D.属性,对象,值

9.Timer控件可用于后台进程中,可在Timer事件内编程,要停止触发Timer事件,需要设置的属性是( )

A.Interval=0或Enabled=False B.Interval=0或Visible=False C.Enabled=False 或Enabled=0 D.Interval=0且Enabled=False 10.要设置命令按钮的背景图形,必须设置的两个属性是( )。 A.Value和Icon B.Style和Icon

C.Caption和Picture D.Style和Picture

11.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是( )。

A.单选按纽 B.图片框 C.框架 D.通用对话框 12.在VB中,下列合法的变量名是( )

A.4ab B. a-b C.a_4 D.integer 13.为使文本框显示滚动条,必须首先设置的属性是( )。

A.AutoSize B.Multiline C.Alignment D.TabStop 14.如下数组声明语句,正确的是( )。

A.Dim a[3,4] As Integer B.Dim a(3 4) As Integer C.Dim a(n,n) As Integer D.Dim a(3,4) As Integer 15.Dim A(6, 6) As Integer定义的数组包含的元素个数是( )

A.36 B.49 C.42 D.动态变化 16.要在窗体Form1内显示“欢迎您!”,使用的语句是( ) A.Form.caption=\欢迎您!\ B.Form1.caption=\欢迎您!\C.Form1.print \欢迎您!\ D.Form. print \欢迎您!\

17.执行Form1.Scale (-14, 14)-(14, -14)语句后,Form1窗体坐标系x轴和y轴的正方向是( )。

A.向左和向下 B.向右和向上 C.向左和向上 D.向右和向下

18.要设置命令按钮的背景图形,必须设置的两个属性是( )。

A.Value和Icon B.Style和Icon C.Style和Picture D.Caption和Picture 19.如果希望以模态方式显示窗体Form1,下列正确的语句是( )

A.Form1.Show 0 B.Form1.Show C.Form1.Show 1 D.以下都不正确

20.如果创建了命令按钮数组控件,那么Click事件的参数是( )。

A.Tag B.Caption C.Index D.As 21.表达式8+13 Mod 2*4+3( )。

A.8 B.16 C.10 D.12 22.下列关于变量的说法不正确的是( )。

A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量 B.局部变量在声明它的过程执行完毕后就被释放了

C.静态局部变量是在过程中用Static语句声明的 D.局部变量的作用域仅限于声明它的过程 23.VB程序中通常不会产生错误提示的是( )。 A.编译错误 B.实时错误 C.运行时错误 D.逻辑错误

24.如果创建了命令按钮数组控件,那么该命令按钮的Click事件的参数是( ) A.Index B.Caption C.Tag D.没有参数

25.使用ADO数据模型时,建立Recordset和Connection对象连接的属性是( )。 A.Execute B.CommandType C.Open D.ActiveConnection 26.不属于VB数据库引擎的是( )。

A.ODBC B.BDE C.Jet引擎 D.OLE DB 二、填空题

1. Visual Basic提供了结构化程序设计的3种基本结构,这3种基本结构是顺序结构、 和 。

2.欲设置定时器的时间间隔为2秒,则属性Interval的值为 。 3.定时器(Timer)控件可识别的事件是 ,发生该事件的时间间隔由定时器的 属性设置。

4.某个程序中要用到一个二维数组,要求数组名为A,类型为整型,第一维下标从-1到2,第二维下标从-2到2,则相应数组声明语句为 。

5.Visual Basic程序开发有三种模式,即设计模式、中断模式和 模式。 6.在VB中想获得帮助,需要按的键是 。

7.全局变量在整个应用程序中有效,一般在标准模块中使用 语句声明。 8.在控件数组中,所有元素的 属性均相同,数组中的每个元素由 属性指定。

9.在Visual Basic语言中有三种形式的循环结构。其中,若循环的次数可以适先确定,可使用 循环。

10.Dim i As Integer,则运行时变量i的初始值是 。 11.一个VB应用程序可以包含 个vbp文件。

12.在VB中,将Access称为本地数据库,SQL Server称为 。 13.VB中参数传递的方式有两种,一种是 参数,另一种是 参数。

14.Winsock控件主要用来编制 或 协议的通话程序。

15.通常可以将文本框控件的Locked属性设置为 ,以禁止键盘输入。

三、阅读程序题

阅读下列程序并写出程序运行结果 1.

Private Sub Form_Click() Dim x As Integer Static y As Integer x = x + 3 y = x + y

Form1.Print \End Sub

写出程序运行时连续单击三次窗体后,Form1上的输出结果。 2.

Private Sub Command1_Click() Dim s As Double Dim i As Integer s = 5 i = 1

Do While i < 7 i = i + 2 s = s + i Loop

Text1.Text = s End Sub

写出程序运行时,单击命令按钮文本框Text1中的输出结果。 3.

Private Sub Form_Click()

Dim c As Integer, j As Integer, k As Integer k = 3 c = 4

For j = 1 To 5 If j > 3 Then c = c + 5 Exit For Else k = k + 1 End If

Next j Print c, k End Sub

写出程序运行时单击窗体后,c,k的值分别是:

4.

Function F(a As Integer) b =3 Static c b = b + 1 c = c + 1 F = a + b + c End Function

Private Sub Command1_Click() Dim a As Integer a = 2

For i = 1 To 3 Print F(a) Next i End Sub

写出程序运行时,单击命令按钮在窗体上的输出结果。

4.

Private Sub Command1_Click()

Dim a As Integer: Dim b As Integer a = 10: b = 20 Change1 a, b

Print \ a = 10: b = 20 Change2 a, b

Print \End Sub

Sub Change1(x As Integer, y As Integer) t = x: x = y: y = t End Sub

Sub Change2(ByVal x As Integer, ByVal y As Integer) t = x: x = y: y = t End Sub

写出程序运行时,单击窗体Form1上的输出结果。

5. Private Sub Command1_Click()

Dim a As Integer: Dim b As Integer a = 10: b = 20 Change1 a, b

Print \ a = 10: b = 20 Change2 a, b

Print \End Sub

Sub Change1(x As Integer, y As Integer) t = x: x = y: y = t End Sub

Sub Change2(ByVal x As Integer, ByVal y As Integer) t = x: x = y: y = t End Sub

写出程序运行时,单击窗体Form1上的输出结果。

四、完善程序题

1.假设用Access创建了一个名为“学生.MDB”的数据库,并在其中创建了一张名为“学生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。

现在要求利用VB编写一个数据库查询程序,程序的运行界面如图2所示,基本逻辑是:首先文本框(Text1)中输入希望查询的学生学号,然后点击“查询”按钮(Command1),如果数据库中存在该学号,则分别在Text2、Text3、Text4中显示学号、姓名、籍贯信息,否则提示用户“记录不存在”并使Text1获得焦点,要求用户重新输入。当点击退出按钮(Command2)时关闭本窗体。

图1用Access创建的学生基本情况数据表

图2 查询程序运行界面

程序如下,请补充完整。 Private ADOcn As Connection Private Sub Form_Load() [1] ADOcn.Open \学生.MDB\End Sub

Private Sub Command1_Click() Dim strSQL As String

Dim ADOrs As [2] Recordset ADOrs.ActiveConnection = ADOcn

strSQL = \学生基本情况 Where 学号=\ .[3] If [4] ADOrs.EOF Then Text2 = ADOrs.Fields(\学号\ Text3 = ADOrs.Fields(\姓名\

Text4 = ADOrs.Fields(\籍贯\ Else

MsgBox \要查询的学号不存在,请重新输入!\信息提示\ Text1 = \

[5] End If End Sub

Private Sub Command2_Click() UnLoad Me End

2. 程序运行界面如图3所示。要求从文本框中输入课程名称,然后按“添加”按钮,将其添加到列表框中;当选择列表框中某一项后,按“删除”按钮,则从列表框中删除该项;当选择列表框中某一项后,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送到列表框且“修改确认”按钮变为“修改”。

Text1 Command1 Command2

List1

Command3

图3

程序如下,请补充完整。 Private Sub Form_Load()

List1.AddItem \计算机应用基础\ List1.AddItem \程序设计基础\ List1.AddItem \程序设计\

List1.AddItem \数据库应用\ List1.AddItem \网站设计技术\

List1.AddItem \系统开发规范与文档编写\

List1.AddItem \信息系统测试\End Sub

Private Sub Command1_Click() If Text1.Text <> \

List1. [1] Text1.Text '将文本框中的内容添加到列表框中 Text1.Text = \ Else

MsgBox \请在文本框中输入信息!\ End If End Sub

Private Sub Command2_Click()

List1.RemoveItem [2] '删除选定的项目 End Sub

Private Sub Command3_Click()

If Command3.Caption = \修改\ Then Text1.Text = [3] Text1.SetFocus

Command1.Enabled = False Command2.Enabled = False Command3.Caption = \修改确认\ Else

[4] = Text1.Text Command1.Enabled = True Command2.Enabled = True Text1.Text = [5] Command3.Caption = \修改\ End If End Sub

五、编写程序题

请根据下列描述编写财务部门征收劳务酬金所得税程序,规定如下: (1)收入在1000元以内,不扣税;

(2)收入在1000-3000元内,1000元以上部分扣税15%,

(3)收入在3000-5000元内,3000元以内按(2)的方法扣税,3000元以上部分,扣税20%,

(4)当收入达到5000元以上,1000元以上扣税25%。

程序运行界面如图4所示。

图 4

2.

编写简单的工资计算程序,要求在Text1、Text2、Text3中分别输入基本工资、奖金、扣款,单击“计算”按钮(Command1)后,首先计算“应发工资”(Text4),然后根据“应发工资”计算个人所得税(Text5),最后计算出实发工资(Text6)。

(1)应发工资=基本工资+奖金-扣款 (2)个人所得税的计算规则假设为:

1)当应发工资在1000元以内部分(含1000元),不扣所得税。

2)当应发工资大于1000,但小于等于3000元时,超过1000元的部分按15%计算所得税。

3)当应发工资大于3000,按20%扣税。 程序运行结果如图5所示。

图 5

综合练习一答案 一、单项选择题

1.C 2.D 3.C 4.D 5.D 6.B 7.B 8.C 9.A 10.D 11.D 12.C 13.B 14.D 15.B 16.C 17.B 18.C 19.C 20.C 21.B 22.B 23.D 24.A 25.D 26.B

二、填空题

1.选择结构 循环结构 2.2000

3.Timer Interval

4. Dim A(-1 To 2,-2 To 2) As Integer 5.执行 6.F1 7.Public

8.Name Index 9.For???Next 10.0 11. 1

12.远程数据库

13.引用参数传递(或按址传递)14.TCP/IP UDP 15.True

三、阅读程序题 1. x=3 y=3 x=3 y=6 x=3 y=9

2. 20

3. 8 6

4. 7

按值传递 8 9 5.

A1= 20 B1= 10 A2= 10 B2= 20

四、完善程序题 1.

[1] Set ADOcn = New Connection [2] New

[3] ADOrs.Open strSQL [4] Not

[5]Text1.SetFocus 2.

[1] AddItem [2] List1.ListIndex [3] List1.Text

[4] List1.List(List1.ListIndex) [5] \

五、编写程序题 1.参考答案

Private Sub Command1_Click() Dim x As Integer, tax As Single x = Val(Text1.Text) If x <= 1000 Then tax = 0 Else

If x <= 3000 Then tax = (x - 1000) * 0.15 Else

If x <= 5000 Then

tax = (x - 1000) * 0.15 + (x - 3000) * 0.05 Else

tax = (x - 1000) * 0.25 End If End If End If

Text2.Text = tax End Sub 2.参考答案

Private Sub Command1_Click()

Text4 = Val(Text1) + Val(Text2) - Val(Text3) If Val(Text4) <= 1000 Then Text5 = 0

ElseIf Val(Text4) > 1000 And Val(Text4) <= 3000 Then Text5 = (Val(Text4) - 1000) * 0.15 Else

Text5 = Val(Text4) * 0.2 End If

Text6 = Val(Text4) - Val(Text5) End Sub

Private Sub Command2_Click() Unload Me End Sub

期末综合练习二

一、单项选择题

1.在VB6.0集成开发环境中有三种工作模式,下列不属于三种工作模式之一的是

( )。

A.设计模式 B.中断模式 C.执行模式 D.编写代码模式

2.刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是( )。 A.单选按纽 B.图片框 C.框架 D.通用对话框 3.要在窗体的标题内显示“VB你好”,使用的语句是( )。 A.Form1.Print\你好\ B.Form.Print\你好\ C.Form1.caption=\你好\ D. Form.caption=\你好\4.窗体文件的扩展名是( )。

A..vbp B..frm C..bas D..frx

5.多窗体程序是由多个窗体组成。在缺省情况下,VB在应用程序执行时,总是把( )指定为启动窗体。

A.不包含任何控件的窗体 B.设计时的第一个窗体 C.最后一个添加的窗体 D.命名为Frm1的窗体

6.无论何种控件,共同具有的属性是( )

A.Text B.Caption C.Name D.ForeColor

7.以下有关Visual Basic语言描述中错误的是( )。 A.不区分大小写

B.语句是一行一句,以回车键结束 C.用“,”分隔一行中的多个语句

D.一条语句放在多行中,则在前一行结束处使用续行符“_”连接下一行 8.要退出Do…Loop循环,可使用的语句是( )语句。 A.Exit B.Exit For C.Exit Do D. End Do 9.有程序代码如下:

Text1.Text = \欢迎学习VB!\

则Text1,Text ,和\欢迎学习VB!\分别代表( )。 A.对象,值,属性 B.对象,属性,值 C.对象,方法,属性 D.属性,对象,值 10.下列赋值语句正确的是( )。

A.B+C =A B.5=A+B C.-B=A D.A=B+C 11.下列关于变量的说法不正确的是( )。 A.局部变量在声明它的过程执行完毕后就被释放了 B.局部变量的作用域仅限于声明它的过程

C.静态局部变量是在过程中用Static语句声明的

D.局部变量是指那些在过程中用Dim语句或Static语句声明的变量 12.表达式7+10 Mod 3*2+2( )。

A.1 B.6 C.7 D.13 13.关于语句行,下列说法正确的是( )。

A.一行只能写一条语句 B.长度不能超过255个字符 C.每行的首字符必须大写 D.一条语句可以分多行书写

14.在VB中,要想快速获得某个相关控件或语句的帮助信息,一般可首先选中该控件或语句,然后按的键是( )

A.Help B.F10 C. F1 D.Enter

15.为了使图像框中的图形自动适应图像框的大小,则应( )。

A.将其AutoSize属性值设置为True B.将其AutoSize属性值设置为False C.将其Stretch属性值设置为True D.将其Stretch属性值设置为False 16.按照变量的作用域可将变量划分为( )。

A.公有、私有、系统 B.全局变量、模块级变量、过程级变量 C.动态、常数、静态 D.Public、 Private、 Protected

17.将数据项“China”添加到列表框(List1)中成为第一项,应使用的语句是( )。 A.List1.AddItem\ B.List1.AddItem\C.List1.AddItem\ D.List1.AddItem\18.13.Line(200,200)-Step(500,500)将在窗体( )画一直线。

A.(200,200)到(500,500) B.(200,200)到(300,300) C.(200,200)到(700,700) D.(300,300)到(500,500) 19.如果希望以模态方式显示窗体Form1,下列正确的语句是( )。 A.Form1.Show B.Form1.Show 0 C.Form1.Show 1 D.以下都不正确

20.在设计动画时,用时钟控件来控制动画速度的属性是( )。 A.Enabled B.Interval C.Timer D.Move 21. 不属于VB数据库引擎的是( )。 A.ODBC B.BDE

C.Jet引擎 D.OLE DB 22.VB程序中设置断点的按键是( )。

A.F1键 B.F9键 C.F8键 D.CtrlF8键 23.下列叙述不正确的是( )。

A.注释语句是非执行语句,仅对程序的有关内容起注释作用,客观存在不被解释和编译

B.注释语句不能放在代码中的任何位置

C.注释语句可以放在代码中的任何位置 D.代码中加入注释语句的目的是提高程序的可读性 24.用于设置在文本框中显示字符的属性是( )。 A.AutoSizi B.ScrollBars C.MultiLine D.Passwordchar

25.使用ADO对象模型时,使Recordset和Connection对象建立连接的属性是( )。 A.Open B.Execute C.CommandType D.ActiveConnection

26.在代码编辑器中,如果一条语句太长,无法在一行内写下(不包括注释),要折行书写,可以在行末使用续行字符( ),表示下一行是当前行的继续。

A.一个下划字符”_” B. 一个空格加一个下划字符”_”

C.直接回车 D.一个空格加一个连字符(-)

27.下列不属于VB数据库引擎的是( )

A.ODBC B.Jet引擎 C.BDE D.OLE DB 28.要发送数据,通常使用Winsock控件的( )。

A.SendData方法 B.Listen方法 C.Accept方法 D.GetDate方法

二、填空题

1. 变量的声明方法有隐式和显示两种,如果采用隐式声明方法,那么VB会自动将变量声明为 。

2.Visual Basic程序开发有三种模式,即设计模式、 模式和 模式。

3.用Dim A(3,-2 To 3)语句声明二维数组后,数组A的元素共有 个。 4.若窗体的左上角坐标为(-250,250),右下角坐标为(250,-250),则X轴的正向向 ,Y轴的正向向 。

5.定时器(Timer)控件可识别的事件是 ,发生该事件的时间间隔由定时器的

属性设置。

6.设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从0到3,第二维下标从1到2,则相应的数组声明语句为 。

7.欲设置定时器的时间间隔为0.5秒,则属性Interval的值为 。 8.列表框控件中最后一项的序号等于Listcount属性减 。

9.控件数组的名字由 属性指定,而数组中的每个元素由 属性决定。

10.表达式4 + 10 Mod 4 * 2 + 2的值是 。

11.要在窗体Form1内显示“欢迎您!”,使用的语句是 。 12.程序的运行结果和程序员的设想有出入时产生的错误称为 。

13.任何变量在声明后均有一个初始值,一般情况下,数值型变量的初始值为 。 14.一个VB应用程序可以包含 个vbp文件。

15.列表框控件中最后一项的序号等于ListCount属性减 。

16.在VB中想获得帮助,需要按的键是 ;要设置断点需要按 键。 17.在VB的DAO、RDO、ADO三种数据对象模型中,主要采用OLE DB访问数据库的是 。18.Winsock控件主要用来编制TCP/IP或 协议的通话程序。

19.Stretch属性设置为 时,图像框可自动改变大小以适应其中的图形。

三、阅读程序题

阅读下列程序并写出程序运行结果 1.

Private Sub Command1_Click() Dim s As Double Dim i As Integer s = 5 i = 1

Do While i < 10 i = i + 2 s = s + i Loop Text1.Text = s End Sub

写出程序运行时,单击命令按钮显示的值。 2.

Private Sub Command1_Click() Dim X As Integer, Y As Integer X = 2 : Y = 2 For i = 1 To 3 For j = 1 To i Y = Y + j Next j X = X + Y Next i Print X End Sub

写出程序运行时单击命令按钮后,窗体Form1上的输出结果。 3.

Private Sub Command1_Click() Dim x As Integer Static s As Integer

x = Val(InputBox(\请输入一个正整数=\ If x < 5 Then s = s * x

Else s = s + x End If

Text1.Text = \End Sub

程序运行时连续3次单击Command1,且设输入的数据为5、4、3时,分别写出文本框Text1的值。 4.

Function F(a As Integer) Dim b As Integer Static c As Integer b = b + 5 c = c + 5 F = a + b + c End Function

Private Sub Command1_Click() Dim a As Integer a = 5

For i = 1 To 3 Print F(a) Next i End Sub

写出程序运行时,单击命令按钮在窗体上的输出结果。 5.

Private Sub Form_Click() Dim A(1 To 3) As String Dim c As Integer Dim j As Integer A(1) = \ A(2) = \ A(3) = \ c = 4

For j = 1 To 3 c = c + Val(A(j))

Next j Print c End Sub

程序运行时单击窗体后,窗体上的输出结果是: 6.

Private Sub Command1_Click() Dim A(1 To 7) As Integer Dim b As Integer For b = 1 To 7 A(b) = b Next b

Text1.Text = A(b - 2) End Sub

写出程序运行时单击Command1后,文件框Text1中的输出结果。 7.

Function F(a As Integer) Dim b As Integer Static c As Integer b = b + 5 c = c + 5 F = a + b + c End Function

Private Sub Command1_Click() Dim a As Integer a = 3

For i = 1 To 3 Print F(a) Next i End Sub

写出程序运行时,单击命令按钮在窗体上的输出结果。

8.

Sub Change(x As Integer, ByVal y As Integer) Dim t As Integer

t = x x = y y = t Print x, y End Sub

Private Sub Form_Click() Dim a As Integer, b As Integer a = 10: b = 20 Change a, b Print a, b End Sub

写出程序运行时单击窗体后,Form1上的输出结果。

四、完善程序题

1.假设在C盘根目录中存在一个名为“学生.MDB”的Access数据库,其中包含一张名为“学生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。

现在要求利用VB编写一个数据库记录增加程序,程序的运行界面如图2所示,基本逻辑是:分别在Text1、Text2、Text3中输入学号、姓名、籍贯信息,然后点击“保存”按钮(Command1)将该记录添加到数据库中。如果数据库中已经存在相同的学号信息,则程序应提示用户“记录已存在,请重新输入”,并将焦点置于Text1上,等待用户修改或重新输入。当点击退出按钮(Command2)时关闭本窗体。

图1用Access创建的学生基本情况数据表

图2 查询成绩运行界面

程序代码如下,请补充完整。 Private ADOcn As New Connection Private Sub Form_Load()

\学生.mdb\End Sub

Private Sub Command1_Click() Dim strSQL As String Dim ADOrs As New Recordset ADOrs.ActiveConnection = [2]

strSQL = \学生基本情况 Where 学号=\ [3] + \ ADOrs.Open strSQL

If [4] Then

MsgBox \学号已经存在,请重新输入!\信息提示\ Text1.SetFocus Else

strSQL = \学生基本情况(学号,姓名,籍贯) \

strSQL = strSQL + \ [5] .Execute strSQL MsgBox \添加成功!\信息提示\ End If End Sub

Private Sub Command2_Click() Unload Me

End Sub

2.列表框应用程序

要求从文本框中输入课程名称,然后按“添加”按钮,将该课程名程添加到列表框中;当选择列表框中某一项后,按“删除”按钮,则从列表框中删除该项;当选择列表框中某一项后,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送到列表框且“修改确认”按钮变为“修改”。程序运行结果如图3所示。

Text1

List1

Command1

Command2

Command3

图 3

程序如下,请补充完整。 Private Sub Form_Load()

List1.AddItem \程序设计\ List1.AddItem \数据库应用\ List1.AddItem \信息管理系统\ List1.AddItem \原理与应用\ List1.AddItem \网络实用技术基础\ List1.AddItem \系统开发规范与文档编写\ List1.AddItem \信息系统测试\End Sub

Private Sub Command1_Click() If Text1.Text <> \

[1] Text1.Text '将文本框中的内容加到列表框中

Text1.Text = \ [2]

MsgBox \请在文本框中输入信息!\ End If End Sub

Private Sub Command2_Click()

[3] List1.ListIndex '删除选定的项目 End Sub

Private Sub Command3_Click()

If Command3.Caption = [4] Then Text1.Text = [5] Text1.SetFocus

Command1.Enabled = False Command2.Enabled = False Command3.Caption = \修改确认\ Else

List1.List(List1.ListIndex) = Text1.Text Command1.Enabled = True Command2.Enabled = True Text1.Text =\

Command3.Caption = \修改\ End If End Sub

五、编写程序题

1.设计一个简单的倒计时程序,要求:在文本框中输入倒计时的分钟数后,单击开始按纽就开始倒计时,倒计时结束时,弹出 “时间到”的信息框。程序运行界面如图4所示:

(a)启动界面

(b) 输入1分钟数字界面

2.按下述规定,编写一征收所得税程序。 (1)收入在1000元以内,不纳税; (2)收入超过1000元以上的部分,纳税20%

(3)当收入达到5000元或超过时,5000元以上的部分,纳税22%。 程序运行界面如图5所示:

图5

综合练习二答案 一、单项选择题

1.D 2.D 3.C 4.B 5.B 6.C 7.C 8.C 9.B 10.D 11.A 12.D 13.D 14.C 15.C 16.B 17.A 18.C 19.C 20.B 21.B 22.B 23.C 24.D 25.D 26.B 27.C 28.A 二、填空题 1.Variant(或变体型) 2.中断 执行

3.24 4. 右 上 5.Timer Interval

6. Dim A(0To 3,1To 2) As String 7.500 8.1

9.Name Index 10.8

11.Form1.print \欢迎您!\ 12. 逻辑错误 13.0 14.1 15.1 16. F1 F9 17.ADO 18.UDP 19.False

三、阅读程序题 1.

40 2. 23

3.

s =5 s =20 s =60 4. 15

20 25 5.

34 6. 6 7.

13 18 23 8.

20 10 20 20 四、完善程序题 1.

[1] ADOcn.Open [2] ADOcn [3] Text1

[4] Not ADOrs.EOF [5] ADOcn 2.

[1]List1.AddItem [2]Else

[3]List1.RemoveItem [4] \修改\ [5] List1.Text

五、编写程序题 1.参考答案:

Dim m As Long '声明一个变量 Private Sub Command1_Click() Timer1.Enabled = True m = Val(Text1.Text) * 60

Label1.Caption = \现在开始倒计时\ Command1.Visible = False End Sub

Private Sub Timer1_Timer() m = m - 1 If m < 0 Then

Timer1.Enabled = False MsgBox \时间到!\倒计时\

Label1.Caption = \请输入倒计时的分钟数\ Text1.Text = \

Command1.Visible = True Else

Text1.Text = m

End If End Sub

2.参考答案:

Private Sub Command1_Click() Dim x As Integer, tax As Single x = Val(Text1.Text) If x <= 1000 Then tax = 0

ElseIf x <= 5000 Then tax = (x - 1000) * 0.2 Else

tax = (x - 5000) * 0.22 + 4000 * 0.2 End If

Label3.Caption = tax End Sub

Private Sub Command2_Click() Unload Me End Sub

期末综合练习三

一、单项选择题

1.将一个VB程序保存在磁盘上,至少会产生的文件是( )。 A..doc、.txt B..txt、.exe C..vbp、.frm D..bat、.frm

2.与传统的程序设计语言相比,Visual Basic最突出的特点是( )。 A.结构化程序设计 B.程序开发环境 C.事件驱动编程机制 D.程序调试技术

3.如果要在文本框中键入字符时,只显示某个字符,如星号(*),应设置文本框的( 属性。

A.Caption B.PasswordChar C.Text D.Char

4.在设计应用程序时,可以查看到应用程序工程中所有组成部分的窗口是( A.窗体设计 B.代码 C.属性 D.工程资源管理器窗口5.MsgBox函数的返回值的类型是( )。 A.字符串 B.整型

)。 ) C.逻辑型 D.日期型

6.要将窗体Form1的标题显示为“我的第1个VB程序!”,使用的语句是( )。 A.Form1.print \我的第1个VB程序!\ B.Form. print \我的第1个VB程序!\

C.Form.caption=\我的第1个VB程序!\ D.Form1.caption=\我的第1个VB程序! 7.有程序代码如下:

Text1.Text = \你好!\

则Text1,Text ,和\编程世界\分别代表( )。 A.对象,值,属性 B.属性,对象,值 C.对象,方法,属性 D.对象,属性,值

8.假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先应执行的操作是( )。

A.单击任一个控件 B.单击窗体上没有控件的地方 C.不执行任何操作 D.双击窗体的标题栏 9. Timer控件只有一个事件,该事件的名称是( )。 A.Load B.Timer C.Click D.Run 10.对象的状态特征称为( )。

A.事件 B.方法 C.属性 D.类 11.当一个工程中含有多个窗体时,其中的启动窗体是( )。 A.启动VB时创建的第一个窗体 B.第一个添加的窗体

C.最后一个添加的窗体 D.在“工程属性”对话框中指定的窗体 12.以下有关Visual Basic语言描述中错误的是( )。 A.不区分大小写

B.语句是一行一句,以回车键结束 C.用“,”分隔一行中的多个语句

D.一条语句放在多行中,则在前一行结束处使用续行符“_”连接下一行 13.下列变量名中合法的是( )。

A.IF B.7AB C.A[B]7 D.AB_7 14.下列关于过程叙述不正确的是( )。

A.过程的传值调用是将实参的具体值传递给形参 B.过程的传址调用是将实参在内存的地址传递给形参

C.过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的 D.无论过程传值调用还是过程传址调用,参数传递都是双向的 15.Dim A(6, 6) As Integer定义的数组包含的元素个数是( )。 A.36 B. 42

C.49 D.动态变化

16.如果要在文本框中键入字符时,只显示某个字符,如星号(*),应设置文本框的( )属性。

A.Caption B.Text C.Locked D.PasswordChar

17.在代码编辑器中,如果一条语句太长,无法在一行内写下(不包括注释),要折行书写,可以在行末使用续行字符( ),表示下一行是当前行的继续。

A.直接回车 B.一个下划字符(_)

C.一个空格加一个连字符(-) D.一个空格加一个下划字符(_) 18.Dim I As Integer,则运行时变量I的初始值是( )。

A.0 B.1 C.-1 D.空值

19.如果希望以模态方式显示窗体Form1,下列正确的语句是( )。 A.Form1.Show 0 B.Form1.Show C.Form1.Show 1 D.Form1.Show 0,1

20.对于定时器(Timer)控件,设置其定时是否开启的属性是( )。 A.Index B.Tag C.Enabled D.Left 21.确定一个控件在窗体上位置的属性是( )。 A.Width或Height B.Width和Height C.Top或Left D.Top和Left 22.有程序代码如下:

Text1.Text = \程序设计\

则Text1,Text ,和\程序设计\分别代表( )。 A.对象,值,属性 B.对象,方法,属性 C.对象,属性,值 D.属性,对象,值

23.以下哪一种结构不是Visual Basic语言的循环控制结构是( )。 A.For结构 B.Select Case结构 C.While结构 D.Do结构

24.Line(200,200)-Step(500,500)将在窗体( )画一直线。

A.(200,200)到(300,300) B.(200,200)到(500,500) C.(0,0)到(500,500) D.(200,200)到(700,700) 25.为了使图像框Image中的图形自动适应图像框的大小,则应( )。 A.将其Stretch属性值设置为True B.将其Stretch属性值设置为False C.将其AutoSize属性值设置为True D.将其AutoSize属性值设置为False 26.使用ADO数据模型时,建立Recordset和Connection对象连接的属性是( )。 A.Execute B.ActiveConnection

C.Open D. CommandType 27.目录列表框的Path属性的作用是( )。

A.显示当前驱动器或指定驱动器上的某目录下的文件名 B.显示当前驱动器或指定驱动器上的路径 C.显示根目录下的文件名 D.只显示当前路径下的文件

28.为了使目录路径列表框Dir1的内容符合驱动器列表框Drive1的选择,应当( )。 A.在Dir1_Change事件中加入Dir1.Path = Drive1.Drive B.在Drive1_Change事件中加入Dir1.Path = Drive1.Drive C.在Dir1_Change事件中加入Drive1.Path = Dir1.Path D.在Dir1_Change事件中加入File1.Path = Dir1.Path 29. Winsock控件的LocalIP属性的作用是( )。 A.返回本地计算机的名称 B.返回或者设置所用的端口

C.返回远程机器的IP地址 D.返回本地计算机的IP地址

30.在VB中,要想快速获得某个相关控件或语句的帮助信息,一般可首先选中该控件或语句,然后按的键是( )。

A.F9 B.F10 C.F1 D.F8 二、填空题

1. Dim A(4, 5) As Integer定义的数组包含的元素个数是 。 2.表达式7+10 Mod 3^2+3的值是 。

3.在Visual Basic语言中,若循环的次数可以适先确定,可使用 循环语句;若循环次数无法预先确定时,可以使用 循环语句。

4.定时器(Timer)控件可识别的事件是Timer,发生该事件的时间间隔由定时器的 属性设置,其单位为 。

5.全局变量在整个应用程序中有效,一般在标准模块中使用 语句声明。 6.在VB中,将数据库分为本地数据库, 和 三种类型 7. 设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从0到4,第二维下标从-2到4,则相应的数组声明语句为 。

8.如果希望将字符串“12345”转化为数值,那么可采用的函数是 。

9.Dim i As Integer,则运行时变量i的初始值是 。

10.将定时器的时间间隔设置为0.5秒,则定时器的Interval属性值应设为 。 11.列表框中项目的序号是从 开始的。

12.在VB的DAO、RDO、ADO三种数据对象模型中,主要采用OLE DB访问数据库的是 。 13.使用ADO模型时,可通过ActiveConnection属性建立Recordset和 对

象的连接。

14.程序的运行结果和程序员的设想有出入时产生的错误称为 。 15.过程级变量是指在 声明的变量,用 关键字来声明。 16.后缀为.bas的文件表示VB 的 文件。 18.确定一个控件在窗体上位置的属性是Top和 。

三、阅读程序题

阅读下列程序并写出程序运行结果 1.

Private Sub Form_Click() Dim i As Integer, k As Integer k = 0

For i = 1 To 4 If i > 2 Then

k = k + 4 Exit For

Else

k = k + 1 End If Next i Print i, k End Sub

写出程序运行时单击窗体后,Form1上的输出结果。 2.

Function F(a As Integer) Static c As Integer b = b + 3 c = c + 3 F = a + b + c End Function

Private Sub Command1_Click() Dim a As Integer a = 5 For i = 1 To 3 Print F(a)

17.VB中引用传递参数方式是将实参变量的 传递给Sub或Function过程。

Next i End Sub

写出程序运行时单击Command1按纽后,Form1上的输出结果。 3.

Function F(a As Integer) b = 2

Static c As Integer b = b + 1 c = c + 2 F = a + b + c End Function

Private Sub Command1_Click() Dim a As Integer a = 5

For i = 1 To 3 Print F(a); Next i End Sub

写出程序运行时,单击命令按钮在窗体上的输出结果。 4.

Private Sub Command1_Click() Dim x As Integer Static s As Integer

x = Val(InputBox(\请输入一个正整数\ If x < 6 Then s = s * x Else s = s + x End If

Text1.Text = \End Sub

程序运行后,连续3次单击Command按纽,且设输入的数据为6、5、4时,文本框Text1中显示的值。

5.

Private Sub Command1_Click() Dim A(1 To 6) As Integer Dim b As Integer For b = 1 To 6 A(b) = b Next b

Text1.Text = A(b - 2)

End Sub写出程序运行时单击Command1按纽后,Text1上的输出结果。 6.

Private Sub Form_Click()

Dim i As Integer, k As Integer, c As Integer For i = 1 To 7 If i Mod 2 = 0 Then k = k + 2 Else c = c + 3 End If Next i Print k, c End Sub

程序运行后单击窗体,写出Form1上的输出结果。 7.

Public Sub change1(ByVal x As Integer, ByVal y As Integer) Dim t As Integer t = x x = y y = t End Sub

Public Sub change2(x As Integer, y As Integer) Dim t As Integer t = x x = y y = t End Sub

Private Sub Form_Click() Dim a As Integer, b As Integer a = 20: b = 40 change1 a, b

Form1.Print \ a = 20: b = 40 change2 a, b

Form1.Print \End Sub

写出程序运行时,单击窗体Form1上的输出结果。 8.

Private Sub Command1_Click()

Dim a As Integer: Dim b As Integer a = 20: b = 30 Change1 a, b

Print \End Sub

Sub Change1(ByVal x As Integer, y As Integer) t = x x = y y = t End Sub

写出程序运行时,单击窗体Form1上的输出结果。

四、完善程序题

1.假设用Access创建了一个名为“学生.MDB”的数据库,并在其中创建了一张名为“学生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。

现在要求利用VB编写一个数据库查询程序,程序的运行界面如图2所示,基本逻辑是:首先文本框(Text1)中输入希望查询的学生学号,然后点击“查询”按钮(Command1),如果数据库中存在该学号,则分别在Text2、Text3、Text4中显示学号、姓名、籍贯信息,否则提示用户“记录不存在”并使Text1获得焦点,要求用户重新输入。当点击退出按钮(Command2)时关闭本窗体。

图1用Access创建的学生基本情况数据表

图2 查询程序运行界面

程序如下,请补充完整。 Private ADOcn As Connection Private Sub Form_Load() [1] ADOcn.Open \学生.MDB\End Sub

Private Sub Command1_Click() Dim strSQL As String

Dim ADOrs As [2] Recordset ADOrs.ActiveConnection = ADOcn

strSQL = \学生基本情况 Where 学号=\ .[3] If [4] ADOrs.EOF Then Text2 = ADOrs.Fields(\学号\ Text3 = ADOrs.Fields(\姓名\ Text4 = ADOrs.Fields(\籍贯\ Else

MsgBox \要查询的学号不存在,请重新输入!\信息提示\ Text1 = \

[5]

End If End Sub

Private Sub Command2_Click() UnLoad Me End

五、编写程序题

1.编写一个用户界面如图3所示的列表框应用程序。

要求从文本框Text1中输入始发地名称,然后按“添加”按钮,把该名称添加到列表框List1中;当选择列表框中某一项后,按“删除”按钮,则从列表框中删除该项;当选择列表框中某一项后,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送到列表框且“修改确认”按钮变为“修改”。

Text1

List1

Command1 Command2 Command3

图 3

2编写一工资调整程序。若基本工资大于等于3000元,增加工资10%,若小于3000元大于2000元,则增加工资15%;若小于2000元则增加工资20%。要求在文本框Text1中输入某职工的基本工资,单击“计算”按钮,在标签框Label1中输出增加后的工资。程序运行界面如图4所示。

图4

期末综合练习三答案

一、单项选择题

1.C 2.C 3.B 4.D 5.B 6.D 7.D 8.B 9.B 10.C 11.D 12.C 13.D 14.D 15.B 16.D 17.D 18.A 19.C 20.C 21.D 22.C 23.B 24.D 25.A 26.B 27.B 28.B 29.D 30.C 二、填空题 1.30 2.11

3.For…next Do…Loop 4.Interval ms 5.Public

6.外部数据库 远程数据库 7.Dim A(0To4,-2To4) As String 8.Val 9. 0 10.500

11.0 12. ADO 13. Connection 14.逻辑错误 15. 过程内部 Dim 16.标准模块 17.内存地址 18.Left

三、阅读程序题 1.

3 9 2.

11 14 17 3.

10 12 14 4.

S=6 S=30 S=120 5. 5

6. 6 12

7.

A1=20 B1=40 A2=40 B2=20 8.

A1=20 B1=20

四、完善程序题 1.

[1] Set ADOcn = New Connection [2] New

[3] ADOrs.Open strSQL [4] Not

[5]Text1.SetFocus 2.

[1] ADOcn.Open [2] ADOcn [3] Text1

[4] Not ADOrs.EOF [5] ADOcn

五、编写程序题 1.参考答案:

Private Sub Form_Load()

List1.AddItem \北京-上海\ List1.AddItem \北京-广州\ List1.AddItem \北京-四川\ List1.AddItem \北京-西安\ List1.AddItem \北京-重庆\ List1.AddItem \北京天津\End Sub

Private Sub Command1_Click() If Text1.Text <> \

List1.AddItem Text1.Text '将文本框中的内容加到列表框中 Text1.Text = \ Else

MsgBox \请在文本框中输入信息!\ End If End Sub

Private Sub Command2_Click()

List1.RemoveItem List1.ListIndex '删除选定的项目 End Sub

Private Sub Command3_Click() If Command3.Caption = \修改\ Text1.Text = List1.Text Text1.SetFocus

Command1.Enabled = False Command2.Enabled = False Command3.Caption = \修改确认\ Else

List1.List(List1.ListIndex) = Text1.Text Command1.Enabled = True Command2.Enabled = True Text1.Text = \

Command3.Caption = \修改\ End If End Sub 2.

参考答案:

Private Sub Command1_Click() Dim x As Integer, y As Single

x = Val(Text1.Text) Select Case x Case Is >= 3000 y = x * 1.1 Case Is >= 2000 y = x * 1.15 Case Else y = x * 1.20 End Select Label3.Caption = y End Sub

Private Sub Command2_Click() Unload Me End Sub

本文来源:https://www.bwwdw.com/article/zl0p.html

Top