VB程序设计试题及答案(二)
VB程序设计试题大家做过多少了呢?为此阳光网小编为大家推荐了VB程序设计试题及参考答案,希望能帮到大家。
VB程序设计试题及参考答案:单选题
1. Visual Basic是一种面向对象的可视化程序设计语言,采取了 A 的编程机制。
(A) 事件驱动 (B) 按过程顺序执行
(C) 从主程序开始执行 (D) 按模块顺序执行
2. 若要使标签控件显示时不覆盖其背景内容,要对 D 属性进行设置。
(A) Backcolor (B) BorderStyle
(C) Forecolor (D) Backstyle
3. 在Visual Basic中最基本的对象是 C ,它是应用程序的基石,是其他控件的容器。
(A) 文本框 (B) 命令按钮
(C) 窗体 (D) 标签
4. 要判断在文本框是否按下Enter键,应在文本框的 D 事件中判断。
(A) Change (B)KeyDown
(C) Click (D)KeyPress
5. 数学表达式3≤x
(A) 3<=x<10 (B) 3<=x AND x>10
(C) x>=3 Or x<10 (D) x>=3 AND x<10
6. Rnd函数不可能为下列 B 值。
(A) 0 (B) 1 (C) 0.1234 (D) 0.0005
7. 赋值语句:a=123+Mid("123456",3,2)执行后,a变量中的值是 D 。
(A) "12334" (B) 123 (C) 12334 (D) 157
8. 对于语句If x=l Then y=l,下列说法正确的是 C 。
(A) x=l和y=l均为赋值语句
(B) x=l和y=l均为关系表达式
(C) x=l为关系表达式,y=l为赋值语句
(D) x=l为赋值语句,y=l为关系表达式
9. 下面程序段表示求两个数中的大数, D 不正确。
(A) Max=IIf(x>y,x,y) (B) If x>y Then Max=x Else Max=y
(C) Max=x (D) Ify>=x Then Max=y
If y>=x Then Max=y Max=x
10.当在文本框中输入“ABCD”4个字符时,窗体上显示的是 C 。
Private Sub Text1_Change( )
Print Text1;
End Sub
(A) ABCD (B) A (C) AABABCABCD (D) A
B AB
C ABC
D ABCD
11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值 B 。
(A) For i=1 to 4 (B) For i=1 to 4
n=1 For j=1 to i
For j=1 to I n=1
n=n*j n=n*j
Next j Next j
Print n Print n
Next I Next i
(C) n=1 (D) n=1
For j=1 to4 j=1
n=n*j Do While j<=4
Print n n=n*j
Next j Print n
j=j+1
Loop
12.如下数组声明语句,则数组a包含元素的个数有 A 。
Dim a(3, -2 to 2, 5)
(A) 120 (B) 75 (C) 60 (D) 13
13.以下程序的输出结果是 D 。
Dim a
a=Array(1, 2, 3, 4, 5, 6, 7)
For i=Lbound(a) to Ubound(a)
a(i)=a(i)*a(i)
Next i
Print a(i)
(A) 49 (B) 0 (C) 不确定 (D) 程序出错
14.在过程中定义的变量,若希望离开该过程后,还能保存过程中局部变量的值,则应使用关键字 D 在过程中定义局部变量。
(A) Dim (B) Private (C) Public (D) Static
15.如下程序,运行的结果是 B 。
Dim a%, b%, c%
Public Sub p1(x%, y%)
Dim c%
x=2*x: y=y+2: c=x+y
End Sub
Public Sub p2(x%, ByVal y%)
Dim c%
x=2*x: y=y+2: c=x+y
End Sub
Private Sub Command1_Click( )
a=2: b=4: c=6
Call p1(a, b)
Print “a=”; a; “b=”; b; “c=”; c
Call p2(a, b)
Print “a=”; a; “b=”; b; “c=”; c
End Sub
(A) a=2 b=4 c=6 (B) a=4 b=6 c=10
a=4 b=6 c=10 a=8 b=8 c=16
(C) a=4 b=6 c=6 (D) a=4 b=6 c=14
a=8 b=6 c=6 a=8 b=8 c=6
16.复选框的Value属性为1时,表示 B 。
(A) 复选框未被选中 (B) 复选框被选中
(C) 复选框内有灰色的勾 (D) 复选框操作有误
17.下面关于菜单的说法中,错误的是 B 。
(A) 每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件
(B) 除了Click事件之外,菜单项还能响应其他的,如DbClick事件
(C) 菜单项的快捷键不能任意设置
(D) 在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择
18.下面关于多重窗体的叙述中,正确的是 B 。
(A) 作为启动对象的Main子过程中能放在窗体模块中
(B) 如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体
(C) 没有启动窗体,程序不能执行
(D) 以上都不对
19.当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将 D 。
(A) 发生DeActivate事件
(B) 发生LostFocus事件
(C) 发生DeActivate和LostFocus事件
(D) DeActivate和LostFocus事件都不发生
20.顺序文件是因为 D 。
(A) 文件中的数据按每行的长度从小到大排序好的
(B) 文件中的数据按某个关键数据项从大到小进行排序
(C) 文件中的数据按某个关键数据项从小到大进行排序
(D) 数据按进入的先后顺序存放的.,读出也是按原写入的先后顺序读出
21.文件号最大可取值为 B 。
(A) 255 (B) 511 (C) 512 (D) 256
22.Print #1, STR$1中的Print是 A 。
(A) 文件的写语句 (B) 在窗体上显示的方法
(C) 子程序名 (D) 以上均不是
23.以下的属性和方法中 C 可重定义坐标系。
(A)Drawstyle属性 (B) DrawWidth属性
(C) Scale方法 (D) ScaleMode属性
24.封闭图形的填充方式由下列 C 属性决定。
(A) DrawStyle, DrawMode (B) AutoRedraw, ClipControls
(C) FillStyle, FillColor (D) ForeColor, BorderColor
25.下列字符串中, D 不包含在ADO数据控件的ConnectionString属性中。
(A) Microsoft Jet 4.0 OLE DB Provider
(B) Data Source=C:\Mydb.mdb
(C) Persist Security Info=False
(D) 2-adCmdTable
VB程序设计试题及参考答案:填空题
1.在代码窗口对窗体的BorderStyle、MaxButton属性进行了设置,但运行后没有效果,原因是这些属性 在运行时设计是无效的 。
2.在文本框中,通过 SelStart 属性能活得当前插入点所在的位置。
3.表达式Ucase(Mid(“abcdefgh”, 3, 4))的值是 CDEF 。
4.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 And a+c>b+3 Or Not d的值是 False 。
5.要获得动态数组的上界通过 UBound 函数,下界通过 LBound 函数。
6.由Array函数建立的数组,其变量类型必须是 variant 类型。
7.VB中的变量按其作用域分为全局变量、模块变量和 局部变量 变量。
8.复选框的 Value 属性设置为2——Grayed时,变成灰色,禁止用户选择。
9.滚动条响应的重要事件有 Scroll 和Change。
10.假定有一个通用对话框控件CommonDialog1,除了用COmmonDialog1.Action=3显示颜色对话框之外,还可以用 showcolor 方法显示。
11.窗体Form1的左上角坐标为(-200, 250),窗体Form1的右下角的坐标为(300, -150),则X轴的正向向 右 ,Y轴的正向向 上 。
12.使用Circle方法画扇形,起始角、终止角取值范围为 0~2π 。
13.在运行状态改变ADO数据控件的数据源连接属性后,必须使用 Refresh 方法激活这些变化。
14.VB中工程文件的扩展名为 vbg 。
15.如果在窗体上已经创建了一个文本框对象Text1,可以通过 Keypress 事件获得输入键值的ASCII码。
16.VB中对象的三要素是 属性 、 事件 和 方法 。
VB程序设计试题及参考答案:编程应用题
1.程序阅读
(1)
Private Sub Command1_Click( )
Dim s as String, i%
s="abcd"
For i=Len(s) to 1 step -1
Print Mid(s, i, 1)
Next i
End Sub
输出结果:
d
c
b
a
(2)
Sub Swap1(ByVal x%, ByVal y%)
Dim t%
t = x: x = y: y = t
End Sub
Sub Swap2(ByRef x%, ByRef y%)
Dim t%
t = x: x = y: y = t
End Sub
Sub Command1_Click()
Dim a%, b%
a = 10: b = 20
Print "调用Swap1前 a和b的值为:"; a; b
Call Swap1(a, b)
Print "调用Swap1后按传值方式 a和b的值为:"; a; b
a = 10: b = 20
Call Swap2(a, b)
Print "调用Swap2后按传地址方式 a和b的值为:"; a; b
End Sub
输出结果
调用Swap1前 a和b的值为:10 20
调用Swap1后按传值方式 a和b的值为:10 20
调用Swap2后按传地址方式 a和b的值为: 20 10
(3)
Private Sub Command1_Click( )
Dim x%, y%, z%
x=242: y=44
z=x*y
Do Until x=y
If x>y Then x=x-y Else y=y-x
Loop
Print x, z/x
End Sub
输出结果:
22 484
2.补充程序
(1) 以下是求1~18之间某个数的阶乘的程序,具体的数值n由滚动条HScroll1获得,结果显示在窗体下部的两个Label标签里。补充完整如下程序。
Private Sub HScroll1_Change()
Dim i As Integer, s As Double
s = 1
n = Hscroll1.Value
If n <> 0 Then
For i = 1 To n
s = s*i
Next i
End If
Label2.Caption = n & "! = "
Label3.Caption = s
End Sub
(2)以下程序的功能是:已知数组a,删除数组中某个元素。
Private Sub Command1_Click( )
Dim a( ), key%, i%, j%
a=Array(1, 6, 8, 3, 5, 9, 10, 2, 4, 7)
key=9
For i=0 to UBound(a)
If a(i)=9 Then
For j=i+1 to UBound(a)
a(j)=a(j+1)
Next j
ReDim a(j)=a(i)
MsgBox("删除完成")
Exit Sub
End If
Next i
MsgBox("找不到要删除的元素")
【VB程序设计试题及答案(二)】相关文章: