1、二级 VISUAL+BASIC-56 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书2.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言3.有三个关系 R、S 和 T 如下: (分数:2.50)A.自然连接B交C除D并4.下列关于栈的叙述正确的是_。(分数:2.50)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素
2、永远不能被删除D.以上三种说法都不对5.结构化程序所要求的基本结构不包括_。(分数:2.50)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是_。(分数:2.50)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.下列叙述中正确的是_。(分数:2.50)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构8.一个教师可讲授多门课程,一门课程可由多
3、个教师讲授。则实体教师和课程间的联系是_。(分数:2.50)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)_。(分数:2.50)A.3B.4C.6D.710.定义无符号整数类为 Ulnt,下面可以作为类 Ulnt 实例化值的是_。(分数:2.50)A.-369B.369C.0.369D.整数集合1,2,3,4,511.在 Visual Basic 集成环境中,可以列出工程中所有模块名称的窗口是_。(分数:2.50)A.工程资源管理器窗口B.窗体设计窗口C.属性窗口D.代码窗口1
4、2.假定编写了如下 4 个窗体事件的事件过程,则运行应用程序并显示窗体后,已经执行的事件过程是_。(分数:2.50)A.LoadB.ClickC.LostFocusD.KcyPress13.为了使标签具有“透明”的显示效果,需要设置的属性是_。(分数:2.50)A.CaptionB.AlignmentC.BackStyleD.AuwSize14.下面可以产生 2030(含 20 和 30)的随机整数的表达式是_。(分数:2.50)A.Int(Rnd*10+20)B.Int(Rnd*11+20)C.Int(Rnd*20+30)D.Int(Rnd*30+20)15.设窗体上有一个名称为 HSI 的
5、水平滚动条,如果执行了语句: HS1.Value=(HS1.MaxHS1.Min)2+HS1.Min,则_。(分数:2.50)A.滚动块处于最左端B.滚动块处于最右端C.滚动块处于中间位置D.滚动块可能处于任何位置。具体位置取决于 Max、Min 属性的值16.窗体上有一个名称为 Cb1 的组合框,程序运行后,为了输出选中的列表项,应使用的语句是_。(分数:2.50)A.Print Cb1.SelectedB.Print Cb1.List(Cb1.LisfIndex)C.Print Cb1.Selected.TextD.Print Cb1.List(ListIndex)17.为了在窗体上建立
6、2 组单选按钮,并且当程序运行时,每组都可以有一个单选按钮被选中,则以下做法中正确的是_。(分数:2.50)A.把这 2 组单选按钮设置为名称不同的 2 个控件数组B.使 2 组单选按钮的 Index 属性分别相同C.使 2 组单选按钮的名称分别相同D.把 2 组单选按钮分别画到 2 个不同的框架中18.如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是_。(分数:2.50)A.它的 Y1、Y2 属性的值相等B.它的 X1、X2 属性的值相等C.它的 X1、Y1 属性的值分别与 X2、Y2 属性的值相等D.它的 X1、X2 属性的值分别与 Y1、Y2 属性的值相等19.设 a=2,b=3
7、,c=4,d=5,则下面语句输出的是_。 Print 32*b Or a=c And bc Or cd(分数:2.50)A.FalseB.1C.TrueD.-120.窗体 Form1 上有一个名称为 Command1 的命令按钮,以下对应窗体单击事件的事件过程是_。(分数:2.50)A.Private Sub Form1_Click()End SubB.Private Sub Form_Cliok()End SubC.Private Sub Command1_Click()End SubD.Private Sub Command_Click()End Sub21.默认情况下,下面声明的数组的元
8、素个数是_。 Dim(5,-2 To 2)(分数:2.50)A.20B.24C.25D.3022.设有如下程序段: Dim a(10) For Each x In a Print x; Next x 在上面的程序段中,变量 X 必须是_。(分数:2.50)A.整型变量B.变体型变量C.动态数组D.静态数组23.设有以下函数过程 Private Function Fun(a()As Integer, b As String)As Integer End Function 若已有变量声明: Dim x(5) As Integer, n As Integer, ch As String 则下面正确的
9、过程调用语句是_。(分数:2.50)A.x(o)=Fun(x, “ch“)B.n=Fun(n, ch)C.CallFun x, “ch“D.n=Fun(x(5), ch)24.假定用下面的语句打开文件: Open “Filcl.txt“ For Input As#l 则不能正确读文件的语句是_。(分数:2.50)A.Input#1, ch$B.Line Input#1,ch$C.ch$=Input$(5,#1)D.Read#1,ch$25.下面程序的执行结果是_。 Private Sub Command1_Click() a=10 For k=1 To 5 StepI a=a-k Next k
10、 Print a;k End Sub(分数:2.50)A.-5 6B.-5 -5C.10 0D.10 126.设窗体上有一个名为 Text1 的文本框和一个名为 Command1 的命令按钮,并有以下事件过程: Private Sub Command1_Click() x!=Val(Text1.Text) Select Case x Case Is-10, Is=20 Print “输入错误“ Case Is0 Print 20-x Case Is10 Print 20 Case Is=20 Print x+10 End Select End Sub 程序运行时,如果在文本框中输入-5,则单击
11、命令按钮后的输出结果是_。(分数:2.50)A.5B.20C.25D.输入错误27.设有如下程序: Private Sub Command1_Click() x=10: Y=0 For i=1 To 5 Do x=x-2 y=y+2 Loop Unti1 y5 Or x-1 Nexl End Sub 运行程序,其中 Do 循环执行的次数是_。(分数:2.50)A.15B.10C.7D.328.阅读程序: Private Sub Command1_Click() Dim arr Dim i As Integer art=Array (0,1,2,3,4,5,6,7,8,9,10) For i=0
12、 To 2 Print arr(7-i); Next End Sub 程序运行后,窗体上显示的是_。(分数:2.50)A.8 7 6B.7 6 5C.6 5 4D.5 4 329.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim a(10) As Integer Fork=10 To 1 Step-1 a(k)=20-2*k Next k k=k+7 Print a(k-a(k) End Sub 运行程序,单击命令按钮,输出结果是_。(分数:2.50)A.18B.12C.8D.630.窗体上有一个名为 Com
13、mand1 的命令按钮,并有如下程序: Private Sub Command1 Click() Dim a(10), x% Fork=1 To 10 a(k)=Int(Rnd*90+10) x=x+a(k) Mod 2 Next k Print x End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.50)A.10 个数中奇数的个数B.10 个数中偶数的个数C.10 个数中奇数的累加和D.10 个数中偶数的累加和31.窗体上有一个名为 Command1 的命令按钮和一个名为 Timer1 的计时器,并有下面的事件过程: Private Sub Command1_Click()
14、 Timer1.Enabled=True End Sub Private Sub Form_Load() Timer1.Interval=10 Timer1.Enabled=False End Sub Private Sub Timer1 Timer() Command1.Left=Command1.Left+10 End Sub 程序运行时,单击命令按钮,则产生的结果是_。(分数:2.50)A.命令按钮每 10 秒向左移动一次B.命令按钮每 10 秒向右移动一次C.命令按钮每 10 毫秒向左移动一次D.命令按钮每 10 毫秒向右移动一次32.设窗体上有一个名为 List1 的列表框,并编写下
15、面的事件过程: Prirate Sub List1_Click() Dim ch As String ch=List1.List(List1.Listlndex) List1.RemoveItem List1.Listlndex List1.Addltem ch End Sub 程序运行时,单击一个列表项,则产生的结果是_。(分数:2.50)A.该列表项被移到列表的最前面B.该列表项被删除C.该列表项被移到列表的最后面D.该列表项被删除后又在原位置插入33.窗体上有一个名为 Command1 的命令按钮,并有如下程序: Private Sub Command1_Click() Dim a As
16、 Integer, b As Integer a=8 b=12 Print Fun(a,b);a;b End Sub Private Function Fun(By Val a As Integer,b AS Integer) As Integer a=a Mod 5 b=b/5 Fun=a End Function 程序运行时,单击命令按钮,则输出结果是_。(分数:2.50)A.3 3 2B.3 8 2C.8 8 12D.3 8 1234.为了从当前文件夹中读入文件 File1.txt,某人编写了下面的程序: Private Sub Command1_Click() Open “File1.
17、txt“ For Output As #20 Do While Not EOF(20) Line Input#20, ch$ Print ch Loop Close #20 End Sub 程序调试时,发现有错误,下面的修改方案中正确的是_。(分数:2.50)A.在 Open 语句中的文件名前添加路径B.把程序中各处的“20”改为“1”C.把 Print ch 语句改为 Print #20, chD.把 Open 语句中的 Output 改为 Input35.要求生产 10 个随机整致,存放在数组 arr 中。从键盘输入要删除的数组元素的下标,将该元素中的数据删除,后面元素中的数据依次前移,并
18、显示删除后剩余的数据。现有如下程序: Option Base 1 Privare Sub Comlnand1_Click() Dim arr(10) As Integer For i=1 To 10 “循环 1 Arr(i)=Int(Rnd*100) Print art(i); Next i X=InputBox(“输入 1-10 的一个整数:“) For i=x+1 To 10 “循环 2 arr(i-1)=arr(i) Next i For i=x+1 To 10 “循环 3 Print arr(i) Next i End Sub 程序运行后发现显示的结果不正确,应该进行的修改是_。(分数
19、:2.50)A.产生随机数时不使用 Int 函数B.循环 2 的初值应为 i=xC.数组定义改为 Dim a(11) As IntegerD.循环 3 的循环终值应改为 936.设程序中有如下数组定义和过程调用语句: Dim a(10) As Integer Call p(a) 如下过程定义中,正确的是_。(分数:2.50)A.Private Sub p(a As Integer)B.Private Sub p(a()As Integer)C.Private Sub p(a(10) As Integer)D.Private Sub p(a(n) As Integer)37.若要获得组合框中输入
20、的数据,可使用的属性是_。(分数:2.50)A.ListlndexB.CaptionC.TextD.List38.在窗体上面画两个名称分别为 Text1、Text2 的文本框。Text1 的 Text 属性为“DataBase”,如图所示。 (分数:2.50)A.DataAB.DataBC.aDataD.aBase39.有如下程序: Option Base 1 Private Sub Command1_Click() Dim arr(10) arr=Array(10,35,28,90,54,68,72,90) For Each a In arr If a50 Then Sum=Sum+a En
21、d If Next a End Sub 运行上述程序时出现错误,错误之处是_。(分数:2.50)A.数组定义语句不对,应改为 Dim arrB.没有指明 For 循环的终值C.应在 For 语句之前增加 Sum=0D.Next a 应改为 Next40.以下程序运行后的窗体如图所示,其中组合框的名称是 Combo1,已有列表项如图所示;命令按钮的名称是 Command1。 (分数:2.50)A.显示“输入错误”B.显示“添加项目失败”C.显示“添加项目成功”D.没有任何显示二级 VISUAL+BASIC-56 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:
22、100.00)1.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 需求分析阶段只能产生需求分析规格说明书,A 测试说明书是软件测试阶段生成的,B 软件详细设计说明书是设计阶段生产,C 用户手册是软件发布时随软件一同交付给用户的。2.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析 数据库操纵语言专门负责查询、增加、删除等数据操作。3.有三个关系 R、S 和 T 如下: (分数:2.50)A.自然连接B交C除
23、 D并解析:解析 S 中的关系全部出现在 R 中,只有做除法操作才会出现关系 T。4.下列关于栈的叙述正确的是_。(分数:2.50)A.栈顶元素最先能被删除 B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对解析:解析 栈是限定在一端进行插入删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最先被插入,最后被删除。5.结构化程序所要求的基本结构不包括_。(分数:2.50)A.顺序结构B.GOTO 跳转 C.选择(分支)结构D.重复(循环)结构解析:解析 结构化程序设计的三种结构是顺序、分支和循环,不包括 GOTO 跳转,它只是分支结构的
24、一种,也是一个关键字。6.下面描述中错误的是_。(分数:2.50)A.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具解析:解析 软件系统的总体结构图是软件架构设计的依据,它并不能支持软件的详细设计。7.下列叙述中正确的是_。(分数:2.50)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构 解析:解析 线性表的特点是:在数据元素的非空有限集合中,存在唯一的一个被称为“第一个”的数据元素,
25、存在唯一一个被称为“最后一个”的数据元素,除第一个以外,集合中的每个数据元素均只有一个后继,除最后一个以外,集合中的每个数据元素均只有一个后继。因此,双向表是非线性结构。8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。(分数:2.50)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系 解析:解析 一个教师可以上多门课程,一门课程也可以由多个教师教授,这是典型的多对多的 E-R 关系。9.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)_。(分数:2.50)A.3B.4C.6D.7 解析:解析 对
26、于任意一棵二叉树 T,如果叶子节点数为 n0,度为 2 的结点数为 n2,二者之间的关系是nO=n2+1,该题中度为 2 的结点数为 0,且只有一个叶子节点,因此,树中度为 1 的结点有 6 个,很容易想到树的高度为 7。10.定义无符号整数类为 Ulnt,下面可以作为类 Ulnt 实例化值的是_。(分数:2.50)A.-369B.369 C.0.369D.整数集合1,2,3,4,5解析:解析 A 是有符号数,C 是浮点数,D 是结合,并不是类的实例化对象,只有 B 完全符合。11.在 Visual Basic 集成环境中,可以列出工程中所有模块名称的窗口是_。(分数:2.50)A.工程资源管
27、理器窗口 B.窗体设计窗口C.属性窗口D.代码窗口解析:解析 工程资源管理器窗口列出了所有的模块名称,包括窗体等模块。12.假定编写了如下 4 个窗体事件的事件过程,则运行应用程序并显示窗体后,已经执行的事件过程是_。(分数:2.50)A.Load B.ClickC.LostFocusD.KcyPress解析:解析 应用程序运行起来后,首先应该加载所有的控件,所以已经运行的事件是 load 事件。13.为了使标签具有“透明”的显示效果,需要设置的属性是_。(分数:2.50)A.CaptionB.AlignmentC.BackStyle D.AuwSize解析:解析 不把 lable 属性里的
28、BackStyk 设置为 0 即可。Caption 是设置显示文字的,Alignment 设置对齐模式,AutoSize 是自动设置大小。14.下面可以产生 2030(含 20 和 30)的随机整数的表达式是_。(分数:2.50)A.Int(Rnd*10+20)B.Int(Rnd*11+20) C.Int(Rnd*20+30)D.Int(Rnd*30+20)解析:解析 VB 中 Rnd 函数返回小于 1 但是大于等于 0 的值,因此如果要产生20,30之间的数值,则应该选择 B。15.设窗体上有一个名称为 HSI 的水平滚动条,如果执行了语句: HS1.Value=(HS1.MaxHS1.Mi
29、n)2+HS1.Min,则_。(分数:2.50)A.滚动块处于最左端B.滚动块处于最右端C.滚动块处于中间位置 D.滚动块可能处于任何位置。具体位置取决于 Max、Min 属性的值解析:解析 根据表达式,则滚动条处于中间位置,Value 值表示滚动条当前所处位置在 Max 和 Min 值之间。16.窗体上有一个名称为 Cb1 的组合框,程序运行后,为了输出选中的列表项,应使用的语句是_。(分数:2.50)A.Print Cb1.SelectedB.Print Cb1.List(Cb1.LisfIndex) C.Print Cb1.Selected.TextD.Print Cb1.List(Li
30、stIndex)解析:解析 先要知道当前选中项的索引 Cb1.ListIndex,而组合框的 List 属性是存放组合框中所有项的一维字符型数组,输出选中的列表项使用 Print 函数。17.为了在窗体上建立 2 组单选按钮,并且当程序运行时,每组都可以有一个单选按钮被选中,则以下做法中正确的是_。(分数:2.50)A.把这 2 组单选按钮设置为名称不同的 2 个控件数组B.使 2 组单选按钮的 Index 属性分别相同C.使 2 组单选按钮的名称分别相同D.把 2 组单选按钮分别画到 2 个不同的框架中 解析:解析 可以画到两个 Panel 中,就可以保证在程序运行时每组有一个单选按钮被选中
31、,必须实现两组单选按钮的分组才能达到要求。18.如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是_。(分数:2.50)A.它的 Y1、Y2 属性的值相等B.它的 X1、X2 属性的值相等 C.它的 X1、Y1 属性的值分别与 X2、Y2 属性的值相等D.它的 X1、X2 属性的值分别与 Y1、Y2 属性的值相等解析:解析 当直线控件在窗体呈现垂直时,它的 X1 和 X2 属性应该相同,因为坐标是从左上角开始算起的。横向为 X 轴,纵向为 Y 轴。19.设 a=2,b=3,c=4,d=5,则下面语句输出的是_。 Print 32*b Or a=c And bc Or cd(分数:2.50
32、)A.False B.1C.TrueD.-1解析:解析 采用了部分确认结果法,即先计算 And 操作符的前部分。32*b 为 False,a=c 为 False,所以 And 的前部分是 False,因此整个表达式的结果也是 False。20.窗体 Form1 上有一个名称为 Command1 的命令按钮,以下对应窗体单击事件的事件过程是_。(分数:2.50)A.Private Sub Form1_Click()End SubB.Private Sub Form_Cliok()End Sub C.Private Sub Command1_Click()End SubD.Private Sub
33、Command_Click()End Sub解析:解析 窗体单击事件为 Form_Click 事件。21.默认情况下,下面声明的数组的元素个数是_。 Dim(5,-2 To 2)(分数:2.50)A.20B.24C.25D.30 解析:解析 默认情况下,Dim a(5,-2 To 2)声明了二维数组,第一维是 6,第二维是 5,所以有 30 个元素。22.设有如下程序段: Dim a(10) For Each x In a Print x; Next x 在上面的程序段中,变量 X 必须是_。(分数:2.50)A.整型变量B.变体型变量 C.动态数组D.静态数组解析:解析 为了保证 x 能访问
34、数组 a 中的元素,则需要把 x 定义为变体型,这样不论数组 a 中存储何种类型数据,x 都能访问到。23.设有以下函数过程 Private Function Fun(a()As Integer, b As String)As Integer End Function 若已有变量声明: Dim x(5) As Integer, n As Integer, ch As String 则下面正确的过程调用语句是_。(分数:2.50)A.x(o)=Fun(x, “ch“) B.n=Fun(n, ch)C.CallFun x, “ch“D.n=Fun(x(5), ch)解析:解析 函数调用时,必须保证
35、实参类型和形参类型一致,只有 A 符合,B 项第一个参数是整型,C项不符合函数调用的方式,D 项是数组的一个元素。24.假定用下面的语句打开文件: Open “Filcl.txt“ For Input As#l 则不能正确读文件的语句是_。(分数:2.50)A.Input#1, ch$B.Line Input#1,ch$C.ch$=Input$(5,#1)D.Read#1,ch$ 解析:解析 VB 中允许多种方式来读取顺序文件中的数据,其中包括 Input#语句,Line Input#语句,Input 函数,InputB 函数,但是不包括 Read 函数。25.下面程序的执行结果是_。 Pri
36、vate Sub Command1_Click() a=10 For k=1 To 5 StepI a=a-k Next k Print a;k End Sub(分数:2.50)A.-5 6B.-5 -5C.10 0D.10 1 解析:解析 指定的步长为-1,但 k 指定从 1 到 5,所以该 for 循环不会执行,a 的值为 10,k 的值为1。26.设窗体上有一个名为 Text1 的文本框和一个名为 Command1 的命令按钮,并有以下事件过程: Private Sub Command1_Click() x!=Val(Text1.Text) Select Case x Case Is-1
37、0, Is=20 Print “输入错误“ Case Is0 Print 20-x Case Is10 Print 20 Case Is=20 Print x+10 End Select End Sub 程序运行时,如果在文本框中输入-5,则单击命令按钮后的输出结果是_。(分数:2.50)A.5B.20C.25 D.输入错误解析:解析 当输入-5 时,Is0,所以直接执行 20-X,即 20-(-5)=25。27.设有如下程序: Private Sub Command1_Click() x=10: Y=0 For i=1 To 5 Do x=x-2 y=y+2 Loop Unti1 y5 Or
38、 x-1 Nexl End Sub 运行程序,其中 Do 循环执行的次数是_。(分数:2.50)A.15B.10C.7 D.3解析:解析 该题由外层的 for 循环和内层的 do loop 循环构成,外层循环 5 次,只要内层中满足 y5或 x-1 就不用计算次数,一步步计算应该不难。28.阅读程序: Private Sub Command1_Click() Dim arr Dim i As Integer art=Array (0,1,2,3,4,5,6,7,8,9,10) For i=0 To 2 Print arr(7-i); Next End Sub 程序运行后,窗体上显示的是_。(分
39、数:2.50)A.8 7 6B.7 6 5 C.6 5 4D.5 4 3解析:解析 该题首先计算出 arr(7-i),得出 arr(7),arr(6),arr(5)这三个数是数组中的第 8,7,6个元素,VB 数组下表从 0 开始,所以输出应该为 7,6,5。29.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim a(10) As Integer Fork=10 To 1 Step-1 a(k)=20-2*k Next k k=k+7 Print a(k-a(k) End Sub 运行程序,单击命令按钮,输出
40、结果是_。(分数:2.50)A.18 B.12C.8D.6解析:解析 根据 for 循环先计算出数组 a 的值以及 k 的当前值是 1,则 a(k-a(k)=a(7-a(7)=a(7-6)=a(1)=18。30.窗体上有一个名为 Command1 的命令按钮,并有如下程序: Private Sub Command1 Click() Dim a(10), x% Fork=1 To 10 a(k)=Int(Rnd*90+10) x=x+a(k) Mod 2 Next k Print x End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.50)A.10 个数中奇数的个数 B.10
41、个数中偶数的个数C.10 个数中奇数的累加和D.10 个数中偶数的累加和解析:解析 Mod 运算是求余数的运算,被 2 除的余数只能是 0 或者 1,x 值就表示有多少个 1 相加,即在 10 个随机数中有多少个奇数。31.窗体上有一个名为 Command1 的命令按钮和一个名为 Timer1 的计时器,并有下面的事件过程: Private Sub Command1_Click() Timer1.Enabled=True End Sub Private Sub Form_Load() Timer1.Interval=10 Timer1.Enabled=False End Sub Private
42、 Sub Timer1 Timer() Command1.Left=Command1.Left+10 End Sub 程序运行时,单击命令按钮,则产生的结果是_。(分数:2.50)A.命令按钮每 10 秒向左移动一次B.命令按钮每 10 秒向右移动一次C.命令按钮每 10 毫秒向左移动一次D.命令按钮每 10 毫秒向右移动一次 解析:解析 Timer 的 Interval 属性单位是毫秒,给 Left 加 10 表示向右移动。32.设窗体上有一个名为 List1 的列表框,并编写下面的事件过程: Prirate Sub List1_Click() Dim ch As String ch=Lis
43、t1.List(List1.Listlndex) List1.RemoveItem List1.Listlndex List1.Addltem ch End Sub 程序运行时,单击一个列表项,则产生的结果是_。(分数:2.50)A.该列表项被移到列表的最前面B.该列表项被删除C.该列表项被移到列表的最后面 D.该列表项被删除后又在原位置插入解析:解析 List1 列表框先将选中的 ch 字符删除,然后再将其插入到最后,ListBox 在增加项的时候是加在列表最后面的。33.窗体上有一个名为 Command1 的命令按钮,并有如下程序: Private Sub Command1_Click()
44、 Dim a As Integer, b As Integer a=8 b=12 Print Fun(a,b);a;b End Sub Private Function Fun(By Val a As Integer,b AS Integer) As Integer a=a Mod 5 b=b/5 Fun=a End Function 程序运行时,单击命令按钮,则输出结果是_。(分数:2.50)A.3 3 2B.3 8 2C.8 8 12D.3 8 12 解析:解析 VB 中函数传递参数有 ByVal 和 ByRd 两种方式,ByVal 是复制参数,而不能改变该参数的值,而 ByRef 是传递
45、该参数的指针。函数中 a 参数是传值调用,因此调用完函数后 a 的值不会改变,而 b 默认为传址调用。34.为了从当前文件夹中读入文件 File1.txt,某人编写了下面的程序: Private Sub Command1_Click() Open “File1.txt“ For Output As #20 Do While Not EOF(20) Line Input#20, ch$ Print ch Loop Close #20 End Sub 程序调试时,发现有错误,下面的修改方案中正确的是_。(分数:2.50)A.在 Open 语句中的文件名前添加路径B.把程序中各处的“20”改为“1”
46、C.把 Print ch 语句改为 Print #20, chD.把 Open 语句中的 Output 改为 Input 解析:解析 VB 中文件操作有 Input 方式和 Output 方式,Input 是从硬盘上把文件内容读入到内存,Output 是将数据输出到文件。35.要求生产 10 个随机整致,存放在数组 arr 中。从键盘输入要删除的数组元素的下标,将该元素中的数据删除,后面元素中的数据依次前移,并显示删除后剩余的数据。现有如下程序: Option Base 1 Privare Sub Comlnand1_Click() Dim arr(10) As Integer For i=1
47、 To 10 “循环 1 Arr(i)=Int(Rnd*100) Print art(i); Next i X=InputBox(“输入 1-10 的一个整数:“) For i=x+1 To 10 “循环 2 arr(i-1)=arr(i) Next i For i=x+1 To 10 “循环 3 Print arr(i) Next i End Sub 程序运行后发现显示的结果不正确,应该进行的修改是_。(分数:2.50)A.产生随机数时不使用 Int 函数B.循环 2 的初值应为 i=xC.数组定义改为 Dim a(11) As IntegerD.循环 3 的循环终值应改为 9 解析:解析
48、根据题干分析程序,循环 1 和循环 2 都是没有错误的,在最后输出时,循环 2 的功能是删除一个数组中的元素,所以最后只有 9 个,所以答案为 D。36.设程序中有如下数组定义和过程调用语句: Dim a(10) As Integer Call p(a) 如下过程定义中,正确的是_。(分数:2.50)A.Private Sub p(a As Integer)B.Private Sub p(a()As Integer) C.Private Sub p(a(10) As Integer)D.Private Sub p(a(n) As Integer)解析:解析 本题考查的是过程的调用,根据题干在定义中不许定义一个 a 数组,其中 a 数组不能定长,所以答案为 B。37.若要获得组合框中输入的数据,可使用的属性是_。(分数: