文档库 最新最全的文档下载
当前位置:文档库 › VB程序的设计期末复习试题

VB程序的设计期末复习试题

《Visual Basic程序设计》期末复习题

一、单项选择题

1.Visual Basic是一种面向对象的可视化编程语言,采取了()的编程机制。

A.按过程顺序执行B.从主程序开始执行

C.事件驱动D.按模块顺序执行

2.与传统的设计语言相比,Visual Basic最突出的特点是()

A.程序开发环境B.结构化程序设计

C.程序调试技术D.事件驱动的编程机制

3.将调试通过的工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行文件拿到其它机器上不能运行的主要原因是()。

A.缺少.frm窗体文件B.该可执行文件有病毒

C.运行的机器上无VB系统D.以上原因都不对

4. Visual Basic6.0集成开发环境有三种工作模式,下列不属于三种工作模式之一的是()。

A.设计模式B.编写代码模式

C.执行模式D.中断模式

5.后缀为.bas的文件表示()。

A.工程文件B.窗体文件

C.窗体二进制数据文件D.标准类模块文件

6.工程文件的扩展名是()。

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

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

A.时钟控件B.图像框C.框架D.通用对话框

8.以下叙述中错误的是()。

A.一个工程中可以包含多个窗体文件

B.在设计Visual Basic程序时,窗体、标准模块、类模块等需要分别保存为不同类型的文件

C.在一个窗体文件中用Private定义的通用过程能被其它窗体调用

D.全局变量必须在标准模块中定义

9.要在窗体Form1内显示“欢迎您!”,使用的语句是()

A.Form.caption="欢迎您!" B.Form1.caption="欢迎您!"

C.Form. print "欢迎您!" D.Form1.print "欢迎您!"

10.决定标签内显示内容的属性是()

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

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

A.Caption和Picture B.Style和Picture

C.Style和Icon D.Value和Icon

12.将数据项“China”添加到列表框List1中成为第一项,应使用的语句是()A.List1.AddItem"China" B.List1.AddItem"1,China"

C.List1.AddItem"China",0 D.List1.AddItem"China",1 13.在VB中,下列各项合法的变量名是()。

A.Integer B.ab-c C.2abc D.a_bc

14.在VB中,下列合法的变量名是()

A.4EF B.integer C.E-F D.E_F

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

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

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

A.MaxButton B.BorderSyle

C.Width D.MinButton

17.下列控件中不能响应Click事件的是()。

A.TextBox B.Timer C.Label D.ListBox 18.有程序代码如下:

Text1.Text = "欢迎学习VB程序设计"

则Text1,Text ,和"欢迎学习VB程序设计"分别代表()。

A.对象,值,属性B.对象,属性,值

C.对象,方法,属性D.属性,对象,值

19.设a=”Visual Basic”,下面使b=”Basic”的语句是()。

A.b=left(a,8,12) B.b=mid(a,8,5)

C.b=right(a,5,5) D.b=left(a,8,5)

20.确定一个控件在窗体上位置的属性是()

A .Top或Left B.Top和Left

C.Width或Height D.Width和Height

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

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

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

22.如果希望以模态方式显示窗体Form1,下列正确的语句是()

A.Form1.Show 0 B.Form1.Show 1

C.Form1.Show D.以下都不正确

23.改变驱动器列表框的Drive属性值,将激活()事件。

A.KeyDown B.KeyUp C.Scoll D.Change

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

A.不包含任何控件的窗体B.命名为Frm1的窗体

C.包含控件最多的窗体D.设计时的第一个窗体

25.Dim A(1 To 4,0 To 3)定义的数组包含的元素的个数是()。

A.12 B.16 C.15 D.动态变化

26.如果创建了命令按纽控件数组,则Click事件的参数是()。

A.Caption B.Index C.Tag D.没有参数27.如果准备向随机文件中写入数据,正确的语句是()

A.Write # 1,rec B.Print # 1,rec

C.Get # 1,rec D.Put # 1,rec

28.要以读方式打开D盘的一个顺序文件Test.doc,应使用的语句是()

A.Open " Test.doc " For Output As #1

B.Open "D:\ Test.doc " For Input As #1

C.Open "D:\ Test.doc " For Output As #1

D.Open " Test.doc " For Input As #1

29..以下属性只能用程序代码设置,不能通过属性窗口设置的是()。

A.Index属性B.Pattern属性C.Visible属性D.Drive属性

30.以下有关Visual Basic语言描述中错误的是()。

A.语句是一行一句,以回车键结束

B.用“,”分隔一行中的多个语句

C.不区分大小写

D.一条语句放在多行中,则在前一行结束处使用续行符“_”连接下一行

31.不属于VB数据库引擎的是()

A.ODBC B.Jet引擎C.OLE DB D.BDE

32.使用ADO对象模型时,使Recordset和Connection对象建立连接的属性是()。

A.Open B.Execute C.CommandType

D.ActiveConnection

33.用来从数据库表中删除记录的SQL命令是()。

A.where B.select C.update D.delete 34.VB程序中通常不会产生错误提示的是()。

A.编译错误B.逻辑错误

C.运行时错误D.实时错误

35.在VB程序中逐语句调试的键是()。

A.F8键B.F9键

C.CtrlF8键D.CtrlF9键

36.当Winsock控件处于侦听状态时,其State属性的值是()

A.0 B.1 C.2 D.3

37.要发送数据,通常使用Winsock控件的()

A.Listen B.Accept C.SendData D.GetData

38. 下列叙述不正确的是()。

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

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

C.注释语句可以放在代码中的任何位置

D.代码中加入注释语句的目的是提高程序的可读性

39.ADO对象模型含有七种对象,其中用于建立一个和数据源的连接的对象是()。

A.Command B.Connection

C.Recordset D.Field

40.ADO对象模型含有七种对象,其中代表数据库表中的一整套记录或执行一条命令而得到的结果的对象是()。

https://www.wendangku.net/doc/de12562845.html,mand

B.Connection

C.Recordset

D.Field

二、填空题

1.每个应用程序必须有一个唯一的文件,至少有一个文件。

2.表达式13\2-2^3*5 MOD 6的值是。

3.如果要每隔3s产生一个Timer事件,则Interval属性应设置为。

4.VB中的程序错误类型主要有实时错误、、三种。

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

6.用Dim A(4,4)语句声明二维数组后,数组A的元素共有个。

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

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

9.过程级变量是指在声明的变量,窗体级或模块级变量是指窗体或模块的代码声明段用或声明的变量,在全局变量在整个应用程序中有效,一般在标准模块中使用语句声明。

10.在Visual Basic语言中有三种形式的循环结构。其中,若循环的次数可以适先确定,可使用For Next循环循环;若要求先判断循环进行的条件,可使用循环。

11.为了在运行时把当前路径下的图形文件flower.jpg装入图片框P1,所使用的语句为。

12. 将图片框的AutoSize属性设置成时,可使图片框根据图片调整大小。

13.Winsock控件主要用来编制基于TCP/IP或协议的网络应用程序。如果希望得到本地计算机的IP地址,可以使用Winsock控件的属性。

14.Winsock控件主要用来编制基于或协议的网络应用程序。

15.如果不能事先确定变量的数据类型,则可以把它声明为类型。

16.以写方式打开D盘中的Text.dat文件,正确的语句是

17.列表框中项目的序号是从开始的。

18.执行赋值语句y = “abc”+”def”后,变量y的值是。

19.全局变量是指那些在中有效的变量,一般在模块代码编辑器的顶部使用声明。

20.VB中参数传递的机制有两种,一种是参数,另一种是

参数。

21.闰年的条件是:年号(Y)能被4整除,但不能被100整除;或者年号能被400整除。表示该条件的逻辑表达式是。

22.若窗体的左上角坐标为(-250,250),右下角坐标为(300,0),则X轴的正向向,Y轴的正向向。

23.在VB中,将Access称为,SQL Server称为,Foxpro 称为。

24.数据库应用程序属于一种非常典型的前后台软件结构,前后台之间进行通讯的主要机制称为。

25.常用的VB网络编程控件主要有、和

三种。

26.通常可以将文本框控件的属性设置为False,以禁止键盘输入。如果不希望某个控件获得焦点,则可以将它的属性设置为False。

27.VB应用程序可分为单窗体、多窗体和。

28.若窗体Form1左上角坐标为(0,600),右下角的坐标为(800,-200)。则X轴的正向向,Y轴的正向向。

29.数据库应用程序属于一种非常典型的前后台软件结构,而前后台之间进行通信的主要机制称为。

30.VB中将数据库分为本地数据库、和三种类型。

三、阅读程序题

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

1.

Private Sub Form_Click()

Dim x As Integer

Static y As Integer

x = x + 2

y = y + 3

Form1.Print "x="; x, "y="; y

End Sub

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

2.

Private Sub Command1_Click()

x = 0

Do While x < 60

x = (x + 3) * (x + 4)

n = n + 1

Loop

Text1.Text = Str(n)

Text2.Text = Str(x)

Text3.Text = Val(Text1.Text) + Val(Text2.Text)

End Sub

写出程序运行后,文件框Text3的结果。

3.

Private Sub Form_Click()

Dim A(1 To 3) As String

Dim c As Integer

Dim j As Integer

A(1) = "4"

A(2) = "8"

A(3) = "12"

c = 1

c = c + Val(A(j))

Next j

Print c

End Sub

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

4.

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 = 22:

b = 33

change1 a, b

Form1.Print "A1="; a, "B1="; b

a = 22:

b = 33

change2 a, b

Form1.Print "A2="; a, "B2="; b

End Sub

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

5.

Private Sub Form_Click()

Dim i As Integer, k As Integer

k = 1

For i = 1 To 4

If i > 3 Then

k = k + 4

Exit For

Else

End If

Next i

Print i, k

End Sub

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

6.

Private Sub Command1_Click()

Dim s As Double

Dim i As Integer

s = 6

i = 2

Do While i < 7

i = i + 4

s = s + i

Loop

Text1.Text = s

End Sub

写出程序运行后,单击Command1按钮,文件框Text1的输出结果是:7.

Function F(a As Integer)

Static c

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 4

Print F(a)

Next i

End Sub

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

8.

Private Sub Form_Click()

Dim c As Integer, j As Integer, k As Integer

k = 3

c = 4

For j = 1 To 6

If j > 3 Then

c = c + 6

Exit For

Else

k = k + 2

End If

Next j

Print c, k

End Sub

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

Private Sub Command1_Click()

Dim s As Double

Dim i As Integer

s = 5

i = 1

Do While i < 8

i = i + 2

s = s + i

Loop

Text1.Text = s

End Sub

文件框Text1的输出结果是

10. (7分)

Sub test(i As Integer)

i = i + 4

End Sub

Private Sub form_Click()

Dim x As Integer

x = 5

Print "x="; x

Call test(x)

Print "x="; x

End Sub

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

四、完善程序题

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

Text1

List1

Command1

Command2

Command3

图1

程序如下,请补充完整。

Private Sub Form_Load()

List1.AddItem "Visual Basic程序设计"

List1.AddItem "SQL SERVER数据库应用"

List1.AddItem "信息管理系统"

List1.AddItem "ERP原理与应用"

List1.AddItem "网络实用技术基础"

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

List1.AddItem "信息系统测试"

End Sub

Private Sub Command1_Click()

If Text1.Text <> "" Then

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

Text1.Text = ""

[2]

MsgBox "请在文本框中输入信息!"

End If

End Sub

Private Sub Command2_Click()

[3] '删除选定的项目

End Sub

Private Sub Command3_Click()

If Command3.Caption = [4] Then

Text1.Text = [5]

Text1.SetFocus

Command1.Enabled = [6]

Command2.Enabled = False

Command3.Caption = [7]

Else

List1.List(List1.ListIndex) = Text1.Text

Command1.Enabled = True

Command2.Enabled = True

Text1.Text =""

Command3.Caption = [8]

End If

End Sub

2.已知存在一名为“学生”的SQL Server数据库,其中的“students”数据表用来存储学生的基本情况信息,包括学号、姓名、籍贯、性别。请编写一个简单的应用程序,向students 表中添加学生记录。程序的基本逻辑是:当窗体被加载时,程序联接SQL Server数据库;当点击“增加”按钮时,首先查询学号是否重复,如果不重复则向students表中添加学生记录。其运行界面如下图所示。

图1

程序如下,请补充完整。

'声明对象变量ADOcn,用于创建与数据库的连接

Private ADOcn As Connection

Private Sub Form_Load()

'连接SQL Server数据库

Dim strDB As String

strDB = "Provider=SQLOLEDB;LSF;User ID=sa;Password=;Database = [1] "

If ADOcn Is Nothing Then

Set ADOcn =[2]

[3]

End If

End Sub

Private Sub Command1_Click()

'增加学生记录

Dim strSQL As String

Dim ADOrs As [4]

ADOrs. [5] =ADOcn

ADOrs.Open “Select 学号From Students Where 学号=”+”

‘ “+Text1+” ‘ “

If Not [6] Then

MsgBox “你输入的学号已存在,不能新增加!”

Else

StrSQL=”Insert Into students (学号,姓名,,籍贯, 性别)

StrSQL=strSQL+Values(”+” ‘ “+text1+” ‘ , ‘ “+text2+” ‘,’ “+text3+” ‘,’ “+text4+” ‘)”

ADOcn.Execute [7]

MsgBox “添加成功,请继续!”

End If

Private Sub Command2_Click()

Unload Me

End Sub

3.假设用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 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\ [2] "

End Sub

Private Sub Command1_Click()

Dim strSQL As String

Dim ADOrs As [3] Recordset

ADOrs.ActiveConnection = ADOcn

strSQL = "Select * From 学生基本情况Where 学号=" + " ' " + Text1 + " ' "

[4]

If [5] ADOrs.EOF Then

Text2 = ADOrs.Fields("学号")

Text3 = ADOrs.Fields("姓名")

Text4 = ADOrs.Fields("籍贯")

[6]

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

Text1 = ""

[7]

End If

End Sub

Private Sub Command2_Click()

[8]

End

五、编写程序题

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

图2

2.请根据下列描述编写购物优惠程序。某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物(1)在100元以上者,按九五折优惠;(2)在200元以上者,按九折优惠;(3)300元以上者,按八折优惠;(4)500元以上者按七折优惠。在窗体上添加两个文本框和一个命令按钮,要求在Text1中输入购物商品总金额,单击命令按钮,在Text2中输出优惠价。程序运行结果如图2所示。

图2

3.请根据下列描述编写财务部门征收劳务酬金所得税程序,规定如下:

(1)收入在1200元以内,扣税3%;

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

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

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

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

图3

答案:

一、单项选择题(每小题2分,共30分)

1.C

2.D

3.C

4.B

5.D

6.A

7.D

8.C

9.D 10.C

11.B 12.C 13.D 14.D 15.A

16.B 17.B 18.B 19.B 20.B

21.A 22.B 23.D 24.D 25.B

26.B 27.D 28.B 29.D 30.B

31.D 32.D 33.D 34.B 35.A

36.C 37.C 38.C 39.B 40.C

二、填空题(每空1分,共15分)

1.Vbp frm

2.2

3.3000

4.逻辑错误编译错误

5.Name Index

6.25

7.Dim R(-2To 2,0 To 4) As Integer

8.Dim C(-1 To 3,0 To 4) As Integer

9.过程内部Dim Private Public

10.For???Next循环Do???Loop循环

11.P1. Picture = LoadPicture("flower.jpg") 12.True

13. UDP LocalIP

14.TCP/IP UDP

15.变体型(或Variant)

16. open"D:\text.dat" For Output As # 1

17. 0

18.abcdef

19.整个应用程序Public

20.引用参数传递(或按址传递)按值传递

21.Y MOD 4=0 And Y MOD 100<>0 OR Y MOD 400=0 22.右上

23.本地数据库远程数据库外部数据库

24.数据引擎

25.Winsock Internet Transfe WebBrowser 26.Locked TabStop

27.MDI窗体

28. 右上

39.数据库引擎

30.外部数据库远程数据库

三、阅读程序题

1.x=2 y=3

x=2 y=6

2.

242

3.

25

4.

A1=22 B1=33

A2=33 B2=22

5.

4 14

6.

22

7.

11

14

17

20

8.

10 9

9.

29

10.

x= 5

x= 9

四、完善程序题

1.

[1]List1.AddItem Text1.Text

[2]Else

[3]List1.RemoveItem List1.ListIndex

[4] "修改"

[5] List1.Text

[6] False

[8] "修改"

2.

[1]学生

[2]New Connection

[3] ADOcn.Open strDB

[4] New Recordset

[5] ActiveConnection

[6] ADOrs.EOF

[7] strSQL

3.

[1] Set ADOcn = New Connection

[2] 学生.MDB

[3] New

[4] ADOrs.Open strSQL

[5] Not

[6] Else

[7]Text1.SetFocus

[8] UnLoad Me

五、编写程序题

1.参考答案:

Private Sub Command1_Click()

Dim x As Integer, y As Single

x = Val(Text1.Text)

Select Case x

Case Is >= 800

y = x * 1.2

Case Is >= 600

y = x * 1.15

Case Else

y = x * 1.1

End Select

Label1.Caption = y

End Sub

Private Sub Command2_Click() Unload Me

End Sub

2.参考答案:

Private Sub Command1_Click()

Dim x As Single, y As Single

x = Val(Text1.Text)

If x < 100 Then

y = x

Else

If x < 200 Then

y = 9.5 * x

Else

If x < 300 Then

y = 0.9 * x

Else

If x < 500 Then

y = 0.8 * x

Else

y = 0.7 * x

End If

End If

End If

End If

Text2.Text = y

End Sub

3.参考答案:

Private Sub Command1_Click()

Dim x As Integer, tax As Single

x = Val(Text1.Text)

If x < 1200 Then

tax = x * 0.03

Else

If x <= 4000 Then

tax = (x - 1000) * 0.15

Else

If x <= 5000 Then

tax = (x - 1000) * 0.15 + (x - 4000) * 0.05

Else

tax = x * 0.25

End If

End If

End If

Text2.Text = tax End Sub

相关文档