1、二级 VISUAL+BASIC 笔试 380 及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.以下叙述正确的是 _。(分数:2.00)A.组合框包含丁列表框的功能B.列表框包含了组合框的功能C.列表框和组合框的功能无相近之处D.列表框和组合框的功能完全相同2.窗体上画一个命令按钮,然后编写如下代码:Private Type Record ID As Integer Name As String * 20End TypePrivate Sub command1 _ Click( Open “c: /file. txt“ for Input
2、 As MaxSize = LOF (1) for NextChar =MaxSize To Step-1 Seek #1, NextChar MyChar=Input(1,#1) Next NextChar Print EOF(1) Close #1 End Sub 程序运行后,单击命令按钮,其输出结果为_。(分数:2.00)A.TrueB.FalseC.0D.Null3.需求解析中开发人员要从用户那里了解_。(分数:2.00)A.软件做什么B.用户使用界面C.输入的信息D.软件的规模4.在 Visual Basic 中最基本的对象是 _,它是应用程序的基石。(分数:2.00)A.标签B.窗
3、体C.文本框D.命令按钮5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和_。(分数:2.00)A.可重用性差B.安全性差C.非持久性D.冗余性6.在窗体中添加一个列表框(listBox1)和一个命令按钮,并编写如下代码:Private Sub Command1_ Click() Dim Entry, I, Msg Msg = “Choose Ok to add 100 items to your list box.“ MsgBox Msg for I = 1 To 100 Entry = “Entry“ Next iEnd Sub(分数:2.00)A.12345B.6C.1
4、 2 3 4 5 6D.010.窗体上有一个通用对话框控件 CommonDialog1,有下列语句:CommonDialog1. Action = ShowFont 其表示为 _。(分数:2.00)A.显示“打开”对话框B.显示“另存为”对话框C.显示“颜色”对话框D.显示“字体”对话框11.滚动条控件的 LargeChange 属性所设置的是 _。(分数:2.00)A.单击滚动条中滚动框前面或后面的部位时,Value 增加或减小的增量值B.滚动条中滚动块的最大移动位置C.滚动条中滚动块的最大移动范围D.滚动条控件无该属性12.以下叙述中错误的是 _。(分数:2.00)A.双击鼠标可以触发 D
5、blClick 事件B.窗体或控件的事件的名称可以由编程人员确定C.移动鼠标时,会触发 MouseMove 事件D.控件的名称可以由编程人员设定13.最简单的交换排序方法是_。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序14.已知通用对话框名为 Cdlg,则执行下列的_语句,将弹出“另存为”对话框。(分数:2.00)A.Cdl Action=1B.Cdl Action=2C.Cdl Action=4D.Cdl Action=315.栈通常采用的两种存储结构是 _。(分数:2.00)A.线性存储结构和链表存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非
6、线性存储结构16.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_ Click ( ) x = InputBox(“Enter the First integer“) y = InputBox(“Enter the Second integer“) Print y +xEnd Sub 程序运行后,单击命令按钮,先后在两个输入对话框中分别输入 456 和 123,则输出结果是 _。(分数:2.00)A.579B.123C.456D.12345617.下列可以把当前目录下的图形文件 pic1,jpg 装入图片框 Picture1 中的语句为_。(分数:2.0
7、0)A.Picture=“pic1,jpg“B.Pictur Handle=“pic1,jpg“C.Picture1. Picture=LoadPicture(“pic1.jpg“)D.Picture:LoadPicture(“pic1.jpg“)18.下列 _表达式的值是 1239。(分数:2.00)A.Len(“1234“)+5B.Val(“1234“)+5C.Str(1234) Next iEnd Sub(分数:2.00)A.12345B.6C.1 2 3 4 5 6 D.0解析:解析 本题是针对输出格式的问题。字符串输出没有正负号,字符之间没有空格;数字输出有正负号,字符之间有空格。打
8、印的结果为 123456。10.窗体上有一个通用对话框控件 CommonDialog1,有下列语句:CommonDialog1. Action = ShowFont 其表示为 _。(分数:2.00)A.显示“打开”对话框B.显示“另存为”对话框C.显示“颜色”对话框D.显示“字体”对话框 解析:解析 Action 的值为 ShowFont(或 4)表示显示“字体”对话框。11.滚动条控件的 LargeChange 属性所设置的是 _。(分数:2.00)A.单击滚动条中滚动框前面或后面的部位时,Value 增加或减小的增量值 B.滚动条中滚动块的最大移动位置C.滚动条中滚动块的最大移动范围D.滚
9、动条控件无该属性解析:解析 当 LargeChange 属性返回和设置用户单击滚动条和滚动箭头之间的区域时,滚动条控件(HscrollBar(水平滚动条)或 VscrollBar(垂直滚动条)增加或减小 Value 属性值的改变量。12.以下叙述中错误的是 _。(分数:2.00)A.双击鼠标可以触发 DblClick 事件B.窗体或控件的事件的名称可以由编程人员确定 C.移动鼠标时,会触发 MouseMove 事件D.控件的名称可以由编程人员设定解析:解析 Visual Basic 中的事件是事先定义好的,事件名称不能由编程人员确定,但控件名称可由编程人员确定。13.最简单的交换排序方法是_。
10、(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 交换排序方法有冒泡排序和快速排序,显然选项 B 和选项 C 错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。冒泡排序是一种最简单的交换排序方法,它是通过相邻数据元素的交换逐步将线性变成有序。14.已知通用对话框名为 Cdlg,则执行下列的_语句,将弹出“另存为”对话框。(分数:2.00)A.Cdl Action=1B.Cdl Action=2 C.Cdl Action=4D.Cdl Action=3解析:解析 为了弹出某个对话框,除使用通用对话框的方法外,还可以通
11、过给通用对话框的 Action属性赋值来实现,给 Action 属性赋不同的值将弹出不同的对话框。若给 Action 属性赋值为 2,运行时将弹出“另存为”对话框。15.栈通常采用的两种存储结构是 _。(分数:2.00)A.线性存储结构和链表存储结构 B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构解析:解析 和线性表类似,栈也有两种存储方法:线性存储结构和链表存储结构。16.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_ Click ( ) x = InputBox(“Enter the First integer“) y
12、 = InputBox(“Enter the Second integer“) Print y +xEnd Sub 程序运行后,单击命令按钮,先后在两个输入对话框中分别输入 456 和 123,则输出结果是 _。(分数:2.00)A.579B.123C.456D.123456 解析:解析 本题的难点是 InputBox 函数。InputBox 函数用来接受用户通过键盘输入的数据。其格式为:“InputBox(提示信息,标题默认值,对话框的位置,帮助文件名及帮助主题号)”,x 和 y是变体变量或字符串型变量,对字符串来讲符号“+”和“&”的作用一样,“”123”+ ”456”123456” ”。
13、17.下列可以把当前目录下的图形文件 pic1,jpg 装入图片框 Picture1 中的语句为_。(分数:2.00)A.Picture=“pic1,jpg“B.Pictur Handle=“pic1,jpg“C.Picture1. Picture=LoadPicture(“pic1.jpg“)D.Picture:LoadPicture(“pic1.jpg“) 解析:解析 图片框的 Picture 属性可以在设计时从属性窗口或者运行时通过代码来设置。通过代码设置时,要调用 LoadPicture()函数来实现。18.下列 _表达式的值是 1239。(分数:2.00)A.Len(“1234“)+
14、5B.Val(“1234“)+5 C.Str(1234)&5D.Cstr(1234)+“5“解析:解析 Len 函数的作用是求参数字符串的长度,所以答案 A 的值是 9;Val 函数的功能是将参数字符串中的数字转换成数值,所以答案 B 的值为 1239;Str 函数的作用是把数值型参数转换为字符串型,符号也是一位,正号用空格表示,故答案 C 的值为“12345”;Cstr 函数是将参数转换成字符串型,故答案 D 的值为“12345”。19.下面程序的输出是_。Private Sub Command1_Click() Print 7/3End Sub(分数:2.00)A.3.5B.7C.3D.2
15、 解析:解析 运算符号“/”用于两个数相除并返回以整数形式表示的结果。20.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有_。(分数:2.00)A.特定的数据模型 B.数据无冗余C.数据可共享D.专门的数据管理软件解析:解析 在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。21.下列 _ 是 Single 型变量。(分数:2.00)A.Time%B.Sheight! C.
16、NameD.cxyz解析:解析 在 VB 中定义变量时,可采用 DIM 等语句来进行显式说明,也可以通过在变量名后加一个用于规定变量类型的说明字符,来规定变量的类型,这种方法称为“隐式说明”。字符与变量类型的对应关系请参看下表。 说明字符 示例 类型% A%A 是整型变量& A&A 是长整型变量! A!A 是单精度变量# A#A 是双精度变量 A A 是货币型变量$ A$A 是字符型变量22.下列的程序段执行后,x 的值为_。Private Sub Command1_Ciick() x =0 for i =1 To 10 for j = i To 10 x=x+1 Next j Next i
17、Print xEnd Sub(分数:2.00)A.50B.55 C.5D.105解析:解析 本题的难点是嵌套循环的循环次数。由于内层的初值为外层循环的循环变量,循环次数为“10+9+8+7+6+5+4+3+2+1=55”。23.关于控件数组,下列描述中不正确的是 _。(分数:2.00)A.控件数组可由多个控件组成,这些控件具有相同的名字B.可以通过把两个同类型控件的 name 属性改成相同值来创建控件数组C.控件数组中的各元素共用事件,通过 index 参数来确定是哪一个元素D.控件数组中的元素可以是不同类型的控件 解析:解析 VB 中允许使用控件数组。所谓控件数组,就是若干个控件具有同样的名
18、称,象普通数组一样,可通过下标来识别这些控件。控件数组中的每个元素共用同样的事件过程,为识别事件是哪个元素产生的,可通过事件过程中的 index 参数来确定。注意控件数组中的元素一定是同一类型的控件。24.有过程如下:Sub fact (m As Integer, total As Long) Dim i As Integer total = 1 for i = 1 To m total = total*i Next iEnd Sub 调用它的事件过程如下:Private Sub Command1_ Click () Dim tot As Long Dim a As Integer a = V
19、al InputBox (“请输入数据”) Call fact (a, tot) Print totEnd Sub 则输入数据 5,运行结果为 _。(分数:2.00)A.100B.120 C.200D.50解析:解析 本题难点是实、虚参数传递的问题。tot 按 ByRef 参数传递。子过程的功能是计算 n!,“5!=120”。25.给出下面的程序:Private Sub Command1_ Click() Dim Check, Counter Check= True: Counter = 0 do do while Counter 20 Counter = Counter +1 if Coun
20、ter = 10 then Check=False exit do End if Loop Loop until Check=False MsgBox CounterEnd Sub 程序最后弹出的消息对话框的内容是_。(分数:2.00)A.TrueB.FalseC.20D.10 解析:解析 本题的难点是 do while Loop 和 do Loop until 循环控制问题。实际上在该段程序中,有三处判断控制循环,条件先成立处先执行。首先变量“Counter=10”时,“Check= False”,退出内层循环,do Loop until 根据条件“Check=False”又退出外层循环,此
21、时“Counter=10”。26.在窗体 form1 的 Click 事件过程中有以下语句: Label1. Caption = “Visual Basic“ 若本语句执行前,标签控件的 Caption 属性取默认值,则该标签控件的名称属性和 Caption 属性在执行本语句前的取值分别为 _。(分数:2.00)A.Label,Label1B.Label,CaptionC.Label1,Label1 D.Caption,Label解析:解析 标签控件的 Caption 属性和名称属性的默认值都为 Label1。27.程序段如下:Private Sub Command1_ Click() a =
22、 0 for 1=15 To 15 Step- 2 a = a +1 Next I Print a, IEnd Sub 发生 Command 1 的单击事件后,程序的输出结果是 _。(分数:2.00)A.0 13B.15 13 C.0 15D.15 15解析:解析 for 循环的结束条件是循环变量在变化方向上超过终值。当发生 Command1_Click 事件时,给变量 a 赋值为 0,执行 for 循环,给循环变量 I 赋值 15,循环变量的终值为 15,步长为-2,变化方向是从大到小。循环变量的值没有超过终值,执行循环体,给 a 赋值 15,循环变量加上步长变为 13,已经在变化方向上超过
23、了终值,循环结束。输出的 a 和 I 的值分别为 15 和 13。28.当文本框的 Text 属性发生变化时,将发生_事件。(分数:2.00)A.Change B.LostFocusC.KeyPressD.SetFocus解析:解析 文本框的 Change 事件在文本框的内容发生变化时触发,LostFocus 事件在文本框失去焦点时触发,KeyPress 事件是在文本框中按下一个键时触发,SetFocus 不是事件而是一个方法,它的作用是给文本框设置焦点。29.“年龄在 1425 之间”这种约束是属于数据库当中的_。(分数:2.00)A.原子性措施B.一致性措施C.完整性措施 D.安全性措施解
24、析:解析 数据库的完整性是指数据的正确性和相容性(如学生的学号必须惟一,性别只能是女或男等),数据库是否具备完整性关系到数据库系统能否真实反映现实世界,因此维护数据库的完整性是非常重要的。30.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为_。(分数:2.00)A.MenuIte Enabled=False B.MenuIte Enabled=TrueC.MenuIte Visible=TrueD.MenuIte Visible=False解析:解析 本题必须区别 Enabled 和 Visible 两个属性,Enabled 用来确定一个窗体或控件
25、是否能够对用户产生的事件作出反应,Visible 指示对象为可见或隐藏。31.结构化程序设计主要强调的是_。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性 解析:解析 参考教程中的结构化设计思想。32.栈底至栈顶依次存放元素 A、B、C、D,在第 5 个元素 E 入栈前,栈中元素可以出栈,则出栈序列可能是_。(分数:2.00)A.ABCEDB.DCBEA C.DBCEAD.CDABE解析:解析 栈操作原则上“后进先出”,栈底至栈顶依次存放元素 A、B、C、D,则表明这 4 个元素中D 是最后进栈,B、C 处于中间,A 最早进栈,所以出栈时一定是先出 D,再
26、出 C,最后出 A,本题中只有选项 B 符合该准则。33.为用户与数据库系统提供接口的语言是_。(分数:2.00)A.高级语言B.数据描述语言(DDC.数据操纵语言(DM D.汇编语言解析:解析 DBMS 提供数据操纵语言(DML)以实现对数据库中数据的操作,数据操纵语言 (DML)是用户(包括应用程序)与数据库系统的接口。数据操纵语言通常包括检索和更新功能。34.由系统触发的事件有_。(分数:2.00)A.Hscrollbox、Click、DtbClickB.Mousedown、Mouseup、MousemoveC.Initialize、Load、Timer D.Keypress、Keydo
27、wn、Keyup解析:解析 与键盘事件有关的是 Keypress、Keydown、Keyup,与鼠标事件有关的事件是 Hscrollbox、 Click、DblClick、Mousedown、Mouseup、Mousemove。35.有如下的程序片段,该程序片段的执行完后,共执行循环_次。 Private Sub command1_ Click() total =0 Counter = 1 do Print Counter total = total + Counter Print total, “111“ Counter = Counter + 1 if total = 10 then ex
28、it do End if Loop while Counter = 10 End Sub(分数:2.00)A. B.C.D.解析:解析 本题的重点是判断循环非正常退出的问题。该段程序有“total10”和“Counter=10”两个条件,只要其中一个条件先成守,循环就退出。total 的计算过程为“1+2+3+4=10”,Counter 的计算过程为“1+1+1+1=4”。二、B填空题/B(总题数:9,分数:18.00)36.算法的工作量大小和实现算法所需要的存储单元分别称为算法的U 【1】 /U。(分数:2.00)填空项 1:_ (正确答案:时间复杂度和空间复杂度)解析:解析 算法的复杂性是
29、指对一个在有限步骤内终止算法和所需存储空间大小的估计。算法的工作量是算法的时间复杂性,算法所需存储空间大小是算法的空间复杂性。37.数据结构包括数据的逻辑结构、数据的U 【2】 /U以及对数据的操作运算。(分数:2.00)填空项 1:_ (正确答案:存储结构)解析:解析 数据结构包括 3 个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。38.可以把具有相同属性的一些不同对象归类,称为U 【3】 /U。(分数:2.00)填空项 1:_ (正确答案:对象类)解析:解析 类描述的是具有相似性质的一组对象;把具有相同属性的一些不同对象归为类,称之为对象类。39.数据库系统的三级模式分别为U
30、 【4】 /U模式、内部级模式与外部级模式。(分数:2.00)填空项 1:_ (正确答案:概念或概念级)解析:解析 数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。内部级模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及 hash 等存取方式与存取路径。外部级模式也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式。40.数据字典是各类数据描述的集合,它通常包括 5 个部分,即数据项、数据结构、数据流、U 【5】
31、/U和处理过程。(分数:2.00)填空项 1:_ (正确答案:数据存储)解析:解析 数据字典是各类数据描述的集合,它通常包括 5 个部分:数据项,是 数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示处理过程的输入或输出;数据存储,处理过程中存取的数据:处理过程。41.如下有一段不完整的程序段,如果要求该程序执行 3 次循环,则在程序中的括号里要填入U 【6】 /U。 Private Sub Command1_Click() x = 1 do x=x+3 Print x Loop UntilU 【6】 /U End Sub(分数:2.00)填空项
32、1:_ (正确答案:x=8)解析:解析 do. Loop until 循环是先执行后判断。利用 x 的值来控制循环次数,x 的计算过程为:x=1、4、7、10。42.下列程序实现的功能是:当在窗体上单击时,将输出 a1txt 文件中的数字字符的个数。 Private Sub form_ Click() Dim Ch As String * 1 Dim n As Integer Open “c:/a1. txt“ for Input As #10 do whileU 【7】 /U Ch = Input(1, #10) if U【8】 /U then n=n+1 End if Loop U【9】
33、/U Close #10 End Sub(分数:2.00)填空项 1:_ (正确答案:7Not EOF(10))解析:8 Ch=“0” And Ch=“9” 9Print n 解析 要求算出 a1.txt 中的数字字符的个数,可采用下述方法:首先定义一个记录数字字符个数的变量 n 并打开文件,然后从文件中读取一个字符,判断该字符是否为数字字符,若是数字字符,则变量 n 的值加 1。重复上述过程直到文件结尾。在读字符前应要测试文件内部读写指针是否位于文件尾,只有不是在文件结尾处才能读取字符,故7处应填“Not EOF(10)”,读取一个字符后,应判断该字符是否为数字字符,故8处应填“Ch=“0”
34、And Ch=“9”,当文件中的所有字符都读出一遍后,n 的值就是数字型字符的个数,最后应输出 n,所以9处应填“Print n”。43.在窗体上建立个名称为 Text1 的文本框,用来接收一个整数。当 form1_ Click 事件发生时,将在窗体上显示输入整数的各位数字和。 Private Function fun(m As Integer) As Integer Dim k As Integer, n As Integer do n =U 【10】 /U k=k+ n m= m/10 Loop until m = 0 fun = k End Function Private Sub fo
35、rm_ Click() Dim n As Integer n = Val(Text1. Text) PrintU 【11】 /U End Sub(分数:2.00)填空项 1:_ (正确答案:10 m Mod 10)解析:11fun(n) 解析 本题 Fun 函数的功能是求得形参 m 的各位数字的和,并作为函数值返回。在该函数中通过一个 do. Loop 循环把参数 m 的各位数字分离出来,加到和 k 中。不难得到10处应填“m Mod 10”。当在窗体上单击时,将调用函数 Fun 求得 Text1 中输入整数的各位数字和,因此11处应填“fun(n)”。44.下图中,图 1、图 2 是应用程序
36、的部分界面。运行程序首先出现图 1 的对话框,要求用户输入口令,输入完毕后单击“确定”按钮。如果输入的口令正确,则显示图 2 的界面。如果输入的门令错误,则出现图 3 的信息框。单击图 1 中的“取消”按钮,则结束程序。 Private Sub iommand1_ Click () Dim passwor As String password = Text1. Text if password = “Myname“ then U 【12】 /U form1. Show Else d = MsgBox(U 【13】 /U) Refresh End if End Sub Private Sub command2_ Click() U【14】 /U End Sub 在图 1 的窗体中,文本框对象的名称属性是U 【15】 /U。 (分数:2.00)填空项 1:_ (正确答案:12Unload Me)解析:13“口令非法!”,vbOKOnly,“学生管理信息系统” 14End 15 Text 解析 这是个多窗口操作程序,要注意窗口之间的打开和关闭。MsgBox 函数的格式是:“MsgBox(提示信息,按钮常数,信息框标题,帮助文件)”,End 是结束运行、关闭所有窗口,UnLoad Me 是关闭当前窗口。