1、全国计算机等级考试二级 VISUAL+BASIC 真题 2005 年 4 月及答案解析(总分:92.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.数据的存储结构是指_。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示2.下列关于栈的描述中错误的是_。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针3.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是_。(分数:2.00)A.
2、冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/24.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。(分数:2.00)A.log2nB.n/2C.nD.n+15.下列对于线性链表的描述中正确的是_。(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的6.下列对于软件测试的描述中正确的是_。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的
3、目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则7.为了使模块尽可能独立,要求_。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强8.下列描述中正确的是_。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合9.数据独立性是数据库技术的重要特点之一。所谓数据独
4、立性是指_。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对10.用树形结构表示实体之间联系的模型是_。(分数:2.00)A.关系模型B.网状模型C.层次模型D.以上三个都是11.在窗体(名称为 Forml)上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是_。(分数:2.00)A.Private Sub Text1_Change() Comm
5、andCaption=“计算机等级考试“ End SubB.Private Sub Commandl_Click() Caption=”计算机等级考试” End SubC.Private Sub Forml_Click() Text1.Caption=“计算机等级考试“ End SubD.PrivateSubCommandl Ulick() Text1.Text=“计算机等级考试“ End Sub12.设 a=5,b=4,c=3,d=2 下列表达式的值是 32*b Or a=c And bC Or cd(分数:2.00)A.1B.TrueC.FalseD.213.设 a=“Microsoft
6、Visual Basic“,则以下使变量 b 的值为“Visual Basic”的语句是(分数:2.00)A.b=Left(a,10)B.b=Mid(a,10)C.b=Right(a,10)D.b=Mid(a,11,10)14.假定有如下的窗体事件过程: Private Sub Form_Click() a$=“Microsoft Visual Basic“ b$=Right(a$,5) c$=Mid(a$,1,9) MsgBoxa$,34,b$,c$,5 End Sub 程序运行后,单击窗体,则在弹出的信息框的标题栏中显示的信息是_。(分数:2.00)A.Microsoft VisualB.
7、MicrosoftC.BasicD.515.设 a=“a“,b=“b“,c=“c“,d=“d“,执行语句 x=IIf(aB) Or(cD) ,“A“,“B“)后,x 的值为_。(分数:2.00)A.“a“B.“b“C.“B“D.“A“16.为了使命令按钮(名称为 Commandl)右移 200,应使用的语句是_。(分数:2.00)A.CommandMove-200B.CommandMove200C.CommandLeft=CommandLeft+200D.CommandLeft=CommandLeft-20017.在窗体上画一个文本框,然后编写如下事件过程: Private Sub Form_
8、Click() x=InputBox(“请输入一个整数“) Print x+Text1.Text End Sub 程序运行时,在文本框中输入 456,然后单击窗体,在输入对话框中输入 123,单击“确定”按钮后,在窗体上显示的内容为_。(分数:2.00)A.123B.456C.479D.12345618.在窗体上画一个文本框和一个计时器控件,名称分别为 Text1 和 Timerl,在属性窗口中把计时器的Interval 属性设置为 1000,Enabled 属性设置为 False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序: Privat
9、e Sub Commandl_Click() Timerl._ End Sub Private Sub Timerl_Timer() Text1.Text=Time End Sub 在下划线处应填入的内容是_。(分数:2.00)A.Enabled=TrueB.Enabled=FalseC.Visible=TrueD.Visible=False19.假定在图片框 Picturel 中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是_。(分数:2.00)A.选择图片框,然后按 Del 键B.执行语句 PicturePicture=LoadPicture(“)C.执行语句 Pict
10、urePicture=“D.选择图片框,在属性窗口中选择 Picture 属性条,然后按回车键20.在窗体上画一个名称为 Listl 酌列表框,一个名称为 Labell 的标签,列表框中显示若干个项目。当单击列表框中的某个项目时,在标签中显示被选中项目的名称。下列能正确实现上述操作的程序是:_。(分数:2.00)A.Private Sub Listl_Click() LabelCaption=ListListIndex End SubB.Private Sub Listl_Click() LabelName=ListListIndex End SubC.Private Sub Listl_cl
11、ick() LabelName=ListText End SubD.Private Sub Listl_Click() LabelCaption=ListText End Sub21.在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程: Private Sub Commandl_click() Dim i As Integer,X As Integer For i=1 To 6 If i=1 Then x=i If i=4 Then x=x+1 Else x=x+2 End If Next i Print x End Sub 程序运行后,单击命令按钮,其输出结果为_。(分
12、数:2.00)A.9B.6C.12D.1522.在窗体上画一个名称为 Commandl 命令按钮,然后编写如下事件过程: Private Sub Commandl_click() c=“ABCD“ For n=1 To 4 Print_ Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容 D CD BCD ABCD 则在_处填入的内容为。(分数:2.00)A.Left(c,B.Right(c,C.Mid(c,n,1)D.Mid(c,n,23.执行以下程序段 Dim i As Integer,X As Integer x=0 For i=20 To 1 Step -2
13、x=x+i/5 Next Print x 后,x 的值为_。(分数:2.00)A.16B.17C.18D.1924.在 Visual Basic32 程中,可以作为“启动对象”的程序是_。(分数:2.00)A.任何窗体或标准模块B.任何窗体或过程C.SubMain 过程或其他任何模块D.Sub Main 过程或任何窗体25.假定建立了一个名为 Commandl 的命令按钮数组,则以下说法中错误的是_。(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 CommandlB.数组中每个命令按钮的标题(Caption 属性)都一样C.数组中所有命令按钮可以使用同一个事件过程D.用名
14、称 Commandl(下标)可以访问数组中的每个命令按钮26.把窗体的 KeyPreview 属性设置为 Tree,然后编写如下事件过程 Private Sub Form_KeyPress(KeyAscii As Integer) Dim ch As String ch=Chr(KeyAscii) KeyAscii=Asc(UCase(ch) Print Chr(KeyAscii+2) End Sub 程序运行后,按键盘上的“A”键,则在窗体上显示的内容是_。(分数:2.00)A.AB.BC.CD.D27.在窗体上画一个命令按钮和一个文本框,名称分别为 Commandl 和 Text1,然后编
15、写如下程序: Private Sub Commandl_click() a=InputBox(“请输入日期(131)”) t=“旅游景点:“ Min End Sub 以上程序的功能是:用Array 函数建立一个含有 8 个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。(分数:2.00)填空项 1:_46.在名称为 Forml 的窗体上画一个文本框,其名称为 Text1,在属性窗口中把该文本框的 MultiLine 属性设置为 True,然后编写如下的事件过程: Private Sub Form Click() Open“d:/test/smText1.txt“For Input A
16、s #1 Do While NotU 【14】 /U Line Input #1,aspect$ whole$=whole$+aspect$+Chr$(13)+Chr$(10) Loop Text1.Text=whole$ Close #1 Open“d:/test/smtext2.txt“For Output As #1 Print #1,U 【15】 /U Close #1 End Sub 上述程序的功能是,把磁盘文件 smText1.txt 的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件 smtext2.txt。请填空。(分数:2.00)填空项 1:_全国计算机等
17、级考试二级 VISUAL+BASIC 真题 2005 年 4 月答案解析(总分:92.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.数据的存储结构是指_。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示 解析:评析 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。2.下列关于栈的描述中错误的是_。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储 C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针解析:评析 栈是一种特
18、殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称先进后出表(FILO,First In Last Out)。线性表可以顺序存储,也可以链式存储,而栈是一种线性表,也可以采用链式存储结构。3.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是_。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/2 解析:评析 假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n/
19、2 遍的从前往后扫描和 n/2遍的从后往前扫描,需要比较次数为 n(n-1)/2。快速排序法的最坏情况比较次数也是 n(n-1)/2。4.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。(分数:2.00)A.log2nB.n/2C.n D.n+1解析:评析 在进行顺序查找过程中,如果线性表中的第一个元素就是被查找元素,则只需做一次比较就查找成功,查找效率最高:但如果被查找的元素是线性表中的最后一个元素,或者被查找的元素根本就不在线性表中,则为了查找这个元素需要与线性表中所有的元素进行比较,这是顺序查找的最坏情况。所以对长度为。的线性表进行顺序查找,在最坏情况下需要比较 n
20、 次。5.下列对于线性链表的描述中正确的是_。(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的 B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:评析 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。6.下列对于软件测试的描述中正确的是_。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽
21、可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:评析 关于软件测试的目的,Grenford J.Myers 在The Art of Software Testing一书中给出了深刻的阐述:软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。整体来说,软件测试的目的就是尽可能多地发现程序中的错误。7.为了使模块尽可能独立,要求_。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C.模块的内聚程度
22、要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强解析:评析 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。8.下列描述中正确的是_。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合 解析:评析
23、计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。软件具有以下特点:软件是一种逻辑实体,而不是物理实体,具有抽象性;软件的生产过程与硬件不同,它没有明显的制作过程;软件在运行、使用期间不存在磨损、老化问题:软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题;软件复杂性高,成本昂贵;软件开发涉及诸多的社会因素。9.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指_。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对 解析:评析 数据独立
24、性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。选项 A、B、C 三种说法都是错误的。10.用树形结构表示实体之间联系的模型是_。(分数:2.00)A.关系模型B.网状模型C.层次模型 D.以上三个都是解析:评析 层次模型是最早发展起来的数据库模型,它的基本结构是树形结构。11.在窗体(名称为 Forml)上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实
25、现上述操作的事件过程是_。(分数:2.00)A.Private Sub Text1_Change() CommandCaption=“计算机等级考试“ End Sub B.Private Sub Commandl_Click() Caption=”计算机等级考试” End SubC.Private Sub Forml_Click() Text1.Caption=“计算机等级考试“ End SubD.PrivateSubCommandl Ulick() Text1.Text=“计算机等级考试“ End Sub解析:评析 本题考的是 Text 控件的 Change 事件和 Command 控件的
26、Caption 属性。Change 事件是在控件内容发生改变时发生,而 Caption 属性定义的是控件的标题。12.设 a=5,b=4,c=3,d=2 下列表达式的值是 32*b Or a=c And bC Or cd(分数:2.00)A.1B.True C.FalseD.2解析:评析 本题考的是关系运算符和逻辑运算符的执行顺序。当运算符不只一种时,要先处理关系运算符,然后再处理逻辑运算符。关系运算符的优先顺序是相同的,而逻辑运算符的执行顺序是:Not,And,Ou Xor, Eqv,Imp。本题中先运行关系运算,32*b 为 False,a=c 为 False,bc 为True,cd 为
27、True;然后执行 And 运算,为 False,再执行第一个 Or,为 False,最后执行第二个 Or,即 False Or True 为 True。13.设 a=“Microsoft Visual Basic“,则以下使变量 b 的值为“Visual Basic”的语句是(分数:2.00)A.b=Left(a,10)B.b=Mid(a,10) C.b=Right(a,10)D.b=Mid(a,11,10)解析:评析 Left 函数返回包含字符串中从左边算起指定数量的字符。Right 函数返回包含字符串中从右边算起指定数量的字符。Mid 函数包含字符串中指定数量的字符,如果第二个参数省略,
28、将返回从开始位置到尾端的所有字符。本题中 Left(a,10)=MicrosofiV,Mid(a,10)=VisualBasic,Right(a,10)=isualBasic,Mid(a,11,10)=isualBasic。14.假定有如下的窗体事件过程: Private Sub Form_Click() a$=“Microsoft Visual Basic“ b$=Right(a$,5) c$=Mid(a$,1,9) MsgBoxa$,34,b$,c$,5 End Sub 程序运行后,单击窗体,则在弹出的信息框的标题栏中显示的信息是_。(分数:2.00)A.Microsoft VisualB
29、.MicrosoftC.Basic D.5解析:评析 MsgBox 函数的参数中,第一个作为显示在对话框中的内容,第二个用于指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等,第三个显示对话框的标题,第四个识别用来向对话框提供上下文相关帮助的帮助文件,第五个是由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。本题中第三个参数是 b$,而 Right(a$,5)=“Basic“。所以弹出信息框中的标题为Basic。15.设 a=“a“,b=“b“,c=“c“,d=“d“,执行语句 x=IIf(aB) Or(cD) ,“A“,“B“)后,x 的值为_。(分数:2.0
30、0)A.“a“B.“b“C.“B“D.“A“ 解析:评析 IIf 函数是根据表达式的值,宋返回两部分中的其中之一。如果表达式的值为 True,则返回第二个参数;如果值为 False,则返回第三个参数。本题中 ab 为 True,故表达式的值为 True,所以返回“A”。16.为了使命令按钮(名称为 Commandl)右移 200,应使用的语句是_。(分数:2.00)A.CommandMove-200B.CommandMove200C.CommandLeft=CommandLeft+200 D.CommandLeft=CommandLeft-200解析:评析 Commandl 的 Move 是用
31、来把控件移动到指定的位置,Left 属性是用来指定控件左边缘的位置。本题中,选项 A 是把控件的左边缘移到-200 的位置,而选项 B 是把控件的左边缘移到 200 的位置,选项 C 是把控件右移 200,选项 D 是把控件左移 200。17.在窗体上画一个文本框,然后编写如下事件过程: Private Sub Form_Click() x=InputBox(“请输入一个整数“) Print x+Text1.Text End Sub 程序运行时,在文本框中输入 456,然后单击窗体,在输入对话框中输入 123,单击“确定”按钮后,在窗体上显示的内容为_。(分数:2.00)A.123B.456C
32、.479D.123456 解析:评析 “+”是加号运算符,如果“+”加号两边的表达式都是 String 型,则“+”起连接作用。lnputBox 返回的是一个字符型,而 TextBox(Text1)的 Text 属性值也是 String 型。所以本题是做字符串连接,故答案是 123456。18.在窗体上画一个文本框和一个计时器控件,名称分别为 Text1 和 Timerl,在属性窗口中把计时器的Interval 属性设置为 1000,Enabled 属性设置为 False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序: Private Sub
33、 Commandl_Click() Timerl._ End Sub Private Sub Timerl_Timer() Text1.Text=Time End Sub 在下划线处应填入的内容是_。(分数:2.00)A.Enabled=True B.Enabled=FalseC.Visible=TrueD.Visible=False解析:评析 Enabled 是用来设置控件是否可用,而 Visible 是用来设置控件是否可见。Timer 控件的Enabled 属性设置为 False,则 Timer 停止计数;设置为 True,则开始计数,过程 Fimerl Timer()按计时器的 Inte
34、rval 属性值定时运行。19.假定在图片框 Picturel 中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是_。(分数:2.00)A.选择图片框,然后按 Del 键B.执行语句 PicturePicture=LoadPicture(“) C.执行语句 PicturePicture=“D.选择图片框,在属性窗口中选择 Picture 属性条,然后按回车键解析:评析 选项 A 的结果是删除图片框;选项 B 是清除图形;选项 C 语句错误,类型不匹配:选项 D是不起任何作用。20.在窗体上画一个名称为 Listl 酌列表框,一个名称为 Labell 的标签,列表框中显示若干个
35、项目。当单击列表框中的某个项目时,在标签中显示被选中项目的名称。下列能正确实现上述操作的程序是:_。(分数:2.00)A.Private Sub Listl_Click() LabelCaption=ListListIndex End SubB.Private Sub Listl_Click() LabelName=ListListIndex End SubC.Private Sub Listl_click() LabelName=ListText End SubD.Private Sub Listl_Click() LabelCaption=ListText End Sub 解析:评析 Li
36、st 控件中 Listlndex 属性表示当前选中项目的索引,Text 属性表示当前选中项目的内容;Label 控件的 Name 属性表示控件的名称,Caption 属性表示 Label 控件显示的内容。21.在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程: Private Sub Commandl_click() Dim i As Integer,X As Integer For i=1 To 6 If i=1 Then x=i If i=4 Then x=x+1 Else x=x+2 End If Next i Print x End Sub 程序运行后,单击命令
37、按钮,其输出结果为_。(分数:2.00)A.9 B.6C.12D.15解析:评析 本题循环 6 次,当 i=1 时,x 先被赋值为 1,然后再加 1;当 i 等于 2、3、4 时,x 都被加1;而当 i 等于 5、6 时,x 都被加 2。故 x=1+1+1+1+1+2+2=9。22.在窗体上画一个名称为 Commandl 命令按钮,然后编写如下事件过程: Private Sub Commandl_click() c=“ABCD“ For n=1 To 4 Print_ Next End Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容 D CD BCD ABCD 则在_处填入的内容为
38、。(分数:2.00)A.Left(c,B.Right(c, C.Mid(c,n,1)D.Mid(c,n,解析:评析 由显示内容可以看出,题目要求每次从右开始取 n 的字符,而从右开始取 n 的字符的语句为 Right(c,n)。23.执行以下程序段 Dim i As Integer,X As Integer x=0 For i=20 To 1 Step -2 x=x+i/5 Next Print x 后,x 的值为_。(分数:2.00)A.16B.17C.18 D.19解析:评析 For 循环语句中;Step 是表示步长,即循环计数器变化的幅度。本题中 i 每次减 2,故要执行 10 次循环。
39、而“/”是整除运算符,故当 i=20 时,x 加 4,当 i 等于 18、16 时,x 都加 3,当 i 等于14、12、10 时,x 都力 D 2,当 i 等于 8、6 时,x 加 1,当 i 等于 4、2 时,x 都加 0。所以x=4+3+3+2+2+2+1+1=18。24.在 Visual Basic32 程中,可以作为“启动对象”的程序是_。(分数:2.00)A.任何窗体或标准模块B.任何窗体或过程C.SubMain 过程或其他任何模块D.Sub Main 过程或任何窗体 解析:评析 Visual Basic 规定 Sub Main 过程是具有启动应用程序功能的启动过程,即除了窗体模块
40、以外,应用程序还可以由 Sub Main 过程启动。25.假定建立了一个名为 Commandl 的命令按钮数组,则以下说法中错误的是_。(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 CommandlB.数组中每个命令按钮的标题(Caption 属性)都一样 C.数组中所有命令按钮可以使用同一个事件过程D.用名称 Commandl(下标)可以访问数组中的每个命令按钮解析:评析 控件数组的特点:控件数组由一组相同类型的控件组成;这些控件具有相同的名称:数组中的每个控件都有惟一的索引号,即下标,下标值由 Index 属性指定,通过索引值来区别控件数组中的元素;控件数组可以使用
41、同,个事件过程,只是在参数中多了一个索引号来区分。控件数组中的各个控件的标题可以不一样。26.把窗体的 KeyPreview 属性设置为 Tree,然后编写如下事件过程 Private Sub Form_KeyPress(KeyAscii As Integer) Dim ch As String ch=Chr(KeyAscii) KeyAscii=Asc(UCase(ch) Print Chr(KeyAscii+2) End Sub 程序运行后,按键盘上的“A”键,则在窗体上显示的内容是_。(分数:2.00)A.AB.BC.C D.D解析:评析 当把窗体的 KeyPreview 属性设置为 T
42、rue 时,按键盘上的键时,就触发窗体的 KeyPress 事件。如果键盘上按的是“A”,则 KeyAscii=97,即小写的“a”,把该字母转化为大写以后,再对 Ascii码加 2,则为大写的“C”。27.在窗体上画一个命令按钮和一个文本框,名称分别为 Commandl 和 Text1,然后编写如下程序: Private Sub Commandl_click() a=InputBox(“请输入日期(131)”) t=“旅游景点:“ Min End Sub 以上程序的功能是:用Array 函数建立一个含有 8 个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。(分数:2.00)填空项
43、 1:_ (正确答案:【12】arrl(1))解析:【13】Min=arrl(i) 评析 由于有 Option Base 1 语句,所以数组下标是从 1 开始。本题的功能是查找 8 个数中的最小值,首先使用 Array 语句给数组赋值,然后把第一个值赋值给最小值变量,及Min=arrl(1),然后从第二个数开始循环与最小值比较,如果比最小值小,则把这个值赋值给 Min,即Min=arrl(i)。46.在名称为 Forml 的窗体上画一个文本框,其名称为 Text1,在属性窗口中把该文本框的 MultiLine 属性设置为 True,然后编写如下的事件过程: Private Sub Form C
44、lick() Open“d:/test/smText1.txt“For Input As #1 Do While NotU 【14】 /U Line Input #1,aspect$ whole$=whole$+aspect$+Chr$(13)+Chr$(10) Loop Text1.Text=whole$ Close #1 Open“d:/test/smtext2.txt“For Output As #1 Print #1,U 【15】 /U Close #1 End Sub 上述程序的功能是,把磁盘文件 smText1.txt 的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入
45、磁盘文件 smtext2.txt。请填空。(分数:2.00)填空项 1:_ (正确答案:【14】EOF(1))解析:【15】Text1.Text 评析 EOF 函数是判断 Random 或顺序 Input 打开的文件是否已到结尾。本题中首先是要读出“d:/test/smText1.txt“中的内容,使用 DoWhile 语句宋循环读出内容并赋值给变量wholes,而结束循环的条件是到达文件的尾部,所以第一空应该填 EOF(1)。读完以后把内容赋值给 Text1文本框。程序的第二部分就是向文件 “d:/test/smtext2.txt“写内容,题目要求把文本框中的内容写入文件 smtext2.txt,所以第二空填 Text1.Text。