1、二级 VISUAL+BASIC-22-1 及答案解析(总分:83.01,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:62.00)1.编写如下事件过程:Private Sub Form_ MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)If Shift = 6 And Button = 2 ThenPrint “Hello”End IfEnd Sub程序运行后,为了在窗体上输出“Hello”,应在窗体上执行以下_ 操作。 A. 同时按下 Shift 键和鼠标左按钮 B. 同时按下 S
2、hift 键和鼠标右按钮 C. 同时按下 Ctrl、Alt 键和鼠标左按钮 D. 同时按下 Ctrl、Alt 键和鼠标右按钮(分数:2.00)A.B.C.D.2.数据库技术的根本目标是要解决数据的U /U。 A. 存储问题 B. 共享问题 C. 安全问题 D. 保护问题(分数:2.00)A.B.C.D.3.下列语句中,获得列表框 List1 中项目个数的语句是 A. x=List1.ListCount B. x=ListCount C. x=List1.Listlndex D. x=Listlndex(分数:2.00)A.B.C.D.4.一个关系中属性个数为 l 时,称此关系为 A. 对应关系
3、 B. 单一关系 C. 一元关系 D. 二元关系(分数:2.00)A.B.C.D.5.以下叙述中错误的是 A. Visual Basic 是事件驱动型可视化编程工具 B. Visual Basic 应用程序不具有明显的开始和结束语句 C. Visual Basic 工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 D. Visual Basic 中控件的某些属性只能在运行时设置(分数:2.00)A.B.C.D.6.以下关于局部变量的叙述中错误的是U /U。 A. 在过程中用 Dim 语句或 Static 语句声明的变量是局部变量 B. 局部变量的作用域是它所在的过程 C.
4、在过程中用 Static 语句声明的变量是静态局部变量 D. 过程执行完毕,该过程中用 Dim 或 Static 语句声明的变量即被释放(分数:2.00)A.B.C.D.7.设 a=5,b=6,c=7,d=8,执行下列语句后,x 的值为X=IIF(ab) And (cd),10,20) A.10 B.20 C.True D.False(分数:2.00)A.B.C.D.8.假定建立了一个名为 Command1 的命令按钮数组,则下列说法中错误的是U /U。 A.数组中每个命令按钮的名称(名称属性)均为 Command1 B.数组中每个命令按钮的标题(Caption 属性)都一样 C.数组中所有命
5、令按钮可以使用同一个事件过程 D.用名称 Command1(下标)可以访问数组中的每个命令按钮(分数:2.00)A.B.C.D.9.运行下面的程序后,输出的结果为ClsDim t(5,5)as IntegerFor i=1 To 5:t(i,i)=1:NextFor i=1 To 5For j=1 To 5Print t(i,j),NextPrintNext A. 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B. 1 1 1 1 1 C. 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
6、D. 1 1 1 1 1(分数:2.00)A.B.C.D.10.在窗体上画一个名称为 Command1 的命令按钮和两个名称分别为 Text1、Text2 的文本框,然后编写如下事件过程:Private SubCommand1_Click()n=Text1.TextSelect Case nCase 1 To 20x=10Case 2,4,6x=20Case Is10x=30Case 10x=40End SelectText2.Text = xEnd Sub程序运行后,如果在文本框 Text1 中输入 10,然后单击命令按钮,则在 Text2 中显示的 _。 A. 10 B. 20 C. 30
7、 D.40(分数:1.00)A.B.C.D.11.执行以下语句后显示结果为 _。Dim X As IntegerIf x Then Print X Else Print x-1 A. 1 B. 0 C. -1 D. 不确定(分数:1.00)A.B.C.D.12.有程序代码如下:Form2caption=“Help“这里 Form2、Caption 和 Help 分别代表U /U。 A. 对象、值、属性 B. 值、属性、对象 C. 对象、属性、值 D. 属性、对象、值(分数:1.00)A.B.C.D.13.代数式 x1-lal+ln10+sin(x2+2)/cos(57)对应的 Visual B
8、asic 表达式是U /U。 A.X1-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57*3.14/180) B.X1-Abs(A)+Log(10)+Sin(X2+2*)/Cos(57*3.14/180) C.X1-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57) D.X1-Abs(A)+Log(10)+Sin(X2+2*)/Cos(57)(分数:2.00)A.B.C.D.14.当执行以下过程时,在名为 lblResult 的标签框内将显示_。Private Sub Command1_ Click()Dim I, RR = 0for I = 1
9、 To 5 step 1R= R+ INext IlblResult. Caption = Str(R)End Sub A. 字符串 15 B. 整数 15 C. 字符串 5 D. 整数 5(分数:2.00)A.B.C.D.15.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为U /U。 A. 并运算 B. 交运算 C. 差运算 D. 积运算(分数:2.00)A.B.C.D.16.在面向对象方法中,具有相似属性与操作的一组对象称为_。 A. 类 B. 实例 C. 消息 D. 数据(分数:2.00)A.B.C.D.17.下列程序段的结果
10、为A=“ABBACDDCBA“Fori=6 To 2 Step-2X=Mid(A,i,i)Y=Left(A,i)Z=Right(A,i)Z=X Min End Sub(分数:1.89)填空项 1:_(4).在堆排序和快速排序中,若只从最坏情况下排序最快并且要节省内存考虑,则应选择U U /U /U。(分数:1.89)填空项 1:_(5).文件根据数据性质,可分为U U /U /U文件和U U /U /U文件。(分数:1.89)填空项 1:_(6).一般地,二叉树可以有_种基本形态,(分数:1.89)填空项 1:_(7).在单链表中,NULL 称为_,它不指向任何节点,只起_作用。(分数:1.8
11、9)填空项 1:_(8).在 Select case 结构中,使用“To 表达式”来指定一个范围时,必须把U U /U /U的值写在前面。(分数:1.89)填空项 1:_(9).表达式 Asc(“A”)当 i=2 时,X(i)=4,d=d-c=-12;当 i=3 时,X(i)=6,d=d-c=-18;当 i=4 时,X(i)=8,d=d+X(i)=-10,c=8;当 i=5 时,X(i)=-10,d=d+X(i)=0,c=10;当 i=6时,X(i)=12,d=d+X(i)=12,c=12。27.公司中有多个部分和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类
12、型是 A. 多对多 B. 一对一 C. 多对一 D. 一对多 (分数:1.00)A.B.C. D.解析:解析:现实世界中事物之间的联系在信息世界中反映为实体集之间的联系,实体集间的联系个数不仅可以是单个的也可以是多个的,这种关系可以有下面几种对应:一对一、一对多(多对一)多对多。两个实体集间的联系可以用下图表示: *28.在窗体上画一个名称为 Commandl 的命令按钮,一个名称为 Labell 的标签,然后编写如下事件过程:Private Sub Commandl_Click()S=0Fori=1 To 15x=2*i-1If x Mod3=0 Thens=S+1NextiLabe11.C
13、aption=SEnd Sub程序运行后,单击命令按钮,则标签中显示的内容是U /U。 A.1 B.5 C.27 D.45(分数:2.00)A.B. C.D.解析:29.在数据管理技术发展的三个阶段中,数据共享最好的是_。 A.人工管理阶段 B.文件系统阶段 C.数据库系统阶段 D.三个阶段相同(分数:1.00)A.B.C. D.解析:解析 数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择 C。30.在窗体上画一个名称为 TxtA 的文本框,然后编写如下
14、的事件过程:Private Sub TxtA_KeyPress(keyaseii as integer)End Sub若焦点位于文本框中,则能够触发 KeyPress 事件的操作是 A.单击鼠标 B.双击文本框 C.鼠标滑过文稿本框 D.按下键盘上的某个键(分数:1.00)A.B.C.D. 解析:解析 只要按下键盘上的任何键,都可以触发 KeyPress 事件。故选择 D 项。 A 项触发的事件为MouseDown 或 MouseUp,B 项触发文本框的 DblClick 事件,而 C 触发了文本框的 MouseMove 事件。31.关于自定义数据类型,下面叙述中不正确的是U /U。 A. 自
15、定义数据类型必须在窗体模块或标准模块的通用声明段进行声明 B. 在窗体模块中定义自定义数据类型时必须使用 Private 关键字 C. 自定义数据类型只能在窗体模块的通用声明段进行声明 D. 自定义数据类型中的元素的数据类型可以是系统提供的基本数据类型或已声明的自定义数据类型(分数:2.00)A.B.C. D.解析:解析 本题考查自定义数据类型。Type 语句用于定义自定义数据类型,可以声明在窗体的通用部分或者标准模块中,窗体自定义必须说明为 Private 属性。自定义数据类型含有一个或一个以上的成员,每个成员可以被定义为不同的已经存在的数据类型。32.当窗体为“模态型”(强制响应方式)时,
16、窗体的模式值为 _。 A.VbModaless 或者 0 B.VbModal 或者 0 C.VbModaless 或者 1 D.VbModal 或者 1(分数:3.00)A.B.C.D. 解析:解析 参数“模式”的取值可以是 VbModal(或者 1),VbModaless(或者 0)。前者表示窗体为“模态型”,鼠标只在该窗体内起作用,在关闭该窗体之前不能激活其他窗体。后者表示窗体是“非模态型”窗体,允许在不关闭该窗体的同时操作其他窗体。33.在窗体有一个水平滚动条名为 Hscrolll,其属性设置如下:LargeCh8nge=15, SmallChange=3, Max=100,Min=20
17、,Value=45现单击该滚动条向右的箭头,Value 的值将变为 _。 A.45 B.60 C.48 D.100(分数:3.00)A.B.C. D.解析:解析 ListCount 的值表示列表框中项目的数量。ListCount-1 表示列表中最后一项的序号。34.在关系数据库中,用来表示实体之间联系的是 _。 A. 树结构 B. 网结构 C. 线性表 D. 二维表 (分数:1.00)A.B.C.D. 解析:解析 在关系数据库中,用二维表来表示实体之间联系。35.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于 A.定义阶段 B.开发阶段 C.维护阶段 D.上述三个阶段(分数:2.
18、00)A.B. C.D.解析:解析 软件定义阶段的基本任务是确定软件系统的工程需要,分为软件系统的可行性研究和项目需求分析。软件开发阶段包括概要设计、详细设计、实现、组装测试和确认测试 5 个阶段。维护阶段主要是软件的使用、系统维护和系统更新换代。二、B填空题/B(总题数:2,分数:21.00)设有如下程序:Private Sub Form_Click()Dim a As Integer,s As Integern=8s=0Dos=s+nn=n-1Loop While n0Print sEnd Sub以上程序的功能是U U 5 /U /U。程序运行后,单击窗体,输出结果是U U 6 /U /U
19、。(分数:4.00)填空项 1:_ (正确答案:求数字 1 至 8 之和)解析:填空项 1:_ (正确答案:36)解析:解析 本题主要利用 Do Loop 循环语句求 1 至 8 之和,最终赋值给 s。所以最终和为 36。执行下面程序,第一行输出结果是U U 7 /U /U,第二行输出结果是U U 8 /U /U。Option ExplicitPrivate Sub Form_Click()Dim A As IntegerA=2Call Subl(A)End SubPrivate Subl(x As Integer)x=x*2+1If x10 ThenCall Subl(x)End Ifx=x
20、*2+1Print xEnd Sub(分数:17.01)填空项 1:_ (正确答案:23)解析:填空项 1:_ (正确答案:47)解析:解析 递归是一种十分有用的程序设计技术。递归过程是在过程定义中调用(或间接调用)本过程的过程。递归过程的关键部分就是要子过程函数 Sub1()被调用了多少次。当 x=2 时调用了第一次,当 x=5时调用了第二次,当 x=11 时不再调用,退出之前分别按 x=23 和 x=47 输出。(3).设有如下程序,查找并输出该数组中的最小值,请在空白处填上合适的代码,将程序补充完整。 Option Base 1 Private Sub Command1_Click()
21、Dim arr1 Dim Min As Integer,i AS Integer arr1=Array(12,435,76,-24,78,54,866,43) Min=arr1(1) For i=2 To 8 If arr1(i)Min Then_ Next i Print “最小值是:“; Min End Sub(分数:1.89)填空项 1:_ (正确答案:Min=arrl(i))解析:解析 题目要求输出数组中的最小值,分析程序可知,本程序求数组最小值的算法是,假设最小的值是第一个数组元素,并把它存在 Min 变量中,然后从数组的第二个元素开始逐个与 Min 变量对比,如果有比 Min 更小
22、的数,则赋值给 Min,这样对比到数组最后一个元素时,就能找到最小的元素,且它存储在 Min 变量中,因此最后只要输出 Min 变量值即可。(4).在堆排序和快速排序中,若只从最坏情况下排序最快并且要节省内存考虑,则应选择U U /U /U。(分数:1.89)填空项 1:_ (正确答案:堆排序)解析:(5).文件根据数据性质,可分为U U /U /U文件和U U /U /U文件。(分数:1.89)填空项 1:_ (正确答案:12程序 13数据)解析:解析 如果一个文件内存放的是程序数据,则该文件是程序文件。否则该文件内存放的就是供其他程序使用的数据,也就是数据文件。(6).一般地,二叉树可以有
23、_种基本形态,(分数:1.89)填空项 1:_ (正确答案:5)解析:(7).在单链表中,NULL 称为_,它不指向任何节点,只起_作用。(分数:1.89)填空项 1:_ (正确答案:空指针;标志)解析:(8).在 Select case 结构中,使用“To 表达式”来指定一个范围时,必须把U U /U /U的值写在前面。(分数:1.89)填空项 1:_ (正确答案:较小)解析:(9).表达式 Asc(“A”)&Chr(65)的值为U U /U /U。(分数:1.89)填空项 1:_ (正确答案:65A)解析:解析 函数 Asc 的含义是将字符转换成 ASCII 代码,故表达式 Asc(“A”)的值为 65,函数 Chr的含义是将 ASCII 代码转换成字符,故表达式 Chr(“65”)的值为 A,然后再将两个表达式的值相连接即为表达式 Ase(“A”)&Chr (“65”)的值 65A。