1、二级 VISUAL+BASIC-32 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列叙述中正确的是_。(分数:2.50)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构所需要的存储空间与顺序存储结构2.下列叙述中正确的是_。(分数:2.50)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对3.软件测试的目的是_。(分
2、数:2.50)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误4.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书5.软件生命周期是指_。(分数:2.50)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程6.面向对象方法中,继承是指_。(分数:2.50)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制7.层次型、
3、网状型和关系型数据库的划分原则是_。(分数:2.50)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式8.一名工作人员可以使用多台计算机,而一台计算机可被多名工作人员使用,则实体工作人员与实体计算机之间的联系是_。(分数:2.50)A.一对一B.一对多C.多对多D.多对一9.数据库设计中反映用户对数据要求的模式是_。(分数:2.50)A.内模式B.概念模式C.外模式D.设计模式10.有三个关系 R,S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操
4、作是_。(分数:2.50)A.自然连接B差C交D并11.向文本框中输入字符时,下面能够被触发的事件是_。(分数:2.50)A.GotFocusB.KeyPressC.ClickD.MouseDown12.若要把窗体上命令按钮 Command1 的状态设置为不可用,应该执行的命令是_。(分数:2.50)A.Command1.Enabled=FalseB.Command1.Visible=FalseC.Command1.Cancel=FalseD.Command1.Cefault=False13.窗体上有一个名称为 VScroll1 的滚动条,当用鼠标拖动滚动条中的滚动块时,触发的事件是_。(分数
5、:2.50)A.ClickB.KeyDownC.DragDropD.Scroll14.关于 KeyPress 事件,以下叙述中正确的是_。(分数:2.50)A.在控件数组的控件上按键盘键,不能触发 KeyPress 事件B.按下键盘上任一个键时,都能触发 KeyPress 事件C.按字母键时,拥有焦点的控件的 KeyPress 事件会被触发D.窗体没有 KeyPress 事件15.在名称为 Frame1 的框架中,有两个名称分别为 op1、op2 的单选按钮,标题分别为“单程”、“往返”,如图所示。 (分数:2.50)A.若仅把 Frame1 的 Enabled 属性设为 False,则 op
6、1、op2 仍可用B.对于上图,op1.Value 的值为 TrueC.对于上图,执行 Op1.Value=False 命令,则“往返”单选按钮被选中D.对于上图,执行 Op1.Value=0 命令,程序出错16.以下能够设置控件焦点的方法是_。(分数:2.50)A.SetFocusB.GotFocusC.LostFocusD.TabStop17.使用 Line 控件在窗体上画一条从(0,0)到(600,700)的直线,则其相应属性的值应是_。(分数:2.50)A.X1=0,X2=600,Y1=0,Y2=700B.Y1=0,Y2=600,X1=0,X2=700C.X1=0,X2=0,Y1=60
7、0,Y2=700D.Y1=0,Y2=0,X1=600,X2=700,18.设有窗体的 Form_MouseMove 事件过程如下: Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single) If(Button And 3)=3 Then Print“检查按键“ End If End Sub 关于上述过程,以下叙述中正确的是_。(分数:2.50)A.按下鼠标左键时,在窗体上显示“检查按键”B.按下鼠标右键时,在窗体上显示“检查按键”C.同时按下鼠标左、右键时,在窗体上显示“检查按键
8、”D.不论做何种操作,窗体上都不会显示19.窗体上有一个名称为 CD1 的通用对话框,一个名称为 Command1 的命令按钮,相应的事件过程如下: Private Sub Command1_Click() CD1.Filter=“All File|*.*|Text File|*.txt|PPT|*.ppt“ CD1.FilterIndex=2 CD1.InitDir=“C:“ CD1.FileName=“default“ CD1.ShowSave End Sub 关于上述过程,以下叙述中正确的是_。(分数:2.50)A.默认过滤器为“*.ppt“B.指定的初始目录为“C:“C.打开的文件对话
9、框的标题为“default“D.上面事件过程实现保存文件的操作20.以下关于窗体的叙述中,错误的是_。(分数:2.50)A.Hide 方法能隐藏窗体,但窗体仍在内存中B.使用 Show 方法显示窗体时,一定触发 Load 事件C.移动或放大窗体时,会触发 Paint 事件D.双击窗体时,会触发 DblClick 事件21.窗体上有名称分别为 Text1、Text2 的文本框,名称为 Command1 的命令按钮。运行程序,在 Text1 中输入“FormList”,然后单击命令按钮,执行如下程序: Private Sub Command1_Click() Text2.Text=UCase(Mi
10、d(Text1.Text,5,4) End Sub 在 Text2 中显示的是_。(分数:2.50)A.formB.listC.FORMD.LIST22.窗体上有名称为 Command1 的命令按钮,名称分别为 List1、List2 的列表框,其中 List1 的MultiSelect 属性设置为 1(Simple),并有如下事件过程: Private Sub Command1_Click() For i=0To List1.ListCount-1 If List1.Selected(i)=True Then List2.AddItem Text End If Next End Sub 上述
11、事件过程的功能是将 List1 中被选中的列表项添加到 List2 中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是_。(分数:2.50)A.将 For 循环的终值改为 List1.ListCountB.将 List1.Selected(i)=True 改为 List1.List(i).Selected=TrueC.将 List2.AddItem Text 改为 List2.AddItem List1.List(i)D.将 List2.AddItem Text 改为 List2.AddItem List1.ListIndex23.设有如下 Command1 的单击事件过程及
12、fun 过程: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“请输入一个整数“) fun(x) End Sub Private Sub fun(x As Integer) If x Mod 2=0 Then fun(x/2) Print x: End Sub 执行上述程序,输入 6,结果是_。(分数:2.50)A.3 6B.6 3C.6D.程序死循环24.命令按钮 Command1 的单击事件过程如下: Private Sub Command1_Click() Dim a(10,10)As Integer x=0 F
13、or i=1 To 3 For j=1 To 3 a(i,j)=i*2 Mod j If xa(i,j)Then x=a(i,j) Next Next Print x End Sub 执行上述事件过程后,窗体上显示的是_。(分数:2.50)A.1B.2C.3D.425.窗体上有一个名称为 Timer1 的计时器控件,一个名称为 Shape1 的形状控件,其 Shape 属性值为3(Circle)。编写程序如下: Private Sub Form_Load() Shape1.Top=0 Timer1.Interval=100 End Sub Private Sub Timer1_Timer()
14、Static x As Integer Shape1.Top=Shape1.Top+100 x=x+1 If x Mod 10=0 Then Shape1.Top=0 End If End Sub 以下关于上述程序的叙述中,错误的是_。(分数:2.50)A.每执行一次 Timer1_Timer 事件过程,x 的值都在原有基础上增加 1B.Shape1 每移动 10 次回到起点,重新开始C.窗体上的 Shape1 由下而上移动D.Shapel 每次移动 10026.设有如下一段程序: Private Sub Command1_Click() Static a As Variant a=Array
15、(“one“,“two“,“three“,“four“,“five“) Print a(3) End Sub 针对上述事件过程,以下叙述中正确的是_。(分数:2.50)A.变量声明语句有错,应改为 Static a(5)As VariantB.变量声明语句有错,应改为 Static aC.可以正常运行,在窗体上显示 threeD.可以正常运行,在窗体上显示 four27.求 1!+2!+10!的程序如下: Private Function s(x As Integer) f=1 For i=1 To x f=f*i Next s=f End Function Private Sub Comma
16、nd1_Click() Dim i As Integer Dim y As Long For i=1 To 10 _ Next Print y End Sub 为实现功能要求,程序的括号中应该填入的内容是_。(分数:2.50)A.Call s(i)B.Call sC.y=y+s(i)D.y=y+s28.窗体上有一个由两个文本框组成的控件数组,名称为 Text1,并有如下事件过程: Private Sub Text1_Change(Index As Integer) Select Case Index Case 0 Text1(1).FontSize=Text1(0).FontSize*2 Te
17、xt1(1).Text=Text1(0).Text Case 1 Text1(0).FontSize=Text1(1).FontSize/2 Text1(0).Text=Text1(1).Text Case Else MsgBox“执行 Else 分支“ End Select End Sub 关于上述程序,以下叙述中错误的是_。(分数:2.50)A.Index 用于标识数组元素B.本程序中 Case Else 分支的语句永远不会被执行C.向任何一个文本框输入字符,都会在另一个文本框中显示该字符D.下标为 0 的文本框中显示的字符尺寸将越来越小29.设有如下程序: Option Base 1 D
18、im a(3,4)As Integer,b(4,3)As Integer Private Sub Command1_Click() “循环 1 For i=1 To 3 For j=1 To 4 b(j,i)=a(i,j) Next j Next i “循环 2 x=b(1,1) For i=1 To 4 For j=1 To 3 Print b(i,j); If xb(i,j)Then x=b(i,j) Next j Print Next i End Sub 程序中的数组 a 已被赋值。以下关于上述程序的叙述中,正确的是_。(分数:2.50)A.窗体模块中,不能使用 Dim 声明 a、b 数
19、组B.“循环 1”可以正常运行C.“循环 2”中循环变量 i、j 的终值不对,所以不能正常运行D.程序可以正常运行,x 中保存的是数组 b 中所有元素中最小的数30.某人编写了向随机文件中写一条记录的程序,代码如下: Type RType Name As String*10 Tel As String*20 End Type Private Sub Command1_Click() Dim p As RType p.Name=InputBox(“姓名“) p.Tel=InputBox(“电话号“) Open“Books.dat“For Random As#1 Put #1,p Close #1
20、 End Sub 该程序运行时有错误,修改的方法是_。(分数:2.50)A.在类型定义“Type RType”之前加上“Private”B.Dim P As RType 必须置于窗体模块的声明部分C.应把 Open 语句中的 For Random 改为 For OutputD.Put 语句应该写为 Put #1,p.Name,p.Te131.在窗体上添加一命令按钮,其名为 Command1,然后编写如下代码: Private Sub Command1_Click() Dim arr(5)As Integer,arrl(5)As Integer n=3 For i=1 To 5 arr(i)=i
21、 arr1(n)=2*n+i Next Print arr1(n);arr(n) End Sub 程序的运行结果为_。(分数:2.50)A.3 11B.11 3C.13 3D.3 1332.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim a(5)As String For i=1 To 5 a(i)=Chr(Asc(“A“)+(i-1) Next i For Each b In a Print b: Next End sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.50)A.ABCDEB.1 2 3 4 5C.abc
22、deD.出错信息33.单击命令按钮时,下列程序的运行结果为_。 Private Sub Command1_Click() Print Fun(23,18) End Sub Public Function Fun(m As Integer,n As Integer)As Integer Do While mn Do While mn:m=m-n:Loop Do While mn:n=n-m:Loop Loop Fun=m End Function(分数:2.50)A.0B.1C.3D.534.在窗体中添加一个命令按钮,编写如下程序: Private Sub Sub1(p,m,n) p=p+1:m
23、=m+1:n=n+1 Print“sub1:“;p;m;n End Sub Private Sub Command1_Click() a1=1:b1=2:c1=3 Call Sub1(a1,b1+3,c1) Print“Main:“;a1;b1;c1 End Sub 程序运行后,输出结果为_。 A B C D (分数:2.50)A.B.C.D.35.下面程序运行后,输出结果是_。 Private Sub mysub(b()As Integer,Optional ByVal n As Integer=2) For I=1 to 4 b(I)=n*I Next I End Sub Private
24、Sub Command1_Click() Dim a(1 to 4)As Integer,I As Integer Call mysub(a(),5) Mysub a() For I=1 to 4 Print a(i); Next End Sub(分数:2.50)A.1 5 10 15 20B.2 4 6 8C.出错D.0 0 0 036.有如下程序: Private Sub Form_Click() E=1:F=1 For j=1 To 3 E=E+F:F=F+E Next Print E;F End Sub 该程序的输出结果是_。(分数:2.50)A.6 6B.5 8C.13 21D.34
25、 5537.下面有一段程序代码,如果从键盘上输入“Computer”,则在文本框内显示的内容是_。 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii=65 And KeyAscii=122 Then KeyAscii=42 End If End Sub(分数:2.50)A.ComputerB.什么都没有C.*D.程序出错38.假定有如下的窗体事件过程: Private Sub Form_Click() a$=“Microsoft Visua1 Basic“ b$=Right(a$,5) c$=Mid(a$,1,9) MsgB
26、ox a$,34,b$,c$,5 End Sub 程序运行后,单击窗体,则在弹出的信息框的标题栏中显示的信息是_。(分数:2.50)A.Microsoft VisualB.MicrosoftC.BasicD.539.下列说法正确的是_。(分数:2.50)A.在 Visual Basic 中的对话框分为两种类型:预定义对话框和自定义对话框B.自定义对话框是由用户根据自己需要定义的C.预定义对话框是用户在设置程序代码后定义的D.MsgBox 函数是用户的自定义对话框的函数40.设已打开 5 个文件,文件号分别为 1,2,3,4,5。要关闭所有文件,以下语句正确的是_。(分数:2.50)A.Clos
27、e#1,2,3,4,5B.Close#1;#2;#3;#4;#5C.Close#1-#5D.Close二级 VISUAL+BASIC-32 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列叙述中正确的是_。(分数:2.50)A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构所需要的存储空间与顺序存储结构解析:解析 线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存
28、储空间,因此一般要多于顺序存储结构,选项 B 正确。2.下列叙述中正确的是_。(分数:2.50)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对 解析:解析 栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构,因此本题答案为 D。3.软件测试的目的是_。(分数:2.50)A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误 解析:解析 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能,也不是为了评估软件或改正错误,因此本题答案为 D。4.
29、在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.50)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面,因此本题答案为 D。5.软件生命周期是指_。(分数:2.50)A.软件产品从提出、实现、使用维护到停止使用退役的过程 B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程解析:解析 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个
30、时期都属于软件生命周期,因此本题答案为 A。6.面向对象方法中,继承是指_。(分数:2.50)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制 解析:解析 继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,因此继承是指类之间共享属性和操作的机制,选项 D 正确。7.层次型、网状型和关系型数据库的划分原则是_。(分数:2.50)A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式 解析:解析 层次模型的基本结构是树形
31、结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,因此三种数据库的划分原则是数据之间的联系方式,选项 D 正确。8.一名工作人员可以使用多台计算机,而一台计算机可被多名工作人员使用,则实体工作人员与实体计算机之间的联系是_。(分数:2.50)A.一对一B.一对多C.多对多 D.多对一解析:解析 因为一名工作人员可以操作多台计算机,而一台计算机又可以被多名工作人员使用,所以两个实体之间是多对多的关系,选择 C。9.数据库设计中反映用户对数据要求的模式是_。(分数:2.50)A.内模式B.概念模式C.外模式 D.设计模式解析:解析 数据库系统的三级模式是概念模式、外模式和内模
32、式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,因此选择 C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取的方法。10.有三个关系 R,S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:2.50)A.自然连接B差 C交D并解析:解析 关系 T 中的元组是 R 关系中有而 S 关系中没有的元组的集合,因此进行的是差的运算,答案为 B。1
33、1.向文本框中输入字符时,下面能够被触发的事件是_。(分数:2.50)A.GotFocusB.KeyPress C.ClickD.MouseDown解析:解析 向文本框中输入文本时,有按键的动作,因此会触发 KeyPress 事件。故选 B。12.若要把窗体上命令按钮 Command1 的状态设置为不可用,应该执行的命令是_。(分数:2.50)A.Command1.Enabled=False B.Command1.Visible=FalseC.Command1.Cancel=FalseD.Command1.Cefault=False解析:解析 命令按钮的 Enabled 属性用来设置可用或不可
34、用,因此 A 选项正确。13.窗体上有一个名称为 VScroll1 的滚动条,当用鼠标拖动滚动条中的滚动块时,触发的事件是_。(分数:2.50)A.ClickB.KeyDownC.DragDropD.Scroll 解析:解析 用鼠标拖动滚动条中的滚动块,说明在滚动条上有拖动、滚动的动作,因此触发滚动条的Scroll 事件,故选 D。14.关于 KeyPress 事件,以下叙述中正确的是_。(分数:2.50)A.在控件数组的控件上按键盘键,不能触发 KeyPress 事件B.按下键盘上任一个键时,都能触发 KeyPress 事件C.按字母键时,拥有焦点的控件的 KeyPress 事件会被触发 D
35、.窗体没有 KeyPress 事件解析:解析 A 选项错误原因:在控件数组的任何控件上按键盘键,会触发 KeyPress 事件;B 选项错误原因:只有按键盘上的 ASCII 字符键时,才能触发 KeyPress 事件。ASCII 字符键包括标准键盘上的字符、数字、标点符号、Enter、Tab和Backspace键等,其他键 KeyPress 事件不能识别,D 选项错误原因:窗体也有 KeyPresss 事件。因此 C 选项正确。15.在名称为 Frame1 的框架中,有两个名称分别为 op1、op2 的单选按钮,标题分别为“单程”、“往返”,如图所示。 (分数:2.50)A.若仅把 Frame
36、1 的 Enabled 属性设为 False,则 op1、op2 仍可用B.对于上图,op1.Value 的值为 True C.对于上图,执行 Op1.Value=False 命令,则“往返”单选按钮被选中D.对于上图,执行 Op1.Value=0 命令,程序出错解析:解析 当 Frame1 的 Enabled 属性设为 False 后,框架 Frame1 变为不可用,它里面放的两个单选按钮也就变为不可用,因此 A 选项错误;当 Op1.Value 为 False 时,“单程”和“往返”单选按钮都处于未选中状态,因此 C 选项错误;Op1.Value 的值为 0,即为 False,语句正确,没
37、有程序错误,因此 D 选项说法错误;根据图可知,“单程”单选按钮处于选中状态,Op1.Value 的值为 True,因此 B 选项正确。16.以下能够设置控件焦点的方法是_。(分数:2.50)A.SetFocus B.GotFocusC.LostFocusD.TabStop解析:解析 GotFocus 和 LostFocus 是控件获得焦点和失去焦点时触发的两个事件;TabStop 是控件的属性;SetFocus 方法是控件设置、获得焦点的方法。因此选 A。17.使用 Line 控件在窗体上画一条从(0,0)到(600,700)的直线,则其相应属性的值应是_。(分数:2.50)A.X1=0,X
38、2=600,Y1=0,Y2=700 B.Y1=0,Y2=600,X1=0,X2=700C.X1=0,X2=0,Y1=600,Y2=700D.Y1=0,Y2=0,X1=600,X2=700,解析:解析 X1,Y1,X2,Y2 属性是直线的起点、终点坐标。因此选 A。18.设有窗体的 Form_MouseMove 事件过程如下: Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single) If(Button And 3)=3 Then Print“检查按键“ End If End Su
39、b 关于上述过程,以下叙述中正确的是_。(分数:2.50)A.按下鼠标左键时,在窗体上显示“检查按键”B.按下鼠标右键时,在窗体上显示“检查按键”C.同时按下鼠标左、右键时,在窗体上显示“检查按键” D.不论做何种操作,窗体上都不会显示解析:解析 MoseMove 事件中的 Button 表示鼠标所有按键的状态。用 0,1,2 三个位表示左、右、中键,当按下某个键时,相应位是 1,否则是 0。三位的二进制数也可以转换为十进制数,作为 Button 的值。如下表所示 button 参数值 操作 000(十进制 0) 未按任何键 001(十进制 1) 左键被按下(默认) 010(十进制 2) 右键
40、被按下 011(十进制 3) 左、右键同时被按下 100(十进制 4) 中间键被按下 101(十进制 5) 同时按下中间键和左键 110(十进制 6) 同时按下中间键和右键 111(十进制 7) 3 个键同时被按下 本题中当 Button 值为 011 或 111 时,(Button And3)=3,条件才成立,窗体上显示“检查按键”。这说明只要同时按下鼠标的左、右键时,在窗体上就显示“检查按键”。因此选 C。19.窗体上有一个名称为 CD1 的通用对话框,一个名称为 Command1 的命令按钮,相应的事件过程如下: Private Sub Command1_Click() CD1.Filt
41、er=“All File|*.*|Text File|*.txt|PPT|*.ppt“ CD1.FilterIndex=2 CD1.InitDir=“C:“ CD1.FileName=“default“ CD1.ShowSave End Sub 关于上述过程,以下叙述中正确的是_。(分数:2.50)A.默认过滤器为“*.ppt“B.指定的初始目录为“C:“ C.打开的文件对话框的标题为“default“D.上面事件过程实现保存文件的操作解析:解析 通用对话框的 FilterIndex 属性为 1 时,表示默认过滤器为第 1 个文件类型,为 2 时表示为第 2 个文件类型。InitDir 属性值
42、指定通用对话框的初始目录。FileName 属性表示对话框中默认的文件名。ShowSave 方法表示打开另存为对话框,执行保存文件的操作。因此 B 选项叙述正确。20.以下关于窗体的叙述中,错误的是_。(分数:2.50)A.Hide 方法能隐藏窗体,但窗体仍在内存中B.使用 Show 方法显示窗体时,一定触发 Load 事件 C.移动或放大窗体时,会触发 Paint 事件D.双击窗体时,会触发 DblClick 事件解析:解析 窗体的 Load 事件是把窗体装入工作区的事件,即装入内存,然后窗体才显示出来,使用Hide 方法可以使窗体隐藏,但窗体仍在内存中,使用 Show 方法能使窗体显示出来
43、。当窗体被移动或放大时,或者窗口移动时覆盖了一个窗体时,会触发 Paint 事件。双击窗体时会触发窗体的 DblClick 事件。因此答案为 B。21.窗体上有名称分别为 Text1、Text2 的文本框,名称为 Command1 的命令按钮。运行程序,在 Text1 中输入“FormList”,然后单击命令按钮,执行如下程序: Private Sub Command1_Click() Text2.Text=UCase(Mid(Text1.Text,5,4) End Sub 在 Text2 中显示的是_。(分数:2.50)A.formB.listC.FORMD.LIST 解析:解析 Mid 为
44、中部截取函数,格式为 Mid(字符串,起始位置,长度),Ucase 函数的作用是把字符串中的小写字母转换为大写字母。题目中 Mid 函数截取字符串“FormList”第 5 个字符开始的 4 个字符,结果为“List”,ucase 函数把“List”全部变为大写,即“LIST”。22.窗体上有名称为 Command1 的命令按钮,名称分别为 List1、List2 的列表框,其中 List1 的MultiSelect 属性设置为 1(Simple),并有如下事件过程: Private Sub Command1_Click() For i=0To List1.ListCount-1 If Lis
45、t1.Selected(i)=True Then List2.AddItem Text End If Next End Sub 上述事件过程的功能是将 List1 中被选中的列表项添加到 List2 中。运行程序时,发现不能达到预期目的,应做修改,下列修改中正确的是_。(分数:2.50)A.将 For 循环的终值改为 List1.ListCountB.将 List1.Selected(i)=True 改为 List1.List(i).Selected=TrueC.将 List2.AddItem Text 改为 List2.AddItem List1.List(i) D.将 List2.AddI
46、tem Text 改为 List2.AddItem List1.ListIndex解析:解析 题目中的程序不能将 List1 中的选中项添加到 List2 中,List2.AddItem Text 一行有误,应该改为 List2.AddItem List1.List(i)才能使 List1 中每个选中的行添加到 List2 中。列表框控件的List 属性保存了列表框中所有值的数组,可以通过下标访问数组中的值。因此本题答案为 C。23.设有如下 Command1 的单击事件过程及 fun 过程: Private Sub Command1_Click() Dim x As Integer x=Va
47、l(InputBox(“请输入一个整数“) fun(x) End Sub Private Sub fun(x As Integer) If x Mod 2=0 Then fun(x/2) Print x: End Sub 执行上述程序,输入 6,结果是_。(分数:2.50)A.3 6 B.6 3C.6D.程序死循环解析:解析 题目中 fun 过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用 fun 过程,参数值为 6,是偶数,所以再次调用 fun 过程,这次参数为 6/2=3,是奇数,不再调用自身,接着执行下一条语句输出参数值即 3,然后返回第一次调用 fun 过程中#执行下一条语句
48、,输出第一次调用的参数值,即 6。因此程序会输出 3 6。故选项 A 正确。24.命令按钮 Command1 的单击事件过程如下: Private Sub Command1_Click() Dim a(10,10)As Integer x=0 For i=1 To 3 For j=1 To 3 a(i,j)=i*2 Mod j If xa(i,j)Then x=a(i,j) Next Next Print x End Sub 执行上述事件过程后,窗体上显示的是_。(分数:2.50)A.1B.2 C.3D.4解析:解析 题目中定义了一个二维数组,为数组赋初值并找出这些值中最大的值输出。数组中的值为:a(1,1)=1*2 mod 1=0,a(1,2)=1*2 mod 2=0,a(1,3)=1*2mod 3=2 a(2,1)=2*2 mod 1=0,a(2,2)=2*2 mod 2=0,a(2,3)=2*2mod 3=1 a(3,1)=3*2 mod 1=0,a(3,2)=3*2 mod 2=0,a(3,3)=3*2mod 3=0 显然最大值为 2,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1