程序设计语言VB - 习题集(含答案)

更新时间:2024-05-17 00:54:01 阅读量: 综合文库 文档下载

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

《程序设计语言VB》课程习题集 一、单选题

1. Visual Basic是一种面向(D )的程序设计语言。 A. 用户 B. 事件 C. 程序 D. 对象

2. 在Visual Basic6.0中规定工程文件的扩展名是( A)。 A. vbp B. for C. frm D. bas

3. Visual Basic6.0中规定窗体文件的扩展名是(B )。 A. for B. frm C. vbp D. bas

4. 如何使一个标签或按钮控件在运行时不可用( C)。 A. 把它的Visible属性设置成False B. 把它的Visible属性设置成True C. 把它的Enabled属性设置成False D. 把它的Enabled属性设置成True

5. 控件的字体可在属性窗口的(A)属性中调整? A. Font B. Color C. Text D. Caption

6. 若要将某命令按钮设置为默认命令按钮。则应设置为True的属性是(C )。 A. Value B. Cancel C. Default D. Enabled

7. 在VB中,记录对象数据的是(C)。 A. 方法 B. 事件 C. 属性 D. 语句

8. 在文本框上显示文本的属性是(B)。 A. Value B. Text C. Print D. Enabled

9. InputBox函数返回值的类型为(A)。 A. 字符串 B. 数值 C. 变体

D. 数值或字符串(视输入的数据而定)

10. 设有语句:a = InputBox(\请输入数值:\输入示例\\程序执行后,若从键盘上输入数值20并按回车键,则变量a的值是(A)。 A. 字符串\B. 字符串\C. 默认值100 D. 数值120

11. 下列控件中可用于接受用户输入文本,又可用于显示文本的是(B)。 A. Label控件 B. TextBox控件 C. Timer控件

D. CommandButton控件

12. 语句PRINT \的输出结果是(A)。 A. 25*4 B. \C. 100

D. 出现错误信息

13. 只能用来显示字符信息的控件是(B)。 A. 文本框 B. 标签框 C. 图片框 D. 图像框

14. 下列可作为Visual Basic变量名的是(D)。 A. A%A B. 4A C. ?xy D. Stemp

15. 下列哪个符号不能作为VB中的变量名(D)。 A. timefly B. pass4 C. min4max D. R[8]

16. 在窗体内声明的变量是(B)。 A. 局部变量 B. 模块变量 C. 公共变量 D. 任意变量

17. 语句Dim x As Integer作用是:将x定义为(B)变量。 A. 单精度型 B. 整型

C. 布尔型 D. 字符型

18. 在VB中,用Boolean来表示的数据类型是(C)。 A. 长整型 B. 字符型 C. 布尔型 D. 单精度型

19. 定义常量需要用到的关键字是(A)。 A. Const B. Dim C. Private D. Public

20. 如果要处理3.1415类数据,使用的变量类型应该是(A)。 A. Single B. Long C. Integer D. String

21. 表达式2*3^2+2*8/2+3^2的值为(C)。 A. 27 B. 31 C. 35 D. 42

22. 数学表达式 X^2+3XY对应的VB算术表达式是(C)。 A. X*2+3X*Y B. X*X+3XY C. X*X+3*X*Y D. X*X+3*XY

23. 在VB语言中,求余运算符是(B)。 A. % B. MOD C. * D. /

24. 判断两个逻辑关系任一满足的逻辑运算是(A)。 A. Or B. And C. Not D. Ok

25. 表达式4+5 \\ 6 * 7 / 8 Mod 9 的值是(B)。 A. 4 B. 5 C. 6 D. 7

26. 选拔身高T超过1.7米且体重W小于60公斤的人,表示该条件的布尔表达式为(C)。 A. T>=1.7 And W<=60

B. T<=1.7 Or W>=60 C. T>1.7 And W<60 D. T>=1.7 Or W<60

27. VB中下列逻辑表达式书写正确的是(A)。 A. a>b and a>c B. a>b>c C. a≤b D. a≠122

28. 设x=4,y=8,z=7,表达式xz) Or z

29. Sqr(81)+Fix(3.6)的值是(A)。 A. 12 B. 7 C. 8 D. 9

30. 把字符串“123”转换为数值123 时应该使用的函数是(B)。 A. Str B. Val C. Len D. Log

31. 表达式Abs(-3)+int(3.14)的值为(B)。 A. 5 B. 6 C. 0.14 D. 6.14

32. Int(Rnd * 100) 表示的是(C)范围内的一个整数。 A. [0,100] B. [1,99] C. [0,99] D. [1,100]

33. Len(“Friend”)的值是(A)。 A.6 B.7 C.8 D.9

34. Int(-3.14)的值是(C)。 A. -3 B. -3.14 C. -4 D. 3.14 35. Right(“banana”, 4 )的值是(C)。

A. ba B. banana C. nana D. ban

36. 表达式 Mid( “Hello”, 2, 3)的值是(C)。 A. “ll” B. “llo” C. “ell” D. “ello”

37. 语句if 3*4>=10 then a=1 else a=2 执行后,a的值为(C )。 A. 12 B. 10 C. 1 D. 2

38. 语句If x=1 Then y=1,下列说法正确的是( C)。 A. x=1和 y=1 均为赋值语句 B. x=1和 y=1均为关系表达式

C. x=1为关系表达式,y=1为赋值语句 D. x=1为赋值语句,y=1为关系表达 39. 下面程序段中,(D)不是把两个数中的大值赋给变量Max。 A. Max=IIf(x>y,x,y)

B. If x>y Then Max=x Else Max=y C. Max=x :If y>=x Then Max=y D. If y>=x Then Max=y Max=x

40. 在Select判断结构中,下面的表述中不正确的是(B)。 A. Case 1 B. Case a > 5 C. Case 3 To 6 D. Case is <10

41. 由\决定的循环结构被执行( C)次。 A.4 B.5 C.6 D.7

42. Dim a(5, 5) As Long 定义的数组元素的个数是( D)。 A.10 B.11 C.25 D.36

43. 用于清空数组数据的关键字是(A)。 A. Erase B. Lbound C. Ubound D. Redim

44. 下列关于do while ?loop 和do?loop while循环执行循环体次数的描述正确的是(B)。 A. do while ?loop循环和do?loop while循环至少都执行一次

B. do while ?loop循环可能不执行,do?loop while循环至少执行一次 C. do while ?loop循环至少执行一次,do?loop while循环可能不执行 D. do while ?loop循环和do?loop while循环可能都不执行 45. For - Next 语句属于程序基本结构中的( B)。 A. 顺序结构 B. 循环结构 C. 分支结构 D. 选择结构

46. 下列关于Exit For 的说法,正确的是(D)。 A. 它可以退出任何类型的循环 B. 一个循环只能有一个Exit For C. 每个循环必须有Exit For

D. Exit For本身是无条件退出循环

47. 在Visual Basic代码窗口中,将某一条语句加以注释和说明时,应在语句前加(C)。 A. , B. : C. ' D. ?

48. 为了将一个语句写在多行上所使用的行续接符是:(B)。 A. & B. _ C. '

D. :

49. 在一个语句内写多条语句时,每个语句之间分隔符号是(C)。 A. , B. ; C. : D. '

50. Function过程的定义,不必须有的是(B )。 A. 过程的名称 B. 虚参

C. End Function D. 给过程赋值

51. 下列过程调用语句中,被调用的过程一定是Sub子过程的语句是( D)。 A. Pro1(x)

B. Print Pro2(x) C. x= Pro3(x) D. Call Pro4(x)

52. Sub过程与Function过程最根本的区别是(C)。

A. Sub过程可以用Call语句直接使用过程名调用,而Function过程不可以 B. Function过程可以有形参,Sub过程不可以

C. Sub过程不能返回值,而Function过程能返回值

D. 两种过程参数的传递方式不同

53. 当拖动滚动条中的滚动块时,将触发滚动条的事件是(D)。 A. Move B. SetFocus C. Scroll D. Change

54. 列表项选择后得到的选中索引是指(D)。 A. Value B. ListValue C. Index D. ListIndex

55. 定时器定时工作所触发的事件是(C)。 A. Click() B. Change() C. Timer() D. Load()

56. 在图片框中加载图形(c:\\666.jpg)的方法是(A)。 A. Loadpicture(\B. Loadpicture( ) C. print(\D. cls

57. 以下关于VB列表框的叙述中(A)是错误的。 A. 可通过属性“Item”,返回列表框中的项目 B. 可通过属性“Text”,得到当前列表项中的内容

C. 可通过属性“ListIndex”返回当前选中的列表项的索引 D. 可通过属性“ListCount”返回列表框中项目的数目

58. 为了把焦点移到某个指定控件,所使用的方法是(D)。 A. GetFocus B. Visible C. Refresh D. SetFocus

59. 为了隐藏一个窗体,所使用的方法为(C)。 A. Load B. Show C. Hide D. UnLoad

60. 如果窗体被遮挡,通过调用(B)方法,可以将其显示。 A. Hide B. Show C. Unload D. load

61. VB窗体设计器的主要功能是(A)。 A. 建立用户界面 B. 画图

C. 编辑文字

D. 编写程序代码

62. 窗体的(B)方法可以清除窗体上的图形与文本。 A. print B. cls C. load D. circle

63. 窗体没有(B )属性。 A. Caption B. Text C. Picture D. Top

64. 当一个工程有多个窗体时,其中的启动窗体是(D )。 A. 第一个添加的窗体 B. 最后一个添加的窗体 C. 启动VB时建立的窗体

D. 在工程属性对话框中指定的窗体

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

66. 以下哪种属性或者方法可以重新定义VB坐标系?(B ) A. ScaleMode属性 B. Scale方法

C. DrawWidth和DrawStyle属性 D. BorderWidth和BorderStyle 属性 67. 指令Circle(2000,3000),2000,QBColor,-3.14/2,-3.14将绘制以下哪种图形?( C ) A. 圆 B. 椭圆 C. 扇形 D. 圆弧

68. 使用Line方法时,参数B和F可以组合使用,下列组合中( D )是不允许的。 A. 不使用B和F B. B

C. B和F D. F

69. 执行命令Line(200,200)-step(500,500)后,CurrentX=( C )。 A. 200 B. 500 C. 700 D. 300

70. 在Visual Basic中,以下选项中表示单击事件的是(B)。 A. KeyUp

B. Click C. Activate D. Load

71. 下面不属于键盘事件的是( D)。 A. KeyUp B. KeyDown C. KeyPress D. Click

72. 每当窗体失去焦点时会触发的事件是(D)。 A. Active B. Deactive C. LostFocus D. Initialize

73. 设在窗体上有一通用对话框控件Commonialog1,通过调用(C)语句可以建立“颜色”对话框。

A. Commonialog1.ShowOpen B. Commonialog1.Action=2 C. Commonialog1.ShowColor D. Commonialog1.Action=5

74. 用语句Commonialog1.ShowOpen建立了“打开”对话框以后,要得到用户所选择文件的路径及文件名,应使用Commonialog1的(C )。 A. DialogTitle属性 B. FileTitles属性 C. FileName属性 D. InitDir属性

75. 用于显示弹出式菜单的方法名是(D )。 A. ShowOpen B. ShowMenu C. ShowPopup D. PopupMenu

76. 打开菜单编辑器的快捷键是(C)。 A. CTRL+F B. Alt+F C. CTRL+E D. Alt+E

77. 下列叙述中,错误的是( A)。 A. 顺序文件打开后,既可以读又可以写 B. 随机文件打开后,既可以读又可以写 C. 顺序文件打开后,只能读或者只能写

D. 顺序文件和随机文件的打开都使用Open语句 78. VB编程中顺序文件的处理将用到关键字是(C)。 A. File B. Save C. Open

D. Disk

二、填空题1

79. Private Sub Command1_Click() a=3 b=1

For i=1 To 3 f=a + b a=b b=f Next i Print f End Sub

以上程序段运行后,f的结果为 9 。 80. 设有如下通用过程:

Public Sub fun(a() As Integer, x As Integer) For i = 1 To 5 x = x + a(i) Next End Sub

在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim arr(5) As Integer, n As Integer For i = 1 To 5 arr(i) = 2* i Next fun arr, n

Text1.Text = Str(n) End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是 30 。 81. 阅读下列程序段 Option Explicit

Private Sub Command1_Click() Dim str1 As String Dim str2 As String str1 = \ MySub str1, str2 Print str2 End Sub

Private Sub MySub(ByVal a As String, b As String) Dim c As String Dim i As Integer

For i = Len(a) To 1 Step -1 c = c+ Mid(a, i, 1)

Next b= c End Sub

程序运行后,“print”语句的输出结果是__ GFEDCBA _ _。 82. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() x = Int(Rnd) + 6

If x ^ 2 > 25 Then y = x ^ 2 + 5 x = Int(Rnd) + 4

If x ^ 2 < 25 Then y = x ^ 2 x = Int(Rnd) + 5

If x ^ 2 = 25 Then y = x ^ 2 - 5 Print y End Sub

程序运行后,单击命令按钮,其输出结果为_20_ _。 83. 阅读下列程序段

Private Sub Command3_Click() Print pl(3, 6) End Sub

Public Function pl(x As Single, n As Integer) As Single If n = 0 Then pl = 1 Else

If n Mod 2 = 1 Then pl = x * x + n Else

pl = x * x - n End If End If End Function

程序运行后,单击该命令按钮,屏幕上显示的结果是___3___。 84. 阅读下列程序段

Private Sub Command2_Click() For i = 1 To 3 x = 1

For j = 1 To 3 x = 3 + j

For k = 1 To 3 x = x + 3 Next k Next j Next i Print x End Sub

运行程序后,单击命令按钮,输出结果是 15 。 85. 阅读下列程序段

Private Sub Command1_Click() Dim i As Integer Dim k As Integer k = 0

For i = 0 To 10 k = k + 1 i = i + k Next Print k; i End Sub

请问其循环体共执行了 4 次,i的值是 1 4 。 86. Private Sub Command1_Click() Dim i As Integer Dim x As Integer i = 1 x = 2 Do i = i + 1 x = x + i

Loop Until i >= 7 Print i , x End Sub

单击命令按钮后,i和x的值分别是7 、 29 。

87. 下面程序运行后,a、b、c、d的结果分别 3、1、5、12Private Sub Command1_Click() Dim a, b, c, d As Integer Do

For a = 1 To 2 b = b + 1

If a = 1 Then b = 0 c = 5 d = d + 2 Next a

Loop Until d > 10 Print a, b, c, d End Sub

88. 假定有如下的Sub过程: Sub S(x As Single, y As Single) t = x x = t + x y = t - y End Sub

。 Private Sub Command2_Click() Dim a As Single, b As Single a = 6 b = 4

Call S(a, b) Print a, b End Sub

程序运行后,单击命令按钮输出结果为 12、2 。 89. 阅读下列程序段 Dim a(3, 3) As Integer For m = 1 To 3 For n = 1 To 3

a(m, n) = (m - 1) * 3 + n Next n Next m

For m = 2 To 3 For n = 1 To 2 Print a(m, n); Next n Next m

程序运行后,显示结果为: 4、5、7、8 。 三、综合设计题

90. 编制程序实现:在窗体上,单击按钮1,在文本框中动态显示当前时间;单击按钮2,则停止动态显示;单击按钮3,清除文本框内容。提示:可用定时器控制时间,用系统函数Now显示时间(如Text1.Text = Now)。 91. 编制程序:求出100-200之间所有可以被3整除的数的总和,将结果用消息框显示输出。 92. 编制程序:利用输入框输入10个不同的整数,将它们从小到大排序,并打印输出。 93. 编制程序实现:设计在一框架中包含三个复选框,只有当其1,3选中而2未选中时,才在Text1中显示\字符。

94. 编一程序能实现在窗体上打印出如下图所示的图形。 A AAA AAAAA AAAAAAA BBBBBBB BBBBB BBB B

95. 编一程序用于判断一正整数是否为素数。(提示:只能被1和本身整除的正整数称为素数。为了判断一个数n是不是素数,可以将n被2到sqr(n)之间的所有整数除,如果都除不尽,则n就是素数,否则n是非素数。)

96. 选用If和Select判断结构中任意一种编写满足下列条件的计税要求的程序:少于1600元,免税;1601-5000元,征2%的税;多于5000元,超过部分征5%的税。

97. 有a、b、c三个数,编一程序实现通过文本框给a、b赋值;再调用能完成a、b比较大

小的子过程,用c将大数回传。要求按值传送a、b。

98. 编一程序用于求所有的\水仙花数\。所谓\水仙花数\是指一个3位数,其各位数字立方和等于该数本身。例如:153就是一水仙花数,因为153 = 13+53+33。

99. 设计一弹出式菜单,用于设置窗体的背景色,背景色包含白色、黄色、红色三种颜色。 100. 编写程序实现:输入三角形的三条边a,b,c的值,根据其数值判断能否构成三角形。如果能,则判断三角形是否是直角三角形,若是则计算该直角三角形的面积。

提示:判断能否构成三角形的方法是,求最长的一边,判断它的边长是否小于另外两边边长之和;或求最短的一边,判断它的边长是否大于另外两边之差。

101. 编写程序:通过四个命令按钮Command1-Command4,在图片框Picture1内分别实现画点、画线、画圆、擦除等功能。 102. 编写程序实现:在窗体上单击按钮1,可通过输入对话框输入两个字符串;单击按钮2,将输入的两个字符串连接为一个字符串,并计算该字符串长度,然后在消息框中显示出来。 103. 编一程序:用三个文本框分别输入a、b、c,求一元二次方程ax2+bx+c=0的解x1和x2,只包括实根。

104. 编一程序:利用输入对话框输入两个正整数,求最大公约数。 四、简答题 (略)?? 答案

三、综合设计题

90. Private Sub Command1_Click() Timer1.Interval = 5 Timer1.Enabled = True End Sub

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

Private Sub Command3_Click() Timer1.Enabled = False Text1.Text = \End Sub

Private Sub Timer1_Timer() Text1.Text = Now End Sub

91. Private Sub Command1_Click() Dim i, s As Integer For i = 100 To 200

If i Mod 3 = 0 Then s = s + i Next i

MsgBox (\之间所有可以被3整除的数的总和为:\End Sub

92. Private Sub Command1_Click() Dim a(9) , i, j, m As Integer For i = 0 To 9

a(i) = Val(InputBox(\第\个数:\

Next i

For i = 0 To 9

For j = i + 1 To 9 If a(i) > a(j) Then m = a(i) a(i) = a(j) a(j) = m End If Next j Next i

For i = 0 To 9 Print a(i); Next i End Sub

93. Private Sub Command1_Click()

If Check1.Value = 1 And Check2.Value = 1 And Check3.Value = 0 Then Text1.Text = \End If End Sub

94. Private Sub Command1_Click() Dim i, j As Integer For i = 1 To 4

For j = 1 To (2 * i - 1) Print \ Next j Print Next i

For i = 4 To 1 Step -1

For j = (2 * i - 1) To 1 Step -1 Print \ Next j Print Next i End Sub

95. Private Sub Command4_Click() Dim n, k, i, temp As Integer

n = InputBox(\请输入一个正整数\ k = Int(Sqr(n)) i = 2 temp = 0

Do While i <= k And temp = 0 If n Mod i = 0 Then temp = 1 Else

i = i + 1 End If Loop

If temp = 0 Then

Print n; \是一个素数\ Else

Print n; \不是素数\ End If End Sub

96. Private Sub Command1_Click() Dim n, p As Single n = Val(Text1.Text) Select Case n

Case Is <= 1600 p = 0

Case 1600 To 5000

p = (n - 1600) * 0.02 Case Else

p = 5000 * 0.02 + (n - 5000) * 0.05 End Select End Sub

97. Private Sub c1(ByVal a As Single, ByVal b As Single, c) If a > b Then c = a Else c = b End Sub

Private Sub Command1_Click() Dim a, b, c As Single a = Val(Text1.Text) b = Val(Text2.Text) Call c1(a, b, c) Print c End Sub

98. Private Sub Command1_Click() Dim a, b, c, n As Integer

For n = 100 To 999 a = Int(n / 100) b = Int((n - a * 100) / 10) c = n - (a * 100 + b * 10)

If n = a ^ 3 + b ^ 3 + c ^ 3 Then Print n; Next End Sub

99. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then

PopupMenu MenuA End If

End Sub

Private Sub B_Click(Index As Integer) Select Case Index Case 1

Form1.BackColor = vbWhite Case 2

Form1.BackColor = vbYellow Case Else

Form1.BackColor = vbRed End Select End Sub

100. Private Sub Command1_Click() Dim a(2), i, j, m As Integer For i = 0 To 2

a(i) = Val(InputBox(\第\条边为:\Next i

For i = 0 To 2

For j = i + 1 To 2 If a(i) > a(j) Then m = a(i) a(i) = a(j) a(j) = m End If Next j Next i

If a(0) + a(1) > a(2) Then

If a(0) ^ 2 + a(1) ^ 2 = a(2) ^ 2 Then

Print \能构成直角三角形,面积为:\ Else

Print \能构成三角形,但不是直角三角形\ End If Else

Print \不能构成三角形\End If End Sub

101. Private Sub Command1_Click()

Picture1.PSet (Picture1.Width / 2, Picture1.Height / 2) End Sub

Private Sub Command2_Click()

Picture1.Line (0, 0)-(Picture1.Width, Picture1.Height) End Sub

Private Sub Command3_Click()

Picture1.Circle (Picture1.Width / 2, Picture1.Height / 2), 800 End Sub

Private Sub Command4_Click() Picture1.Cls End Sub

102. Dim a, b, c As String

Private Sub Command1_Click() a = InputBox(\请输入第一个字符串\b = InputBox(\请输入第二个字符串\End Sub

Private Sub Command2_Click() c = a + b

MsgBox \连接后的字符串为:\。长度为:\End Sub

103. Private Sub Command4_Click() a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a = 0 Then x = -c / b Print x Else

t = b * b - 4 * a * c If t < 0 Then

Print \无解\ Else

X1 = (-b + Sqr(t)) / 2 / a X2 = (-b - Sqr(t)) / 2 / a Print X1, X2 End If End If End Sub

104. Private Sub Command1_Click()

m = Val(InputBox(\第一个数:\第二个数:\If n > m Then t = m: m = n: n = t End If r = m - n

Do While r > 0 If n < r Then t = n: n = r: r = t End If

m = n: n = r: r = m - n Loop Print n End Sub

四、简答题 (略)??

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

Top