上海计算机二级VB试题

  • 格式:doc
  • 大小:98.50 KB
  • 文档页数:7

2010年上海市高等学校计算机等级考试试卷

二级 Visual Basic程序设计

(考试时间120分钟----A卷)

一、单选题(共15分,每题1分)

1. 是合法的变量名。

【A】

A. X_yz B. 123abc

C.Integer D. XY

2.Rnd函数不可能的返回值是 。 【A】

A.1

B.0

C.0.0001

D.0.9999

3. 要将一个值传递给子过程A的m参数,并通过n参数返回一个结果,子过程定义中正确的是 。 【B】

A. Sub A(ByVal m!, ByVal n!)

B. Sub A(ByVal m!, ByRef n!)

C. Sub A(ByVal m!, ByRef (n+1)!)

D. Sub A(ByVal m+1, ByVal n+2)

4.能在窗体Form1的标题栏中显示“VisualBasic窗体”的语句是____________。【C】

A. ="VisualBasic窗体" B.Form1. Title="VisualBasic窗体"

C. Form1.Caption="VisualBasic窗体" D.Form1.Text="VisualBasic窗体"

5.在用通用对话框控件建立打开文件对话框时,在文件列表框中只允许显示jpg图像类型的文件,则Filter属性的正确设置是 。 【D】

A.Picture(.jpg)||*.jpg

B.Picture(.jpg)(*.jpg)

C.图片文件|(.jpg)

D.图片(.jpg)|*.jpg

6. 关于多重窗体程序的叙述中,错误的是____________。 【C】

A.用Hide方法隐藏窗体,用Show方法显示窗体

B. 可以根据需要指定启动窗体

C. 若各窗体都建立了一个文本框控件(TextBox),它们的Name不能相同

D. 若各窗体都有菜单,则各菜单是彼此独立的

7. 按照结构化程序设计的要求, 语句是非结构化程序设计语句。 【C】

A.If 语句 B.For 语句

C.GoTo语句 D.Select Case语句

8.同一个窗体中,各个对象的____________属性值是不同的,它用于唯一识别对象。

A. Location B. Name 【B】

C.Size Text D. Select Case语句 9.有一个名为Menu1菜单项,为了在运行时使该菜单项失效(变灰),应使用的语句为____________。

A. Menu1.Enabled=False B. Menu1.Enabled=True

C. Menu1.Visible=True D. Menu1.Visible=False

【A】

10.要暂时关闭定时器,应把定时器的_________属性设置为False。

A. Visible B. Timer

C. Enabled D. Interval 【C】

11.在VB中,属于方法的是 。 【A】

A.SetFocus

B.LostFocus

C.KeyPress

D.SelectedText

12.使用Dim A(100) As Single 语句声明了数组A,A数组的下标取值范围是_________。【B】

A. 0~99 B. 0~100

C. 1~99 D. 1~100

13.列表框List1中已有5个列表项,要删除列表框List1最后一项, __________语句是正确的。 【A】

A.List1.RemoveItem List1.ListCount - 1

B.List1.RemoveItem 5

C.List1. Remove List1.ListCount - 1

D.List1.Remove 5

14.要向D盘根目录下的名为data.txt的顺序文件中添加内容,应先使用_________语句打开文件。 【B】

A. Open "data.txt" For Append As #1

B. Open "D:\data.txt" For Append As #1

C. Open "data.txt" For Output As #1

D. Open "D:\data.txt" For Output As #1

15.要使文本框输入的字符均显示为*,则设置___________。 【D】

A.Visible属性为*

属性为*

C.Text属性为*

D.PassWordChar属性为*

二、程序调试题(共20分, 每错2.5分,第1题有2处错,第2题3处错,第3题3处错)

启动工程文件C:\ks\cxts1.vbp,程序存在8处错误,请调试改正,并按原文件名和位置保存。正确结果见样例cxts1.exe。 改错方法:不能修改或重新定义变量,不允许增加或删除语句,但可以修改语句,所修改的语句必须在句尾加上注释标记 ' ***********。

调试改错题1, 程序中有2个错误。

以下程序的功能是在文本框中输入百分制成绩,单击按钮后,在标签上显示成绩等第,分优秀、合格和不合格,规定:成绩≥80为"优秀";60≤成绩<80为"合格";成绩<60为"不合格"。

Private Sub Command1_Click()

Dim d%, s$

d = Val(Text1.Text)\10

Select Case d

Case d>=8

s = "优秀"

Case 6 To 7

s = "合格"

Case Else

s = "不合格"

End Select

Label1.Text = "成绩等第为:" + s

End Sub

正确答案:Case Is >= 8 或 8 To 10 或8,9,10

Label1.Caption 或 Label1

调试改错题2, 程序中有3个错误。

单击“调试改错题2”按钮,在Picture1显示有规律数字字符和字母字符图,见样例。

Private Sub Command2_Click()

Dim ch$,i%,j%

Picture1.Cls

For i = 1 To 5

Ch = Trim(i)

For j = 1 To 5 ' 输出数字字符

Picture1.Print Ch;

Next j

Picture1.Print Space(3); For j = i To 5 ' 输出字母字符

Picture1.Print Chr(65);

Next j

Picture1.Print

Next j

End Sub

正确答案:For j = 1 To i

Picture1.Print Chr(i+64);

Next i

调试改错题3, 程序中有3个错误。

单击“调试改错题3”按钮,自动产生两个 5~999 之间的随机正整数a,b,在Text2显示较小的数a,Text3显示较大的数b。计算a到b之间的偶数和,结果显示在Label3。

Private Sub Command2_Click()

Dim a%, b%, c%, i%

a = Int(Rnd * 995 + 5)

b = Int(Rnd * 995 + 5)

If a > b Then

t = b: a = b: b = t

End If

Text1 = a

Text2 = b

s = 1

For i = a To b

If Mod(i,2)=0 Then s = s + i

Next i

Label3 = "Sum=" & s

End Sub

正确答案:t=a

S=0

i mod 2 = 0

三、程序填空题(共30分,每空2 .5分)

1.按公式2222321ns,求累加和s不超过1000的最大项数n。

要求每行显示每个n的累加和如图所示,并将全部结果保存在c:\data.txt中。

Private Sub Form_Click()

Dim n%, s$

n = 1

s =

(1)

Print " N", " S"

Do While ( (2) )

s = s + n * n

Print n, s

n=n+1 Loop

Print "累加和不超过1000的最大项数n="; n - 2 '

Open

"c:\jg.txt" For

(3) As #1

Print #1, "n="; n - 2

Close #1

End Sub

答案:(1)0 (2)s < 1000 (3)Output

2. 以下程序段的功能是:在一个字符串变量str1中查找子串变量str2中出现的个数,并显示是否找到及查找到的结果。样例为查找子串"at"出现的个数为2个。

Private Sub Form_Click()

Dim str1$, str2$, cd1%, cd2%, n%, i%

str1 = Text1.Text

str2 = Text2.Text

cd1 = Len(str1)

cd2 = Len(str2)

i = 1

n = 0

Do While i <= ____(1)_____

If Mid(str1, i, _____(2)_____) = str2 Then

n = n + 1

End If

_____(3)_____

Loop

If ____(4)_____ Then