第二部分 Visual Basic 程序设计
一、选择题
(用答题卡答题,答案依次填在21-30答题号内)
21. Visual Basic 是用予开发___21___环境下的应用程序的工具。
A. DOS
|
B. Windows
|
C. DOS和Windows
|
D. UNIX
|
22. Visual Basic 程序设计时常用的Print、Cls属于___22___。
23.一个可执行的 Visual Basic 的应用程序至少要包括一个__23___。
A. 标准模块
|
B. 类模块
|
C. 窗体模块
|
D. 辅助模块
|
24. 在Visual Basic 中最基本的对象是___24___,它是应用程序的基石。
A. 标签
|
B. 窗体
|
C. 文本框
|
D. 命令按纽
|
25. 数学表达式
对应的Visual Basic 算术表达式是___25___。
A. Ln(E^(xy)+Abs(Tan(z))+Cosx^3)
B. Log(Exp^(xy)+Abs(Tan(z))+Cosx^3)
C. Ln(Exp^(x*y)+Abs(Atn(z))+Cosx^3)
D. Log(E^(x*y)+Abs(Atn(z))+Cosx^3)
26. 执行语句“Print Format(5459.478,"##,##0.00")”正确的输出结果是___26___。
A. 5459.48
|
B. 5,459.48
|
C. 5,459.478
|
D. 5,459.47
|
27. 下列语句中的___27___语句可以用来正确地声明一个动态数组。
A. Private A(n) As Integer
|
B. Dim A() As Integer
|
C. Dim A(,) As Integer
|
D. Dim A(1 To n)
|
28. 如果要在两个菜单命令项之间机加一条分隔线,可在标题文本框中键入___28___。
29. 假定变量Logic类型是Boolean,下面赋值语句___29___是正确的。
A. Logic="True"
|
B. Logic=.True.
|
C. Logic=#True#
|
D. Logic=3<4
|
30. 在 Visual Basic 中文件访问的类型有___30___。
A.
顺序、随机、二进制
|
B.
顺序、随机、字符
|
C. 顺序、十六进制、随机
|
D. 顺序、记录、字符
|
二、填空题
(请把答案填写在答题纸的相应答题号内,每个答题只占一行)
1. 执行下面程序,第一行输出的结果是___(
6
)
___,第二行输出的结果是___(
55
)
___。
Private Sub Form_Click()
Dim a As Integer,b As Integer
a=1:b=0
Do While a<=5
b=b+a*a
a=a+1
Loop
Print a
Print b
End Sub
2. 执行下面的程序,第二行输出结果是___(
BAABC
)
___,第三行输出结果是___(
CBAABC
)
___。
Private Sub Form_Click()
Dim ch As String,i As Integer
ch="ABC"
For I=1 To 3
ch=Mid(ch,2*i-1,1)+Left(ch,Len(ch))
Print ch
Next i
End Sub
3. 执行下面的程序,第一行输出结果是___(
11 12 13
)
___,第二行输出结果是___(
21 22 23
)
___(UBound函数返回指定数组维的维上界)。
Private Sub Form_Click()
Dim i As Integer, j As Integer
Dim m As Integer, n As Integer
Dim a() As Integer
Call Arry(a)
n=UBound(a,1):m=UBound(a,2)
For I=1 To m
For j=1 To n
Print A(i,j);
Next j
Print
Next I
End Sub
Private Sub Arry(b() As Integer)
Dim I As Integer,j As Integer,k As Integer
ReDim b(3,3)
For i=1 To 3
For j=1 To 3
b(i,j)=i*10+j
Next j
Next i
End Sub
4. 执行下面程序后,输出的第一行结果是___(
0 0
)
___,第二行结果是___(
0 0
)
___。
Private Sub Form_Click()
Dim a As Integer, b As Integer
a=1
b=2
Call Proc1(a,b)
Print a,b
End Sub
Private Sub Proc1(c As Integer,d As Integer)
Dim a As Integer,b As Integer
c=a+b
d=a-b
Print c,d
End Sub
若将Sub语句改为:
Private Sub Proc1(ByVal c As Integer,ByVal d As Integer)
那么执行候的第一行结果是___(
0 0
) ,
第二行结果是(
1 2
)
。
5. 执行下面的程序,结果是___(
12(2)=1100
)
___,若将A语句替换为x=64,B句替换为r=8,则结果是___(
64(8)=100
)
___。
Dim n As Integer,k As Integer,x As Integer,r As Integer
Dim a(8) As Integer
Private Sub Conv(d As Integer,r,i)
i=0
Do While d<>0
i=i+1
a(i)=d Mod r:d=d\r
Loop
End Sub
Private Sub Form_Click()
x=12 'A语句
r=2 'B语句
Print Str(x);"(";Str(r);")=";
If x=0 Then
Print 0
Else
Call Conv(x,r,n)
For k=n To 1 Step -1
Print a(k);
Next k
Print
End If
End Sub
6. 根据下面图形界面(图2)和程序,填写对象的相关属性和程序中的相关语句,“X”表示对象无该属性。
对象
|
名称(
Name
)
|
标题
(Caption)
|
窗体
|
Frm1
|
()13
|
标签
|
Labl1
|
(14)
|
文本框
|
Text1
|
X
|
命令按纽
|
(15)
|
(16)
|
Private Sub CmdEnd_Click()
___(
UnLoad me 或 End
)
___
End Sub
Private Sub Form_Click
Dim x As Integer, y As Integer,sum As Integer
x=1:y=2
Call Addition(___(
x,y,sum
)
___)
Text1.Text=sum
End Sub
Private Sub Addition(n As Integer,m As Integer,sum As Integer)
sum=n+m
End Sub
7. 下面程序是找出两个正整数a和b,使得a<b、a+b=99、a和b的最大公约数是3的倍数,并统计满足条件数对的个数。
Option Explicit
Dim a As Integer,b As Integer,n As Integer,c As Integer
Private Function Gcd(ByVal A As Integer,ByVal b As Integer)As Integer
Do
c=a Mod b:a=b:b=c
Loop ___(
Until c=0或While c<>0
)
___
Gcd=a
End Function
Private Sub Form_Click()
n=0
For a=1 to 49
b=___(
99-a
)
___
c=Gcd(a,b)
If c Mod 3=0 Then
___(
n=n+1
)
___
Print a,b,c
End If
Next a
Print n
End Sub
8. 本程序的功能是统计输入字符串中字母、数字和其他字符的个数。其中的vbCrLf为Visual Basic回车符与换行符。
对象
|
名称(
Name
)
|
标题
(Caption)
|
正文(
Text
)
|
文本框
1
|
TxtInput
|
X
|
空
|
文本框
2
|
TxtOutput
|
X
|
空
|
命令按纽
1
|
Cmdsta
|
统计
|
X
|
命令按纽
2
|
CmdExit
|
结束
|
X
|
Private Sub CmdExit_Click()
UnLoad Me
End Sub
Private Sub CmdSta_Click()
Dim i As Integer,n1 As Integer,n2 As Integer,n3 As Integer
Dim s As String
For i=1 To Len(TxtInput.Text)
Select Case___(
Mid(TxtInput.Text,i,1)
)
Case "A" To "Z","a" To "z"
n1=n1+1
Case ___(
"0" To "9"
)
___
n2=n2+1
___(
Case Else
)
___
n3=n3+1
End Select
Next i
s="字母个数:"&Str(n1)&vbCrLf
s=s&"数字个数:"&Str(n2)&vbCrLf
s=s&"其他字符个数:"&Str(n3)
___(
TxtOutput.Text=s
)
___
End Sub
图3的窗体上,文本框对象txtInput的MultiLine属性取值是(
True
)
。
9. 本程序的功能是在二维数组中查找鞍点元素,即该元素在所在行中为最大,且在所在列中为最小。在一个数组中可能存在,也可能不存在这样的元素。数组各元素的值从文件data.txt中读取。
Private Sub Form_Click()
Dim a(3,3) As Integer,i As Integer,j As Integer
Dim maxvr As Integer,col As Integer,flg As Integer
Open "data.txt" For Input As #1
For i=1 To 3
For j=1 To 3
Input #1,a(i,j)
Print a(i,j);
Next j
Print
Next i
For i=1 To 3
maxvr=___(
a(i,1)
)
___
col=1
For j=2 To 3
If maxvr<a(i,j)Then
maxvr=(
a(i,j)
)
col=j
End If
Next j
For j=1 To 3
If maxvr>a(j,col) Then(
Exit For
)
Next j
If j>3 Then
Print "a(";i;",";col;")=";a(i,col)
flg=1
End If
If___(
flg=0
)
___Then Print "鞍点元素不存在"
Next i
End Sub
posted on 2006-10-14 14:33
木子李 阅读(393)
评论(0) 编辑 收藏 引用 网摘 所属分类:
Visual Basic 课堂