posts - 70,comments - 80,trackbacks - 0

第二部分 Visual Basic 程序设计

一、选择题 (用答题卡答题,答案依次填在21-30答题号内)

21. Visual Basic 是用予开发___21___环境下的应用程序的工具。

A. DOS

B. Windows

C. DOS和Windows

D. UNIX

22. Visual Basic 程序设计时常用的Print、Cls属于___22___。

A. 属性

B. 对象

C. 方法

D. 事件

23.一个可执行的 Visual Basic 的应用程序至少要包括一个__23___。

A. 标准模块

B. 类模块

C. 窗体模块

D. 辅助模块

24. 在Visual Basic 中最基本的对象是___24___,它是应用程序的基石。

A. 标签

B. 窗体

C. 文本框

D. 命令按纽

25. 数学表达式 o_00-1.JPG 对应的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___。

A. -

B. +

C. &

D. #

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”表示对象无该属性。

o_00-2.JPG

对象

名称( 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()o_00-3.JPG

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 课堂

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