第二部分 Visual Basic 程序设计
一、选择题
(用答题卡答题,答案依次填在21-30答题号内)
21. 能被对象所识别的动作与对象可执行的活动分别称为对象的___21___。
A. 方法、事件
|
B. 事件、方法
|
C. 事件、属性
|
D. 过程、方法
|
22. 在过程中可以用___22___语句定义变量。
A. Dim、Private
|
B. Dim、Static
|
C. Dim、Public
|
D. Dim、Static、Private
|
23.用窗体的__23___属性来设置窗体的标题。
A. Style
|
B. Text
|
C. Captain
|
D. Name
|
24. 若在应用程序中用“Private Sub Sub1(X As Integer, Y As Single)”定义了子程序Sub1,调用程序中的变量I,J均为Integer型,则正确调用子程序Sub1的Call语句是___24___。
①Call Sub1(I,J)
|
②Call Sub1(3.1415,I)
|
③ Call Sub1(3.14,234)
|
④Call Sub1("245","231.5")
|
25. 下面表达式的值为真的是___25___。
A. Mid("Visual Basic",1,12)=Right("Programming Language Visual Basic",12)
B. "ABCRG">"abcde"
C. Int(134.69)>=Cint(134.69)
D. 78.9/32.77<=97.5/43.97 And -45.4>-4.98
26. 以下有关对象属性的说法中正确的是___26___。
A. 对象所有的属性都罗列在属性窗口列表中
B. 不同对象不可能有同名属性
C. 不同对象的同名属性取值一定相同
D. 对象的某些属性既可以在实行窗口中设置,也可以通过程序代码设置或改变
27. 代数表达式
对应的Visual Basic表达式式___27___。
A. Log(Abs((Exp(3.14159)+Sin(x)^3)/(x+y)))
B. Ln(Abs((Exp(3.14159)+Sin(x)^3)/(x+y)))
C. Log(Abs(Exp(3.14159)+Sin(x)^3)/(x+y))
D. Log│Abs(Exp(3.14159)+Sin(x)^3)/(x+y)│
28. 下面能够正确打开文件的一组语句是___28___。
A. Open "data1" For Output As #5 , Open "data1" For Input As #5
B. Open "data1" For Output As #5 , Open "data1" For Input As #6
C. Open "data1" For Input As #5 , Open "data1" For Input As #6
D. Open "data1" For Input As #5 , Open "data1" For Random As #6
29. 若在一个应用程序窗体上,依次创建了CommandButton、TextBox、Label等控件,则运行该程序显示窗体时,___29___会首先获得焦点。
A. 窗体
|
B. CommandButton
|
C. Label
|
D.TextBox
|
30. 在窗体模块的通用声明处用下面的语句声明变量、数组,正确语句有___30___个。
① Public A(5) As Integer
|
② Public N As Integer
|
③ Public St As String*10
|
④ Public b() As Integer
|
31. 单选按纽(OptionButton)用于一组互斥的选项中。若一个应用程序包含多组互斥条件,可在不同的___31___中安排适当的单选按纽,即可实现。
A. 框架控件(Frame)或图象控件(Image)
B. 组合框(ComboBox)或 图象控件(Image)
C. 组合框(ComboBox)或图片框(PictureBox)
D. 框架控件(Frame)或图片框(PictureBox)
32. 下面的语句或方法,错误的有___32___。(其中m和n都 为Integer型变量)
① Dim Array(m,n) As Integer
|
② n=32764+6
|
③ Print A=A+B;A+B
|
④ ChDriver"C:"
|
33. 下面说法不正确的是___33___。
A. VB允许将一个数字字符串赋值给一个数值型的变量
B. VB允许使用未经说明的变量,其类型都是Variant类型
C. Cls只清除运行时在窗体或图形框中显示的文本或图形
D. 事件过程既可建在窗体模块中,也可建在标准模块中
34. 运行程序产生死循环时,按___34___键可以终止程序运行。
A. Ctrl+C
|
B. Ctrl+Z
|
C. Ctrl+Break
|
D. 单击“停止运行”按纽
|
35. 执行下面的程序,单击窗体后在窗体上显示的结果是___35___。
Private Sub Form_Click()
Dim Str1 As String, Str2 As String,I As Integer
Str1="ab"
For I=Len(Str1) To 1 Step -1
item=LCase(Mid(entry,k,1))&k
Str1=Str1&Chr(Asc(Mid(Str1,I,1))+I)
Next I
Print Str1
End Sub
A. abce
|
B. abcd
|
C. abdb
|
D. abfd
|
二、填空题
(请把答案填写在答题纸的相应答题号内,每个答题只占一行)
1. 根据下图写出InputBox函数中的参数
InputBox(___(
"请输入半径"
)
___,___(
"输入对话框"
)
___,___(
10
)
___)
2. 执行下面的程序,第一行输出结果是___(
11
)
___,第二行输出结果是___(
-20
)
___。
OPtion Explicit
Private Sub Form_Click()
Dim I As Integer,J As Integer
J=10
For I=1 To J
I=I+1
J=J-I
Next I
Print I
Print J
End Sub
3. 执行下面的程序,第一行输出结果是___(
4 8
)
___,第三行输出结果是___(
12 86
)
___。
Private Sub Form_Click()
Dim A As Integer, I As Integer
A=2
For I=1 To 9
Call Sub1(I,A)
Print I,A
Next I
End Sub
Private Sub Sub1(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
NEXT I
Y=Y+N
End Sub
4. 执行下面程序后,A(1,3)的值是___(
4
)
___,A(2,2)的值是___(
5
)
___,A(3,1)的值是___(
6
)
___。
Option Explicit
Private Sub Form_Click()
Dim A(3,3) As Integer, I As Integer
Dim J As Integer, K As Integer,N As Integer
For K=1 To 5
If K<=3 Then
For I=1 To K
N=N+1
A(I,K-I+1)=N
Next I
Else
For I=1 To 6-K
N=N+1
A(K-3+I,4-I)=N
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. 执行下面的程序,第一行输出结果是___(
3 5
)
___,第二行输出结果是___(
8 16
)
___。
Option Explicit
Private Sub Form_Click()
Dim I As Integer,J As Integer
I=1:j=2
Call Test(I,J)
Print I,J
Call Test(I,J)
Print I,J
End Sub
Private Sub Test(M As Integer,N As Integer)
Static Sta As Integer
M=M+N
N=N+M+Sta
Sta=Sta+M
End Sub
6. 下面程序的功能是统计当前盘当前文件夹中的顺序文件dta.txt中共有多少个英文单词,约定连续出现的英文字母定义为一个单词。
Option Explicit
Private Sub Form_Click()
Dim Char() As String, St As String,Tem As String
Dim Idx As Integer,Js As Long,Flen As long
Dim F As Boolean,W As String*1
___(
Open "data.txt" For Input As #10
)
___
Flen=Lof(10)
St=Input(Flen,#10)
Js=1
Do While Js<=Flen
W=Mid(St,Js,1)
If (
W>="A" And W<="Z" Or W>="a" And W<="z"
)
Then
Tem=Tem+W
F=True
Elseif F=True Then
Idx=Idx+1
ReDim Preserve Char(Idx)
Char(Idx)=Tem
Tem=___(
""
)
___
F=False
End If
___(
js=js+1
)
___
Loop
Print "共有";Idx;"个单词"
For Js=1 To Idx
Print Char(Js)
Next Js
End Sub
7. 下面程序的功能是当循环次数一定时,统计生成互不相同的1——100之间的随机整数的个数。
Option Explicit
Option Base 1
Private Sub Form_Click()
Dim Data() As Integer, I As Integer,Idx As Integer
Dim N As Integer, Temp As Integer,Flg As Boolean
N=InputBox("输入循环次数")
ReDim Data(1)
Idx=1
Data(1)=Int(100*Rnd(1))+1
For I=1 To N
Temp=Int(100*Rnd(1))+1
_(
Flg=False
)
___
Call COmpare(Data,Temp,Flg)
If Flg=True Then
Idx=Idx+1
(
ReDim PreServe Data(Idx)
)
___
Data(Idx)=Temp
End If
Next I
Print "生成";Idx;"个不相同的整数"
For I=1 To Idx
Print Data(I)
If I Mod 10=0 Then Print
Next I
End Sub
Private Sub Compare(Arry() As Integer,K As Integer,Logic As Boolean)
Dim Ub As Integer, I As Integer
(
Ub=UBound(arry)
)
___
For I=1 To Ub
If Arry(I)=K Then
___(
Exit Sub
)
___
End If
Next I
Logic=True
End Sub
8. 下面程序的功能是验证回文数猜想。任取一自然数,将其倒过来,并将这两个数相加,然后把这个和数倒过来,与原来的和数相加……重复这个过程有限次,必将得到一个回文数。
所谓回文数指左右数字完全对称的自然数,例如,121,12321,898,111均是回文数。根据猜想,假如取一自然数68——68+86=154——154+451=605——605+506=1111,经过三步运算就得到回文数1111。
Option Explicit
Private Sub Form_Click()
Dim S As Long,D As Long,Sum As Long
Dim Flg As Boolean
S=InputBox("输入一个正整数")
Do
D=Fun(S)
Sum =S+D
Print Sum;"=";S;"+";D
Call Comp(Sum,Flg)
S=___(
Sum
)
___
Loop Until Flg
Print Sum;"是回文数"
End Sub
Private Function Fun(N As Long)As Long
Dim Char As String,J As Long
Dim I As Integer,Slen As Integer
Char=Ltrim(Str(N))
___(
Slen=Len(Char)
)
___
J=1
For I=1 To Slen
Fun=Fun+Val(Mid(Char,I,1))*J
___(
J=J*10或J=10^i
)
___
Next I
End Function
Private Sub Comp(N As Long,F As Boolean)
Dim Ch As String,S As Integer,I As Integer
S=Len(Ltrim(Str(N)))
F=False
Ch=Ltrim(Str(N))
For I=1 To___(
S
)
___
If Mid(Ch,I,1)<>Mid(CH,S+1-I,1)Then Exit Sub
Next I
___(
F=True
)
___
End Sub
posted on 2006-10-14 14:59
木子李 阅读(557)
评论(0) 编辑 收藏 引用 网摘 所属分类:
Visual Basic 课堂