1、二级 VISUAL+BASIC 笔试-280 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在窗体上画个名称为 Command1 的命令按钮和两个名称分别为 Text1、Text2 的文本框,然后编写如下事件过程:PrivateSubCommand1_Click()n=Text1.TextSelect Case nCase 1 To 20x=10Case 2,4,6x=20Case Is10x=30Case 10x=40End SelectText2.Text=xEnd Sub程序运行后,如果在文本眶 Text1 中输入 10,然后单击命
2、令按钮,则在 Text2 中显示的内容是 _。(分数:2.00)A.10B.20C.30D.402.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下代码:Option Base 1Private Sub Command1_Click()d=0c=10x=Array(10,12,21,32,24)For i=1 To 5If x(i)c Thend=d+x(i)c=x(i)Elsed=d-cEnd IfNext IPrint dEnd Sub程序运行后,如果单击命令按钮,则在窗体上输出的内容为 _。(分数:2.00)A.89B.99C.23D.773.以下叙述中错误的是 _。(分
3、数:2.00)A.打开个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件B.保存 Visual Basic 程序时,应分别保存窗体文件及工程文件C.Visual Basic 应用程序只能以解释方式执行D.事件可以由用户引发,也可以由系统引发4.执行语句 Open“Tel.dat“For Random As# 1 Len=50 后,对文件 Tel.dat 中的数据能够执行的操作是 _。(分数:2.00)A.只能写,不能读B.只能读,不能写C.既可以读,也可以写D.不能读,不能写5.程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是 _。(分数:2.00)A.MouseDownB.
4、MouseUpC.LoadD.Click6.以下有关数组定义的语句序列中,错误的是 _。(分数:2.00)A.Static arrl(3)arrl(1)=100arrl(2)=“Hello“arrl(3)123.45B.Dim arr2()As IntegerDim size As IntegerPrivate Sub Command2_click()size=InputBox(“输入:“)ReDimarr2(size)End SubC.Option Base1Private Sub Command3_click()Dim arr3(3)As IntegerEnd SubD.Dim n As
5、IntegerPrivate Sub Command4_Click()Dim arr4(n)As IntegerEnd Sub7.设组合框 Combol 中有 3 个项目,则以下能删除最后一项的语句是 _。(分数:2.00)A.Combol.RemoveItem TextB.Combol.RemoveItem 2C.Combol.RemoveItem 3D.Combol.RemoveItem Combol.Listcount8.以下声明语句中错误的是 _。(分数:2.00)A.Constvar1=123B.Dimvar2=ABCC.Dim intSum As IntegerD.Static v
6、ar3 As Integer9.以下叙述中错误的是 _。(分数:2.00)A.在工程资源管理器窗口中只能包含个工程文件及属于该工程的其他文件B.以.BAS 为扩展名的文件是标准模块文件C.窗体文件包含该窗体及其控件的属性D.个工程中可以含有多个标准模块文件10.在窗体上画个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_click()Dim a As Integer,s As Integera=8s=1Dos=s+aa=a-1Loop While a=0Print s;aEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容,是 _。(
7、分数:2.00)A.79B.340C.97D.死循环11.栈底至栈顶依次存放元素 A、B、C、D,在第五个元素 E 入栈前,栈中元素可以出栈,则出栈序列可能是 _。(分数:2.00)A.ABCEDB.DBCEAC.CDABED.DCBEA12.在窗体上画个名称为 Text1 的文本框,并编写如下程序:Private Sub Form_Load()ShowText1.Text=“ “Text1.SetFocusEnd SubPrivate Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)Pri
8、nt “程序设计“End SubPrivate Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)Print “Visual Basic“;End Sub程序运行后,如果按 A 键,然后单击窗体,则窗体上显示的内容是 _。(分数:2.00)A.Visual BasicB.程序设计C.A 程序设计D.Visual Basic 程序设计13.以下关于焦点的叙述中,错误的是 _。(分数:2.00)A.如果文本框的 TabStop 属性为 False,则不能接收从键盘上输入的数据B.当文本框失去焦点时,触发 LostFocus 事件C.当文本框
9、的 Enabled 属性为 False 时,其 Tab 顺序不起作用D.可以用 TabIndex 属性改变 Tab/顺序14.往窗体 Form1 上添加一个列表框控件 List1,并编写如下代码:Private Sub Form_Load()For i=0 To 6List1.AddItemiNext iEnd Sub为了在程序运行时,按住 Ctrl 键单击列表中的项目可以选中多个项目,可以设置 List1 的属性 _。(分数:2.00)A.List1.ListB.List1.ListIndexC.List1. MultiSelectD.List1.Text15.数据结构中,与所使用的计算机无
10、关的是数据的 _。(分数:2.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构16.数据处理的最小单位是 _。(分数:2.00)A.数据B.数据元素C.数据项D.数据结构17.单个用户使用的数据视图的描述称为 _。(分数:2.00)A.外模式B.概念模式C.内模式D.逻辑模式18.设 a=10,b=5,c=1,执行语句 Print abc 后,窗体上显示的是 _。(分数:2.00)A.TrueB.FalseC.1D.出错信息19.软件设计包括软件的结构、数据接口和过程设计,其中软件的过设计是指 _。(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结
11、构D.软件开发过程20.设有以下循环结构Do循环体Loop While条件则以下叙述中错误的是 _。(分数:2.00)A.若“条件”是个为 0 的常数,则一次也不执行循环体B.“条件”可以是关系表达式、逻辑表达式或常数C.循环体中可以使用 ExitDo 语句D.如果“条件”总是为 True,则不停地执行循环体21.需求分析阶段的任务是确定 _。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能22.为了避免流程图在描述程序逻辑时的灵活性,捉出了用方框图来代替传统的程序流程图,通常也把这种图称为 _。(分数:2.00)A.PAD 图B.N-S 图C.结构图D.数据
12、流图23.窗体的 MouseDown 事件过程 Form _ MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)有 4 今参数,关于这些参数,正确的描述是 _。(分数:2.00)A.通过 Button 参数判定当前按下的是哪一个鼠标键B.Shift 参数只能用来确定是否按下 Shift 键C.Shift 参数只能用来确定是否按下 Alt 和 Ctrl 键D.参数 X,Y 用来设置鼠标当前位置的坐标24.设有如下程序:Private Sub Command1_Click()Dim sum As Doub
13、le, x As Doublesum=0n=0For i=1 To 5x=n/in=n+1sum=sum+xNextEnd Sub该程序通过 For 循环计算个表达式的值,这个表达式是 _。(分数:2.00)A.1+1/2+2/3+3/4+4/5B.1+1/2+2/3+3/4C.1/2+2/3+3/4+4/5D.1+1/2+1/3+1/4+1/525.在窗体上画两个滚动条,名称分别为 Hscrolll、Hscroll2;六个标签,名称分别为 Label1、Label2、 Label3、Label4、Label5、Label6,其中标签 Label4-Label6 分别显示“A”、“B”、“A*
14、B”等文字信息,标签 Label1、Label2 分别显示其右侧的滚动条的数值,Label3 显示 A*B 的计算结果。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮“计算”时,对标签 Label1、Label2 中显示的两个值求积,并将结果显示在 Label3 中。以下不能实现上述功能的事件过程是 _。(分数:2.00)A.Private Sub Command1_Click()Label3.Caption=Str(Val(Label1.Caption)*Val(Label2.Caption)End SubB.Private Sub Command1_Click()Label3
15、.Caption=HScrolll.Value*HScroll2.ValueEnd SubC.Private Sub Commandl_click()Label3.Caption=HScrolll*HScroll2End SubD.Private Sub Command1_Click()Label3.Caption=HScrolll.Text*HScroll2.TextEnd Sub26.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()For n=1 To 20If n Mod 3Then m=m+n/3Next
16、 nPrint nEnd Sub程序运行后,如果单击命令按钮,则窗体上显示的内容是 _。(分数:2.00)A.15B.18C.21D.2427.在窗体上画个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim num As Integernum=1DO Until num6Print num;num=num+2.4LoopEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是 _。(分数:2.00)A.13.45.8B.1 3 5C.1 4 7D.无数据输出28.如果要在菜单中添加一个分隔线,则应将其 Caption
17、属性设置为 _。(分数:2.00)A.=B.*C.六个标签,名称分别为 Label1、Label2、 Label3、Label4、Label5、Label6,其中标签 Label4-Label6 分别显示“A”、“B”、“A*B”等文字信息,标签 Label1、Label2 分别显示其右侧的滚动条的数值,Label3 显示 A*B 的计算结果。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮“计算”时,对标签 Label1、Label2 中显示的两个值求积,并将结果显示在 Label3 中。以下不能实现上述功能的事件过程是 _。(分数:2.00)A.Private Sub Comm
18、and1_Click()Label3.Caption=Str(Val(Label1.Caption)*Val(Label2.Caption)End SubB.Private Sub Command1_Click()Label3.Caption=HScrolll.Value*HScroll2.ValueEnd SubC.Private Sub Commandl_click()Label3.Caption=HScrolll*HScroll2End SubD.Private Sub Command1_Click()Label3.Caption=HScrolll.Text*HScroll2.TextE
19、nd Sub 解析:评析 HScroll 控件缺省属性为 Value,即 HScrolll 与 HScrolll.Value 相等,而其属性中没有Text 属性。26.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()For n=1 To 20If n Mod 3Then m=m+n/3Next nPrint nEnd Sub程序运行后,如果单击命令按钮,则窗体上显示的内容是 _。(分数:2.00)A.15B.18C.21 D.24解析:评析 本题考查的是 For.Next 循环语句。For.Next 循环执行时,
20、先将初始值赋给循环变量,判断是否超过终值,若未超过则执行循环体,遇到 Next 语句后,循环变量增加一个步长(默认值为 1),再判断是否超过终值,若未超过则继续执行循环体,如此重复直到循环变量超过终值,退出循环。本题中的循环变量为 n,步长为 1,当 n=20 时,再执行 Next n,则 n=21,此时 n 大于终值 20,退出循环。27.在窗体上画个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim num As Integernum=1DO Until num6Print num;num=num+2.4LoopEnd
21、 Sub程序运行后,单击命令按钮,则窗体上显示的内容是 _。(分数:2.00)A.13.45.8B.1 3 5 C.1 4 7D.无数据输出解析:评析 Do Until.Loop 循环采用的是先判断循环条件后执行循环体的做法。而用 Until 关键字表示当循环条件为 False 时执行循环体,直到条件为 True 时终止循环。代码中,num 是整型数据,循环体共被执行 3 次。循环体第三次被执行后,num 的值为 7,故循环终止。28.如果要在菜单中添加一个分隔线,则应将其 Caption 属性设置为 _。(分数:2.00)A.=B.*C.&D.- 解析:评析 如果要在菜单的两个命令项之间添加
22、一个分隔线,可在标题(Caption)文本框中输入一个连字符“-”。29.下列有关数据库的描述,正确的是 _。(分数:2.00)A.数据库是一个 DBF 文件B.数据库是一个关系C.数据库是一个鲒构化的数据集合 D.数据库是一组文件解析:评析 数据库(Database,简称 DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点。30.以下能正确定义数据类型 TelBook 的代码是 _。(分数:2.00)A.Type TelBookName As String *10TelNum As In
23、tegerEnd Type B.Type TelBookName As String*10TelNum As IntegerEnd TelBookC.Type TelBookName String*10TelNum IntegerEnd Type TelBookD.TypedefTelBookNameString*10TelNum IntegerEnd Type解析:评析 用户可以利用 Type 语句定义自己的数据类型,其格式如下:Type 数据类型名数据类型元素名 As 类型名数据类型元素名 As 类型名.End Type31.在循环体中,可以使程序转让控制权,以便让操作系统处理其他的事件的
24、语句是 _。(分数:2.00)A.Exit DoB.DoEvents C.EndD.Unload解析:评析 DoEvents 的作用是转让控制权,以便让操作系统处理其他的事件。在一些循环次数较多的循环体中使用 DoEvems 可以避免程序“不响应”。32.线性表的顺序存储结构和线性表的链式存储结构分别是 _。(分数:2.00)A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构解析:评析 顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式 LOC
25、(ai)=LOC(a1)+(i-1)L 计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。33.在单链表中,增加头结点的目的是 _。(分数:2.00)A.方便运算的实现 B.使单链表至少有个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现解析:评析 头结点不仅标识了表中首结点的位置,而且根据单链表包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。34.如果个工程含有多个窗体及标准模块,则以下叙述中错误的是 _。(分数:2.00)A.如果工程中含有 Su
26、bMain 过程,则程序一定首先执行该过程 B.不能把标准模块设置为启动模块C.用 Hide 方法只是隐藏一个窗体,不自纵内存中清除该窗体D.任何时该最多只有个窗体是活动窗体解析:评析 工程中首先执行的部分可以由编程人员自己设置,并不一定要先执行 Sub Main 过程。35.以下能判断是否到达文件尾的函数是 _。(分数:2.00)A.BOFB.LOCC.LOFD.EOF 解析:评析 Visual Basic 中,LOC 函数是用来在已打开的文件中指定当前读写的位置,LOF 函数是用来返回已打开文件的长度,EOF 函数是用来判断是否到达已打开文件的尾部。二、填空题(总题数:12,分数:30.0
27、0)36.算法的基本特征是可行性、确定性、 【1】 和拥有足够的隋报。(分数:2.00)填空项 1:_ (正确答案:有穷性)解析:评析 算法是指解题方案的准确而完整的描述。它有 4 个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。37.顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。(分数:2.00)填空项 1:_ (正确答案:相邻)解析:评析 常用的存储表示方法有 4 种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。38.Jackson 结构化程序设计方法是英国的 M.Jackson 提出的,
28、它是一种面向 【3】 的设计方祛。(分数:2.00)填空项 1:_ (正确答案:数据结构)解析:评析 结构化分析方法主要包括:面向数据流的结构化分析方法(SA,Structured analysis),面向数据结构的 Jackson 方法(JSD,Jackson system development method)和面向数据结构的结构化数据系统开发方法(DSSD, Data structured system development method)。39.数据库设计分为以下 6 个设计阶段:需求分析阶段、 【4】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项
29、 1:_ (正确答案:概念设计阶段 或 数据库概念设计阶段)解析:评析 数据库设计分为以下 6 个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。40.数据库保护分为:安全性控制、 【5】 、并发性控制和数据的恢复。(分数:2.00)填空项 1:_ (正确答案:完全性控制)解析:评析 考查考生对数据库基本知识的了解。安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发
30、生;恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。41.下列表式有错误,正确的写法应该是 【6】 。(a+B) +c/80-5(d+e)(分数:2.00)填空项 1:_ (正确答案:(a+b+c)/80-5/(d+e))解析:评析 在 Visual Basic 中:“+”不是合法的运算符。括号不区分大、中、小括号,一律用小括号嵌套。除号有两个:“/”,表示一般意义的除;“/”表示整除。42.在窗体上画一个文本框和个图片框,然后编写如下两个事件过程:Private Sub Form_Click()Text1.Text=“VB 程序设计“End SubPrivate Sub Te
31、xtl Change()Picture1.Print“VB programming“End Sub程序运行后,单击窗体,则在文本框中显示的内容是 【7】 ,而在图片框中显示的内容是 【8】 。(分数:4.00)填空项 1:_ (正确答案:7VB 程序设计8 VB programming)解析:评析 文本框内容是因窗体的 Click 事件而改变,而 PictureBox 内容是因文本框内容的改变而改变的。43.控件数组的名字由 【9】 属性指定,而数组中的每个元素由 【10】 属性指定。(分数:4.00)填空项 1:_ (正确答案:9Name10Index)解析:评析 返回或设置惟一的标识控件数
32、组中一个控件的编号。仅当控件是控件数组的元素时是有效的。语法:object(number).Index。44.在窗体上画两个文本框,其名称分别为 Text1 和 Text2,然后编写如下事件过程:Private Sub Form_Load()ShowText1.Text=“ “Text2.Text=“ “Text2.SetFocusEnd SubPrivate Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)Text1. Text=Text1.Text+Chr(KeyCode-4)End Sub程序运行后,如果在 Text2 文本框
33、中输入“efghi”,则 Text1 文本框中的内容为 【11】 。(分数:2.00)填空项 1:_ (正确答案:ABCDE)解析:评析 当用户在 Text2 中输入字符的时候,会触发 Text2 事件。该事件的处理代码使得 Text1 的内容为在原内容的基础上追加一个字符。追加的字符的 ASCII 值比输入的小 4。所以当输入 efghi 的时候,输出为 ABCDE。注意不是 abode,因为 KeyCode 取的是键码,而不是 ASCII 码,小写字符的键码等于对应大写字符的 ASCII 码。45.当用 【12】 方式打开文件时,如果对文件进行写操作,则写入的数据附加到原来文件的后面。(分
34、数:2.00)填空项 1:_ (正确答案:Append)解析:评析 打开文件的语句为:Open pathname For modeAccess accesslockAs #filenumber Len=reclength注:mode 必要。关键字,指定文件方式,有 Append(追加)、Binary、Input、Output 或 Random 方式。如果未指定方式,则以 Random 访问方式打开文件。其中 Append 方式的意思是“追加”。46.以下 Prime 过程,用于判断一个数是否为素数。素数是只能被 1 和数本身整除的自然数。一个自然数不是素数,就是合数。用被测试的数除以从 2 开
35、始到该数本身的数,如果能除尽(余数为 0),则为合数;如果都除不尽(余数均不为 0),则为素数。请在划线处将下面过程补充完整:Function Prime(inputvar As Integer)As IntegerFor i=2 To inputvar-1If inputvar Mod i= 【13】 ThenGo To comfinishEnd IfNext iPrime=inputvarPrint“素数“Go To 【14】 comfinish:Prime=inputvarPrint“合数“finish:End Function(分数:4.00)填空项 1:_ (正确答案:13014fi
36、nish)解析:评析 空 1:当输入的数 inputvar 除以从 2 开始的数为何值时,能确定该数为合数。显示,如果都能除尽,则为合数,故此处应当填入 0。空 2:程序已做完素数或合数的判断,应当转向结束分支 finish。47.在窗体上画个命令按钮,其名称为 Command1,然后编写如下程序:Function M(x As Integer ,y As Integer)M=IIf(xy,x,y)End FunctionPrivate Sub Command1_Click()Dim a As Integer,b As Integera=100b=200Print M(a,B) End Sub程序运行后,单击命令按钮,输出结果为 【15】 。(分数:2.00)填空项 1:_ (正确答案:200)解析:评析 该题主要考察自定义函数调用和 IIf 函数的使用。IIf 函数格式为 IIf(expr,truepart,falsepart)根据表达式的值,来返回两部分中的其中一个。题目中调用 M()时,xy 所以返回值为 y,即 200。