posts - 70,comments - 80,trackbacks - 0

1999 年(秋) 二级 VB 笔试 答案

第二部分 Visual Basic 程序设计

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

21. Visual Basic 是一种面向___21___的程序设计语言。

A.过程

B.用户

C.方法

D.对象

22. 一只白色的足球被踢进球门,则白色、足球、踢、进球门是___22___。

A. 属性、对象、方法、事件

B. 属性、对象、事件、方法

C.对象、属性、方法、事件

D.对象、属性、事件、方法

23. 如果在窗体上有命令按纽OK,在代码编辑窗口有与之对应的CmdOK_Click()事件,则命令按纽控件的名称属性和Captin属性分别为___23___。

A.OK、Cmd

B. Cmd、OK

C. CmdOK、OK

D. OK、CmdOK

24. 窗体Form1的名称属性是frm,它的Load事件过程名是___24___。

A. Form_Load

B. Form1_Load

C. frm_Load

D. Me_Load

25. 在语句Public Sub Sort(i As Integer)中的 i 是一个按___25___传递的参数。

A. 地址

B. 值

C. 变量

D. 常量

26. x+y小于10且x-y大于0的逻辑表达式是___26___。

A. x+y<10 or x-y>0

B. (x+y<10):(x-y)>0

C. x+y<10 And x-y>0

D. x+y<10.And.x-y>0

27. 在Form_Click事件中执行如下语句的正确结果是___27___。

Print Format(1236.54,"+ ##,##0.0%")

A. 123456

B. +123,654.0%

C. +123,6.54%

D. +123,654

28. 代数表达式 o_99-1.JPG ,对应Visual Basi c 表达式是___28___。

A. E^(x+y)+|x+y|^1/2/2π+1

B. Exp(x+y)+Sqr(Abs(x+y))/2*3.14159+1

C. (Exp(x+y)+Sqr(Abs(x+y)))/(2*3.14159+1)

D.( Exp(x+y)+Sqr(Abs(x+y)))/2*π+1

29. 要对顺序文件进行写操作,下列打开文件语句中正确的是___29___。

A. Open "file1.txt" For Output As #1

B. Open "file1.txt" For Input As #1

C. Open "file1.txt" For Random As #1

D. Open "file1.txt" For Binary As #1

30. 有变量定义语句Dim a,a As Integer, 变量 a 的类型和初值是___30___。

A. Integer,0

B. Variant,空值

C. String,""

D. Long,0.0

二、填空题 (请把答案填写在答题纸的相应答题号内,每个答题只占一行)

1. 运行下面的程序,单击窗体后在窗体上显示的第一行结果是___ 15 ___;第二行结果是___ 13 __;第三行结果是___ 17 _。

Private Sub Form_click()

Dim i As Integer, s as Integer

For i=1 To 10

s=s+i

If s>10 Then

Print s

s=0

End If

Next i

End Sub

2. 运行下面的程序,单击窗体后在窗体上显示的内容是___ 10 220 ___;若将程序中的A语句与B语句的位置互换,再次执行程序,单击窗体后在窗体上显示的内容是___ 10 120 ___。

Private Sub Form_Click()

Dim a As Integer,b As Integer

a=0: b=0

Do While a<=8

a=a+2 'A语句

b=b+a*a 'B语句

Loop

Print a,b

End Sub

3.运行下面的程序,单击窗体后在窗体上显示的第一行结果是___ 3 ___;第二行结果是___ 2 _.

Private Function Digit(n As Integer,k As Integer) As Integer

digit=0

Do While k>0

Digit=n Mod 10

n=n\10

k=k-1

Loop

End Function

Private Sub Form_Click()

Print Digit(1234,2)

Print Digit(1234,3)

End Sub

4.运行下面的程序,单击窗体后在窗体上显示的第一行结果是___ Aa ___;第三行结果是___ AaBbCe _.

Private Sub Form_Click()

Dim mst As String,mst1 As String,mst2 As String

Dim i As Integer

mst1="CeBbAa"

For i=Len(mst1) to 1 Step -2

mst2=Mid(mst1,i-1,2)

mst=mst & mst2

Print mst

Next i

End Sub

5. 运行下面的程序,单击窗体后在窗体上显示的第一行结果是___ 1 ___;第三行结果是___ 3 3 3 _.

Private Sub Test(x As Integer)

Dim i As Integer

If x<>0 Then

Call Test(x-1)

For i=1 To x

Print x;

Next i

Print

End If

End Sub

Private Sub Form_Click()

Test 3

End Sub

6. 运行下面的程序,单击窗体后在窗体上显示的第二行结果是___ x2=0 y2=1 ___;第四行结果是___ x4=1 y4=3 _.

Dim y As Integer

Private Sub Form_Click()

Dim x As Integer

x=1:y=1

Print "x1=";x, "y1=";y

Test

Print "x4=";x, "y4=";y

End Sub

Private Sub Test()

Dim x As Integer

Print "x2=";x, "y2=";y

x=2:y=3

Print "x3=";x, "y3=";y

End Sub

7. 图1是应用程序的窗体,要求用户选中复选框 ChkBold 后,文本框 TxtDisplay 中的文字以粗体显示,选中复选框 ChkItalic 后,文本框 TxtDisplay 中的文字以斜体显示,单击关闭按纽 CmdClose结束应用持续运行。

Private Sub ChkBold_Click()o_99-2.JPG

If___ ChkBold.Value=1 _Then

TxtDisplay.FontBold=True

Else

TxtDisplay.FontBold=___ False _

End If

End Sub

Private Sub ChkItalic_Click()

If___ ChkItalic=0 _Then

TxtDisplay.FontItalic=False

Else

TxtDisplay.FontItalic=True

End If

End Sub

Private Sub CmdClose_Click()

___ Unload _Me

End Sub

8. 验证下列命题:设n是一个s1是n的各位数字之和,s2是2n的各位数字之和。若s1=s2,则n是9的倍数。根据图2和程序填写对象的相关属性,"X"代表该对象无属性。

o_99-3.JPG

对象

名称( Name

标题( Caption

正文( Text

窗体

Frm1

()18

X

标签

LblInput

()19

X

文本框

TxtInput

X

判断按纽

(20)

验证

X

退出按纽

CmdExit

退出

X

Private Sub CmdVerify_Click()

Dim n As Integer,s1 As Integer,sa As Integer

n=Val__ TxtInput _)

s1=Sm(n)

s2=Sm(2*n)

If ___ s1=s2 and n Mod 9=0 ___Then

MsgBox "该命题成立"

Else

MsgBox "该命题不成立"

End If

TxtInput.Text=""

TxtInput.SetFocus

End Sub

Private Sub CmdExit_Click()

Unload Me

End Sub

 

Private Function Sm(___ ByVal n As Integer ___) As Integer

Dim sm1 as integer

sm1=0

Do While n<>0

sm1=sm1+n Mod 10

___ n=n\10 ___

Loop

Sm=sm1

End Function

9. 本程序从键盘读入n个整数 X 1 ,X2,…,Xn,若这些整数满足如下条件之一:

(1) X 1 <X2<…<Xn;

(2) X 1 <X2<…<Xj且 Xj>Xj+1>Xj+2>…>Xn,其中 1<j<n;

(3) X 1 >X2>…>Xn.

则输出“符合条件!”,否则,输出“不符合条件!”。

Private Sub Form_Click()
Dim a() As Integer

Dim i As Integer, j As Integer, n As Integer

n=InputBox("输入数据个数")

___ ReDim a(n) ___

For i=1 To n

a(i) = InputBox("输入数据")

Next i

For i=1 To n-1

If a(i) >a(i+1)Then Exit For

Next i

For j=i To n-1

If ___ a(j)<a(j+1) ___Then Exit For

Next j

If ___ j=n __Then

Print "符合条件!"

Else

Print "不符合条件!"

End If

End Sub

10. 在C盘根目录下有一数据文件(cj.dat),内容如下:

9901

56

78

9902

97

89

9903

67

75

9904

78

76

9905

100

90

第一列数据表示学号,第二列数据表示数学成绩,第三列数据表示语文成绩,要求根据学号计算学生的总分,并按总分从高到低次序在窗体上输出。现有程序如下:

Dim a(5,4) As Integer

Private Sub Form_Click()

Dim i As Integer, j As Integer

Open "c:\cj.dat" For Input As #1

For i=1 To 5

For j=1 To 3

InPut #1, a(i,j) __

Next j

a(i,4) __=a(i,2) +a(i,3)

Next i

Sort

For i=1 To 5

For j=1 To 4

Print a(i,j),

Next j

Print

Next i

Close #1

End Sub

Private Sub Sort()

Dim i As Integer, j As Integer, k As Integer, temp As Integer

For i=1 To 4

For j=i+1 To 5

If a(i,4) <a(j,4)Then

For k=1 To ___ 4 __

temp=a(i,k)

a(i,k)=a(j,k)

a(j,k)=temp

Next k

End If

Next j

Next i

End Sub

posted on 2006-10-14 14:28 木子李 阅读(419) 评论(0)  编辑 收藏 引用 网摘 所属分类: Visual Basic 课堂

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