1、11-12学年下学期 VB程序设计 A卷 一、选择题(每题1分,共25分) 1. 与传统的程序设计语言相比较,Visual Basic的最突出的特点是( )。 A.结构化的程序设计 B.访问数据厍 C.面向对象的可视化编程 D.良好的中文支持 2. 以下叙述中错误的是( ) A. Visual Basic 是事件驱动型可视化编程工具 B. Visual Basic应用程序不具有明显的开始和结束语句 C. Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 D. Visual Basic中控件的某些属
2、性只能在运行时设置 3. 下列各控件不包含滚动条的是( )。 A. ListBox B. TextBox C. ComboBox D. Label 4. 单击滚动条两端的任何一个滚动箭头,将触发该滚动条的( )事件。 A. Scroll B. KeyDown C. Change D. Dragover 5. 下列可以作为Visual Basic变量名的是( )。 A. 1_MN B. DimXYZ C. B!F D. END 6. 假设X=2,Y
3、3,则表达式X+Y=4的值是( )。 A. True B. False C. 4 D. 5 7. 骰子是正六面体,如果用1~6六个整数代表其6个面,那么每投一次骰子可能出现的数值在Visual Basic可以表示为( )。 A. Int(Rnd(1)*6+1) B. Int(Rnd(6)+1) C. Int(Rnd(1)*7) D. Int(Rnd*6) 8. 可以实现从字符串中任意位置截取字符的函数是( )。 A. Right( )
4、 B. Trim( ) C. Mid( ) D. Left( ) 9. 假设有下列语句 Dim a,b As Integer c=”V B” d=#3/1/2009# 则下列说法中错误的是( )。 A. c是字符串类型变量 B. d是日期类型变量 C. a是Integer类型变量 D. b是Integer类型变量 10. 以下不属于Visual Basic系统的文件类型是 ( ) A. .frm B. .bat C. .vbg D. .vbp
5、 11. 不能脱离控件而独立存在的过程是( )。 A.Sub过程 B.函数过程 C.通用过程 D.事件过程 12. 将命令按钮Command1设置为不可见,应修改该命令按钮的( )属性。 A. Visible B. Value C. Caption D. Enabled 13. 以下叙述中错误的是 ( ) A. 双击鼠标可以触发DblClick事件 B. 窗体或控件的事件的名称可以由编程人员确定 C. 移动鼠标时,会触发MouseMove事件 D. 控件的名称可以由编程人员设定
6、 14. FOR I=2 TO 17 STEP 2.5的循环次数是( ) A. 6次 B. 7次 C. 8次 D. 9次 15. 执行下面程序段的输出结果是( ) a = 100 Do While a > 120 s = s + a a = a + 1 Loop Print a A. 101 B. 120 C. 100 D. 12 16. 如果要改变窗体的标题,则需要设置的属性是( ) A. Caption
7、 B. Name C. BackColor D. BorderStyle 17. 在设计阶段,双击窗体上的某个控件时,则打开( )。 A. 工程资源管理器窗口 B. 属性窗口 C. 代码窗口 D. 工具箱窗口 18. 设有以下循环结构 Do 循环体 Loop While <条件> 则以下叙述中错误的是 ( ) A. 若"条件"是一个为0的常数,则一次也不执行循环体 B. "条件"可以是关系表达式、逻辑表达式或常数
8、 C. 循环体中可以使用Exit Do语句 D. 如果"条件"总是为True,则不停地执行循环体 19. 在窗体中添加名称为Command1和名称为Command2的命令按钮测验文本框Text1,然后编写如下代码: Private Sub Command1_Click() Text1.Text="AB" End Sub Private Sub Command2_Click() Text1.Text="CD" End Sub 首先单击Command2按钮,然后再单击Command1按钮,则文本框中最终显示的是 ( )。 A.
9、AB B.CD C.ABCD D.CDAB 20. 在Visual Basic中,下列控制结构不能嵌套的是( ) 。 A.选择控制结构 B.多分支控制结构 C.For循环控制结构 D.Do循环控制结构 21.在程序运行期间可以用( )函数把图形装入窗体、图片框或图像框。 A.AutoSize B. Stretch C. Picture D. LoadPicture 22. 要清除列表框中的所有列表项时,应使用( )方法。 A.Remove B. Clear C.
10、 RemoveItem D. Move 23. 以下说法不正确的是( )。 A. 可以通过ReDim语句改变动态数组的大小及维数 B. 可以使用Array()函数给动态变体类型数组元素赋值 C. 数组必须先定义后使用 D. 一个动态数组,不能通过ReDim语句多次改变该数组的大小 24. 下面过程定义语句合法的是( ) A. Sub P1(ByVal x()) B.Sub P1(x As Integer) As Single C. Function P1(P1) D.Function P1(ByVal x) 2
11、5. 下面 ( ) 过程定义语句能实现该过程调用后返回两个值的功能。 A. Sub PP(ByVal x As Double, ByVal y As Single) B. Sub PP(ByRef x As Double, ByVal y As Single) C. Sub PP(ByRef x As Double, y As Single) D. Sub PP(ByVal x As Double, ByRef y As Single) 二、填空题(每空2分,共20分) 1. 有时候需要暂时关闭或打开计时器,这可以通过 属性来实现。 2.
12、 判断x不是3的倍数的表达式为 。 3. 当用Print方法输出多项表达式时,可用分隔符分号或 隔开。 4. 若有Dim a(-2 to 7) as Integer,则数组a中包含了 个数组元素。 5. 要使文本框可以显示多行文本,应把文本框的 属性设置为True;VB中有一种控件集中了文本框和列表框的特性,这种控件是 。 6. 过程的作用域分为窗体级和 两种,定义窗体级过程,应在过程名前加上 关键字。 7. 要
13、把名为Forml的窗体从内存中卸载,使用语句 ,要隐藏Form1, 使用语句 。 三、程序阅读题(前三小题每题4分,共12分;后三小题每空3分,共18分。合计30分) 1. 执行下面程序段的输出结果是( ) Private Sub Form_click() For i = 1 To 3 Print Tab(i); "$"; Next i End Sub 2. 下面程序的输出结果是( ) Private Sub Form_Click() Dim a(10) As Integ
14、er, i As Integer For i = 0 To 10 a(i) = 2 * i + 1 Next i Print a(a(3)) End Sub 3. 以下程序段通过For循环计算一个表达式的值,该表达式为( )。 Dim s As Double,x As Double s=0 n=0 For i=1 To 5 x=n/i n=n+1 s=s+x Next i 4. 下列程序的功能是输出如下数列的前20项,按每行5个数的形式输出。
15、 1,1,2,3,5,8,13,21,...... 。在(1)(2)处填上相关语句,完成程序所需功能。 Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Dim i As Integer a = 1: b = 1: i = 3 Print a, b, Do While (i <= 20) c = a + b a = b ( 1 ) Print c, If i Mod 5 = 0 Then Print ( 2 ) Loop End
16、 Sub 5. 下面程序求1!+2!+…10!,在(1)(2)处填上相关语句,完成程序所需功能。 Private Sub Command1_Click() Dim s As Double, i As Integer For i = 1 To 10 s =( 1 ) Next i Print "s="; s End Sub Function fac(ByVal n As Integer) As Double Dim i As Integer Dim f As Double f = 1 For i =
17、 1 To n f = f * i Next i ( 2 ) End Function 6. 以下程序的功能是:从键盘上输入若干个学生的考试分数,当输入负数时结束输入,然后输出其中的最高分数和最低分数。在(1)(2)处填上相关语句,完成程序所需功能。 Private Sub Form_Click() Dim x As Single, max As Single, min As Single x = InputBox("Enter a score") max = x min = x Do While ( 1 )
18、 Print x; If x > max Then max = x If ( 2 ) Then min = x x = InputBox("Enter a score") Loop Print Print "Max="; max, "Min="; min End Sub 四、编程题(第一小题10分,第二小题15分,共25分) 1. 随机产生10个两位正整数,并在窗体上显示。求出其中的偶数之和,并在标签Label1上显示。程序写在命令按钮Command1的click事件中。 2. 假设一数组已存放了一批有序数(38, 29, 25, 18, 17, 12, 9, 6, 4),编程实现插入一个数x后使该数组仍然有序,x由Inputbox函数输入。如x=11,插入后,该数组变为(38, 29, 25, 18, 17, 12, 11, 9, 6, 4)。程序写在命令按钮Command1的click事件中。






