模拟试题一 |
|
|
|
|
一、选择题 |
|
|
1.Line(100,100)-Step(400,400)将在窗体_______画一直线。 |
|
|
A. (200,200)到(400,400) |
|
|
B. (100,100)到(300,300) |
|
|
C. (100,100)到(500,500) |
|
|
D. (100,100)到(400,400) |
|
|
|
|
|
2.在VB中通过_______属性来设置字体颜色。 |
|
|
A. FontColor |
|
|
B. ForeColor |
|
|
C. BackColor |
|
|
D. ShowColor |
|
|
|
|
|
3.在文件列表框中设定“文件列表”中显示文件类型应修改该控件的_______属性。 |
|
|
A. Pattern |
|
|
B. Path |
|
|
C. Filename |
|
|
D. Name |
|
|
|
|
|
4.RGB函数通过红绿蓝三基色混合产生某种颜色,某语法为RGB(红、绿、蓝),括号中红、绿、蓝三基色的成分使用0~255之间的整数。若使用三个滚动条分别输入三种基色,为保证输入数值有效,则应设置_______属性。 |
|
|
A.Max和Min |
|
|
B.Smallchange和LargeChange |
|
|
C.Scroll和Change |
|
|
D.Value |
|
|
|
|
|
5. 不能通过_______来删除列表框中的选项。 |
|
|
A .List属性 |
|
|
B. Removeltem方法 |
|
|
C. Clear方法 |
|
|
D. Test属性 |
|
|
|
|
|
6. 组合框的三种不同风格:下拉组合框、简单组合框和下拉列表框,由_______属性决定。 |
|
|
A. Style |
|
|
B. BoderStyle |
|
|
C. FillStyle |
|
|
D. DrawStyle |
|
|
|
|
|
7. 设计动画通常使用时钟控件_______来控制动画速度。
A.Enabled
B.Interval
C.Timer
D.Move |
|
|
|
|
|
8. 用户可以通过设置菜单项的_______属性值为FALSE来使该菜单项不可见。 |
|
|
A.Hide |
|
|
B.Checked |
|
|
C.Visible |
|
|
D.Enabled |
|
|
|
|
|
9. 通常使用_______方法来卸载当前窗体。 |
|
|
A.Load |
|
|
B.Checked |
|
|
C.Unload |
|
|
D.Hide |
|
|
|
|
|
10. 在逐行运行程序的语句时,可用调试窗口监视表达式和变量的值,其中_______窗口是用来显示代码中正在调试的语句所产生的信息,或显示直接在该窗口中键入的命令所请求的信息。 |
|
|
A. 立即 |
|
|
B. 监视 |
|
|
C. 本地 |
|
|
D. 中断 |
|
|
|
|
|
11.将CommandDialog1通用对话框以打开对话框打开,可选以下_______方法。 |
|
|
A. showopen |
|
|
B. showcolor |
|
|
C. showsave |
|
|
D. showfont |
|
|
|
|
|
12. 函数Int(10*Rnd) 是在_______范围内的整数。 |
|
|
A. [0,1] |
|
|
B. [1,10] |
|
|
C. [1,9] |
|
|
D. [0,9] |
|
|
|
|
|
13. 控件内的对齐方式由_______属性决定。
|
|
|
A. Alignment |
|
|
B. WordWrap |
|
|
C. AutoSize |
|
|
D. Style |
|
|
|
|
|
14. _______属性决定了按Tab键时焦点在各个控件之间移动的顺序。 |
|
|
A. Index |
|
|
B. TabStop
|
|
|
C. Tablndex |
|
|
D. SetFocus |
|
|
|
|
|
15. 改变控件在窗体中的左右位置应修改控件的_______属性。 |
|
|
A. Top |
|
|
B. Left |
|
|
C. Width |
|
|
D. Height |
|
|
|
|
|
16. VB中的坐标原点位于_______。
|
|
|
A. 容器右上角 |
|
|
B. 容器左上角 |
|
|
C. 容器正中央 |
|
|
D. 容器右下角 |
|
|
|
|
|
17. 如果从数据文件 INPUT.DAT 中读取数据时,以下打开文件方式中,正确的是_______。 |
|
|
A. OPEN INPUT.DAT FOR INPUT AS #1 |
|
|
B. OPEN INPUT.DAT FOR OUTPUT AS #1 |
|
|
C. OPEN “INPUT.DAT” FOR INPUT AS #1 |
|
|
D. OPEN “I”, #1 INPUT.DAT |
|
|
|
|
|
18. VB程序设计中的窗体在OOP中称为_______。 |
|
|
A. 屏幕 |
|
|
B. 事件 |
|
|
C. 对象 |
|
|
D. 控件 |
|
|
|
|
|
19. 以下各表达式中, 计算结果为0的是_______。 |
|
|
A. INT(12.4)+INT(-12.6) |
|
|
B. CINT(12.4)+CINT(-12.6) |
|
|
C. FIX(13.6)+FIX(-12.6) |
|
|
D. FIX(12.4)+FIX(-12.6) |
|
|
|
|
|
20. 要改变控件的宽度,应修改该控件的_______属性。 |
|
|
A. Top |
|
|
B. Width |
|
|
C. Left |
|
|
D.Height |
|
|
|
|
|
答案:C,B,A,A,D,A,B,C,C,A,A,D,A,C,B,B,C,C,D,B |
|
|
|
|
|
二、填空题 |
|
|
1. 清除窗体对象内容的语句:________。 |
|
|
2. 清除列表框对象内容的语句:________。 |
|
|
3. 清除组合框对象内容的语句:________。 |
|
|
4. 变量min@表示______类型的变量。 |
|
|
5. 如果:I=11:J=3:I=int(-8.6)+I\J+13/3 MOD 5,则I值是________。 |
|
|
6. 满足条件0<X<10的VB表达式:__________。 |
|
|
7. x为[0-100]之间的数,能被2整除,但不能被3整除_______。 |
|
|
8. 循环语句FOR K=1 TO 10 STEP –1控制的循环次数为_______。 |
|
|
9. 表达式1 and 0 的值_______。 |
|
|
10.随机产生100至200(不包括100和200)之间的整数的表达式为_______。 |
|
|
11. 把条件为1<=x<=5写成VB表达式为_______。 |
|
|
12. 语句Line(1000,1000)-Step(2000,1500),vbRed,BF的含义是_______。 |
|
|
13. 用随机函数产生10个100~500的整数,语句可写为_______。 |
|
|
14. 当x=2时,语句if x=2 then Print x=2的结果值是_______。 |
|
|
15 设x的初值为5,则由下列循环语句控制的循环次数是_______。
Do While x>=5
x=x-1
Loop |
|
|
|
|
|
答案:1. Form1.Cls、2. List1.Clear、3. Combol1.Clear、4. 货币数据、5. -2、6. X>0 and X<10、7. x>=0 and x<=100 and x mod 2=0 and x mod 3<>0、8. 0、9. False、10.Int(101*rnd)+99、11. x>=1 and x<=5、
12.在窗体上绘制以角点为(2000,2000)和(4000,3500)的红色实心的矩形、13. For I=1 to10 : a(i)=100+int(400*rnd) : next I、14.
True、15.1 |
|
|
|
|
|
三、是非题 |
|
|
1. Single 和Double型用于保存浮点数,在VB中定义单精度浮点型是8位,双精度浮点型是16位。( )
|
|
|
2. 用dim语句声明的局部变量能保存上一次过程调用后的值。( )
|
|
|
3. 利用Private Const 声明的符号常量,在代码中不可以再赋值。( )
|
|
|
4. 直线控件可以在窗体上拖动,因此它具有MOVE方法。( )
|
|
|
5. 要使定时器控件起作用,其属性Interval不可以设置为0。( )
|
|
|
6. 可以利用键盘光标选择菜单项,因此菜单可响应KeyPress事件。( )
|
|
|
7. 通用对话框只能用Show方法进行调用。( )
|
|
|
8. 图片框的属性Enabled设置为FALSE,图片框上的控件仍可响应用户操作。( )
|
|
|
9. Variant是一种数据类型,因此只能存放象其它数据类型一样的值,无特殊值。( )
|
|
|
10. Visual Basic提供的几种标准坐标系统的原点都是在绘图区域的左上角,如果要把坐标原点放在其它位置,则需使用自定义坐标系统。( )
|
|
|
11.如果一个列表框一共有5个选项,而当选中第三项时,这时列表框的ListIndex属性为2。( ) |
|
|
12.当窗体的ScaleTop=0,ScaleLeft=0时,这个窗体Top和Left值也是0。( ) |
|
|
13.单击并拖拽工具箱中所需的控件到窗体上即可完成添加控件任务。( ) |
|
|
14.除了标准控件外,还可引入其它控件及第三方厂商研制的控件。( ) |
|
|
15.TextBox与Label有许多共同特点,它们都能显示和输入文本。( ) |
|
|
|
|
|
答案:1. F、2.F、 3. T、4 . F、5.T、 6. F、7.F、 8.F、 9. T、 10. T、11.T
、12.T、13.
F、14
.T
、15.F |
|
|
|
|
|
四、程序阅读题 |
|
|
|
|
|
1. 阅读下列程序,写出运行结果。程序如下:
|
Private Sub Swap1(ByVal x As Integer, ByVal y As Integer)
Dim t As Integer
t = x
x = y
y = t
End Sub
Private Sub Swap2(x As Integer, y As Integer)
Dim t As Integer
t = x
x = y
y = t
End Sub
Private Sub Command2_Click()
Dim a As Integer, b As Integer
a = 10
b = 20
Print "A1="; a, "B1="; b
Swap1 a, b
Print "A1="; a, "B1="; b
a = 10
b = 20
Print "A1="; a, "B1="; b
Swap2 a, b
Print "A2="; a, "B2="; b
End Sub |
|
程序运行后,单击Command2,窗体上显示的内容是? |
|
|
|
|
|
2. 阅读下列程序,写出运行结果。程序如下:
|
Private Sub Command6_Click()
For j = 10 To 5 Step -2
k = j + 1
If k < 6 Then Exit For
Next j
Print k, j
End Sub |
|
程序运行后,单击命令按钮Command6,窗体上输出结果是? |
|
|
|
|
|
3. 阅读下列程序,写出运行结果。程序如下:
|
Private Sub Command7_Click()
Dim a As Integer
a = 1: I = 0
Select Case a * 2
Case 1
a = a + 1
Case 2
a = a + 2
Case Else
a = a + 3
End Select
Print "a="; a
End Sub |
|
程序运行后,单击命令按钮Command7,窗体上输出结果是? |
|
|
|
|
|
4. 阅读下列程序,写出运行结果。程序如下:
|
Private Sub Command8_Click()
Dim a As Integer
Open "c:\abc.txt" For Output As #1
n = 8
For I = 1 To n
Print #1, I + 1
Next I
Close #1
Open "c:\abc.txt" For Input As #1
For I = 1 To n
Input #1, a
If I Mod 5 = 0 Then Print a + 1
Next I
Close #1
End Sub |
|
程序运行后,单击命令按钮Command8,窗体上输出结果是? |
|
|
|
|
|
答案: |
|
|
1.
A1= 10 B1= 20
A1= 10 B1= 20
A1= 10 B1= 20
A2= 20 B2= 10 |
|
|
2. 7 4 |
|
|
3. a= 3 |
|
|
4. 7 |
|
|
|
|
|
五、程序改错 |
|
|
|
|
|
1. 下列Command1的单击事件过程的功能是,从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分,要求输出取法的数量及每一种取法的一分、二分、五分的个数。程序中有4处错误,请改正过来。
|
Private Sub Command1_Click()
Dim one As Integer '一分硬币个数
Dim two As Integer '二分硬币个数
Dim five As Integer '五分硬币个数
Const n = 20 '总数20枚
Dim k As Integer '取法数量
k = 0
For one = 1 To n
For two = one + 1 To n '-----错误1
five = n - one - two
If one + two + five = 60 Then '-----错误2
k = k + 1
Print "one="; one; "two="; two; "five="; five
End If
Next one '-----错误3
Next two '-----错误4
Print "k="; k
End Sub |
|
|
|
|
2. 下列Command1的单击事件过程用于查找一个5行4列的二维数组中行平均值最大的行,并将该行所有数据调整到第一行的位置。程序中DataProduce 过程用于产生原始数据;Average 过程用于计算各行的平均值;PrintArray过程用于打印二维数组和行平均值。程序中有4处错误,请改正过来。
|
Dim a(1 To 5, 1 To 4) As Integer ’在窗体的通用部分定义
Dim ave(1 To 5) As Integer’在窗体的通用部分定义
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim temp As Integer
Dim Line_no As Integer '最大平均值的行号
'找出最大平均值所在行
Line_no = 1
DataProduce
Average
For i = 2 To 5
If ave(Line_no) >= ave(i) Then '-----错误1
Line_no = ave(i) '-----错误2
End If
Next i
'交换第一行与最大平均值所在行
For j = 1 To 4
temp = a(1, j)
a(Line_no, j) = a(1, j) '-----错误3
a(Line_no, j) = temp
Next j
'交换对应行的平均值
temp = ave(1)
ave(1) = ave(Line_no)
ave(Line_no) = temp
'打印交换后的数据
Print "交换后的数据和平均值"
PrintArray
End Sub |
|
|
Public Sub DataProduce()
Dim i As Integer
Dim j As Integer
'产生5*4数组
For i = 1 To 5
For j = 1 To 4
a(i, j) = Int(100 * Rnd)
Next j
Next i
End Sub |
|
|
Public Sub Average()
Dim i As Integer
Dim j As Integer
Dim sum As Integer
'计算各行平均值
For i = 1 To 5
sum = 0
For j = 1 To 4
sum = a(i, j) '-----错误4
Next j
ave(i) = sum / 4
Next i
'将数组和平均值打印出来
Print "原始数据和平均值"
PrintArray
End Sub |
|
|
Public Sub PrintArray()
Dim i As Integer
Dim j As Integer
For i = 1 To 5
For j = 1 To 4
Print a(i, j); Spc(3);
Next j
Print "平均值="; ave(i)
Next i
End Sub |
|
|
|
|
1. 答案:
错误1改正为:For two = 1 To n - one
错误2改正为:If one + two * 2 + five * 5 = 60 Then
错误3改正为:Next two
错误4改正为:Next one |
|
|
2. 答案:
错误1改正为:If ave(Line_no) < ave(i) Then
错误2改正为:Line_no = i
错误3改正为:a(1, j) = a(Line_no, j)
错误4改正为:sum = sum + a(i, j) |
|
|
|
|
|
六、综合编程 |
|
|
1. 编一帐号和密码输入的检验程序。对输入的帐号和密码规定如下:
(1)帐号为不超过6位数字,密码为6位字符,在本题中,密码假定为“123456”。
(2)密码输入时在屏幕上不显示输入的字符,而以“*”代替。
(3)当输入不正确,如帐号为非数字字符或密码不正确时,显示有关信息。
(4)当输入正确时,关闭密码窗口,显示Windows操作系统的记事本窗口。
按要求完成有关控件的属性的设置,编写确定按钮的单击事件过程。相关界面如下列各图所示。
|
|
|
|
|
|
2.
将C盘根目录下的一个文本文件old.dat复制到新文件new.dat中,并利用文件操作语句将old.dat文件从磁盘上删除。 |
|
|
|
|
|
答案: |
|
|
1. |
|
|
Private Sub Form_Load()
Text1.MaxLength = 6
Text2.PasswordChar = "*"
End Sub
Private Sub Text1_LostFocus()
Dim i As Integer, s As String * 1
If Not IsNumeric(Text1.Text) Then
MsgBox "账号有非数字符号!", vbExclamation + vbRetryCancel, "输入账号"
Text1.Text = ""
Text1.SetFocus
Exit Sub
End If
If Len(Text1.Text) > 6 Then
MsgBox "账号不能多于6位!", vbExclamation + vbRetryCancel, "输入账号"
Text1.Text = ""
Text1.SetFocus
End If
End Sub
Private Sub Command1_Click()
If Text2.Text = "123456" Then
Me.Hide
Shell "c:\winnt\notepad.exe", vbMaximizedFocus
Else
MsgBox "密码错误", vbCritical + vbRetryCancel, "输入密码"
Text2.Text = ""
Text2.SetFocus
End If
End Sub
Private Sub Command2_Click()
End
End Sub |
|
|
|
|
|
2. |
|
|
Private Sub Command1_Click()
Dim strl As String
Open "c:\old.dat" For Input As #1
Open "c:\new.dat" For Output As #2
Do While Not EOF(1)
Input #1, strl
Print #2, strl
Loop
Close #2, #1
Kill "C:\old.dat"
End Sub |
|