1999
年(秋)
二级
VB
笔试
答案
第二部分 Visual Basic 程序设计
一、选择题
(用答题卡答题,答案依次填在21-30答题号内)
21. Visual Basic 是一种面向___21___的程序设计语言。
22. 一只白色的足球被踢进球门,则白色、足球、踢、进球门是___22___。
A.
属性、对象、方法、事件
|
B.
属性、对象、事件、方法
|
C.对象、属性、方法、事件
|
D.对象、属性、事件、方法
|
23. 如果在窗体上有命令按纽OK,在代码编辑窗口有与之对应的CmdOK_Click()事件,则命令按纽控件的名称属性和Captin属性分别为___23___。
A.OK、Cmd
|
B. Cmd、OK
|
C. CmdOK、OK
|
D. OK、CmdOK
|
24. 窗体Form1的名称属性是frm,它的Load事件过程名是___24___。
A. Form_Load
|
B. Form1_Load
|
C. frm_Load
|
D. Me_Load
|
25. 在语句Public Sub Sort(i As Integer)中的 i 是一个按___25___传递的参数。
26. x+y小于10且x-y大于0的逻辑表达式是___26___。
A. x+y<10 or x-y>0
|
B. (x+y<10):(x-y)>0
|
C. x+y<10 And x-y>0
|
D. x+y<10.And.x-y>0
|
27. 在Form_Click事件中执行如下语句的正确结果是___27___。
Print Format(1236.54,"+ ##,##0.0%")
A. 123456
|
B. +123,654.0%
|
C. +123,6.54%
|
D. +123,654
|
28. 代数表达式
,对应Visual Basi
c
表达式是___28___。
A. E^(x+y)+|x+y|^1/2/2π+1
B. Exp(x+y)+Sqr(Abs(x+y))/2*3.14159+1
C. (Exp(x+y)+Sqr(Abs(x+y)))/(2*3.14159+1)
D.( Exp(x+y)+Sqr(Abs(x+y)))/2*π+1
29. 要对顺序文件进行写操作,下列打开文件语句中正确的是___29___。
A. Open "file1.txt" For Output As #1
B. Open "file1.txt" For Input As #1
C. Open "file1.txt" For Random As #1
D. Open "file1.txt" For Binary As #1
30. 有变量定义语句Dim a,a As Integer, 变量 a 的类型和初值是___30___。
A. Integer,0
|
B. Variant,空值
|
C. String,""
|
D. Long,0.0
|
二、填空题
(请把答案填写在答题纸的相应答题号内,每个答题只占一行)
1. 运行下面的程序,单击窗体后在窗体上显示的第一行结果是___(
15
)
___;第二行结果是___(
13
)
__;第三行结果是___(
17
)
_。
Private Sub Form_click()
Dim i As Integer, s as Integer
For i=1 To 10
s=s+i
If s>10 Then
Print s
s=0
End If
Next i
End Sub
2. 运行下面的程序,单击窗体后在窗体上显示的内容是___(
10 220
)
___;若将程序中的A语句与B语句的位置互换,再次执行程序,单击窗体后在窗体上显示的内容是___(
10 120
)
___。
Private Sub Form_Click()
Dim a As Integer,b As Integer
a=0: b=0
Do While a<=8
a=a+2 'A语句
b=b+a*a 'B语句
Loop
Print a,b
End Sub
3.运行下面的程序,单击窗体后在窗体上显示的第一行结果是___(
3
)
___;第二行结果是___(
2
)
_.
Private Function Digit(n As Integer,k As Integer)
As Integer
digit=0
Do While k>0
Digit=n Mod 10
n=n\10
k=k-1
Loop
End Function
Private Sub Form_Click()
Print Digit(1234,2)
Print Digit(1234,3)
End Sub
4.运行下面的程序,单击窗体后在窗体上显示的第一行结果是___(
Aa
)
___;第三行结果是___(
AaBbCe
)
_.
Private Sub Form_Click()
Dim mst As String,mst1 As String,mst2 As String
Dim i As Integer
mst1="CeBbAa"
For i=Len(mst1) to 1 Step -2
mst2=Mid(mst1,i-1,2)
mst=mst & mst2
Print mst
Next i
End Sub
5. 运行下面的程序,单击窗体后在窗体上显示的第一行结果是___(
1
)
___;第三行结果是___(
3 3 3
)
_.
Private Sub Test(x As Integer)
Dim i As Integer
If x<>0 Then
Call Test(x-1)
For i=1 To x
Print x;
Next i
Print
End If
End Sub
Private Sub Form_Click()
Test 3
End Sub
6. 运行下面的程序,单击窗体后在窗体上显示的第二行结果是___(
x2=0 y2=1
)
___;第四行结果是___(
x4=1 y4=3
)
_.
Dim y As Integer
Private Sub Form_Click()
Dim x As Integer
x=1:y=1
Print "x1=";x, "y1=";y
Test
Print "x4=";x, "y4=";y
End Sub
Private Sub Test()
Dim x As Integer
Print "x2=";x, "y2=";y
x=2:y=3
Print "x3=";x, "y3=";y
End Sub
7. 图1是应用程序的窗体,要求用户选中复选框 ChkBold 后,文本框 TxtDisplay 中的文字以粗体显示,选中复选框 ChkItalic 后,文本框 TxtDisplay 中的文字以斜体显示,单击关闭按纽 CmdClose结束应用持续运行。
Private Sub ChkBold_Click()
If___(
ChkBold.Value=1
)
_Then
TxtDisplay.FontBold=True
Else
TxtDisplay.FontBold=___(
False
)
_
End If
End Sub
Private Sub ChkItalic_Click()
If___(
ChkItalic=0
)
_Then
TxtDisplay.FontItalic=False
Else
TxtDisplay.FontItalic=True
End If
End Sub
Private Sub CmdClose_Click()
___(
Unload
)
_Me
End Sub
8. 验证下列命题:设n是一个s1是n的各位数字之和,s2是2n的各位数字之和。若s1=s2,则n是9的倍数。根据图2和程序填写对象的相关属性,"X"代表该对象无属性。
对象
|
名称(
Name
)
|
标题(
Caption
)
|
正文(
Text
)
|
窗体
|
Frm1
|
()18
|
X
|
标签
|
LblInput
|
()19
|
X
|
文本框
|
TxtInput
|
X
|
空
|
判断按纽
|
(20)
|
验证
|
X
|
退出按纽
|
CmdExit
|
退出
|
X
|
Private Sub CmdVerify_Click()
Dim n As Integer,s1 As Integer,sa As Integer
n=Val__(
TxtInput
_)
s1=Sm(n)
s2=Sm(2*n)
If ___(
s1=s2 and n Mod 9=0
)
___Then
MsgBox "该命题成立"
Else
MsgBox "该命题不成立"
End If
TxtInput.Text=""
TxtInput.SetFocus
End Sub
Private Sub CmdExit_Click()
Unload Me
End Sub
Private Function Sm(___(
ByVal n As Integer
)
___) As Integer
Dim sm1 as integer
sm1=0
Do While n<>0
sm1=sm1+n Mod 10
___(
n=n\10
)
___
Loop
Sm=sm1
End Function
9. 本程序从键盘读入n个整数 X
1
,X2,…,Xn,若这些整数满足如下条件之一:
(1) X
1
<X2<…<Xn;
(2) X
1
<X2<…<Xj且 Xj>Xj+1>Xj+2>…>Xn,其中 1<j<n;
(3) X
1
>X2>…>Xn.
则输出“符合条件!”,否则,输出“不符合条件!”。
Private Sub Form_Click()
Dim a() As Integer
Dim i As Integer, j As Integer, n As Integer
n=InputBox("输入数据个数")
___(
ReDim a(n)
)
___
For i=1 To n
a(i) = InputBox("输入数据")
Next i
For i=1 To n-1
If a(i) >a(i+1)Then Exit For
Next i
For j=i To n-1
If ___(
a(j)<a(j+1)
)
___Then Exit For
Next j
If ___(
j=n
)
__Then
Print "符合条件!"
Else
Print "不符合条件!"
End If
End Sub
10. 在C盘根目录下有一数据文件(cj.dat),内容如下:
9901
,
|
56
,
|
78
|
9902
,
|
97
,
|
89
|
9903
,
|
67
,
|
75
|
9904
,
|
78
,
|
76
|
9905
,
|
100
,
|
90
|
第一列数据表示学号,第二列数据表示数学成绩,第三列数据表示语文成绩,要求根据学号计算学生的总分,并按总分从高到低次序在窗体上输出。现有程序如下:
Dim a(5,4) As Integer
Private Sub Form_Click()
Dim i As Integer, j As Integer
Open "c:\cj.dat" For Input As #1
For i=1 To 5
For j=1 To 3
(
InPut #1, a(i,j)
)
__
Next j
(
a(i,4)
)
__=a(i,2) +a(i,3)
Next i
Sort
For i=1 To 5
For j=1 To 4
Print a(i,j),
Next j
Print
Next i
Close #1
End Sub
Private Sub Sort()
Dim i As Integer, j As Integer, k As Integer, temp As Integer
For i=1 To 4
For j=i+1 To 5
If a(i,4) <a(j,4)Then
For k=1 To ___(
4
)
__
temp=a(i,k)
a(i,k)=a(j,k)
a(j,k)=temp
Next k
End If
Next j
Next i
End Sub
posted on 2006-10-14 14:28
木子李 阅读(419)
评论(0) 编辑 收藏 引用 网摘 所属分类:
Visual Basic 课堂