第二部分 Visual Basic 程序设计
一、选择题
(用答题卡答题,答案依次填在21-30答题号内)
21. 在 Visual Basic 中最基本的对象是___21___,它是应用程序的基石,也是其他控件的容器。
A. 文本框
|
B. 命令按纽
|
C. 窗体
|
D. 标签
|
22. 应用程序窗体的名称属性为Frm1,窗体上有一个命令按纽,其名称属性为Cmd1,窗体和命令按纽的Click 事件过程名分别为___22___。
A.Form_Click() Command1_Click()
|
B. Frm1_Click() Command1_Click()
|
C. Form_Click() Cmd1_Click()
|
D. Frm1_Click() Cmd1_Click()
|
23. 多窗体程序由多个窗体组成。在缺省情况下,VB在执行应用程序时,总是把___23___指定为启动窗口。
A.
不包含任何控件的窗口
|
B.
设计时的第一个窗体
|
C.
命名为
Frm1
的窗体
|
D.
包含控件最多的窗体
|
24. 使用___24___方法可将新的列表项添加到列表框中。
A. Print
|
B. Additem
|
C. Clear
|
D. RemoveItem
|
25. 若希望在离开某过程后,还能保存该过程中局部变量的值,则应使用___25___关键字在该过程中定义局部变量。
A. Dim
|
B. Private
|
C. Public
|
D. Static
|
26. 下列表达式中,值为True的是___26___。
A. Ucase("ABCD">="abcd")
|
B. 14/2\3<10 Mod 4
|
C. Mid("ABCD",2,2)>Left("ABCD",2)
|
D. Not(Spr(4)-3>=-2)
|
27. 下列___27___说法是不正确的。
A. 当程序正常结束时,所有没用Close语句关闭的文件都会自动关闭
B. 在关闭文件或程序结束之前,可以不用Unlock语句对已锁定的记录解锁
C. 可以用不同的文件号同时打开一个随机文件
D. 用Output模式打开一个顺序文件,即使不对它进行写操作,原来内容也被清除
28. 代数表达式
,对应Visual Basic 表达式是___28___。
A. Sqr((x+Log(x))/(a+b))+Exp(-2*t)+Sin((x+y)/2)
B. Sqr(x+Log(x)/(a+b))+Exp(-2*t)+Sin((x+y)/2)
C. Sqr((x+Ln(x))/(a+b))+Exp(-2*t)+Sin((x+y)/2)
D. Sqr((x+Log(x))/(a+b))+Exp(-2*t)+Sin(x+y/2)
29. 在程序中可以通过复选框和单选按纽的___29___属性值来判断它们的当前状态。
A. Caption
|
B. Value
|
C. Checked
|
D. Selected
|
30. 在使用菜单编辑器创建菜单时,可在菜单名称中某字母前插入___30___符号,那么在运行程序时按Alt键和该字母键就可以打开该命令菜单。
31. 在一个多窗口程序中,可以在标准模块或某个窗体模块的通用声明处,分别用___31___语句定义一个在所有窗体模块都可以引用的变量IntA。
A. Private IntA As Integer, Public IntA As Integer
B. Public IntA As Integer
,
Private IntA As Intege
C. Public IntA As Integer
,
Public IntA As Intege
D. Private IntA As Integer, Private IntA As Integer
32. 在应用程序中用"Private Function Fun( X As Integer,Y As Integer)"定义了函数Fun.调用函数Fun的过程中的变量I,J均定义为Integer型,能正确引用函数Fun的是___32___。
①Fun(I,J)
|
②Call Fun(I,3.65)
|
③Fun(3.14,234)
|
④Fun("245","231.5")
|
A. ①③
|
B. ②③④
|
C. ①②③
|
D. ①②③④
|
33. 若在应用程序的标准模块、窗体模块和过程Sub1的说明部分,分别用"Public G As Intege"、"Private G As Intege"和"Dim G As Intege"语句说明了三个同名变量G。如果在过程Sub1中使用赋值语句“G=3596”,则该语句给在___33___说明部分定义的变量G赋值。
A.
标准模块
|
B.
过程
Sub1
|
C.
窗体模块
|
D.
标准模块、窗体模块和过程
Sub1
|
34. 有程序代码:Text1.Text="Visual Basic"
其中的Text1、Text和"Visual Basic"分别代表___34___。
A.
对象、值、属性
|
B.
对象、方法、属性
|
C.
对象、属性、值
|
D.
属性、对象、值
|
35. 执行下面的程序,单击窗体后在窗体上显示的结果是___35___。
Private Sub Form_Click()
Dim Str1 As String, Str2 As String
Dim Str3 As String, I As String
Str1="e"
For I=1 To 2
Str2=UCase(Str1)
Str1=Str2&Str1
Str3=Str3&Str1
Str1=Chr(Asc(Str1)+I)
Next I
Print Str3
End Sub
A. EeFF
|
B. eEFF
|
C. EEFF
|
D. eeFF
|
二、填空题
(请把答案填写在答题纸的相应答题号内,每个答题只占一行)
1. 根据题中给出的窗体,填写下表中的相关内容,"X"表示对象无该属性
对象
|
名称
(Name)
|
标题(
Caption
)
|
口令字符(
Passwordchar
)
|
窗体
|
Form1
|
(
验证口令
)
|
X
|
标签
|
Label1
|
(
请输入口令
)
|
X
|
文本框
|
Text1
|
X
|
(
*
)
|
命令按纽
|
Command1
|
验证
|
X
|
2. 执行下面的程序,第一行输出结果是___(
3
)
___,第二行输出结果是___(
-18
)
___。
OPtion Explicit
Private Sub Form_Click()
Dim M As Integer,N As Integer,K As Integer
N=-3
For M=6 To 1 Step N
M=M+1
N=N-M
K=K+1
Next M
Print K
Print N
End Sub
3. 执行下面的程序,第一行输出结果是___(
6 26
)
___,第三行输出结果是___(
-2 98
)
___。
Private Sub Form_Click()
Dim N As Integer, I As Integer
N=2
For I=9 To 1 Step -1
Call Sub2(I,N)
Print I,N
Next I
End Sub
Private Sub Sub2(X As Integer,Y As Integer)
Static N As Integer
Dim I As Integer
For I=3 To 1 Step -1
N=N+X
X=X-1
End Sub
4. 执行下面程序后,A(1,3)的值是___(
1
)
___,A(2,2)的值是___(
5
)
___,A(3,1)的值是___(
9
)
___。
Option Explicit
Private Sub Form_Click()
Dim A(3,3) As Integer, I As Integer
Dim J As Integer, K As Inteher,N As Integer
N=9
For K=5 To 1 Step -1
If K>=3 Then
For I=1 To 6-K
A(K-3+I,I)=N
N=N-1
Next I
Else
For I=1 To K
A(K-I+1,3-I+1)=N
N=N-1
Next I
End If
Next K
For K=1 To 3
For I =1 To 3
Print A(K,I);
Next I
Print
Next K
End Sub
5. 执行下面的程序,第一行输出结果是___(
23
)
___,第二行输出结果是___(
47
)
___。
Option Explicit
Private Sub Form_Click()
Dim A As Integer
A=2
Call Sub1(A)
End Sub
Private Sub Sub1(X As Integer)
X=X*2+1
If X<10 Then
Call Sub1(A)
End If
X=X*2+1
Print X
End Sub
6. 本程序用于验证任何一个大于6的偶数均可表示为两个素数之和。例如,14=3+11、14=7+7。待验证的偶数从文本框TxtInput输入,所有满足上述条件的素数对都显示在窗体上。
Option Explicit
Private Sub Form_Click()
Dim N As Integer, I As Integer,J As Integer
N=___(
Val(TxtInput)或Val(TxtInput.Text)
)
___
For I=3 To N-2 Step 2
If ___(
Prime(I)
)
___Then
If N-I>=I And Prime(N-1) Then
Print N;"="; I;"+"; N-1
End If
End If
Next I
End Sub
Private Function Prime(N As Integer)As Boolean
Dim I As Integer, J As Integer,Flg As Boolean
Prime=False
For I=2 To Sqr(N)
If N MOD I =0 Then ___(
Exit For 或 End Function
)
___
Next I
If ___(
I>Sqr(N)
)
___Then Prime=True
End Function
7. 下面程序是把给定的16进制正整数转换为10进制数。
提示:一个16进制正整数转换为10进制数的方法是直接用下面的幂级数展开运算而得。
(
a
n
a
n-1
…
a
1
)
16
=a
n
*16
n-1
+a
n-1
*16
n-2
+
…
+a
1
*16
0
Option Explicit
Private Sub Form_Click()
Dim St As Integer, Dem As Long
St=InputBox("输入一个十六进制数")
Dem=Convert(St)
Print St; ">="; Dem
End Sub
Private Function Convert(S As String)As Long
Dim N As Integer, I As Integer,Substring As String*1
Dim P As long, K As Long,Asc1 As Integer
N=___(
Len(s)
)
___
P=16^N
For I=1 To N
P=p/16
Substring=___(
Mid(S,I,1)
)
___
Select Case Substring
Case "0" To "9"
K=K+P*Val(Substring)
Case___(
"A" To "F"或 Else
)
___
Asc1=Asc(Substring)-Asc("A")+10
___(
K=K+P*Asc1
)
___
End Select
Next I
___(
Convert=
K)
___
End Function
8. 下面程序得功能是将无序数组中相同得数只保留一个,其余得删除,并输出经过删除后的数组元素,删除相同数是通过将该数组元素后面的元素在数组内依次前移替换前一个元素的值实现的。数组各元素的值从文件data.txt中读取。
Option Explict
Option Base 1
Private Sub Form_Click()
Dim I As Integer,J As Integer,K As Integer
Dim A()As Integer,T As Integer,M As Integer
Open "c:\my documents\2000test\data.txt" For Input As #1
Do While___(
Not Eof(1)
)
__
I=I+1
Redim Preserve A(I)
Input #1,A(I)
Loop
M=1:T=___(
I 或 Ubound(A)
)
__
Do While M<T
I=M+1
Do While I<=T
If A(I)=A(M)Then
For J=1 To ___(
T-1
)
__
A(J)=A(J+1)
Next J
T=T-1
Else
I=___(
I+1
)
__
End If
Loop
M=M+1
Loop
Redim Preserve A(T)
For I=1 To T
Print A(I);
Next I
Print
End Sub
posted on 2006-10-14 15:10
木子李 阅读(411)
评论(0) 编辑 收藏 引用 网摘 所属分类:
Visual Basic 课堂