2024年1月18日发(作者:)

国家计算机二级(VB)86

(总分100,考试时间120分钟)

选择题(每小题2分,共70分) 下列各题四个选项中,有一个是正确的,请选择正确答案。

1. 表达式x=Sqr(a^2-5)+sqr(b^2-5)的类型是( )。

A. 在Visual Basic 中的对话框分为两种类型:预定义对话框和自定义对话框

B. 自定义对话框由用户根据自己需要定义的

C. 预定义对话框是用户在设置程序代码后定义的

D. MssgBox 函数是用户的自定义对话框的函数

2. 在窗体上画一个名为Command1的命令按钮,然后编写以下程序: Private Sub

Command1_Click() Dim M(10)As Integer For k=1 To 10 M(k)=12-k Next

k x=8 Print M(2+M(x)) End Sub 运行程序,单击命令按钮,在窗体上显示的是

A. 6 B. 5

C. 7 D. 8

3. 单击窗体时,下列程序的执行结果是( )。 Private Sub Invert(By Val xstr As String,ystr As String) Dim tempstr AS String Dim I AS Integer I=Len(xstr)

Do While I>=1 tempstr=tempstr + Mid(xstr,I,1) I=I - 1 Loop

yStr=tempStr End Sub Private Sub Form_Click( ) Dim s1 As String,s2 As

String S1="abcdef" Invert S1,S2 Print S2 End Sub

A. blooean isAlive( )

B. Thread currentThread( )

C. String getName( )

D. smtic boolean interrupted( )

4. Sub过程与Function过程最根本的区别是( )。

A. 2,3 B. 3,2

C. 2,2 D. 3,3

5. 在窗体上画一个名称为Label1、标题为“VisualBasic考试”的标签,两个名称分别为Command1和Command2、标题分别为“开始”和“停止”的命令按钮,然后画一个名称为Timer1

的计时器控件,并把其Interval属性设置为500,如图所示: 编写如下程序: Private Sub

Form_Load( ) Timer1.Enabled=false End Sub Private Sub Command1 Click( )

Timer1.Enabled=True End Sub Private Sub Timer1_Timer( ) If Label1.Left<Width Then Label1.Left=label1.Left+20 Else

Label1.Left=0 End If End Sub 程序运行后单击“开始”按钮,标签在窗体中移动。 对于这个程序,以下叙述中错误的是( )。

A. 标签的移动方向为自右向左

B. 单击“停止”按钮后再单击“开始”按钮,标签从停止的位置继续移动

C. 当标签全部移出窗体后,将从窗体的另一端出现并重新移动

D. 标签按指定的时间间隔移动

6. 下列四组控件属性中,属性值的类型不相同的一组是( )。

A. Label控件的Enabled属性与TextBox控件的Enabled属性

B. OptionButton控件的Value属性与CheckBox控件的Value属性

C. Command控件的Default属性与Command控件的Cancel属性

D. Command控件的Visible属性与Form控件的Visible属性

7. 在窗体上添加标签控件Label1之后,标签控件的默认的名称Name是( )。

A. Label B. Label1

C. Text D. Text1

8. 设窗体上有1个滚动条,要求单击滚动条右端的鬻按钮一次,滚动块移动一定的刻度值,决定此刻度值的属性是【 】

A. Max B. Min

C. Smallhange D. Large Change

9. 如下事件过程: Function Feed(x) If x <10 Then Feed=X

Else Feed=10+x End If End Function Private Sub Command1_Click( )

x=Val(Input Box(" ",0)) pay=Feed(x) Print pay End Sub 运行时在输入框内输入变量x的值为15,输出结果为( )。

A. 0 B. 15

C. 25 D. 30

10. 下列说法正确的是( )。

A. 在Visual Basic 中的对话框分为两种类型:预定义对话框和自定义对话框

B. 自定义对话框由用户根据自己需要定义的

C. 预定义对话框是用户在设置程序代码后定义的

D. MssgBox 函数是用户的自定义对话框的函数

11. 当直线或形状的BorderStyle属性设置为1时,控件是( )。

A. 虚线 B. 点线

C. 不可见 D. 实线

12. 单击命令按钮时,下列程序的执行结果为( )。 Private Sub Command1 Click()

Dim x As Integer,y As Integer x=12:y=32 Call PCS(x,y) Print x;y End Sub Public Sub PCS(ByVal n As Integer,ByVal m As Integer) n=n Mod

10 m=m Mod 10 End Sub

A. 1232 B. 232

C. 23 D. 123

13. 要设置窗体为固定对话框,并包含控制莱单栏和标题栏,但没有最大化和最小化控钮,设置的操作是( )。

A. 设置BoderStyle的值为Fixed ToolWindow

B. 设置BoderStyle的值为Sizable ToolWindow

C. 设置BnderStyle的值为FixedDialog

D. 设置BoderStyle的佰为Sizable

14. 在 Visual Basic中,要将一个窗体从内存中释放,应使用的语句是( )。

A. 友元函数的实现必须在类的内部定义 B. 友元函数是类的成员函数

C. 友元函数破坏了类的封装性和隐藏性 D. 友元函数不能访问类的私有成员

15. 下列说法错误的是( )。

A. C++语言支持数据封装 B. C++语言中引入友元没有破坏封装性

C. C++语言允许函数名和运算符重载 D. C++语言支持动态联编

16. 要想在过程调用中返回两个结果,下面的过程定义语句合法的是( )。

A. 20 B. 21

C. 56 D. 32

17. 以下叙述中错误的是

A. 在通用过程中,多个形式参数之间可以用逗号作为分隔符

B. 在Print方法中,多个输出项之间可以用逗号作为分隔符

C. 在Dim语句中,所定义的多个变量可以用逗号作为分隔符

D. 当一行中有多个语句时,可以用逗号作为分隔符

18. 以下各项,可以作为Visual Basic变量名的是( )。

A. 内存跟踪 B. 内存编译

C. 语法检查 D. 上述都不正确

19. 激活菜单栏的快捷键是( )。

A. F10 B. F4

C. F5 D. Ctrl

20. 设有数组定义语句:Dim a(5)As Integer,List1为列表框控件。下列给数组元素赋值的语句错误的是( )。

A. 打开过程文件时,其中的主过程自动调入内存

B. 同一时刻只能打开一个过程,打开新的过程后,旧的过程自动关闭

C. 用命令DOWITH调用过程时,过程文件无需打开就可调用其中的过程

D. 用命令DOWITHIN调用过程时,过程文件无需打开,就可调用其中的过程

21. 执行下列程序后,鼠标单击窗体,输出结果为( )。 Private Sub Form_Click()

Print“Click”; End Sub Private Sub Form_MouseDown(Button As Integer,Shift_

As Integer,X As Single,Y As Single) Print “Donw” End Sub Private Sub

Form_MouseUp(Button As Integer,Shift_ As Integer,X As Single,Y As

Single) Print“Up” End Sub

A. DownUpClick B. ClickDownUp

C. DownClickUp D. UpDownClick

22. 下面哪个程序段能够正确裙带如果A<B,则A=1,否则A=-1 ?

A. If A<B Then A=1 A=-1 Print A

B. If A<B Then A=l:Print A A=-1:PrintA

C. If A<B Then A=1:Print A Else A=-1: End If

D. If A<B Then A=1 A=-1 Print A Print A

23. 单击命令按钮时,下列程序的执行结果为( )。 Private Sub Command1_Click()

Dim x As Integer,y As Integer x=12:y=32 Call Proc(x,y) Print x;y End

Sub Public Sub Proc(n As Integer,ByVal m As Integer) n=n Mod 10 m=m Mod

10 End Sub

A. 1 5 9 B. 7 5 3

C. 3 5 7 D. 5 9 1

24. 要使菜单项MenuOne在程序运行时失效,使用的语句是( )。

A. MenuOne.Visible=Tree

B. MenuOne.Visible=False

C. MenuOne.Enabled=True

D. MenuOne.Enabled=False

25. 使"Microsoft"在当前窗体上输出的语句是( )。

A. k=7 b=14 B. k=6 b=6

C. k=4 b=8 D. k=6 b=12

26. 以下叙述中错误的是【 】

A. 顺序文件中的数据只能按顺序读写

B. 对同一个文件,可以用不同的方式和不同的文件号打开

C. 执行Close语句,可将文件缓冲区中的数据写到文件中

D. 随机文件中各记录的长度是随机的

27. 下面关于菜单的叙述中错误的是【 】

A. 各级菜单中的所有菜单项的名称必须唯一

B. 同一子菜单中的菜单项名称必须唯一,但不同子菜单中的菜单项名称可以相同

C. 弹出式菜单用Popup Menu方法弹出

D. 弹出式菜单也用菜单编辑器编辑

28. 有关菜单的说法不恰当的是( )。

A. 菜单与窗体无关,是对立的

B. 菜单总是于窗体有关,每个菜单都依附于一定的窗体

C. 菜单分为下拉式菜单和弹出式菜单

D. 在Visual Basic中有专门的设计菜单环境,那就是菜单编辑器

29. 当一个复选框被选中时,它的Value的属性的值是( )。

A. 3 B. 2

C. 1 D. 0

30. 单击命令按钮时,下列程序的执行结果为( )。 Private Sub Command1_Click()

Dim x As Integer,y As Integer x=50:y=78 Call PPP(x,y) Print x;y End Sub Public Sub PPP(ByVal n As Integer,ByValm As Integer) n=n10

m=m10 End Sub

A. 0 8 B. 50 78

C. 4 50 D. 78 50

31. 下列可以启动Visual Basic的方法是( )。

A. 打开“我的电脑”,找到存放Visual Basic所在系统文件的硬盘及文件夹,双击“VB6.exe”图标

B. 在DOS窗口中,键入Visual Basic的路径,执行Visual Basic可执行文件

C. 利用“开始”莱单中的“程序”命令可启动Visual Basic

D. A)和C)

32. 不能脱离控件(包括客体)而独立存在的过程是( )。

A. 事件过程 B. 通用过程

C. Sub过程 D. 函数过程

33. 下面叙述不正确的是( )。

A. 98 B. 67x

C. x394 D. 0X292

34. 如果将文本框的MaxLength属性设置为0,则文本框中的字符不能超过( )。

A. SELECT FROM 教师表IF(性别=‘男’)

B. SELECT性别FROM教师表IF(性别=‘男’)

C. SELECT * FROM教师表WHERE(性别=‘男’)

D. SELECT * FROM性别WHERE(性别=‘男’)

35. 在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若干

个项目。当单击列表框中的某个项目时,在标签中显示被选中项目的名称。下列能正确 实现上述操作的程序是:_____。

A. Private Sub List1_Click() n = dex End Sub

B. Private Sub List1_Click() = tIndex End Sub

C. Private Sub List1_Click() = End Sub

D. Private Sub List1_Click() n = End Sub

填空题(每空2分,共30分)

36. 新建一个工程,内有两个窗体,窗体Form1上有一个命令按钮Command1,单击该按钮,

Form1窗体消失,显示Form2窗体,程序如下: Private Sub Command1_Click()

【 】 Form2 【 】 End Sub 试补充完整。

37. 以下程序的功能是从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输 入负数时结束输入,输出结果。请补充完整下列程序段。 Dim x,amax,amin As Single

x=InputBox("Enter a score") amax=x amin=x Do While【 】 If x>amax

Then amax=x End If If【 】Then amin=x End If

x=InputBox("enter a score") Loop Print"max=";amax,"min=";amin

38. 深度为5的满二叉树有【 】个叶子结点。

39. 下列程序的功能是:当x<50时,y=0.8×x;当50≤x≤100时,y=0.7×x;当x>100时,没有意义。请填空。 Private Sub Command1_Click() Dim x As Single

x=InputBox("请输入x的值!") 【 】 Case Is<50 y=0.8

* x Case 50 To 100 y=0.7 * x 【 】 Print"输入的数据出界!" End Select Print x,y End Sub

40. 如果存在如下过程: Private Function FMax(a( )As Integer) Dim First As Integer,Last As Integer,i As Integer First=LBound(A) Last=UBound(A)

Max=a(First) For i=First To Last If a(i) > Max Then Max=a(i) Next i

FMax=Max End Function 在窗体上添加一个命令按钮,然后编写如下事件过程:

Private Sub Command1 Click( ) ReDim m(1 To 4) As Integer m(1)=20:m(2)=30:m(3)=50:m(4)=100 c=FMax(m) Print c End Sub 单击命令按钮,其输出结果为【 】。

41. 一棵二叉树第六层(根结点为第一层)的结点数最多为 _________个。

42. 下面运行程序后,单击命令按钮,输出的结果是【 】。 Private Sub

Command1_Click( ) Dim a%(1 To 4),b%(3 To 6),i%,s1#,s2# For i=1 To 4

a(i) =i Next i For i=3 To 6 b(i) =i Next i s1=YAS(A)

s2=YAS(B) Print"s1=";s1;"s2=";s2 End Sub Function YAS(a( )As Integer)

Dim t#,i% t=1 For i=LBound(A) To UBound(A) t=t * a(i) Next i

YAS=t End Function

43. 下述程序段在运行时的显示结果是【 】。 Cls x=1.34 + 8 Print Len(x)

A. 正确 B. 错误

44. 在窗体上加上一个文本框控件TextBox,画一个命令按钮,当单击命令按钮的时候将显示“保存文件”对话框,设置该对话框可用于保存文本文件(默认)和Word文档,然后在文本框控件中显示保存的文件名,请填空。 Private Sub Command1_Click( )

CommonDialog1.Filter=【 】 CommonDialog1.Filter=【 】

CommonDialog1.ShowSave TextBox.Text=【 】 End Sub

45. 请填写下列空白,以实现运行后形成一个主对角线上元素值为1,其他元素为0的6×6阶矩阵。 Private Sub Command1 Click() Dim s(6,6) For i=1 To 6

For j=1 To 6 If i=j Then 【 】 Else

【 】 End If Print 【 】 Next j Print Next i End Sub