posts - 70,comments - 80,trackbacks - 0

第二部分 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")

 

A. ①③

B. ③④

C. ①②③

D. 无

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. 代数表达式o_00-4.JPG 对应的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

 

A. 2

B. 3

C. 4

D. 1

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:"

 

A. 1

B. 2

C. 3

D. 4

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函数中的参数

o_00-5.JPG
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 课堂

只有注册用户登录后才能发表评论。