1、二级 VISUAL+BASIC-1-2 及答案解析(总分:85.95,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:60.00)1.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送U /U。 A. 调用语句 B. 命令 C. 口令 D. 消息(分数:2.00)A.B.C.D.2.当一个复选框被选中时,它的 Value 属性的值是U /U。 A.3 B.2 C.1 D.0(分数:2.00)A.B.C.D.3.以下U /U程序段可以实施 X、Y 变量值的交换。 A.Y=X:X=Y B.Z=X:Y=Z:X=Y C.Z=X:X=Y:Y=Z D.Z=X:W=Y:Y=Z:X=Y(
2、分数:2.00)A.B.C.D.4.下列程序段的执行结果为m=2n=3Dom=m+nn=n+1Loop While m10Print m;n A. 1 5 B. 14 6 C. a b D. 10 25(分数:2.00)A.B.C.D.5.数据的四种基本逻辑结构是指_。 A. 组、链表、树、图形结构 B. 线性表、链表,栈队列、数组广义表 C. 线性结构、链表,树,图形结构 D. 集合,线性结构、树、图形结构(分数:2.00)A.B.C.D.6.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指_。 A. 模块间的关系 B. 系统结构部件转换成软件的过程描述 C. 软件层次结构
3、 D. 软件开发过程(分数:2.00)A.B.C.D.7.设置复选框或单选按钮的标题对齐方式的属性是U /U。 A.Aligh B.Style C.Alignment D.Sorted(分数:2.00)A.B.C.D.8.InputBox 函数的 4 个参数中,必选参数的作用是U /U。 A.输出信息 B.定义提示信息 C.定义隐含信息 D.定义输入的位置(分数:2.00)A.B.C.D.9.执行以下程序段a$=“abbacddcba“For i=6 To 2 Step-2X=Mid(a,i,i)Y=Left(a,i)z=Rfight(a,i)z=UCase(XN2DoN3=N1+N2Prin
4、t N3;N1=N2:N2=N3Loop Until N3=5End Sub A. 1 1 1 B. 2 3 5 C. 2 5 7 D. 2 3 4(分数:1.00)A.B.C.D.33.设有如下过程:Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer)Print Chr(KeyCode)End SubPrivate Sub Form_KeyUp(KeyCode As Integer,Shift As Integer)Print Chr(KeyCode+2)End SUb若把窗体的 KeyPreview 属性设置为 True
5、,程序运行后,如果按“A”键,则输出结果为U /U。 A. A A B. A B C. A C D. A D(分数:2.00)A.B.C.D.34.需求分析阶段的任务是确定 _。 A. 软件开发方怯 B. 软件开发工具 C. 软件开发费用 D. 软件系统功能(分数:1.00)A.B.C.D.35.以下叙述中正确的是U /U A.窗体的 Name 属性指定窗体的名称,用来标识一个窗体 B.窗体的 Name 属性的值是显示在窗体标题栏中的文本 C.可以在运行期间改变对象的 Name 属性的值 D.对象的 Name 属性值可以为空(分数:2.00)A.B.C.D.二、B填空题/B(总题数:1,分数:
6、26.00)在窗体上画一个命令按钮和一个文本框,然后编写命令按钮的 Click 事件过程。程序运行后,在文本框中输入一串英文字母(不区分大小写),单击命令按钮,程序可找出未在文本框中输入的其他所有英文字母,并以大写方式降序显示到Text1 中。例如,若在 Text1 中输入的是 abDfdb,则单击 Command1 按钮后Text1 中显示的字符串是 ZYXWVUTSRQPONMLKJIHGEC。请填空。Private Sub Command1_Click()Dim str As String,s As String,c As Stringstr=UCase(Text1)s=“ “c=“Z“
7、While c=“A“If Instr(str,c)=0 Thens=U U 1 /U /UEnd Ifc=Chr $ (Asc(c) U U 2 /U /U)WendIf s“ThenText1=sEnd IfEnd Sub(分数:25.95)填空项 1:_填空项 1:_(3).栈中允许进行插入和删除的一端叫做_。(分数:1.73)填空项 1:_(4).在窗体上画一个名称为 Combol 的组合框,画两个名称分别 Label1 和 Label2 及 Caption 属性分别为“城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII 码为 13)时,如果输入的项在组
8、合框的列表中不存在,则自动添加到组合框的列表中,并在 Label2 中给出提示“已成功添加输入项”如图所示:如果存在,则在 Label2 中给出提示“输入项已在组合框中”。请在U U /U /U、U U /U /U和U U /U /U处将程序补充完整。 (分数:1.73)填空项 1:_(5).在 Select case 结构中,使用“To 表达式”来指定一个范围时,必须把_的值写在前面。(分数:1.73)填空项 1:_(6).下面程序代码实现单击命令按钮 Command1 时输出如下结果: 1 -1 -1 1 1 -1 1 1 1 该程序不完整,请填空。 Private Sub Command
9、1_Click() DimX(3,3) For I=1 To 3 ForJ=1 To 3 If_Then X(I,J)=1 End If If IJ Then X(I,J)=-1 End If Next J NextI ForI=1 To 3 ForJ=1 To 3 PrintX(I.J); NextJ Print NeXtI End SUb(分数:1.73)填空项 1:_(7).数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,_是用户的数据视图,也就是用户所见到的数据模式。(分数:1.73)填空项 1:_(8).下面的程序用“冒泡”法将数组 a 中的 10 个整数按升序排列,
10、请将程序补充完整。 Option Base 1 Private Sub Command1_Click() Dim a a=Array(678,45,324,528,439,387,87,875,273,823) For i=U U /U/U For j=U U /U/U If a(i)U U /U/Ua(j)Then a1=a(i) a(i)=a(j) a(j)=a1 End If Next j Next i For i=1 To 10 Print a(i) Next i End Sub(分数:1.73)填空项 1:_(9).Visual Basic 对象可以分为两类,分别为上_和用户定义对象
11、。(分数:1.73)填空项 1:_(10).在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序: Function M(x As Integer,y As Integer) As Integer M=IIf(xy,x,y) End Function Private Sub command1 Click() Dim a As Integer,b AS Integer a=100 b=200 Print M(a,b) End Sub 程序运行后,单击命令按钮,输出结果为U U /U /U。(分数:1.73)填空项 1:_(11).VB 中的控件分为内部控件、ActiveX 控件和
12、U U /U /U三类。(分数:1.73)填空项 1:_(12).有如下函数过程。 Function UNC(ByVal x As Integer,ByVal y As Integer)As Integer Do While y0 S=x/y x=y y=S Loop UNC=x End Function 以下事件调用该函数,程序运行结果是U U /U /U。 Private Sub Command1_Click() Dim a As Integer Dim b As Integer a=12 b=2 x=UNC(a,b) Print x End Sub(分数:1.73)填空项 1:_(13)
13、.有如下程序: Prinvate Sub Form_Click() a=10 b=0 Do b=b+a a=a-2 Loop While a2 Print b End Sub 程序运行后,单击窗体,输出结果为_。(分数:1.73)填空项 1:_(14).假定在工程文件中有一个标准模块,其中定义了如下记录类型。 Private Type Books Name As String*10 TelNum As String#20 End Type 要求在执行事件过程 Command1_Click 时,在顺序文件Person.txt 中写入一条记录。将以下程序补充完整。 Private Sub Comm
14、and1_Click() DimB As Books open“C/person.txt”For output As#1 B.Name=InputBox(“请输入姓名”) B.TeINum=InputBox(“请输入电话号码”) write#1,U U /U /U close#1 End Sub(分数:1.73)填空项 1:_(15).在长度为 n 的有序线性表中进行二分查找,最坏的情况下,需要的比较次数为_。(分数:1.73)填空项 1:_二级 VISUAL+BASIC-1-2 答案解析(总分:85.95,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:60.00)1.在对象方法
15、中,一个对象请求另一个对象为其服务的方式是通过发送U /U。 A. 调用语句 B. 命令 C. 口令 D. 消息(分数:2.00)A.B.C.D. 解析:解析 在面向对象方法中,对象之间通过消息进行通信。消息中只包含传递者的要求,它告诉接受者需要做哪些处理,但并不指示接受者应该怎么完成这些处理,接受者独立决定采用什么方式完成所需的处理。2.当一个复选框被选中时,它的 Value 属性的值是U /U。 A.3 B.2 C.1 D.0(分数:2.00)A.B.C. D.解析:解析 复选框的 Value 属性可以设置为三种:0Unc)1ecked,表示没有选择该复选框;1checked,表示选中该复
16、选框;2Grayed,表示该复选框被禁用(灰色)。3.以下U /U程序段可以实施 X、Y 变量值的交换。 A.Y=X:X=Y B.Z=X:Y=Z:X=Y C.Z=X:X=Y:Y=Z D.Z=X:W=Y:Y=Z:X=Y(分数:2.00)A.B.C. D.解析:4.下列程序段的执行结果为m=2n=3Dom=m+nn=n+1Loop While m10Print m;n A. 1 5 B. 14 6 C. a b D. 10 25(分数:2.00)A.B. C.D.解析:解析 此题内容比较简单,开始 m 为 2,n 为 3,执行 Do 语句,具体运行为:执行 m=m+n;n=n+1语句后,m 为 5
17、,n 为 4。这样运行到 m=14,程序终止循环,此时 n=6。5.数据的四种基本逻辑结构是指_。 A. 组、链表、树、图形结构 B. 线性表、链表,栈队列、数组广义表 C. 线性结构、链表,树,图形结构 D. 集合,线性结构、树、图形结构(分数:2.00)A.B.C.D. 解析:6.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指_。 A. 模块间的关系 B. 系统结构部件转换成软件的过程描述 C. 软件层次结构 D. 软件开发过程(分数:2.00)A.B. C.D.解析:解析 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间
18、的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信:过程设计则是把系统结构部件转换成软件的过程性描述。7.设置复选框或单选按钮的标题对齐方式的属性是U /U。 A.Aligh B.Style C.Alignment D.Sorted(分数:2.00)A.B.C. D.解析:8.InputBox 函数的 4 个参数中,必选参数的作用是U /U。 A.输出信息 B.定义提示信息 C.定义隐含信息 D.定义输入的位置(分数:2.00)A.B. C.D.解析:9.执行以下程序段a$=“abbacddcba“For i=6 To 2
19、 Step-2X=Mid(a,i,i)Y=Left(a,i)z=Rfight(a,i)z=UCase(XN2DoN3=N1+N2Print N3;N1=N2:N2=N3Loop Until N3=5End Sub A. 1 1 1 B. 2 3 5 C. 2 5 7 D. 2 3 4(分数:1.00)A.B. C.D.解析:解析 此处需注意的是,DOLoop Until 循环的结束条件是 Until 后面的表达式值是 True。当发生窗体的单击事件时,首先给变量 N1 和 N2 赋值为 1,然后输出为 1 2 并换行。执行循环,N3 的值为 2,输出 2 不换行,进行赋值后 N1 的值为 1,
20、N2 的值为 2,判断条件“2=5”为 False,重新执行循环:第二次执行循环输出 N3 的值为 3,循环结束条件依旧为 False;第三次执行循环输出 N3 的值为 5,循环结束条件为 True,循环退出。所以输出的第二行为“2 3 5”。33.设有如下过程:Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer)Print Chr(KeyCode)End SubPrivate Sub Form_KeyUp(KeyCode As Integer,Shift As Integer)Print Chr(KeyCode+2)End
21、 SUb若把窗体的 KeyPreview 属性设置为 True,程序运行后,如果按“A”键,则输出结果为U /U。 A. A A B. A B C. A C D. A D(分数:2.00)A.B.C. D.解析:解析 本题考查窗体的键盘事件。当按下键盘上某个键时,触发 KeyPress 事件:按下键盘某个键过程中,触发事件 KeyDown 事件;当松开键盘某个键时,触发事件 KeyUp。KeyDown 和 KeyUp 事件返回的是键盘的直接状态(返回的是“键”),KeyCode 参数是用户按下的那个键的扫描码,而 KeyPress 返回的是“字符”的 ASCII 码,两者不同。当窗体的 Key
22、Preview 设置为 True 时,如果焦点从控件上跳到窗体上,则该控件的键盘事件也会被触发。 题中只有窗体的 KeyDown 利 KeyUp 事件,因此当按下“A”键时,触发KeyDown 事件执行“Print Chr(KeyCode)”语句,其中 Chr 函数的功能是将 ASCII 码转换成相应的字符,因此输出字母“A”;当松开“A”键时,触发 KeyUp 事件执行“Print Chr(KeyCode+2)”语句。因此输出字母“C”。34.需求分析阶段的任务是确定 _。 A. 软件开发方怯 B. 软件开发工具 C. 软件开发费用 D. 软件系统功能(分数:1.00)A.B.C.D. 解析
23、:解析 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。选项 A) 软件开发方法是在总体设计阶段完成的任务;选项 B) 软件开发工具是在实现阶段需完成的任务;选项 C) 软件开发费用是在可行性研究阶段需完成的任务。35.以下叙述中正确的是U /U A.窗体的 Name 属性指定窗体的名称,用来标识一个窗体 B.窗体的 Name 属性的值是显示在窗体标题栏中的文本 C.可以在运行期间改变对象的 Name 属性的值 D.对象的 Name 属性值可以为空(分数:2.
24、00)A. B.C.D.解析:解析 窗体的 Name 属性指定窗体的名称,用来标识一个窗体,不能为空,也不能在运行期间改变其值。窗体的 Caption 属性的值是显示在窗体标题栏中的文本。二、B填空题/B(总题数:1,分数:26.00)在窗体上画一个命令按钮和一个文本框,然后编写命令按钮的 Click 事件过程。程序运行后,在文本框中输入一串英文字母(不区分大小写),单击命令按钮,程序可找出未在文本框中输入的其他所有英文字母,并以大写方式降序显示到Text1 中。例如,若在 Text1 中输入的是 abDfdb,则单击 Command1 按钮后Text1 中显示的字符串是 ZYXWVUTSRQ
25、PONMLKJIHGEC。请填空。Private Sub Command1_Click()Dim str As String,s As String,c As Stringstr=UCase(Text1)s=“ “c=“Z“While c=“A“If Instr(str,c)=0 Thens=U U 1 /U /UEnd Ifc=Chr $ (Asc(c) U U 2 /U /U)WendIf s“ThenText1=sEnd IfEnd Sub(分数:25.95)填空项 1:_ (正确答案:s+c)解析:填空项 1:_ (正确答案:-1)解析:解析 本题考查的是字符串的操作。从题意来考虑,如
26、果 c 在字符串中没有找到,即字符串不包含此字符,则将该字符赋给 s,所以6应填入的内容是“s+c“;然后将 c 赋予其他字符进行检验,从该题来看,应该是按字母表逆序检验,所以其 ASCII 码值依次减 1,故7处应填入的是“-1“。(3).栈中允许进行插入和删除的一端叫做_。(分数:1.73)填空项 1:_ (正确答案:栈顶)解析:解析 栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。(4).在窗体上画一个名称为 Combol 的组合框,画两个名称分别 Label1 和 Label2 及 Caption 属性分别为“
27、城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII 码为 13)时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在 Label2 中给出提示“已成功添加输入项”如图所示:如果存在,则在 Label2 中给出提示“输入项已在组合框中”。请在U U /U /U、U U /U /U和U U /U /U处将程序补充完整。 (分数:1.73)填空项 1:_ (正确答案:12 KeyPress 13 Comb01.List(i) 14 Addltem)解析:解析 当按回车键,即触发组合框的 KeyPress 文件,故12中填 KeyPress。 Lis
28、t 属性返回组合框的表项,可以通过下标来访问,13中填 Combo1.list(i)即指组合框中所有表项。 对于14,Additem 方法为组合框添加表项。(5).在 Select case 结构中,使用“To 表达式”来指定一个范围时,必须把_的值写在前面。(分数:1.73)填空项 1:_ (正确答案:较小)解析:(6).下面程序代码实现单击命令按钮 Command1 时输出如下结果: 1 -1 -1 1 1 -1 1 1 1 该程序不完整,请填空。 Private Sub Command1_Click() DimX(3,3) For I=1 To 3 ForJ=1 To 3 If_Then
29、 X(I,J)=1 End If If IJ Then X(I,J)=-1 End If Next J NextI ForI=1 To 3 ForJ=1 To 3 PrintX(I.J); NextJ Print NeXtI End SUb(分数:1.73)填空项 1:_ (正确答案:IJ)解析:(7).数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,_是用户的数据视图,也就是用户所见到的数据模式。(分数:1.73)填空项 1:_ (正确答案:外模式)解析:解析 数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据库的物理存储结构和存取方法;概念模式是数
30、据库系统中全局数据逻辑结构的描述:外模式是用户的数据视图,也就是用户所见到的数据模式。(8).下面的程序用“冒泡”法将数组 a 中的 10 个整数按升序排列,请将程序补充完整。 Option Base 1 Private Sub Command1_Click() Dim a a=Array(678,45,324,528,439,387,87,875,273,823) For i=U U /U/U For j=U U /U/U If a(i)U U /U/Ua(j)Then a1=a(i) a(i)=a(j) a(j)=a1 End If Next j Next i For i=1 To 10
31、Print a(i) Next i End Sub(分数:1.73)填空项 1:_ (正确答案:【8】1 To 9 【9】i+1 To 10 【10】)解析:解析 最外层的循环负责从第 1 个元素到第 9 个元素中取出一个,内层循环负责取外层循环下标后面的元素与它比较,如果比外层循环取出的元素小,则将二者的位置对换。(9).Visual Basic 对象可以分为两类,分别为上_和用户定义对象。(分数:1.73)填空项 1:_ (正确答案:预定义对象)解析:(10).在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序: Function M(x As Integer,y As
32、Integer) As Integer M=IIf(xy,x,y) End Function Private Sub command1 Click() Dim a As Integer,b AS Integer a=100 b=200 Print M(a,b) End Sub 程序运行后,单击命令按钮,输出结果为U U /U /U。(分数:1.73)填空项 1:_ (正确答案:200)解析:解析 本题主要考查条件判断函数的使用。其功能是根据对表达式值的真假判定,来决定返回后两个参数中的哪一个。如果其值为真,f 函数返回第一个表达式的值,否则返回第二个表达式的值。本题中将 s 和 b 的值传递给
33、 x 和 y 后,xy 不成立,函数的结果为 y 的值,即 200。(11).VB 中的控件分为内部控件、ActiveX 控件和U U /U /U三类。(分数:1.73)填空项 1:_ (正确答案:可插入对象)解析:(12).有如下函数过程。 Function UNC(ByVal x As Integer,ByVal y As Integer)As Integer Do While y0 S=x/y x=y y=S Loop UNC=x End Function 以下事件调用该函数,程序运行结果是U U /U /U。 Private Sub Command1_Click() Dim a As
34、Integer Dim b As Integer a=12 b=2 x=UNC(a,b) Print x End Sub(分数:1.73)填空项 1:_ (正确答案:6)解析:解析 考查考生对函数的定义和调用的运用。 解题要点 本题考查函数调用和输出格式的语句。调用 UNC 的过程如下: x=12,y=2 时,sic=6,x=2,y=6: x=2,y=6 时,sic=0,x=6,y=0; y=0,所以跳出循环,输出 x=6 并结束程序。 考点链接 过程的定义和调用。(13).有如下程序: Prinvate Sub Form_Click() a=10 b=0 Do b=b+a a=a-2 Loo
35、p While a2 Print b End Sub 程序运行后,单击窗体,输出结果为_。(分数:1.73)填空项 1:_ (正确答案:28)解析:解析 对于 Do 型循环结构,首先看条件判断存循环体的前而还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 Until 循环中条件为 False 时执行循环体,条件为 True 时退出循环;在 While 循环中条件为 True 时执行循环体,条件为 False 时退出循环。本题中是一个后判断的 While 型循环。第一次循环时 b 中累加的是 10,以此类推依次累加 8、8、4,当
36、 a 为 4 时由于执行完 a=a-2 后 a 的值为 2,已经不满足 a2 的继续循环条件,故此退出循环,循环结束后 a 的值为 2,b 的值为 10+8+6+4=28。(14).假定在工程文件中有一个标准模块,其中定义了如下记录类型。 Private Type Books Name As String*10 TelNum As String#20 End Type 要求在执行事件过程 Command1_Click 时,在顺序文件Person.txt 中写入一条记录。将以下程序补充完整。 Private Sub Command1_Click() DimB As Books open“C/pe
37、rson.txt”For output As#1 B.Name=InputBox(“请输入姓名”) B.TeINum=InputBox(“请输入电话号码”) write#1,U U /U /U close#1 End Sub(分数:1.73)填空项 1:_ (正确答案:B.Name,B.TelNum)解析:解析 随机访问模式中文件的写操作使用 Put 命令,Put 命令是将一个记录变量的内容写入所打开的磁盘文件中指定的记录位置上;随机访问模式中文件的读操作使用 Get 命令,Get 命令是从磁盘文件将一条记录号指定的记录内容读入记录变量中。(15).在长度为 n 的有序线性表中进行二分查找,最坏的情况下,需要的比较次数为_。(分数:1.73)填空项 1:_ (正确答案:log 2n)解析:解析 对于长度为 n 的有序线性表,在最坏情况下,二分法查找只需比较 log2n 次,而顺序查找需要比较 n 次。需要注意的是当有序线表为顺序存储时才能使用二分查找。