1、二级 VISUAL+BASIC 笔试-164 及答案解析(总分:88.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.面向对象的程序设计主要考虑提高程序的_。(分数:2.00)A.可靠性B.可重用性C.可移植性D.可修改性2.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下程序:Option Base 1Private Sub Command1_Click()Dim c As Integer, d As Integerd=0c=6x=Array(2, 4, 6, 8, 10, 12)For i=1 To 6If x(i)c Thend=d+x(i)c
2、=x(i)Elsed=d-cEnd IfNext iPrint dEnd Sub程序运行后,如果单击命令按钮,则在窗体上输出的内容为_。(分数:2.00)A.10B.16C.12D.203.把窗体的 KeyPreview 属性设置为 True,然后编写如下事件过程:Private Sub Form_KeyPress(KeyAscii As Integer)Dim Ch As StringCh=Chr(KeyAscii)KeyAscii=Asc(UCase(Ch)Print Chr(KeyAscii+2)End Sub程序运行后,按键盘上的 A 键,则在窗体上显示的内容是_。(分数:2.00)A
3、.AB.BC.CD.D4.表达式 5 Mod 3+3/5*2 的值是_。(分数:2.00)A.0B.2C.4D.65.阅读程序:Option Base 1Private Sub Form_Click()Dim arr, SumSum=0art=Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19)For i=1 To 10If arr(i)/3=arr(i)/3 ThenSum=Sum+arr(i)End IfNext iPrint SumEnd Sub程序运行后,单击窗体,输出结果为_。(分数:2.00)A.13B.14C.27D.156.在软件生命周期法中,用户的
4、参与主要在_。(分数:2.00)A.软件定义期B.软件开发期C.软件维护期D.整个软件生命周期过程中7.在窗体上画一个名称为 Text1 的文本框,一个名称为 Command1 的命令按钮,然后编写如下事件过程和通用过程:Private Sub Command1_Click()n=Val(Text1. Text)If n/2=n/2 Thenf=f1(n)Elsef=f2(n)End IfPrint f; nEnd SubPublic Function f1(ByRef x)x=x*xf1=x+xEnd FunctionPublic Function f2(Byval x)x=x*xf1=x+
5、x+xEnd Function程序运行后,在文本框中输入 6,然后单击命令按钮,窗体上显示的是_。(分数:2.00)A.72 36B.108 36C.72 6D.108 68.假定在工程文件中有一个标准模块,其中定义了如下记录类型:Type BooksName As String*10TelNum As String*20End Type要求当执行事件过程 Command1_Click 时,在顺序文件 Person. txt 中写入一条记录。下列能够完成该操作的事件过程是_。(分数:2.00)A.Private Sub Command1_Click()Dim B As BooksOpen“c:
6、/Person. txt“ For Output As #1B. Name=InputBox(“输入姓名“)B. TelNum=InputBox(“输入电话号码“)Write #1, B. Name, B. TelNumClose #1End SubB.Private Sub Command1_Click()Dim B As BooksOpen“c:/Person txt“ For Output As #1B. Name=InputBox(“输入姓名“)B. TelNum=InputBox(“输入电话导码“)Print #1, B. Name, B. TelNumClose #1End Sub
7、C.Private Sub Command1_Click()Dim B As BooksOpen“c:/Person. txt“ For Output As #1Name=InputBox(“输入姓名“)TelNum=InputBox(“输入电话号码“)Print #1, BClose #1End SubD.Private Sub Command1_Click()Dim B As BooksOpen “c:/Person txt“ For Output As #1Name=InputBox(“输入姓名“)TelNum=InputBox(“输入电话号码“)Print #1, B Name, B.
8、 TelNumClose #1End Sub9.在窗体上画一个文本框和一个计时器控件,名称分别为 Text1 和 Timer1,在属性窗口中把计时器的Interval 属性设置为 1000,Enabled 属性设置为 False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序:Private Sub Command1_Click()Timer1. _End SubPrivate Sub Timer1_Timer()Text1. Text=TimeEnd Sub在填空处应填入的内容是_。(分数:2.00)A.Enabled=TrueB.Enabl
9、ed=FalseC.Visible=TrueD.Visible=False10.设有如下程序:Private Sub Command1_Click()Dim C As Integer, d As Integerc=4d=InputBox(“请输入一个整数“)Do While d0If dc Thenc=c+1End Ifd=InputBox(“请输入一个整数“)LoopPrint c+dEnd Sub程序运行后,单击命令按钮,如果在输入对话框中依次输入 1、2、3、4、5、6、7、8、9、0,则输出结果是_。(分数:2.00)A.12B.11C.10D.911.在窗体上画一个名为 Text1
10、的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim arrayl(10, 10)As IntegerDim i As Integer, j As IntegerFor i=1 To 3For j=2 To 4arrayl(i, j)=i+jNext jNext iText1. Text=arrayl(2, 3)+arrayl(3, 4)End Sub程序运行后,单击命令按钮,在文本框中显示的值是_。(分数:2.00)A.12B.13C.14D.1512.在长度为 n 的线性表中用二分法查找一个表中不存在的元素
11、,需要的比较次数为_。(分数:2.00)A.log2nB.nlog2nC.n/2D.n13.数据字典是软件需求分析阶段的最重要的工具之一,其最基苯的功能是_。(分数:2.00)A.数据库设计B.数据通信C.数据定义D.数据维护14.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:option Base 1Private Sub Command1_Click()Dim aa=Array(1, 2, 3, 4, 5)For i=1 To UBound((分数:2.00)A.NextEnd Sub程序运行后,单击命令按钮,输出结果是_。(分数:2.00)A.ABCDEB.1
12、 2 3 4 5C.abodeD.出错信息16.当型循环和直到型循环的区别是_。(分数:2.00)A.当型循环效率高B.直到型循环效率高C.当型循环至少执行一次运算D.直到型循环至少执行一次运算17.数据库设计的根本目标是要解决_。(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据储存问题D.简化数据维护18.下列关于栈的描述中错误的是_。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针19.在窗体上画一个名称为 CommonDialogl 的通用对话框,一个名称为 Command1 的命令按钮。然后编写如
13、下事件过程:Prirate Sub Command1_Click()CommonDialogl. FileName=“CommonDialogl. Filter=“All file|*. *|(*. Doc)|*. Doc|(*. Txt)|*. Txt“CommonDialogl. Filterlndex=2CommonDialogl. DialogTitle=“VBTest“CommonDialogl. Action=1End Sub对于这个程序,以下叙述中错误的是_。(分数:2.00)A.该对话框被设置为“打开”对话框B.在该对话框中指定的默认文件名为空C.该对话框的标题为 VBTest
14、D.在该对话框中指定的默认文件类型为文本文件(*. Txt)20.执行以下程序段:a $=“abbaedduba“For i=6 To 2 Step-2X=Mid(a, i, i)Y=Left(a, i)z=Right(a, i)z=UCase(X nEnd SubPublic Function f1(ByRef x)x=x*xf1=x+xEnd FunctionPublic Function f2(Byval x)x=x*xf1=x+x+xEnd Function程序运行后,在文本框中输入 6,然后单击命令按钮,窗体上显示的是_。(分数:2.00)A.72 36 B.108 36C.72 6
15、D.108 6解析:分析 当在文本框中输入 6 时,条件“n/2=n/2”成立,调用 f1 函数过程。在过程的计算中,变量 x 的值为 36,函数名 f1 为 72。由于 x 是被定义为“ByRef”(按址方式传送),所以将 36 反传送给实参n,函数名 f1 也将 72 返回给变量 f。最后在窗体上显示的是 72 和 36。8.假定在工程文件中有一个标准模块,其中定义了如下记录类型:Type BooksName As String*10TelNum As String*20End Type要求当执行事件过程 Command1_Click 时,在顺序文件 Person. txt 中写入一条记录
16、。下列能够完成该操作的事件过程是_。(分数:2.00)A.Private Sub Command1_Click()Dim B As BooksOpen“c:/Person. txt“ For Output As #1B. Name=InputBox(“输入姓名“)B. TelNum=InputBox(“输入电话号码“)Write #1, B. Name, B. TelNumClose #1End Sub B.Private Sub Command1_Click()Dim B As BooksOpen“c:/Person txt“ For Output As #1B. Name=InputBox
17、(“输入姓名“)B. TelNum=InputBox(“输入电话导码“)Print #1, B. Name, B. TelNumClose #1End SubC.Private Sub Command1_Click()Dim B As BooksOpen“c:/Person. txt“ For Output As #1Name=InputBox(“输入姓名“)TelNum=InputBox(“输入电话号码“)Print #1, BClose #1End SubD.Private Sub Command1_Click()Dim B As BooksOpen “c:/Person txt“ For
18、 Output As #1Name=InputBox(“输入姓名“)TelNum=InputBox(“输入电话号码“)Print #1, B Name, B. TelNumClose #1End Sub解析:分析 要向顺序文件中写入记录必须用 For Output 参数打开文件,然后用 Print#或 Write#语句将内容写入文件,因此选项 B 和选项 D 不正确;又因为自定义数据类型变量的引用要用“变量名. 变量元素名”,所以选项 C 不正确。故本题的正确答案只有选项 A。9.在窗体上画一个文本框和一个计时器控件,名称分别为 Text1 和 Timer1,在属性窗口中把计时器的Interv
19、al 属性设置为 1000,Enabled 属性设置为 False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序:Private Sub Command1_Click()Timer1. _End SubPrivate Sub Timer1_Timer()Text1. Text=TimeEnd Sub在填空处应填入的内容是_。(分数:2.00)A.Enabled=True B.Enabled=FalseC.Visible=TrueD.Visible=False解析:分析 用 Visible 属性设置对象的可见性,如果将该属性设置为 False,
20、则隐藏对象;如果设置为 True,则对象可见。用 Enabled 属性设置对象的可用性,如果将该属性设置为 False,则对象为不可用;如果设置为 True,则对象为可用。按题意应将 Enablcd 属性设置为 True。10.设有如下程序:Private Sub Command1_Click()Dim C As Integer, d As Integerc=4d=InputBox(“请输入一个整数“)Do While d0If dc Thenc=c+1End Ifd=InputBox(“请输入一个整数“)LoopPrint c+dEnd Sub程序运行后,单击命令按钮,如果在输入对话框中依次
21、输入 1、2、3、4、5、6、7、8、9、0,则输出结果是_。(分数:2.00)A.12B.11C.10D.9 解析:分析 在输入对话框中依次输入 14 时,因 dc 的结果为 Falsc,变量 c 没有进行任何计算;输入 59 时,因 dc 的结果为 True,变量 c 的计算过程为:4+1+1+1+1+1=9;输入 0 时,退出 DO 循环,最后打印出 9+0=9 的结果。11.在窗体上画一个名为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim arrayl(10, 10)As Integ
22、erDim i As Integer, j As IntegerFor i=1 To 3For j=2 To 4arrayl(i, j)=i+jNext jNext iText1. Text=arrayl(2, 3)+arrayl(3, 4)End Sub程序运行后,单击命令按钮,在文本框中显示的值是_。(分数:2.00)A.12 B.13C.14D.15解析:分析 本题首先定义了一个整型数组 arrayl,然后用 For 循环嵌套语句给数组中的部分元素赋值。从赋值语句“arrayrl(i,j)=i+j”可以看出,元素的值等于下标之和。所以 Text1. Text=arrayl(2,3)+ar
23、rayl(3,4)=2+3+3+4=12,所以文本框中显示的值是 12。12.在长度为 n 的线性表中用二分法查找一个表中不存在的元素,需要的比较次数为_。(分数:2.00)A.log2nB.nlog2nC.n/2D.n 解析:分析 对于长度为 n 的有序线性表,在最坏情况下,二分查找只需要比较 log2 n 次,而顺序查找需要比较 n 次。13.数据字典是软件需求分析阶段的最重要的工具之一,其最基苯的功能是_。(分数:2.00)A.数据库设计B.数据通信C.数据定义 D.数据维护解析:分析 数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的成果。数据字典通过对数据项和
24、数据结构的定义来描述数据流、数据存储的逻辑内容,所以数据字典的最基本的功能是数据定义。14.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:option Base 1Private Sub Command1_Click()Dim aa=Array(1, 2, 3, 4, 5)For i=1 To UBound((分数:2.00)A.NextEnd Sub程序运行后,单击命令按钮,输出结果是_。(分数:2.00)A.ABCDE B.1 2 3 4 5C.abodeD.出错信息解析:分析 本程序段首先定义了一维数组 a,然后用 For 循环为其赋值,Asc()函数的作用是
25、返回字符的 ASCII 码,字符“A”的 ASCII 码为 65,Chr()函数的作用是将 ASCII 码值变为相应的字符,而“a(i)=Chr(Asc(“A“)+(i-1)”的作用是将每次比原来大 1 的 ASCII 码值变为字符赋给 a,所以 a 的元素是A、B、C、D、E。For Each-In 用于输出 a 中元素的值。16.当型循环和直到型循环的区别是_。(分数:2.00)A.当型循环效率高B.直到型循环效率高C.当型循环至少执行一次运算D.直到型循环至少执行一次运算 解析:分析 在程序设计语言中,重复结构对应两类循环语句,先判断后执行循环体的结构称为当型循环结构,又称 While
26、型循环。先执行循环体后判断的称为直到型循环结构,又称 Until 型循环。所以直到型循环至少执行一次运算。17.数据库设计的根本目标是要解决_。(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据储存问题 D.简化数据维护解析:分析 数据库设计的基本人物是根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式,即解决大量数据存储的问题。18.下列关于栈的描述中错误的是_。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储 C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针解析:分析 在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈
27、底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照先进后出(FILO,First In Last Out)或后进先出(LIFO,Last In First Out)的原则组织数据的,因此,栈也被称为先进后出表或后进先出表。由此可以看出,栈具有记忆作用。答案 B 错在带链的栈的结点存储顺序与其逻辑顺序是可以不一致的。19.在窗体上画一个名称为 CommonDialogl 的通用对话框,一个名称为 Command1 的命令按钮。然后编写如下事件过程:Prirate Sub Command1_Click()Common
28、Dialogl. FileName=“CommonDialogl. Filter=“All file|*. *|(*. Doc)|*. Doc|(*. Txt)|*. Txt“CommonDialogl. Filterlndex=2CommonDialogl. DialogTitle=“VBTest“CommonDialogl. Action=1End Sub对于这个程序,以下叙述中错误的是_。(分数:2.00)A.该对话框被设置为“打开”对话框B.在该对话框中指定的默认文件名为空C.该对话框的标题为 VBTestD.在该对话框中指定的默认文件类型为文本文件(*. Txt) 解析:分析 用属性
29、 Action=1 表示显示“打开”对话框,用属性 FileName=“表示默认文件名为空,用属性 DialogTitle=“VBTest“表示对话框的标题为 VBTest,用 FilterIndex 属性指定第二个即(*. Doc)|*. Doc作为默认显示的过滤器,所以正确答案为选项 D。20.执行以下程序段:a $=“abbaedduba“For i=6 To 2 Step-2X=Mid(a, i, i)Y=Left(a, i)z=Right(a, i)z=UCase(X&Y&z)Next iPrint z输出结果为_。(分数:2.00)A.ABAB.BBABBA C.ABBABAD.A
30、ABAAB解析:分析 虽然程序段中有一个循环 3 次的循环过程,但只是最后一次循环的结果才有用。即最后一次循环的结果是:变量 X 为 bb,变量 Y 为 ab,变量 z 为 ba。“X & Y & z”的计算结果为“bbabba”,经“UCase(X & Y & z)”计算后结果为“BBABBA”。21.设一个工程由两个窗体组成,其名称分别为 Form1 和 Form2,在 Form1 上有一个名称为 Command1 的命令按钮。窗体 Form1 的程序代码如下:Private Sub Command1_Click()Dim a ks Integera=10Call g(Form2, )En
31、d Subprivate Sub g(f As Form, x As Integer)Y=Iif(x10, 100, -100)f. Showf. Caption=YEnd Sub运行以上程序,正确的结果是_。(分数:2.00)A.Form1 的 Caption 属性值为 100B.Form2 的 Caption 属性值为-100 C.Form1 的 Caption 属性值为-100D.Form2 的 Caption 属性值为 100解析:分析 在 q 子过程中,形参 f 为窗体变量。通过实参和形参的传递,f 为 Form2,形参 x 为10。“f. Show”方法将显示 Form2 窗体,语
32、句“y=Iif(x10,100,-100)”将-100 赋值给 y,语句“f. Caption=y”将 Form2 的 Caption 属性值改为-100。22.在窗体上画一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()x=0n=InputBox(“)For i=1 To nFor j=1 To ix=x+1Next jNext iPrint xEnd Sub程序运行后,单击命令按钮,如果输入 3,则在窗体上显示的内容是_。(分数:2.00)A.3B.4C.5D.6 解析:分析 变量 x 的功能为计算循环的次数。对于双重循
33、环,如果“i=1 to n”和“j=1 to n”,则循环次数为 nn;如果“i=1 to n”和“j=1 to i”,循环次数为(1+n)n/2。本题的循环次数为(1+3)3/2=6。23.以下语句的输出结果是_。Print Format $(5874.567, “0.00E-00“)(分数:2.00)A.5874.57B.5.87458E03C.5874.567D.5.87E03 解析:分析 在使用 Format $函数使数值按“格式字符串”指定的格式输出时,符号“E+”或“E-”表示将用指数形式显示数值,两者作用基本相同。按“0.00E-00“的输出格式,应选择 D。24.下列关于数据库
34、系统叙述正确的是_。(分数:2.00)A.数据库中只存在数据项之间的联系B.数据库的数据项之间和记录之间都存在联系 C.数据库的数据项之间无联系,记录之间存在联系D.数据库的数据项之间和记录之间都不存在联系解析:分析 数据间联系反映为实体内部和实体之间的联系。实体内部的联系通常指组成实体的各个属性之间的联系,即数据项之间的联系;实体之间的联系通常指不同实体集之间的联系,即记录间的联系。25.在窗体上画两个文本框,其名称分别为 Text1 和 Text2,然后编写如下程序:Private Sub Form Load()ShowText1. Text=“Text2. Text=“Text1. Se
35、tFocusEnd SubPrivate Sub Text1_Change()Text2. Text=Mid(Text1. Text, 8)End Sub程序运行后,如果在文本框 Text1 中输入 BeijingChina,则在文本框 Text2 中显示的内容是_。(分数:2.00)A.BeijingB.China C.BeijingD.BeijingC解析:分析 Mid 函数的作用是返回从指定位开始的指定长度的字符串,如果不指定长度,则从开始位置到右边所有字符。由于在该题目中只指定了开始的字符位置为“8”,而没有指定长度,故右边的字符将全部传给文本框 Text2。26.开发软件时对提高开发
36、人员的工作效率至关重要的是_。(分数:2.00)A.计算机的并行处理能力B.领导的关心C.程序人员的数量D.软件开发环境 解析:分析 程序开发环境是用来辅助计算机软件的开发、分析、维护和管理的软件系统,使用软件开发工具能节省软件开发的时间和费用,对提高软件开发人员的工作是至关重要的。27.以下关于作用范围的描述正确的是_。(分数:2.00)A.所有变量(Public/Global/Static/Private)都可以放到窗体的通用部分定义B.所有变量(Public/Global/Static/Private)都可以放到标准模块中定义C.Public/Global 类的变量只能放在标准模块中定义
37、 D.只有 Global 变量是必须放在标准模块中定义解析:分析 全局变量必须用 Public 或 Global 语句声明,不能用 Dim 语句声明,更不能用 Private 语句声明;同时,全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。28.在窗体上有若干控件,其中有一个名称为 Text1 的文本框。影响 Text1 的 Tab 顺序的属性是_。(分数:2.00)A.TabStopB.EnabledC.VisibleD.TabIndex 解析:分析 在设计阶段可以通过属性窗口中的 TabTndex 属性来改变 Tab 顺序。29.在软件设计中,不属于过程设计工具的是_。(分数:2
38、.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图 解析:分析 DFD 图是描述数据处理过程的工具。30.在窗体上画一个名称为 Filel 的文件列表框,并编写如下程序:Private Sub Filel_DblClick()x=Shell(Filel. FileName, 1)End Sub以下关于该程序的叙述中,错误的是_。(分数:2.00)A.x 没有实际作用,因此可以将该语句写为:Call Shell(Filel. FileName, 1)B.双击文件列表框中的文件,将触发该事件过程C.要执行的文件的名字通过 Filel. FileName 指定 D.File
39、l 中显示的是当前驱动器、当前目录下的文件解析:分析 文件列表框接收 DblClick 事件。利用这一点,可以执行文件列表框中的某个可执行文件。也就是说,只要双击文件列表框中的某个可执行文件,就能执行该文件。这可以通过 Shell 函数来实现。上述过程中的 FileName 是文件列表框中被选择的可执行文件的名字,双击该文件名就能执行。31.在窗体上画一个名称为 Text1 的文本框和一个名称为 Command1 的命令按钮,然后编写如下事件过程:Private Sub Comandl_Click()Dim arrayl(10, 10)As IntegerDim i As Integer, j
40、 As IntegerFor i=1 To 3For j=2 To 4arrayl(i, j)=i+jNext jNext iText1. Text=arrayl(2, 3)+arrayl(3, 4)End Sub程序运行后,单击命令按钮,在文本框中显示的值是_。(分数:2.00)A.15B.14C.13D.12 解析:分析 数组 Arrayl 的部分元素在双重循环中被初值,其规律为:数组元素的值是两个下标值的之和,所以 Arrayrl(2,3)=5,Arrayl(3,4)=7。表达式“Arrayl(2,3)+Arrayl(3,4)”的计算结果为12。32.在窗体上画一个列表框和一个命令按钮,
41、其名称分别为 List1 和 Command1,然后编写如下事件过程:Private Sub Form_Load()List1. AddItem“Item1“List1AddItem“Item2“List1. AddItem“Item3“End SubPrivate Sub Command1_Click()List1. List(List1. ListCount)=“AAAA“End Sub程序运行后,单击命令按钮,其结果为_。(分数:2.00)A.把字符串“AAAA”添加到列表框中,但位置不能确定B.把字符串“AAAA”添到列表框的最后(即“Item3”的后面) C.把列表框之中原有的最后一
42、项改为“AAAA”D.把字符串“AAAA”插入到列表框的最前面(即“Iteml”的前面)解析:分析 列表框的 List 属性用来列出表项的内容,也可以改变数组中已有的值。列表框中表项的排列是从 0 开始,最后一项的序号为 ListCount-1。本程序的功能是:把字符串“AAAA”添加到列表框的最后,但不改变 Item3 的值。33.有如下程序:Option Base 1Private Sub Form_Click()Dim arr, SumSum=0arr=Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19)For i=1 To 10If arE(i)/3=arr
43、(i)/3 ThenSum=Sum+arr(i)End IfNext iPrint SumEnd Sub程序运行后,单击窗体,输出结果为_。(分数:2.00)A.25B.26C.27 D.28解析:分析 本题考查的是数组赋值以及算术运算符“/”和“/”的区别。本程序段首先用 Array 函数给 arr 数组赋初值。“/”是浮点除法,执行标准除法操作,结果为浮点数。“/”为整数除法,整型整除运算,结果为整型值。本程序的功能是:找出 arr 数组中能被 3 整除的元素值,将其累加到 sum 中,然后输出。满足该条件的元素是 3、9、15,和值为 27。34.在窗体上画一个名称为 Coramandl
44、 的命令按钮,然后编写如下程序;Dim SW As BooleanFunction func(X As Integer)As IntegerIf X20 ThenY=XElseY=20+XEnd Iffunc=YEnd FunctionPrivate Sub Form_MouseDown(Button As Integer,Shift As Integer, X As Single, Y As Single)Dim a As BooleanSW=FalseEnd SubPrivate Sub Form_MouseUp(Button As Integer,Shift As Integer, X
45、As Single, Y As Single)SW=TrueEnd SubPrivate Sub Command1_Click()Dim intNum As IntegerintNum=InputBox(“)If SW ThenPrint flmc(intNum)End IfEnd Sub程序运行后,单击命令按钮,将显示一个输入对话框,如果在对话框中输入 25,则程序的执行结果为(分数:2.00)A.输出 0B.输出 2C.输出 45D.无任何输出 解析:分析 上述程序由一个通用过程和 3 个事件过程组成,在命令按钮事件过程中调用通用过程,并把一个参数传送给通用过程。这里要注意,只有在一定的条
46、件下,才能调用通用过程,这个条件就是,窗体层的 Boolean 变量 SW 的值必须为 True,否则不能调用。而为了使 SW 的值为 True,必须执行Form_MouseUp 事件过程,这只能通过单击窗体来实现。单击窗体时,单击鼠标左键执行 Form_MouseDown事件过程,使得 SW=False。松开鼠标后执行 Form_MouseUp 事件过程,使得 SW=True。程序运行后,由于没有执行 Form_MouseUp 事件过程,直接单击命令按钮,因而 SW 的值为 False,这样不会调用通用过程,也就不会输出任何信息。35.设有如下程序:Dption Base 1Private
47、Sub Command1_Click()Dim a(10)As IntegerDim n As Integern=InputBox(“输入数据“)If n10 ThenCall GetArray(a, n)End IfEnd SubPrivate Sub GetArray(h()As Integer, n As Integer)Dim c(10)As Integerj=0For i=1 To nb(i)=CInt(Rnd()*100)If b(i)/2=b(i)/2 Thenj=j+1c(j)=b(i)End IfNextprint jKnd Sub以下叙述中错误的是_。(分数:2.00)A.
48、数组 b 中的偶数被保存在数组 c 中B.程序运行结束时,在窗体上显示的是 c 数组中元素的个数C.GetArray 过程的参数 n 是按值传送的 D.如果输入的数据大于 10,则窗体上不显示任何信息解析:分析 在形参中,默认的传送方式为传地址传送,所以形参 n 是按传地址传送。正确答案为选项C。二、填空题(总题数:9,分数:18.00)36.顺序查找一般是指在 【1】 中查找指定的元素。(分数:2.00)填空项 1:_ (正确答案:线性表)解析:分析 顺序查找又称顺序搜索。顺序查找一般是指在线性表中查找指定的元素,其基本方法如下:从线性表的第一个元素开始,依次将线性表中的元素与被查元素进行比较,若相等,则表示找到(即查找成功);若线性表中所有的元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。37.面向对象的程序设计主要的优点包括与人类习惯思维方法一致、稳定性好、可重用性好、 【2】 和可维护性好等 5 个方面。(分数:2.00)填空项 1:_ (正确答案:易于开发大型软件产品)解析:分析 面向对象方法的本质就是主张从客观世界固有的事务出发来构造系统,提倡用人类在现实生活中常用的思