1、VB程序设计复习资料一、判断题 (每题 1 分,共 10 分)( )1. 由Visual Basic语言编写的应用程序有解释和编译两种执行方式。( )2. 文本框控件的MaxLength属性值为0时,在文本框内不可以输入任何字符。( )3. 要使输入文本框的字符始终显示“#”,则应修改其PasswordChar属性为“#”。 ( )4. 在一个窗体中不能使用Unload来卸载本窗体,即一个窗体只能由其它窗体卸载。( )5. VB的Double类型数据,可以精确表示其数值范围内的所有实数。( )6. 在图片框中添加的控件,其Top和Left属性值是相对图片框而言的,与窗体无关。( )7. 命令按
2、钮不但能响应单击事件,而且还能响应双击事件。( )8. 在自定义函数过程中,函数名必须被赋值。( )9. 文本框控件只能响应KeyPress、KeyDown、KeyUp、Change事件。( )10. 如果一个菜单项的Visible属性为False,则它的子菜单也会显示。二、单选题 (每题 2 分,共 20 分)( )11. 要改变控件的高度,应修改控件的_属性。 A、Top B、 Left C、 Height D、Width ( )12. VB算术运算符乘或除、整除、求余的优先级,从高到低依次为_。A、乘或除、求余、整除 B、乘或除、整除、求余C、整除、求余、乘或除 D、整除、乘或除、求余(
3、 )13. 下列哪个属性用来表示标签(Label)的内容和窗体(Form)的标题_。 A、Caption B、Text C、Left D、Name( )14. 判断整型变量m能否被n整除的VB表达式为_。A、n Mod m=0 B、m/n*n=m C、m Mod n D、mn*n=m( )15. 选中复选框控件时,Value属性的值为_。 A、True B、False C、0 D、1( )16. 在窗体Form1的一个事件过程中,使用_来清除窗体上所绘制的图形的方法是不正确的。 A、Form1.Cls B、Form.Cls C、Me.CLS D、Cls( )17. 设计动画时通常用时钟控件_属
4、性来控制动画速度。 A、Interval B、 Timer C、 Move D、 Enabled( )18. 使用Circle方法不可以绘制的图形是_。 A、圆角矩形 B、椭圆 C、圆饼图 D、扇形( )19. 运行时组合框控件Comb1中所选择的表项,可以表示为_。 A、Comb1.Text B、Comb1.ListIndex C、Comb1.List D、Comb1.ListCount( )20. 若i的初值为9,则下列循环语句的循环次数为 _次。 Do While ia(j) Then m=a(i) (23) a(j)=m Next jNext i For i=1 To 30 If (2
5、4) Then (25) Next iEnd Sub(21) (22 ) (23 ) (24 ) (25 ) 2【程序说明】下列程序运行时,单击Command1(0)后,图片每秒自动左移1毫米,单击Command1(1)停止移动(当图片尾部移出窗体后,图片从窗体右端进入窗体)。界面设计如下图1所示。图1 程序2的界面设计【程序】 Private Sub Command1_Click(Index As Integer) If Index=0 Then (26) Else Timer1.Enabled=False End Sub Private Sub Form_Load() Timer1.Int
6、erval = (27) Form1.ScaleMode = 6 (28) End Sub Private Sub Timer1_Timer() Picture1.Left = (29) If Picture1.Left + Picture1.Width = Form1.ScaleLeft Then _ (30) = Form1.ScaleLeft + Form1.ScaleWidth End Sub(26) (27) (28 ) (29 ) (30 ) 四、程序阅读题(每小题5分,共 20 分)程序31、请写出单击窗体三次后,窗体上的显示结果。Private Sub Form_Click()
7、 Static a As Integer Dim b As Integer b = a + b + 2 a = a + b Form1.Print a=; a, b=; bEnd Sub程序32、 请写出单击窗体后,窗体上的显示结果。Private Sub Form_Click() For i% = 1 To 7 Print Spc (7- i) ; For j% = 1 To (2 * i%) - 1 : Print M ; : Next j% Print Next i%End Sub程序33、写出程序运行时,单击Option1(2)后,窗体上的显示结果。Private Sub Form_L
8、oad() Option1(0).Value=FalseOption1(1).Value=FalseOption1(2).Value=FalseEnd SubPrivate Sub Option1_Click(Index As Integer) If Option1(Index).Value=True Then Select Case Index Case 0 Check1(0).Value=1: Check1(1).Value=0 Case 1 Check1(0).Value=0: Check1(1).Value=1 Case 2 Check1(0).Value=1: Check1(1).V
9、alue=1 End Select If Check1(0).Value=1 Then Print 您好 If Check1(1).Value=1 Then Print 欢迎使用Visual Basic! End IfEnd Sub 程序34、设Text1.Text为 abcdef,运行时连续单击3次控件HScroll1右侧箭头后,分别写出组合框控件中的第1项、第2项及第3项的内容。Private Sub Form_Load() HScroll1.SmallChange = 1: HScroll1.Max = 5 HScroll1.Min = 1: HScroll1.Value = 1 Com
10、bo1.ClearEnd SubPrivate Sub HScroll1_Change() Combo1.AddItem Left(Text1.Text, HScroll1.Value), 0End Sub 五、程序设计题 (每题 10 分,共 30 分) 35编制事件过程Command1_Click,执行该过程时输入n以及n个数,计算这n个数的和并在文本框控件Text1中显示。(10分) 36. 编制通用函数过程fsum ,计算Single类型一维数组所有元素的和。(10分) 37. 在窗体上建立命令按钮“Command1”(显示)和“Command2”(退出)。 运行时,“Command2
11、”按钮始终显示“退出”;单击“显示”按钮后窗体上显示“欢迎使用Visual Basic!”同时标题改为“清除”,再单击“清除”按钮后,界面恢复窗体装入时的初态。(10分)试题一、判断题(每小题1分,共10分)1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 试题二、单选题(每小题2分,共20分)11. C 12. B 13. A 14. D 15. D 16. B 17. A 18.A 19. C 20. B试题三、程序填空题(每空2分,共20分)21Int(Rnd*90)+10 22. i+1 To 30 23. a(i) = a(j) 24. a(i) Mod 20 25. P
12、rint a(i); 26. Timer1.Enabled=True 27. 1000 28. Timer1.Enabled = False 29. Picture1.Left-1 30. Picture1.Left试题四、程序阅读题(每小题5分,共20分)31. a = 2 b = 2 a = 6 b = 4 a = 14 b = 8 32. M MMM MMMMM MMMMMMM MMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMM 33.您好 欢迎使用Visual Basic! 34. abcd abc ab 试题五、程序设计题(每小题各10分,共30分)35编制事件过程
13、Command1_Click,执行该过程时输入n以及n个数,计算这n个数的和并在文本框控件Text1中显示。Private Sub Command1_Click() Dim s As Single, n As Integer, x As Single n=InputBox(输入n) For i=1 To n x=InputBox(x=): s=s+x Next i Text1.Text=sEnd Sub36. 编制通用函数过程fsum,计算Single类型一维数组所有元素的和。 Private Function fsum(a() As Single, n As Single) As Singl
14、e Dim i As Integer For i = 1 To n fsum = fsum + a(i) Next i End Function37. 在窗体上建立命令按钮“Command1”(显示)和“Command2”(退出)。Private Sub Command1_Click() If Command1.Caption = 显示 Then Print 欢迎使用Visual Basic! : Command1.Caption = 清除 Else Form1.Cls : Command1.Caption = 显示 End IfEnd SubPrivate Sub Command2_Clic
15、k() EndEnd SubPrivate Sub Form_Load() Form1.Cls : Command1.Caption = 显示End Sub一、判断题 (每题 1 分,共 10 分)( )1VB是以结构化的Basic语言为基础、以事件驱动作为运行机制的可视化程序设计语言。( )2用DIM定义数值变量时,该数值变量自动赋初值为0。( )3移动框架时框架内控件也跟随移动,因此框架内控件的Left和Top属性值也随之改变。( )4列表框和文本框一样均没有Caption属性,但都具有Text属性。( )5图片框可以通过Print方法来显示文本。( )6语句“FontName = 宋体”
16、与“Form1.FontName = 宋体”的作用完全相同,无一例外。( )7SetFocus方法是把焦点移到指定对象上,使对象获得焦点,该方法适用于所有控件。( )8由于定时器控件在运行时是不可见的,因此在设置时可任意地将其放在任何位置。( )9表示各控件对象的变量名的属性为Caption。( )10. 决定对象是否可见的属性是Visible属性,决定对象可用性的属性是Enabled属性。二、单选题 (每题 2 分,共 20 分)( )11下列哪个属性用来表示各对象(控件)的位置_。 A、Text B、Caption C、Left D、Name( )12List1.Clear中的Clear是
17、_。 A、方法 B、对象 C、属性 D、事件( )13将文本框控件的_属性设置为True,可正常显示文本但不可编辑。 A、Locked B、Enabled C、MultiLine D、Visible( )14取字符串Ax从第1个非空格符开始的连续5个字符,写作表达式_。 A、Mid(Ax,1,5) B、Left(Trim(Ax),5) C、Left(Ax,5) D、Mid(Trim(Ax),5)( )15数学式 (x+5)1/3 写成VB表达式是_。 A、(x+5)1/3 B、(x+5)(13) C、(x+5)13 D、(x+5)(1/3)( )16要使Shape控件以实心方式填充,应该设置其
18、_属性。 A、FillColor B、FillStyle C、BackStyle D、Shape( )17将命令按钮Command1设置为不可见,应修改该命令按钮的_属性。 A、Visible B、Value C、Caption D、Enabled( )18将变量x、y中的最大数赋值给变量a,正确的表示为_。 A、a= If yx Then y Else x B、If yx Then a=y: a=x C、a=x: If yx Then a=y D、If yx Then a=y Else a=x End If( )19文本框控件Text4的Text属性默认值为_。 A、Text4 B、Text
19、4 C、Locked D、Name( )20描述以(1000,1000)为圆心、以400为半径画1/4圆弧的语句,正确的是_。 A、Circle(1000,1000),400,0,3.1415926/2 B、Circle(1000,1000),400,0,3.1415926/2 C、Circle(1000,1000),400,0,3.1415926/2 D、Circle(1000,1000),400,0,90三、程序填空题 (每空 2 分,共 20 分) 1【程序说明】 利用一个计时器、一个标签框和二个命令按钮制作一个动态秒表,如图1所示。单击“开始”命令按钮,秒表开始计时,单击“结束”命令按
20、钮,秒表结束计时,并在标签框显示运行时间,如“运行了0小时2分10秒”。(假设对象的属性都在程序代码中设定)图1 动态秒表 程序代码如下: Dim x As Long Dim h As Integer, m As Integer, s As Integer Private Sub Form_Load() Form1.Caption = 动态秒表(小时:分:秒) Command1.Caption = 开始 Command2.Caption = 结束 Label1.Alignment =”Center” Label1.Caption = 0: 0: 0 Timer1.Interval= (21)
21、Timer1.Enabled = False x = 0 End Sub Private Sub Command1_Click() (22) End Sub Private Sub Command2_Click() Timer1.Enabled = False x = (23) Label1.Caption = 运行了+Str(h)+小时+Str(m)+_ 分+Str(s)+秒 End Sub Private Sub Timer1_Timer() (24) h = x 3600 m = (x Mod 3600) 60 s = (25) Label1.Caption = Str(h) + : +
22、 Str(m) + : + Str(s)End Sub(21) (22 ) (23 ) (24 ) (25 ) 2【程序说明】本程序将1个大于100的偶数n分解为2个素数之和。其中nflag逻辑型函数用于判断自然数x是否为素数。 Private Sub Form_Click() Dim n As Integer,x As Integer,y As Integer n = Val(InputBox(”请输入1个大于100的偶数”,”输入数据”,100) For x = 3 To n 2 Step 2 If nflag(x) Then y = (26) If nflay(y) Then Form1
23、.Print n; ”=”; x; ”+”; y : Exit For End IF End If (27) End SubFunction nflag(x As Integer) Dim flag As Boolean k = 2 : m = Int(Sqr(x) flag = (28) Do While k 1 If x Mod i = 0 Then Print i; : x = x i Else i = i + 1 LoopEnd Sub 程序33、顺序写出运行时在文本框控件Text1中输入abcd后,列表框控件List1中的各表项。 Dim s As String Private Su
24、b Form_Load() List1.Clear Text1.Text = End Sub Private Sub Text1_Change() s = s + Text1.Text List1.AddItem sEnd Sub程序34、运行下面程序,并输入数据分别为129,32,53时,写出label1显示的内容。Private Sub Form_Click() Dim a As Integer a = Val(InputBox(请输入数据,100) Select Case a mod 5 Case Is 4 w = a + 10 Case Is 2 w = a * 2 Case Else
25、 w = a - 10 End Select Label1.Caption = w= & Str(w)End Sub五、程序设计题 (每题 10 分,共 30 分) 35. 随机产生n 个两位正整数(n由输入对话框输入,且0n100),求出其中的偶数之和,并在标签框Label1上显示。(10分) 36.编程,输入x值,按下式计算并输出y值。(10分) 37.在窗体上建立4个命令按钮Command1、Command2、Command3和Command4,运行结果如下图2。(10分) 要求: 命令按钮的Caption属性分别为“字体变大”、“字体变小”、“加粗”和“标准”。 每单击Command1
26、按钮和Command2按钮一次,字体变大或变小3个单位。 单击Command3按钮时,字体变粗;单击Command4按钮时,字体又由粗体变为标准。 4个按钮每单击一次都在窗体上显示“欢迎使用VB”。 双击窗体后可以退出。图2 运行后的显示结果试题一、判断题(每小题1分,共10分)1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 试题二、单选题(每小题2分,共20分)11. C 12. A 13. A 14. B 15. D 16. D 17. A 18.C 19.B 20. C试题三、程序填空题(每空2分,共20分)211000 22. Timer1.Enabled = True 23. 0 24. x = x + 1 20 25. s=xMod3600Mod60 26. n - x 27. next x 28. flag = true 29. k = k + 1 30. flag试题四、程序阅读题(每小题5分,共20分)31. L 32. 2 2 3 5 H F D B 33. a aab aababc aababcabcd 34. w=119 w=42 w=63 试题五、程序设计题(每小题各10分,共30分) 35. 随机产生n 个两位正整数(n由输入对话框输入,且0n100),求出其中的偶数之和,并在标签框Label1上显示。(10分