VB练习题1

更新时间:2024-04-26 18:26:01 阅读量: 综合文库 文档下载

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

Visual Basic 程序设计综合练习题

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

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

2.在设计阶段,双击窗体上的某个控件时,打开的窗体是( )。 A.工程资源管理器窗口 B.代码编辑器窗口 C.工具箱窗口 D.属性窗口 答案:B

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

A.Help B.F10 C.Esc D.F1 答案:D

4.对于定时器(Timer)控件,设计其定时是否开启的属性是( )。 A.Index B.Tag C.Enabled D.Left 答案:C

5.下列符号不能作为VB变量名的是( )。 A.ABCDEFG B.P00000 C.89YWDDF D.xyz 答案:C

6.若要求从文本框输入密码时,在文本框只显示*号,则应用在此文本框的属性窗口中设置( )。

A.Text属性值为* B.Caption属性值为* C. Password属性值为空 D. Passwordchar属性值为*

答案:D (复习资料答案错为C)

7.表达式5^2 Mod 25\\2^2的值是( )。 A.0 B.1 C.6 D.4 答案:B

解:5^2 Mod 25\\2^2= 25 Mod 25\\4=25 Mod 6=1 8.表达式2*3^2+2*8/4+3^2的值是( )。 A.64 B.31 C.49 D.42 答案:B

解:2*3^2+2*8/4+3^2=2*9+16/4+9=18+4+9=31 9.后缀为.frm的文件表示( )。 A.类模块文件 B.窗体文件

C.标准类模块文件

D.窗体二进制数据文件 答案:B

10.数字式子Sin30O写成VB表达式是( )。 A. Sin30 B. Sin(30) C. Sin(30O)

D. Sin(30*3.14/180) 答案:D

11. 任何控件都具有的属性是( )。 A. Text B. Name C. Caption D. Value 答案:B

12. 当运行程序时,系统自动启动窗体的事件过程是( A. Load B. Click C. Unload D. GotFocus 答案:A

13.要退出For…Next循环,可使用的语句是( )。A.Exit

。 )

B.Exit For C.End Do D.Exit Do 答案:B

14.“x是小于50的非负数”,用VB表达式表示正确的是( )。 A.0≤x<50 B.0<=x<50

C.0<=x And x<50 D.0<=x Or x<50 答案:C

15.Visual Basic根据计算机访问文件的方式将文件分为( )。 A.顺序文件、随机文件和二进制文件 B.文本文件和数据文件 C.数据文件和可执行文件 D.ASCII文件和二进制文件 答案:A

16.对于窗体级变量,下列说法中错误的是( )。 A.所在窗体的各子程序都可以访问 B.其它窗体的子程序不能访问

C.所在窗体的各子程序都不能访问用Private定义的窗体级变量 D.一定要在所在窗体的通用区内定义 答案:C

17. 程序运行后,当单击窗体上的Command1时,会触发的事件是( A.Click B.Change C.Load D.KeyPress 答案:A

18. 要显示“颜色”对话框,可调用通用对话框CommonDialog控件的( A.ShowOpen B.ShowSave C.ShowColor D. ShowFont 答案:C

19.用下面的语句所定义的数组的元素个数是( )。 Dim A(-1 To 3)As Integer A.2 B.3 C.4 D.5 答案:D

。 )方法。 )

20.为了使目录路径列表Dir1的内容符合驱动器列表框Drive1的选择,应当( )。 A.在Dir1_Click事件中加入Dir1.Path=Drive1.Drive B.在Drive1_Click事件中加入Dir1.Path=Drive1.Drive C.在Dir1_Click事件中加入Drive1.Path=.Drive.Path D.在Dir1_Click事件中加入Drive1.Path=.Dir1.Path 答案:B

21.要绘制多种式样的直线,需要设置Linee控件的( )属性。 A.Shape

B.Bordrestyle C.FillStyle D.Style 答案:B

22.如果准备向随机文件中写入数据,常用的语句是( )。 A. Print #1,rec B. Write #1,rec C. Put #1,rec D. Get #1,rec 答案:C

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

A. Load语句与Show语句功能完全相同 B. UnLoad语句与Hide语句功能完全相同 C. Load语句与Unload语句功能完全相反 D. 三者都对 答案:C

24. 使用ADO模型时,可通过哪个属性建立Recordset和Connection对象的连接( A. Execute

B. CommandType C. Open

D. ActiveConnection 答案:D

25. VB中,Access数据库属于( )。 A. 本地数据库 B. 网络数据库 C. 外部数据库 D. 远程数据库 答案:A

26. 要发送数据,通常使用Winsock控件的( )。 A. SendData方法 B. Listen方法 C. Accept方法 D. GetData方法

)。

答案:A

27.下列数据对象模型中采用OLE DB访问数据库的是( )。 A. DAO B. RDO C. ADO

D. RDO和ADO 答案:C

28. VB程序中通常不会产生错误提示的是( )。 A. 编译错误 B. 实时错误 C. 运行时错误 D. 逻辑错误 答案:D

29. 当一个工程中含有多个窗体时,则启动对象是( )。 A. 启动VB时建立的窗体 B. 第一个添加的窗体 C. 最后一个添加的窗体

D. 在“工程属性”对话框中通过“启动对象”指定的窗体 答案:D

30. VB程序中设置断点的按键是( )。 A. F5键 B. F6键 C. F9键 D. F10键 答案:C 二、填空题

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

答案:Timer Interval 毫秒

2. 要想在代码中给名为txtshow的文本框赋予文本:GOOD WORK!时,应当编写的语句是 。

答案:txtshow.Text=”GOOD WORK !” 3. 表达式93\\7 Mod 2^2的值是 。 答案:1

解: 93\\7 Mod 2^2=9 Mod 4=1

4. 已知a=3,b=4,c=5,表达式a>b and not c>a or c>b and ca and not b

答案:True False

5. 以下语句的输出结果是 。 s$=“china”

s$=“Beijing” Print s$

答案:Beijing 6. 数学表达式

Sin2x?1x2?y22

写成等价的Visual Basic表达式为 。 答案:Sin(x)^2+Sqr(x^2-y^2)

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

答案:Dim A (1 To 5, -2 To 6) As String

8. 事件就是在对象上所发生的事情,Visual Basic中的事件如 、 、 等。一个对象可响应 事件。事件过程是指响应某个事件后所执行的程序代码,假如某一事件过程如下:

Private Sub cmd1_click()

Form1.Caption=“VB示例” End Sub

则响应该过程的对象名是 ,事件名是 。 答案:单击 双击 装载 多 cmd1 click

9. 对象的方法用于完成某种特定的功能。当方法不需要任何参数且也没有返回值时,调用对象的方法的格式为 ,例如对窗体Form1使用Show方法,应写成 。

答案:对象名.方法名 Form1.Show

10. PctureBox控件可通过设置其 属性为True使之可自动调整大小,而Image控件可提高设置其 属性,使其加载的图片能自动调整大小以适应Image。

答案:AutoSize Seretch

11. 要使Label控件能够自动调整大小,需将其 属性和 属性同时设置为True。

答案:WordWrap AutoSize

12. 一个VB工程中之能有 个MDI父窗体。 答案:1

13. 要将某窗体定义为一个MDI子窗体 ,需要将其 属性值设置为True。 答案:MDIChild

14. 若已建立了Form1和Form2两个窗体,默认启动窗体为Form1。通过 菜单 菜单项,可将启动窗体设置为Form2。在程序中若要显示Form1窗体,则执行 语句。 。

答案:工程 工程属性 Form1.Show 15. 若窗体Form1左上角坐标为(0,600),右下角的坐标为(800,-200),则x轴的正向向 ,y轴的正向向 。

答案:右 上

16. DrawStyle属性用于设置所画线的线型,其属性受到 属性的限制。 答案:DrawWidth

17. 以(4000,4000)为圆心,以1000为半径,用ForeColor颜色绘制 一 个 圆 形,其 实 现 代 码 是 。

答案:Circle (4000,4000),1000

18. 使用Line方法画矩形,必须在指令中使用关键字 ,如果要填满线框,则使用关键字 。

答案:B F

19. MMControl控件上的多媒体工具按钮有9个。关闭MMControl控件的多媒体设备的命令是 。

答案:Close

20. 在VB中常用的数据库引擎一般有三种,即 、 、 。 答案: Jet引擎 OBDC引擎 OLE DB

21. ADO模 型 中 一 般 可 通 过 Connection 对 象 的 方法执行增加、删除、修改SQL语句。

答案: Execute

22. 如果希望地到本地计算机的IP地址,可以使用Winsock控件的 属性。 答案:LocalIP

23. 常用的VB网络编程控件主要有 、Internet Transfer、WebBrowser三种。 答案:Winsock

24. VB中的程序错误类型主要有编译错误 、 、 等三种。 答案:实时错误 逻辑错误

25. VB中用于关闭错误捕获机制的语句是 。 答案:On Error GoTo 0

26. ActiveX EXE文件的后缀是 。 答案:EXE

27. Sub过程与Function过程最根本的区别是 。 答案:Sub 过程的过程名不能返回值,而 Function过程能够通过过程名返回值。

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

答案:数据库引擎

29. 当启动对象是Main子过程时,则程序启动时 ,以后由该过程根据不同情况决定是否加载哪一窗体。作为启动对象的Main子过程通常应放在 。

答案:不加载任何窗体 标准模块中

三、阅读程序题

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

Option Explicit

Private Sub Command1_Click() Dim S As Integer

Dim i As Integer S = 1

For i = 1 To 5 S = S * i Next i Print S End Sub

答案 :120 2.

S = 0: T = 0 For X = 1 To 3 For Y = 1 To 3 S = S + 1 Next Y T = T + 1 Next X Print S; T

答案 :9 3 3.

Private Sub Form_Click()

Dim A(1 To 5) As Integer Dim b As Integer For b = 1 To 5 A(b)=b Next b

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

文本框Text1的结果是:

答案:程序运行后,单击Command1按钮,文本框Text1的结果是:4 4.

Dim i As Integer, j As Integer, k As Integer k = 0

For i = 0 To 10 Step 3 For j = 1 To 10

If j > 5 Then k = k + 4: Exit For k = k + 1 Next j Print i, k

If i > 8 Then Exit For Next i Print i, k

答案: 0 9

3 18 6 27 9 36 9 69

参见下图: 5.

Private Sub Command1_Click() x = 0

Do While x < 50

x = (x + 2) * (x + 3) n = n + 1 Loop

Text1.Text = Str(n) Text2.Text = Str(x) End Sub

答案: 2 72 参见下图: 6.

Private Sub Command1_Click()

Dim Sum1 As Integer, Sum2 As Integer Sum1 = 0: Sum2 = 1 For i = 1 To 4 For j = 1 To i

Sum2 = Sum2 * j Next j

Sum1 = Sum1 + Sum2 Next i

Print Sum1 End Sub 答案:303 7.

Private Sub form_Click() A = 1 b = A

Do Until A >= 5 X = A * b

Print Str(A) & \ A = A + b b = b + A Loop End Sub

答案: 1*1=1 2+3=6 参见下图: 8.

For i = 1 To 3 For j = 1 To i For k = j To 3 A = A + 1 Next k Next j Next i

答案:运行结果:A=14 9.

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

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

10

答案:运行结果: Text1显示3 四、完善程序题

1.设计一个计算程序。该程序用户界面如图2所示,由四个文本框:文本框1(text1)、文本框2(text2)、文本框3(text3)、文本框4(text4),和三个命令按钮:命令按钮1(command1)、命令按钮2(command2)、命令按钮3(command3)组成。程序运行后,用户按清除按钮,则清除文本框中显示的内容,按计算按钮,则计算三科平均成绩。单击退出按钮则退出。

Private Sub Command1_Click()

Text1.Text = [1] Text2. [2] = \ [3] .Text = \ Text4.Text = \End Sub

Private Sub Command2_Click()

If Text1. [4] = [5] Or Text2.Text = \ MsgBox \成绩输入不全!\ Else

Text4.Text = ( [6] + Val(Text2.Text) + Val(Text3.Text)) / [7] End [8] End Sub

Private Sub Command3_Click() Unload [9] [10] Sub 答案: [1] \[2] Text [3] Text3 [4] Text [5] \

[6] Val(Text1.Text) [7] 3 [8] If [9] Me [10] End

11

2.编写一个程序,要求在文本框输入0~6,按回车键后,用在Label1中显示相应的“星期几”汉字解释,该程序用到星期转换Function过程Myday。程序运行结果如图6所示。

Private Function Myday(n As Integer) [1] Case 0

Myday = \星期日\ Case 1

Myday = \星期一\ Case 2

Myday = \星期二\ Case 3

Myday = \星期三\ Case 4

Myday = \星期四\ Case 5

Myday = \星期五\ Case 6

Myday = \星期六\ [2] End [3]

Private Sub Text1_KeyPress(KeyAscii As Integer) Dim n As Integer n = Val(Text1.Text) If KeyAscii = 13 Then

If n >= 0 And [4]

Label1.Caption = [5] Else

MsgBox “请输入0~6之间的整数!\ End If End If

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

12

End Sub 答案:

[1] Select Case n [2] End Select [3] Function [4] n < 7 Then [5] Myday(n)

3.在窗体上建立一个驱动器列表、目录列表框、文件列表框、图片框和文本框。要求程序运行后,驱动器列表框Drive1的默认驱动器设置为D盘,选择File1中所列的图片文件(*.bmp和*.jgp),则相应的图片显示在图片框Picture1中。程序运行结果如图7所示。

Private Sub Form_Load() Drive1.Drive = [1] File1.Pattern = “*.bmp,*.gif,*.jpg\ End Sub

Private Sub Drive1_Change() [2] Text1.Text = Drive1.Drive End Sub

Private Sub Dir1_Change() [3] Text1.Text = [4] End Sub

Private Sub File1_Click()

Picture1.Picture = LoadPicture(File1.Path + \ FileName = [5] Text1.Text = FileName End Sub 答案: [1] \

13

[2] Dir1.Path = Drive1.Drive [3] File1.Path = Dir1.Path [4] Dir1.Path

[5] File1.Path + \

4.函数图形程序。用Pset方法在图形框Picture1 内绘制y=Sinx在-π到π之间的图形。运行结果如图所示。

Private Sub Command1_Click()

Picture1.Scale (-4, 2)-(4, -2) '定义坐标系 Picture1.Line (-4, 0)-(4, 0) '画X轴 [1] '画Y轴 '标记坐标原点

Picture1.CurrentX = 0.2 Picture1.CurrentY = -0.1

[2] '标记原点 Picture1.CurrentX = -3.2 Picture1.CurrentY = -0.1

Picture1.Print \π\ '标记\π\ Picture1.CurrentX = 3.3 Picture1.CurrentY = -0.1

Picture1.Print \π\ '标记\π\ Picture1.CurrentX = 0.2 Picture1.CurrentY = 0.9

Picture1.Print \ '标记\ Picture1.CurrentX = 0.2 Picture1.CurrentY = -0.8

Picture1.Print “-1” ?标记“-1” For [3] Step 0.001 Picture1.PSet ( [4] ) Next i End Sub

14

Private Sub Command2_Click() [5] End Sub 答案:

[1] Picture1.Line (0, 2)-(0, -2) [2] Picture1.Print \[3] i = -3.141 To 3.141 [4] i, Sin(i) [5] End 五、编程题

1.设计一个欢迎程序,程序用户界面如图9所示。要求程序运行后,用户选中粗体复选框时“欢迎您!”几个字的字体变为粗体,用户选中斜体复选框时“欢迎您!”几个字的字体变为斜体。若取消选中,则恢复原字体。按结束,则退出。

答案:

Private Sub check1_Click() If Check1.Value = 1 Then Label1.Font.Bold = True Else

Label1.Font.Bold = False End If End Sub

Private Sub check2_Click() If Check2.Value = 1 Then Label1.Font.Italic = True Else

Label1.Font.Italic = False

15

End If End Sub

Private Sub Command1_Click() Unload Me End Sub

2. 任给3个数,求其中间数,写出程序代码。 答案:

Private Sub Form_click()

Dim a As Single, b As Single, c As Single, x As Single, t As Single a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a < b Then

t = a: a = b: b = t '结果a>b End If If b > c Then

x = b 'x是b,c 较大者,即b是中间数 ElseIf a > c Then

x = c 'x是a,c 较小者,cx是中间数 Else

x = a 'x是a,c 较小者,即a是中间数 End If Text4.Text = x Text1.SetFocus End Sub

3. 编制一程序,要求输出100~200之间不能被3整除的数。 答案:

Private Sub Command1_Click() Dim x As Integer x = 100 Do Until x > 200 If x Mod 3 <> 0 Then

Text1.Text = Text1.Text & Str(x) & Chr(13) & Chr(10) End If x = x + 1 Loop

16

End Sub

4.设计一个计算程序。该程序用户界面如图10所示。要求程序运行后,用户选中单选按钮,则程序作10和2的相应计算,并把计算结果在文本框中显示出来。如用户选中加法单选按钮,则程序作10和2的相加,计算结果12在文本框中显示出来。按结束,则退出。

答案: Option Explicit

Private Sub Command1_Click() Unload Me End Sub

Private Sub option1_click() Text1.Text = 10 * 2 End Sub

Private Sub option2_click() Text1.Text = 10 / 2 End Sub

Private Sub option3_click() Text1.Text = 10 + 2 End Sub

Private Sub option4_click() Text1.Text = 10 - 2 End Sub

5. 设计一个计时程序。该程序用户界面如图11所示。由一个文本框(text1),两个按钮:命令按钮1(command1)、命令按钮2(command2)组成。程序运行后,用户按开始按钮,则开始计时,文本框中显示秒数,按停止按钮,则计时停止。单击窗口则退出。

17

Option Explicit Dim i

Private Sub Command1_Click() i = 0

Timer1.Interval = 1000 Timer1.Enabled = True End Sub

Private Sub Command2_Click() Timer1.Enabled = False End Sub

Private Sub Form_click() Unload Me End Sub

Private Sub Form_load() Timer1.Enabled = False Text1.Text = 0 End Sub

Private Sub Timer1_Timer() i = i + 1 Text1.Text = i End Sub

18

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

Top