1、二级 VISUAL+BASIC-14-2 及答案解析(总分:67.00,做题时间:90 分钟)一、选择题(总题数:25,分数:42.00)1.下述语句的运行结果是_。 Dim a i=0 a=Array (1, -2, 9, 0, -1, 9) Do K=a(i) For m=10 To k Step-2 n=k+m Next m Print n+m i=i+1 Loop While Abs(m+n)27(分数:2.00)A.3-8 27B.3 27 -8C.-8 27 3D.-8 3 272.若在窗体模块的声明部分声明了如下自定义类型和数组 Private Type Tem Score As
2、 Integer StrName As String End Type Dim Student(5)As Tem 则下面的输出语句中正确的是 _ 。(分数:2.00)A.Print Student.Score(2),Student.StrName(2)B.Print Student.Score,Student.StrNameC.Print Student(2).Score,Student(2).StrNameD.Print Score(2),StrName(2)3.下列控件属性中,属性值的类型不相同的一项是 _ 。(分数:2.00)A.Label 控件的 Enabled 属性与 TextBox
3、 控件的 Enabled 属性B.OptionButton 控件的 Value 属性与 CheckBox 控件的 Value 属性C.Commond 控件的 Default 属性与 Command 控件的 Cancel 属性D.Command 控件的 Visiblc 属性与 Form 控件的 Visible 属性4.下列程序段的执行结果为 a=5 For k=1 To 0 a=a * k Next k Print k;a(分数:1.00)A.-1 6B.-1 16C.1 5D.11 215.算法的空间复杂度是指 _。(分数:1.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的
4、存储空间D.算法执行过程中所需要的存储空间6.在窗体上画一个文本框,其名称为 Text1。为了在程序运行后 Text1 中的文本不可编辑,应当使用的语句是_。(分数:2.00)A.Text1.ClearB.Text1.Locked=TrueC.Text1.Visible=FalseD.Text1.Enabled=True7.关系表中的每一横行称为一个(分数:2.00)A.元组B.字段C.属性D码8.设 x=4,y=6,则以下不能在窗体上显示出“A=10”的语句是(分数:2.00)A.Print A=x+yB.Print “A=“; x+yC.Print “A=“+Str(x+y)D.Print
5、 “A=“ x+yC.Print “A=“+Str(x+y)D.Print “A=“ & x+y解析:解析 选项 A 打印的是 A 和 x+y 的比较结果,它的值是布尔值(True 或 False)。9.以下关于窗体的叙述中错误的是_。(分数:1.00)A.窗体的 Hide 方法将窗体隐藏并卸载 B.窗体的 Show 方法可以将窗体装入内存并显示该窗体C.若工程中包含多个窗体,则可指定一个为启动窗体D.窗体的 Load 事件在加载窗体时发生解析:解析 窗体的 Hide 方法只是将窗体隐藏,并不卸载窗体。故 A 选项错误,其他选项都正确。10.以下关于 VB 文件的叙述中,正确的是(分数:2.5
6、0)A.标准模块文件的扩展名是.frmB.VB 应用程序可以被编译为.exe 文件 C.一个工程文件只能含有一个标准模块文件D.类模块文件的扩展名为.bas解析:解析 在 VB 中主要有标准模块、类模块和窗体模块 3 种模块。一个工程中可以有多个模块文件,其中窗体文件的扩展名为 frm,标准模块文件扩展名为 bas,类模块文件扩展名为 cls。11.在窗体上画一个名称为 TxtA 的文本框,然后编写如下的事件过程: Private Sub TxtA_KeyPress(keyaseii as integer) End Sub 若焦点位于文本框中,则能够触发 KeyPress 事件的操作是(分数:
7、1.00)A.单击鼠标B.双击文本框C.鼠标滑过文稿本框D.按下键盘上的某个键 解析:解析 只要按下键盘上的任何键,都可以触发 KeyPress 事件。故选择 D 项。 A 项触发的事件为MouseDown 或 MouseUp,B 项触发文本框的 DblClick 事件,而 C 触发了文本框的 MouseMove 事件。12.在 VB 集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是_。 A B C D (分数:3.00)A.B.C.D. 解析:解析 无法重复, 运行, 添加标准 EXE 工程,13.下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个
8、数的是(分数:1.00)A.选择B.连接 C.投影D并解析:解析 本题考查了专门的关系运算的类型及其相关知识点。 关系代数中包括传统的集合运算和专门的关系运算。经过选择或投影运算得到的新关系的属性个数最多不会超过原关系中的属性个数。经过连接运算得到的新关系最多不少于原关系中属性的个数。14.下列叙述中正确的是_。(分数:1.00)A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:解析 程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。15.在滚动条的滑块移动时,
9、Scroll 事件连续返回_属性的数值。(分数:2.00)A.MoveB.ChangeC.ScrollD.Value 解析:解析 在滚动条的滑块移动时,Scrol1 事件连续返回 Value 属性的数值。如果在滚动条内拖动滚动框会触发 Scrol1 事件,单击滚动箭头或滚动条时只能改变滚动框的位置(不发生 Scrol1 事件)。滚动框的位置改变后会触发 Change 事件,即 Scrol1 事件用于跟踪滚动条中的动态变化,Change 事件用来得到滚动条最后的值。16.如果过程的首行是:Private Sub proc(x As Control),则调用此过程时使用的实际参数应该是_。(分数:
10、2.50)A.变体型变量,变量名必须是 xB.某个控件的名称 C.名称为 x 的控件D.字符型变量,变量名不限解析:解析 控件参数即将形参表中的类型定义为“Control”的参数。在一个通用过程中设置相同性质控件所需要的属性,然后用不同的控件来调用此过程。过程 proc 中接收的参数是某个控件的名称,故选项 B 正确。17.下面不属于软件设计原则的是(分数:2.00)A.抽象B.模块化C.自底向上 D.信息隐蔽解析:解析 软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有关的概念,它们具有抽象、模块化、信息隐蔽和数据独立性。自底向上是集成测试中增量测
11、试的一种。18.下面语句正确的是(分数:1.00)A.If x3 * y And xy Then yx3 B.If x3 * y And xy Then yx3C.If x3 * y:xy Then yx3D.If x3 * y And xy Then y=x* *3解析:解析 本题是对条件语句结构的考查。条件语句可以分为三种类型。如下: If Then 结构 If Then Else 结构 Select Case 结构 而 If Then 结构有两种格式: If 条件 Then 语句 If 条件 Then 语句块 End If19.面向数据流的设计方法把_映射成软件结构。(分数:1.00)A
12、.数据流图 B.系统结构图C.控制结构图D.变换流图解析:20.如果一个变量未经定义就直接使用,则该变量的类型为(分数:2.00)A.IntegerB.ByteC.BooleanD.Variant 解析:解析 在 Visual Basic 中,系统提供了多种数据类型,有字符串类型、数值型、货币型、布尔型和日期型等。此外还有一种变体类型 Variant,它是一种特殊的数据类型,Variant 变量中可以存放任何类型的数据,如数值、文本字符串、日期和时间等,向 Variant 变量赋值时不必进行任何转换,系统将自动进行必要的转换。如果变量未经定义就直接使用,则该变量为 Variant 类型。21.
13、有如下程序: Private Sub Commandl_Click( ) a$=“A WORKER IS HERE“ x=Len(a$) For i=1,To x-1 b$=Mid$(a$,i,3) If b$=“WOR“ Then S=S+1 Next Print S End Sub 单击命令按钮,程序运行结果为(分数:1.00)A.1 B.2C.3D.5解析:解析:此题考查了字符串函数与循环语句的嵌套使用,s 用来记录找到指定字符串的次数,在“A WORKER IS HERE”中,只出现一次,所以返回值是 1。22.符号%是声明 _ 类型变量的类型定义符。(分数:2.00)A.Intege
14、r B.VariantC.SingleD.String解析:解析 Integer 数据类型 Integer 变量存储为 16 位(2 个字节)的数值形式,其范围为-32,76832,767 之间。Integer 的类型声明字符是百分比符号(%)。23.如果准备读文件,打开顺序文件“text.dat“的正确语句是(分数:2.00)A.Open “text.dat“ For Write As#1B.Open “text.dar“ For Binary As#1C.Open “text.dat“ For Input As#1 D.Open “text.dat“ For Random As#1解析:解
15、析 顺序文件的读操作由 Input 语句来实现。24.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下程序: Private Sub Command1 Click() Dim i As Integer,j As Integer Dim a(10,10)As Integer For i=1 To 3 For j1 To 3 a(i,j)(i-1)*3+j Print a(i,j); Next j Print Next i End Sub 程序运行后,单击命令按钮,窗体上显示的是_。(分数:1.00)A.1 2 32 4 63 6 9B.2 3 43 4 54 5 6C.1 4 7
16、2 5 83 6 9D.1 2 34 5 67 8 9 解析:解析 程序共有两层循环,每执行完一次内循环,则打印换行,当外层循环执行第一次时,a(i,j)(i-1)*3+j 相当于 a(1,j)j,由此判断选项 A,D 可能正确,当外层循环执行第二次时,a(i,j)(i-1)*3+j,相当于 a(2,j)3+j,由此可判断选项 D 为正确答案。25.数据库的安全性是指保护数据库,以防止不合法的使用而造成的数据泄露、更改或破坏,下列的措施中,_不属于实现安全性的措施。(分数:2.00)A.数据备份 B.授权规则C.数据加密D.用户标识和鉴别解析:解析 数据库安全性控制的常用方法;用户标识和鉴别;
17、存取控制(印授权规则);视图;审计;数据加密。数据备份属于数据恢复范畴,不是实现数据安全性的措施。二、填空题(总题数:14,分数:25.00)26.如果要在单击命令按钮时执行一段代码,则应将这段代码写在 _ 1_ 事件过程中。 (分数:2.00)解析:click解析 单击命令按钮,触发 click 事件。27.下列程序段的作用是控制窗体的显示与隐藏。请填空。 Private Sub Form_Click() Dim msg As Integer Me. _ 1_ MsgBox “单击 Ok 显示窗体“ Form1. _ 2_ End Sub 解析:Hide Show解析 隐藏窗体但不从内存中清
18、除窗体的方法是 Hide。显示窗体的方法是 Show。28.在关系模型中,把数据看成是二维表,每一个二维表称为一个 1。 (分数:2.00)解析:关系解析 在关系模型中,数据被看成二维表,每一个二维表称为一个关系。29.使用 FileListBox,如果不显示只读文件,需要设置 1 属性。 (分数:2.00)解析:ReadOnly30.为了把寻个 Visual BASIC 应用程序装入内存,只要装入 _ 1_ 文件即可。 (分数:1.00)解析:工程或.vbp解析 Visual Basic 总是以 ASCII 格式保存工程文件(.vbp)。工程文件包含了反映工程的设置的项目(包括工程中的窗体和
19、模块、引用、以及为控制编译而选取的各种各样的选项,等等)。当工程文件被装入内存的时候,所有相关的应用程序的信息也就都被装入了内存。31.软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和 _ 1_ 的设计来实现。 (分数:1.00)解析:测试实例解析 进行软件测试时,应精心设计测试实例和选择测试数据,以对系统进行全面测试。32.在窗体上画一个名为 Command1 的命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim i As Integer Sum=0 n=InputBox(“Enter a number“) n=V
20、al(n) For i=1 To n Sum= _ 1_ Next i Print Sum End Sub Function fun(t As Integer) As Long p=1 For i=1 To t p=p*i Next i _ 2_ End Function 以上程序的功能是,计算 1!+2!+3!+n!,其中 n 从键盘输入,请填空。 (分数:4.00)解析:Sum+fun(i) fun=p33.在窗体上面有一个列表,然后编写如下两个事件过程: Private Sub Form_Click() List1.RemoveItem 1:List1.RemoveItem2 List1
21、.RemoveItem 3 End Sub Private Sub Form_Loab() List1.AddItem “ItemA “:List1.AddItem “Item B“ List1.AddItem“Item C“:List1.AddItem “ItemD“ List1.AddItem “ItemE“ End Sub 运行上面的程序,然后单击窗体,列表框中显示的项目是 _ 1_ 。 (分数:1.00)解析:List1.AddItem“ItemA“ List.AddItem “ItemC“ 解析 在列表框中删除项目时,“索引值”可以指定插入项在列表框中的位置,表中的项目从。开始计数,
22、则题目中是删除第 2,3,4 项,列表框中显示的项目是“ItemA“和“ItemE“。34.栈的 3 种基本运算是:入栈、退栈和 1。 (分数:2.00)解析:读栈顶元素解析 栈的基本运算有 3 种:入栈、退栈和读栈顶元素。其中,入栈是指在栈顶插入一个新的元素;退栈是指取出栈顶元素并赋值给一个变量;读栈顶元素是将栈顶元素赋值给一个指定的变量,不删除栈顶元素。35.执行以下语句后,输出结果为 1。 s$=“ABCDEFG“ Print InStr(s$,“efg“) Print LCase$(s$) (分数:2.00)解析:0CRabcdefg解析 本题考查了字符串函数的应用。InStr 函数是
23、字符串匹配函数,它的格式为:InSb首字符位置,字符串 1,字符串 2,n)。它的功能是在字符串 1 中查找字符串 2,如果找到了,则返回字符串 2 的第一个字符在字符串 1 中的位置。注意:字符串的第一个字符的位置为 1。36.表达式 Len(Str(1.3)Mod 2 的值为 1。 (分数:2.00)解析:0 解析 解本题之窍门有两点:运算的先后顺序,这里应该是 Str 函数Len 函数Mod(取模)计算;Str 函数和 Len 函数的功能,前者是将数字转为字符串,注意转换后数字前头会保留一空位表示正负。 表达式 Len(Str(1.3)Mod 2 中 1.3 转换后为“-1.3”(“-”
24、表示空格)。Len 函数用来计算字符串的长度,“-1.3”长度为 4(空格、小数点各算一个长度)。37.下列语句的输出结果为 _ 1_ 。 Print Format$(10009.36,“000,000.000“) (分数:1.00)解析:010,009,360解析 用 Format$()函数可以将数值按“格式字符串”指定的格式输出,包括在输出字符串前面加$,字符串后面补 0 及千位分隔符等。“格式字符串”是一个常量或变量,它由专门的格式说明符组成,由这些字符决定数据项的显示格式,并指定显示区域的长度,当格式字符串为常量时,必须放在双引号中,格式说明符及作用见下表:38.在 Visual Ba
25、sic 的中断模式下,要想“逐语句”调试程序,可按 1 键;要想“逐过程”调试程序,可按 2 键。 (分数:1.00)解析:F8 ShinF8执行下面程序,第一行输出结果是 14 ,第二行输出结果是 15 。 Option Explicit Private Sub Form_Click() Dim A As Integer A=2 Call Subl(A) End Sub Private Subl(x As Integer) x=x*2+1 If x10 Then Call Subl(x) End If x=x*2+1 Print x End Sub(分数:4.00)解析:23解析:47解析 递归是一种十分有用的程序设计技术。递归过程是在过程定义中调用(或间接调用)本过程的过程。递归过程的关键部分就是要子过程函数 Sub1()被调用了多少次。当 x=2 时调用了第一次,当x=5 时调用了第二次,当 x=11 时不再调用,退出之前分别按 x=23 和 x=47 输出。