1、二级 VISUAL+BASIC 笔试-292 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.如果想让名为 MenuItem1 的菜单项在运行时变灰显示,则应执行( )语句。(分数:2.00)A.MenuItem1Enabled=TrueB.MenuItem1Checked=TrueC.MenuItem1Enabled=FalseD.MenuItem1Visible=False2.可通过“另存为”对话框的( )属性获得要存盘的文件名。(分数:2.00)A.FileNameB.FilterC.FilterIndexD.Name3.下列不属于白盒
2、测试的基本原则的是( )。(分数:2.00)A.保证所测模块中每一独立路径至少执行一次B.保证所测模块所判断的每一分支至少执行一次C.保证所测模块每一循环都在边界条件和一般条件下至少各执行一次D.验证部分内部数据结构的有效性4.假设没有使用 Option Base 语句,用下面语句定义的数组元素个数是( )。Dim Arr3(6,5)As Integer(分数:2.00)A.42B.30C.37D.365.已知 a=10,r=6,x=7,b=True,表达式“a=2*3.14159*r And x5 Or Not b“的值为( )。(分数:2.00)A.FalseB.TrueC.1D.06.利
3、用 Open 语句打开文件时,若省去 For模式,默认的模式是( )。(分数:2.00)A.OutputB.InputC.AppendD.Random7.使列表框 List1 在填加项目的时候能够自动按字母排序,并且能够连续多选和不连续多选,需执行下面的( )语句。(分数:2.00)A.List1Sorted=0List1MultiSelect=0B.List1Sorted=TrueList1,MultiSelect=0C.List1Sorted=TrueList1MultiSelect=1D.List1Sorted=TmeList1MuldSelect=28.Single(单精度)型数据占(
4、 )个字节。(分数:2.00)A.2B.4C.8D.109.软件详细设计工具中,( )可以很容易地表示基本结构的嵌套关系。(分数:2.00)A.程序流程图B.N-S 图C.问题分析图D.PDL10.在窗体上画一个命令按钮,名称为 Command1。然后编写如下程序:Private Sub Command1_Click()Dim a As Integer,b As Integer,c As IntegerIf a=0 Thenx=x-1ElseIf b0 ThenEnd IfEnd IfIf c0 Thenx=3Elsex=4End IfPrint xEnd Sub程序运行后,如果单击命令按钮,
5、则在窗体上显示的内容是( )。(分数:2.00)A.34B.4C.35D.311.窗体上有两个单选按钮和两个复选框,它们的名称和它们的 Caption 属性相同。要使这些控件显示成如图 20-7 所示的状态,可在 Form_Load 事件中执行( )。(分数:2.00)A.B.C.D.12.已知通用对话框名为 Cd1g,则执行下列的( )语句,将弹出“颜色”对话框对话框。(分数:2.00)A.Cd1gShowColorB.Cd1gShowPalateC.Color Cd1gD.ShowColor Cd1g13.软件生命周期的第一个阶段是( )。(分数:2.00)A.软件定义阶段B.软件开发阶段
6、C.软件运行阶段D.软件维护阶段14.以下关于 MDI 子窗体在运行时特性的叙述,错误的是( )。(分数:2.00)A.子窗体只能在 MDI 窗体的内部区域显示B.子窗体可以移出 MDI 窗体C.当子窗体最小化时,它将以图标的方式排列在 MDI 窗体的底部D.当子窗体最大化时,标题将与 MDI 窗体标题合并,并显示在 MDI 窗体的标题栏中15.一个采用顺序存储结构的栈,其中 top 为栈顶指针,若以地址高端作栈顶,地址低端作栈底,那么进行进栈操作时,对 top 的操作为( )。(分数:2.00)A.top=top-1B.top=top+1C.top=0D.top 不做任何修改16.下述不属于
7、概念模型应具备的性质的是( )。(分数:2.00)A.有丰富的语义表达能力B.易于交流和理解C.易于变动D.在计算机中实现的效率高17.关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现完整性是( )。(分数:2.00)A.实体完整性B.参照完整性C.用户定义的完整性D.实体完整性、参照完整性和用户定义的完整性18.以下是文本框的 KeyDown 和 KeyPress 事件的框架,关于它们说法正确的是( )。Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)End SubPrivate Su
8、b Text1_KeyPress(KeyAscii As Integer)End Sub(分数:2.00)A.KeyDown 中的 KeyCode 参数和 KeyPress 中的 KeyAscii 参数的含义是一样的B.按下打字区的“1”和小键盘上的“1”,KeyCode 参数的值是一样的C.在锁定大写和通常情况下 KeyCode 的值都是一样的D.在锁定大写和通常情况下 KeyAscii 的值都是一样的19.在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。Private Sub fun3(x As Integer)Static a As IntegerDim b As
9、 Integera=a+3:b=b+3a=a+x:b=b+xPrinta;bEnd SubPrivate Sub Command1_Click()Dim k As Integer,m As Integer,n As Integerk=2:m=1Call fun3(k)Call fun3(m)End Sub(分数:2.00)A.5 59 9B.5 59 4C.5 54 4D.5 54 920.设有语句:Temp=MsgBox(“程序执行了非法操作“,vbAbortRetryIgnore,“提示信息”)程序运行时,在对话框中将显示( )个按钮。(分数:2.00)A.1B.2C.3D.421.能表述
10、“20X30 或 X-100“的 VB 表达式是( )。(分数:2.00)A.20X30 And X-100B.20X30 Or X-100C.X20 And X30 Or X-100D.X20 And X30 And X-10022.下列程序执行后,按住Ctrl键,并在文本框中输入“a”,则在窗体上输出结果为( )。Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)Print KeyCode,ShiftEnd Sub(分数:2.00)A.a 2B.65 2C.97 1D.97 223.程序代码如下,当单击窗体上的 Co
11、mmand1 控件时,窗体上显示的结果是( )。Private Sub Command1_Click()Dim i As Integer,k As IntegerDim a(9) As Integer,p(2)As Integerk=5For i=0 To 9a(i)=iNext iFor i=0 To 2p(i)=a(i*(i+1)Next iFor i=0 To 2k=k+p(i)*2Next iPrint kEnd Sub(分数:2.00)A.20B.21C.22D.2324.在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。Option Base 1Private
12、 Sub fun (a()As Integer,n As Integer)For i=1 To 2t=a(i):a(i)=a(5-i+1):a(5-i+1)=tNext iEnd SubPrivate Sub Command1_Click()Dim arr1(5)As IntegerFor i=1 To 5arr1(i)=iNext iCall fun(arr1,5)Print arr1(1);arr1(2)End Sub(分数:2.00)A.1 2B.2 1C.5 4D.4 525.调试窗口中的( )可显示当前过程所有局部变量的当前值。(分数:2.00)A.立即窗口B.本地窗口C.监视窗口D
13、.表达式窗口26.在窗体模块的通用部分有一条语句“Public A As Integer“,则变量 A 的作用域是( )。(分数:2.00)A.局部变量B.窗体/模块级变量C.全局变量D.静态变量27.程序段如下;s=0For I=5 to -1 step -2S=s+INext IPrint I语句 S=S+I 执行的次数和最后 I 的值分别为( )。(分数:2.00)A.3,-1B.4,-1C.4,-3D.0, 528.若 D1=a1,a2,a3,D2=b1,b2,b3,则集合 D1D2 中共有元组( )个。(分数:2.00)A.6B.8C.9D.1229.在窗体上画一个命令按钮,名称为
14、Command1。然后编写如下程序:Private Sub Command1_Click()Dim i As Integer,a As IntegerDo While i20Do While TrueIf i Mod 10=0 ThenExit DoElsei=i-1End IfLoopi=i+11a=a+iLoopPrintaEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是( )。(分数:2.00)A.21B.32C.33D.1130.如图 20-6 所示的 6 个单选框中,你可以选( )个。(分数:2.00)A.B.C.D.31.已知有一名为 Form1 的窗体,现在要把
15、它装入内存但不显示出来,应使用( )。(分数:2.00)A.Form1ShowB.Form1LoadC.Form1UnloadD.Load Form132.在包含 1000 个元素的线性表中实现如下各运算,所需的执行时间最长的是( )。(分数:2.00)A.线性表按顺序方式存储,在线性表的第 10 个结点后面插入一个新结点B.线性表按链接方式存储,在线性表的第 10 个结点后面插入一个新结点C.线性表按顺序方式存储,删除线性表的第 990 个结点D.线性表按链接方式存储,删除指针 P 所指向的结点33.现在软件工程界提倡的( )是一种有效提高程序设计效率的方法。(分数:2.00)A.标准化程序
16、设计B.模块化程序设计C.多道程序设计D.结构化程序设计34.算法的主要运算如下,其中 i 的初值为 0,s 初值为 0,“=”为赋值号。While in dos=0;While sn dos=s+1;i=i+1;该算法的时间复杂度为()(分数:2.00)A.O(2n)B.O(n+log2n)C.O(nlog2n)D.O(n2)35.有程序代码如下:Form2caption=“Help“这里 Form2、Caption 和 Help 分别代表( )。(分数:2.00)A.对象、值、属性B.值、属性、对象C.对象、属性、值D.属性、对象、值二、填空题(总题数:10,分数:20.00)36.在一棵
17、二叉树中,度为 0 的结点的个数为 n0,度为 2 的结点的个数为 n2,则有 n0= 【1】 。(分数:2.00)填空项 1:_37.实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 【2】 。(分数:2.00)填空项 1:_38.软件结构中各模块之间相互连接关系的一种度量常称为模块的 【3】 。(分数:2.00)填空项 1:_39.数据结构包括数据的逻辑结构、数据的 【4】 以及对数据的操作运算。(分数:2.00)填空项 1:_40.在数据库的三级模式体系结构中,模式与内模式之间的映像(模式/内模式)实现了数据库的 【5】 独立性。(分数:2.00)填空项 1:_41.设 C 盘
18、根目录下有一文件名为“a1.txt”,若该文件还没有打开,现在要知道它的长度,可使用命令 【6】 。(分数:2.00)填空项 1:_42.在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为 List1、Command1 和 Labe11,通过属性窗口把列表框中的项目设置为:“第一个项目”、“第二个项目”、“第三个项目”、“第四个项目”。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图 20-8 所示(选择“第三个项目”的情况)。下面是实现上述功能的程序,请填空。(分数:2.00)填空项 1:_43.下列程序的功
19、能是:单击窗体时将随机生成 20 个两位数依次赋值给一个由 20 个元素组成的数组,然后把数组反序存放,再输出。Option Base 1Private Sub Form_Click()Dim a(20) As Integer,i As IntegerDim t As Integer,j As IntegerRandomizeFor i=1 To 20a(i)=10+Int(90*Rnd)Print a(i);Next iPrinti=1: 【9】 Do While ijt=a(i): 【10】 :a(i)=ti=i+1:j=j-1LoopFor i=1 To 20Print a(i);Nex
20、t iPrintEnd Sub(分数:2.00)填空项 1:_44.下列程序的功能是:当发生窗体的单击事件时,求出 31000 之间的所有素数的和以及所有能被 3 和5 整除的数的和(素数是指只能被 1 和它本身整除的数),并在窗体上把这两个和显示出来。Private Sub Form_Click()Dim s1 As Long,s2 As LongDim i As IntegerFor i=3 To 1000If prime(i) Thens1=s1+iElse If 【11】 Thens2=s2+iEnd IfNext iPrint s1,s2End SubPublic Function
21、prime(ByVal n As Integer)As BooleanDim j As IntegerFor j=2 To n-1If n Mod j=0 ThenExit ForEnd IfNext jIf j=n Then【12】 Elseprime=FalseEnd IfEnd Function(分数:2.00)填空项 1:_45.下列程序实现的功能是:当在窗体上单击时,把 C 盘根目录下的文件 a1txt 复制到 D 盘,并取名为a2,txt。Private Sub Form_Click()Dim Ch As StringOpen “c:/a1txt“ For 【13】 As #10O
22、pen “d:/a2txt“ For Output As #r20Do While 【14】 Line Input #10,Ch【15】 LoopClose 10Close 20End Sub(分数:2.00)填空项 1:_二级 VISUAL+BASIC 笔试-292 答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.如果想让名为 MenuItem1 的菜单项在运行时变灰显示,则应执行( )语句。(分数:2.00)A.MenuItem1Enabled=TrueB.MenuItem1Checked=TrueC.MenuItem1Enabled=Fa
23、lse D.MenuItem1Visible=False解析:解析 菜单项的 Checked 属性用来设置菜单项的选中标记,如果它的值为 True 时,将在菜单项名前加一个“”:Enabled 属性用来决定菜单项是否起作用,当它的值为 True 时将起作用,为 False 时将以变灰的方式显示;Visible 属性用来决定菜单项是否可见,当它的值为 True 时,菜单项可见,否则菜单项不可见。2.可通过“另存为”对话框的( )属性获得要存盘的文件名。(分数:2.00)A.FileName B.FilterC.FilterIndexD.Name解析:解析 “另存为”对话框的 FileName 属
24、性用于获得在“文件名称”文本框中输入的文件名,包括路径名;Filter 属性用于确定文件列表框中所显示文件的类型,该属性值可以由一组元素或“|”符号分开的分别表示不同类型文件的多组元素组成:FilterIndex 用来确定在文件类型列表框中显示第几组文件类型;Name 属性用来指定通用对话框的名称。3.下列不属于白盒测试的基本原则的是( )。(分数:2.00)A.保证所测模块中每一独立路径至少执行一次B.保证所测模块所判断的每一分支至少执行一次C.保证所测模块每一循环都在边界条件和一般条件下至少各执行一次D.验证部分内部数据结构的有效性 解析:解析 白盒测试的基本原则是:保证所测模块中每一独立
25、路径至少执行一次:保证所测模块所判断的每一分支至少执行一次:保证所测模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。4.假设没有使用 Option Base 语句,用下面语句定义的数组元素个数是( )。Dim Arr3(6,5)As Integer(分数:2.00)A.42 B.30C.37D.36解析:解析 VB 中默认的数组下标从 0 开始,因此该数组定义和下面的数组定义等价:Dim Arr3(0 To 6,0 To 5),不难算出数组元素的个数为 42。5.已知 a=10,r=6,x=7,b=True,表达式“a=2*3.14159*r And x5 O
26、r Not b“的值为( )。(分数:2.00)A.False B.TrueC.1D.0解析:解析 运算符的运算顺序是先算算术运算符,再算关系运算符,最后算逻辑运算符,逻辑运算符的优先顺序是 Not、And、Or。所以此题先算“2*3.14159*r”,它的值接近 38,再算“a=2*3.1415*r”和“x5”,分别是 False 和 True,再算 Not b,值为 False,再算 And 运算符,即 False And True结果为 False,最后算 Or 运算符,False Or False 结果为 False。6.利用 Open 语句打开文件时,若省去 For模式,默认的模式是
27、( )。(分数:2.00)A.OutputB.InputC.AppendD.Random 解析:解析 VB 规定,如果在打开文件的时候省去 For模式,文件的读写模式默认为 Random。7.使列表框 List1 在填加项目的时候能够自动按字母排序,并且能够连续多选和不连续多选,需执行下面的( )语句。(分数:2.00)A.List1Sorted=0List1MultiSelect=0B.List1Sorted=TrueList1,MultiSelect=0C.List1Sorted=TrueList1MultiSelect=1D.List1Sorted=TmeList1MuldSelect=
28、2 解析:解析 列表框中有一个名为 Sorted 的属性,当它取值为 True 时,加入列表框中的选项将自动按字母顺序排列,否则将按加入列表框的顺序排列;列表框中还有一个名为 AlultiSelect 钓属性,当它的值为 0 (None)时,禁止多项选择,当它钓恒为 1(Simple)时,为简单多项选择,用鼠标单击或按空格键表示选定或取消选定的一个选项,当它的值为 2(Extended)时,为扩展多项选择,此时按住Ctrl键,同时用鼠标单击或按空格键表示选定或取消选定的一个选择项;按住Shift键的同时单击鼠标,或者按住Shift键并且移动方向键,就可以从前一个选定的项扩展选择到当前选择项,即
29、选定多个连续的选项。8.Single(单精度)型数据占( )个字节。(分数:2.00)A.2B.4 C.8D.10解析:解析 VB 中每种数据类型占用的字节数是不同的,如 Integer 型占两个字节,Single 型占 4 个字节,Double 型占 8 个字节。9.软件详细设计工具中,( )可以很容易地表示基本结构的嵌套关系。(分数:2.00)A.程序流程图B.N-S 图 C.问题分析图D.PDL解析:解析 N-S 图中全部算法都写在一个框内,没有控制线,很容易确定局部和全程数据的作用,很容易表示嵌套关系,而其他几种软件详细设计方法则不容易做到。10.在窗体上画一个命令按钮,名称为 Com
30、mand1。然后编写如下程序:Private Sub Command1_Click()Dim a As Integer,b As Integer,c As IntegerIf a=0 Thenx=x-1ElseIf b0 ThenEnd IfEnd IfIf c0 Thenx=3Elsex=4End IfPrint xEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是( )。(分数:2.00)A.34B.4 C.35D.3解析:解析 本题先定义了三个变量 a、b 和 c,由于没有给它们赋值,因此它们的值都为 0。接着执行后面的 If 语句,条件“a=0”为 True,执行“x=
31、x-1”后 x 的值为-1。接着执行第二个 If 语句,判断条件“c0”为 False,执行 Else 后面的语句后 x 的值为 4。所以最后输出 x 的值为 4。11.窗体上有两个单选按钮和两个复选框,它们的名称和它们的 Caption 属性相同。要使这些控件显示成如图 20-7 所示的状态,可在 Form_Load 事件中执行( )。(分数:2.00)A.B.C.D. 解析:解析 单选按钮有一个 Value 属性,当它的值为 True 时,单选按钮处于选中状态,为 False 时表示未被选中。复选框也有一个 Value 属性,当它的值为 0 时,表示未被选中,为 1 时表示选中,为 2 时
32、,复选框将以变灰的方式显示。12.已知通用对话框名为 Cd1g,则执行下列的( )语句,将弹出“颜色”对话框对话框。(分数:2.00)A.Cd1gShowColor B.Cd1gShowPalateC.Color Cd1gD.ShowColor Cd1g解析:解析 可通过调用通用对话框的方法来弹出不同的对话框,要弹出“颜色”对话框,可调用通用对话框的“ShowColor”方法。13.软件生命周期的第一个阶段是( )。(分数:2.00)A.软件定义阶段 B.软件开发阶段C.软件运行阶段D.软件维护阶段解析:解析 当用户想开发一个新的系统或感到原有的系统已不能满足需求,想用一个新的系统来代替旧的系
33、统时,软件工程的第一阶段即软件定义阶段便开始了。14.以下关于 MDI 子窗体在运行时特性的叙述,错误的是( )。(分数:2.00)A.子窗体只能在 MDI 窗体的内部区域显示B.子窗体可以移出 MDI 窗体 C.当子窗体最小化时,它将以图标的方式排列在 MDI 窗体的底部D.当子窗体最大化时,标题将与 MDI 窗体标题合并,并显示在 MDI 窗体的标题栏中解析:解析 MDI 应用程序可以打开多个文档窗口即 MDI 子窗体,这些子窗体不能移出 MDI 窗体,子窗体可以按照层叠、水平平铺和垂直平铺等进行排列,子窗体最小化时将以图标的方式显示在 MDI 窗体的底部,子窗体最大化时,子窗体的标题将与
34、 MDI 窗体的标题合并在一起显示。15.一个采用顺序存储结构的栈,其中 top 为栈顶指针,若以地址高端作栈顶,地址低端作栈底,那么进行进栈操作时,对 top 的操作为( )。(分数:2.00)A.top=top-1B.top=top+1 C.top=0D.top 不做任何修改解析:解析 栈是一种操作受限的线性表,只能在栈顶进行插入和删除操作,当进行入栈运算时,首先栈顶指针加 1,指向一个空的存储空间,然后将数据写入该地址空间,因此选项 B 是正确的操作。选项 A是进行出栈时的操作,选项 C 是置栈为空时的操作,选项 D 是读栈顶元素时栈顶指针保持不动的操作。16.下述不属于概念模型应具备的
35、性质的是( )。(分数:2.00)A.有丰富的语义表达能力B.易于交流和理解C.易于变动D.在计算机中实现的效率高 解析:解析 概念模型是不依赖于计算机系统和具体的 DBMS 的,应具备的性质有:有丰富的语义表达能力:易于交流和理解;易于变动:易于向各种数据模型转换等。17.关系模型有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。定义外键实现完整性是( )。(分数:2.00)A.实体完整性B.参照完整性 C.用户定义的完整性D.实体完整性、参照完整性和用户定义的完整性解析:解析 若表 A 中的某属性集是某表 B 的键,则称该属性集为 A 的外键。定义外键是为了关系的连接及关联,实现
36、的是参照完整性。18.以下是文本框的 KeyDown 和 KeyPress 事件的框架,关于它们说法正确的是( )。Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)End Sub(分数:2.00)A.KeyDown 中的 KeyCode 参数和 KeyPress 中的 KeyAscii 参数的含义是一样的B.按下打字区的“1”和小键盘上的“1”,KeyCode 参数的值是一样的C.在锁定大写和通常情况下 KeyC
37、ode 的值都是一样的 D.在锁定大写和通常情况下 KeyAscii 的值都是一样的解析:解析 文本框的 KeyDown 事件中的 KeyCode 参数得到的是用户操作的键的键盘扫描码,识别的是具体的物理键,同一个键的扫描码是相同的,不同键的键盘扫描码是不同的。文本框的 KeyPress 事件的参数 KeyAscii 得到的是用户操作的键的 ASCII 码,因此,大写字母与小写字母的 KeyAscii 值是不一样的。19.在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。Private Sub fun3(x As Integer)Static a As IntegerDi
38、m b As Integera=a+3:b=b+3a=a+x:b=b+xPrinta;bEnd SubPrivate Sub Command1_Click()Dim k As Integer,m As Integer,n As Integerk=2:m=1Call fun3(k)Call fun3(m)End Sub(分数:2.00)A.5 59 9B.5 59 4 C.5 54 4D.5 54 9解析:解析 当发生了 Command1_Click 事件时,定义了两个变量 k 和 m 并给它们赋初值 2 和 1,执行第一次过程调用,把 k 的值按地址传递给形参 x,进入过程执行,在过程中定义了
39、一个静态变量 a 和一个局部变量 b,执行四条赋值语句后,变量 a 和 b 的值分别为 5 和 5,所以输出为 5 5。第一次过程调用返回过后,进行第二次过程调用,进入 fun 过程时,要注意的是:静态变量 a 将依旧是上一次退出时的值 5,而局部变量要重新定义,值为 0。执行四条赋值语句后,变量 a 和 b 的值分别为 9 和 4,所以输出为 9 4。20.设有语句:Temp=MsgBox(“程序执行了非法操作“,vbAbortRetryIgnore,“提示信息”)程序运行时,在对话框中将显示( )个按钮。(分数:2.00)A.1B.2C.3 D.4解析:解析 MsgBox 函数用于向用户发
40、布提示信息,并要求用户作出必要的响应。该函数的前三个参数的含义如下:第一个参数是消息框中的提示文字;第二个参数是用来指示消息框中显示的按钮、图标和默认按钮等:第三个参数是对话框的标题。此处第二个参数“vbAbortRetryIgnore”表示有三个按钮,分别是“中止”、“重试”和“忽略”。21.能表述“20X30 或 X-100“的 VB 表达式是( )。(分数:2.00)A.20X30 And X-100B.20X30 Or X-100C.X20 And X30 Or X-100 D.X20 And X30 And X-100解析:解析 “20X30 或 X-100”实际上是三个条件的综合,
41、这三个条件分别是:X10、X30、X-100,根据题意可知,X10 和 X30 要求同时满足,所以要用 And 运算符把它们连接在一起,连接后的条件与 X-100 只需有一个条件满足,所以应该用 Or 运算符把它们连接起来。此处需注意的是,类似于“aXc”的关系表达式千万不能写成“aXc”。22.下列程序执行后,按住Ctrl键,并在文本框中输入“a”,则在窗体上输出结果为( )。Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)Print KeyCode,ShiftEnd Sub(分数:2.00)A.a 2B.65 2
42、C.97 1D.97 2解析:解析 文本框的 KeyDown 事件有两个参数:KeyCode 和 Shift。KeyCode 参数返回用户所操作的那个键的扫描代码,它告诉事件过程用户所操作的物理键,“a”的扫描码为 65。Shift 参数用来描述用户按下了Shift、Ctrl与Alt键中的一个或多个,当用户按下Shift键时,Shift 参数的位0 将变成 1,当用户按下Ctrl键时,Shift 参数的位 1 将变成 1,当用户按下Alt键时,Shift 参数的位 2 将变成 1,因此当按下Ctrl键时,Shift 参数的值为 2。23.程序代码如下,当单击窗体上的 Command1 控件时,
43、窗体上显示的结果是( )。Private Sub Command1_Click()Dim i As Integer,k As IntegerDim a(9) As Integer,p(2)As Integerk=5For i=0 To 9a(i)=iNext iFor i=0 To 2p(i)=a(i*(i+1)Next iFor i=0 To 2k=k+p(i)*2Next iPrint kEnd Sub(分数:2.00)A.20B.21 C.22D.23解析:解析 本题首先定义了两个一维数组 a 和 p,然后通过一个 For 循环给 a 数组的元素赋值,通过赋值,使 a(0)a(9)的值分
44、别为 09。接着再通过一个循环给 p 数组的各元素赋值,赋值情况为:p(0)a(0*1)=0:p(1)=a(1*2)=2;p(2)=a(2*3)=6。接着通过一个循环把 p 数组的各元素值乘以 2 加到变量 k中,最后 k 的值为 21。24.在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为( )。Option Base 1Private Sub fun (a()As Integer,n As Integer)For i=1 To 2t=a(i):a(i)=a(5-i+1):a(5-i+1)=tNext iEnd SubPrivate Sub Command1_Click()D
45、im arr1(5)As IntegerFor i=1 To 5arr1(i)=iNext iCall fun(arr1,5)Print arr1(1);arr1(2)End Sub(分数:2.00)A.1 2B.2 1C.5 4 D.4 5解析:解析 当发生 Command1 的 Click 事件时,定义了一个具有 5 个元素的数组 arr1,并通过一个 For循环给该数组各个元素赋值,赋值后 arr(1)arr(5)的值分别是 15,然后调用过程 fun。通过分析不难得出:过程 fun 的作用是把形参数组 a 的前 n 个元素逆序存放。由于数组作为参数是按地址传递的,所以对形参的修改也就是
46、对相应实参数组的修改。执行函数调用“Call fun(arr1,5)”后,把 arr1 的 5 个元素逆序存放,最后输出的 arr1(1)和 arr1(2)的值应是 5 和 4。25.调试窗口中的( )可显示当前过程所有局部变量的当前值。(分数:2.00)A.立即窗口B.本地窗口 C.监视窗口D.表达式窗口解析:解析 VB 中的调试窗口有三种:本地窗口、监视窗口和立即窗口。本地窗口的作用是显示当前过程所有局部变量的当前值:监视窗口的作用是用来查看指定表达式的值;立即窗口的作用是显示当前过程中的有关信息,或直接输入并执行命令。26.在窗体模块的通用部分有一条语句“Public A As Inte
47、ger“,则变量 A 的作用域是( )。(分数:2.00)A.局部变量B.窗体/模块级变量C.全局变量 D.静态变量解析:解析 VB 中变量的作用域有三种:局部变量、窗体/模块级变量和全局变量。局部变量是在过程中定义的,只能在定义它的过程中使用:窗体/模块级变量是在窗体的通用部分或标准模块中用 Private或 Dim 语句定义的变量;在窗体的通用部分或标准模块中用 Public 定义的变量是全局变量。静态变量是在过程中用 Static 定义的。27.程序段如下;s=0For I=5 to -1 step -2S=s+INext IPrint I语句 S=S+I 执行的次数和最后 I 的值分别
48、为( )。(分数:2.00)A.3,-1B.4,-1C.4,-3 D.0, 5解析:解析 For 循环的结束条件是循环变量在变化方向上超过终值,本题循环变量 I 的初值为 5,终值为-1,步长为-2,所以变化方向为从大到小,循环每执行一次,循环变量将加上步长。因此循环变量的值为 5、3、1、-1 时,将各执行一次循环体,最后一次执行循环后,循环变量再加上步长变成-3,已在变化方向上超过了终值,循环结束,此时 I 的值为-3。28.若 D1=a1,a2,a3,D2=b1,b2,b3,则集合 D1D2 中共有元组( )个。(分数:2.00)A.6B.8C.9 D.12解析:解析 在关系代数中,乘号“X”表示笛卡尔积。两个分别为 n 目和 m 目的关系 R 和 S 的笛卡尔积是一个(n+m)列的元组集合。若 R 有 k1 个元组,S 有 k2 个元组,则关系 R 和 S 的笛卡尔积有 k1k2 个元组。故本题中 D1D2 集合中有 33=9 个元组。29.在窗体上画一个命令按钮,名称为 Command1。然后编写如下程序:Private Sub Command1_Click()Dim i As