1、二级 VISUAL+BASIC 笔试-127 及答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.阅读下面的程序段:For a=1 To 2For b=1 To aFor C=b To 2I=I + 1NextNextNextPrint I执行上面的三重循环后,I 的值为(分数:2.00)A.4B.5C.6D.92.有如下事件过程:Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer)If(Button And 3)=3 ThenPrint“OK“End IfEnd Sub程序运
2、行后,为了在窗体上输出“OK”,应当按下的鼠标键是(分数:2.00)A.左键B.右键C.同时按下左键和右键D.按什么都不显示3.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )Dim m As Integer,n As Integer,p As Integerm=3:n=5:p=OCall Y(m,n,p)Print Str(p)End SubSub Y(ByVal i As Integer,ByVal j As Integer,k As Integer)k=i + jEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是(分
3、数:2.00)A.4B.6C.8D.104.下面 4 个 CT 函数中是用来判断用户输入的数是否为奇数的,是奇数的返回 1,否则返回 0,其中正确的是(分数:2.00)A.Function CT(ByVal a As Integer)If a Mod 2=0 ThenReturn 0ElSeReturn 1End ifEnd FunctionB.Function CT(ByVal a As Integer)If a Mod 2=0 ThenCT=0ElseCT=1End ifEnd FunctionC.Function CT(ByVal a As Integer)If a Mod 2=0 Th
4、enCT=1ElseCT=0End ifEnd FunctionD.Function CT(ByVal a As Integer)If a Mod 2=0 ThenReturn 1ElseReturn 0End ifEnd Function5.执行以下语句过程,在窗体上显示的内容是Option Base 0Private Sub Command3_Click( )Dim dd=Array(“a“,“b“,“c“,“d“)Print d(1);d(3)End Sub(分数:2.00)A.abB.bdC.acD.出错6.设有下面的循环:i=1Doi=i + 3Print iLoop Until I
5、_程序运行后要执行 3 次循环体,则条件中 I 的最小值为(分数:2.00)A.6B.7C.8D.97.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源8.在代码编辑器中,续行符是用来换行书写同一个语句的符号,用以表示续行符的是(分数:2.00)A.一个空格加一个下划线“_”B.一个下划线“_”C.一个造字符“_”D.一个空格加一个连字符“-”9.在窗体上画一个名称为 CommonDialog1 的通用对话框,一个名称为 Command1 的命令按钮,要求单击命令按钮时,打开一个保存文件的对话框,该窗口的标题为“Save
6、”,缺省文件名称为“SaveFile”,在“文件类型”栏中显示*txt,则能够满足上述要求的程序是(分数:2.00)A.Private Sub Command1_Click ( )CommonDialog1FileName=“SaveFile“CommonDialog1Filter=“AllFiles|*.*|(*.txt)|*.txt|(*.doC) |*.doc“CommonDialog1FilterIndex=2CommonDialog1DialogTitle=“Save“CommonDialog1Action=2End SubB.Private Sub Command1_Click (
7、 )CommonDialog1FileName=“SaveFile“CommonDialog1Filter=“AllFiles|*.*|(*.txt)|*.txt|(*.doC.|*.doc“CommonDialog1FilterIndex=1CommonDialog1DialogTitle=“Save“CommonDialog1Action=2End SubC) Private Sub Command1 Click ( )CommonDialog1FileName=“Save“CommonDialog1Filter=“AllFiles|*.*|(*.txt)|*.txt|(*.doC) |*
8、.doc“CommonDialog1FilterIndex=2CommonDialog1DialogTitle=“SaveFile“CommonDialog1Action=2End SubD.Private Sub Command1 Click ( )CommonDialog1FileName=“SaveFile“CommonDialog1Filter=“AllFiles|*.*|(*.txt)|*.txt|(*.doC)10.以下说法不正确的是(分数:2.00)A.使用 ReDim 语句可以改变数组的维数B.使用 ReDim 语句可以改变数组的类型C.使用 ReDim 语句可以改变数组的每一
9、维的大小D.使用 ReDim 语句可以改变对数组中的所有元素进行初始化11.用于将屏幕上的对象分组的控件是(分数:2.00)A.列表框B.组合框C.标签D.框架12.下列程序段,在运行时最早输出的内容是a=2c=1AAA:c=c + aIf c10 ThenPrint cGoTo AAAElsePrint“10 以内的奇数显示完毕。“End If(分数:2.00)A.3B.7C.9D.613.表达式(3/2+1)*(5/2+2)的值是(分数:2.00)A.1125B.3C.6125D.414.有如下的程序:Private Sub Command1_Click( )Dim k As Intege
10、r,m As IntegerDim P As Integerk=4:m=1P=Pid(k,m) :Print P;P=Pid(k,m) :Print PEnd SubPrivate Function Pid(a As Integer,b As Integer)Static m As Integer,i As Integerm=5:i=2i=i + m + 1m=i + a + bPid=m/2End Function单击命令按钮后,输出结果为(分数:2.00)A.2 2B.4 4C.5 5D.6 615.以下各项,可以作为 Visual Basic 变量名的是(分数:2.00)A.BookB.
11、2_SeekC.12358D.Book-116.关于自定义对话框概念的说明,错误的是(分数:2.00)A.建立自定义对话框时必须执行添加窗体的操作B.自定义对话框实际上是 VB 的窗体C.在窗体上还要使用其他控件才能组成自定义对话框D.自定义对话框不一定要有与之对应的事件过程17.单击命令按钮时,下列程序的运行结果为Private Sub Command1_Click( )Print MyBM(23,18)End SubPublic Function MyBM(m As Integer,n As Integer)As IntegerDo While mnDo While m n:m=m - n
12、:LoopDo While m n:n=n - m:LoopLoopMyBM=mEnd Function(分数:2.00)A.0B.1C.3D.518.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件19.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现20.假设
13、线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n-1)/221.单击窗体上的关闭按钮时,触发的事件是(分数:2.00)A.Form_Initialize ( )B.Form_Load ( )C.Form_Unload ( )D.Form_Click ( )22.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上 3 个都是23.为了暂时关闭计时器,应把该计时器控件的哪个属性设置为 False?(分数:2.00)A.VisibleB.TimerC.EnabledD.In
14、terval24.有如下程序段:Private Sub Command1_Click( )Dim a As Integera=2For i=1 To 3Print G((分数:2.00)A.Next iEnd SubFunction G(a As Integer)b=0Static cb=25.下列关于退出 Visual Basic 系统的方法的描述错误的是(分数:2.00)A.打开 Visual Basic 主窗体的“文件”菜单,执行其中的“退出”命令B.按快捷键 Alt+Q 退出C.单击 Visual Basic 主窗体右上角的“关闭”按钮D.按快捷键 Alt+E 退出26.关系表中的每一
15、横行称为一个(分数:2.00)A.元组B.字段C.属性D.码27.算法分析的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进28.下面 Change 事件过程中,文本框控件 Text1 用来接收数字字符的输入,该事件过程的作用是 Private Sub Text1_Change ( )Text2Text=Str(628* Val(Text1Text)End Sub(分数:2.00)A.将在文本框 Text1 输入的数字变为数值B.将在文本框 Text1 输入的数字作为半径,求圆的周长并转换为字符串C.只要
16、Text1 中的内容一改变,Text2 中显示的圆周长也随之改变D.事件过程中的 Val 函数和 Str 函数使用错误,事件过程不能执行29.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余30.以下关于 Visual Basic 数据类型的说法,不恰当的是(分数:2.00)A.Visual Basic 60 提供的数据类型主要有字符串型和数值型,此外还有字节、货币、对象、日期、布尔和变体数据类型等B.目前 Decimal 数据类型只能在变体类型中使用C.用户不能定义自己的数据类型D.布尔型数据只能取两种值,用两个字节存
17、储31.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展32.设有下面的循环:i=While i=1i=i + 3Print iWend则运行后的输出结果是(分数:2.00)A.1B.2C.3D.433.用什么语句可以选择指定的表项或取消已选择的表项?(分数:2.00)A.列表框Selected(索引值)B.列表框名Selected(索引值)=True|FalseC.列表框SelectedD.列表框名Selected=True|False34.在数据流图(DFD) 中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系
18、B.程序的组成成分C.控制程序的执行顺序D.数据的流向35.下列说法正确的是(分数:2.00)A.对象的可见性可设为 True 或 FalseB.标题的属性值不可设为任何文本C.属性窗口中属性只能按字母顺序排列D.某些属性的值可以跳过不设置,自动设为空值二、填空题(总题数:10,分数:20.00)36.在算法正确的前提下,评价一个算法的两个标准是 【1】 。(分数:2.00)填空项 1:_37.将代数式 (分数:2.00)填空项 1:_38.软件危机出现于 60 年代末,为了解决软件危机,人们提出了 【3】 的原理来设计软件这就是软件工程诞生的基础。(分数:2.00)填空项 1:_39.【4】
19、 是数据库设计的核心。(分数:2.00)填空项 1:_40.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【5】 。(分数:2.00)填空项 1:_41.有下面一个程序段,从文本框中输入数据,如果该数据满足条件,除以 4 余 1,除以 5 余 2 则输出,否则,将焦点定位在文本框中,并清除文本框的内容。Private Sub Command1_Click( )x=Val(Text1Text)If 【6】 ThenPrint xElseText1Text=“【7】 End IfEnd Sub(分数:2.00)填空项 1:_42.已知 B 的 ASCII 码为 66,以下程序统计由键盘
20、输入的字符串中各英文字母的使用次数Dim 【8】 For i=65 To 90pp(i) =0Nextx$=InputBox(“Enter a string“,x$)x$=UCase$(x$)For i=1 To 【9】 n=Asc(Mid$(x$,i,1)If n =65 And n =90 Then【10】 End IfNext iFor i=65 To 90If pp(i) 0 ThenPrint Chr$(i);pp(i)End IfNext(分数:2.00)填空项 1:_43.下面运行程序后,单击命令按钮,输出的结果是 【11】 。Private Sub Command1_Click
21、( )Dim a%(1 To 4),b%(3 To 6),i%,s1#,s2#For i=1 To 4a(i) =iNext iFor i=3 To 6b(i) =iNext is1=YAS(A) s2=YAS(B) Print“s1=“;s1;“s2=“;s2End SubFunction YAS(a( )As Integer)Dim t#,i%t=1For i=LBound(A) To UBound(A) t=t * a(i)Next iYAS=tEnd Function(分数:2.00)填空项 1:_44.如果存在如下过程:Private Function FMax(a1As Integ
22、er)Dim First As Integer,Last As Integer,i As IntegerFirst=LBound(A) Last=UBound(A) Max=a(First)For i=First To LastIf a(i) Max Then Max=a(i)Next iFMax=MaxEnd Function在窗体上添加一个命令按钮,然后编写如下事件过程:Private Sub Command1 Click2ReDim m(1 To 4) As Integerm(1)=20:m(2)=30:m(3)=50:m(4)=100c=FMax(m)Print cEnd Sub单击命
23、令按钮,其输出结果为 【12】 。(分数:2.00)填空项 1:_45.在窗体上加上一个文本框控件 TextBox,画一个命令按钮,当单击命令按钮的时候将显示“保存文件”对话框,设置该对话框可用于保存文本文件(默认)和 Word 文档,然后在文本框控件中显示保存的文件名,请填空。Private Sub Command1_Click1CommonDialog1Filter= 【13】 CommonDialog1Filter= 【14】 CommonDialog1ShowSaveTextBoxText= 【15】 End Sub(分数:2.00)填空项 1:_二级 VISUAL+BASIC 笔试-
24、127 答案解析(总分:90.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.阅读下面的程序段:For a=1 To 2For b=1 To aFor C=b To 2I=I + 1NextNextNextPrint I执行上面的三重循环后,I 的值为(分数:2.00)A.4B.5 C.6D.9解析:解析:本题是一个多重循环语句,是 ForNext 结构的三重迭用,仔细分析一下就会看到:在结构中,I=I+1 共执行了 5 次,所以最后 I 的值为 5。2.有如下事件过程:Private Sub Form_KeyDown(KeyCode As Integer,Shif
25、t As Integer)If(Button And 3)=3 ThenPrint“OK“End IfEnd Sub程序运行后,为了在窗体上输出“OK”,应当按下的鼠标键是(分数:2.00)A.左键B.右键C.同时按下左键和右键D.按什么都不显示 解析:解析:此题考查的是有关鼠标事件的问题。从题目要求来看,上述事件应是鼠标事件过程,下面来看看有关鼠标事件的具体事件。按下鼠标键事件过程:Private Sub Form_MouseDown(Button As Integer,Shift As Integer,-X As Single,Y As Single)End Sub松开鼠标键事件过程:Pr
26、ivate Sub Form_MouseUp(Button As Integer,Shift As Integer,-X As Sinde,Y As Single)End Sub移动鼠标光标事件过程:Private Sub Form_MouseMove(Button As Integer,Shift As Integer,-X As Single,Y As Single)End Sub以上三个鼠标事件过程具有相同的参数,含义如下:Button:表示被按下的鼠标键。Shift:表示 Shift、Ctrl、Alt 键状态。X,Y:鼠标光标的当前位置。现在再来看一下事件过程,可知此事件过程并非鼠标事
27、件过程,并且 Button 也不是事件过程的参数,即此事件过程的两个参数 KeyCode 和 Shift 在程序运行过程中并没有得到任何信息,所以无论按什么键都不显示任何内容。3.在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click( )Dim m As Integer,n As Integer,p As Integerm=3:n=5:p=OCall Y(m,n,p)Print Str(p)End SubSub Y(ByVal i As Integer,ByVal j As Integer,k As Integer)k=i + jEnd Sub程序
28、运行后,如果单击命令按钮,则在窗体上显示的内容是(分数:2.00)A.4B.6C.8 D.10解析:解析:此程序考查了函数的调用,函数过程有 3 个形参,功能是将第一个和第二个形参的和赋给第三个形参,其中前两个形参是按值传递,不会影响实参的数值,即在调用函数过程的过程中,不变化实参的数值;而第三个形参是按址传递,传递的是实参的地址,这样实参会随着过程中形参的变化而变化,即改变实参的数值。在主调过程中定义了三个整型变量,分别赋值 3、5、0,调用过程后 m、n 的数值仍然是 3、5,而 p 的值不再是 0 而变为 8,即 m、n 的和,这也是被调函数的作用。4.下面 4 个 CT 函数中是用来判
29、断用户输入的数是否为奇数的,是奇数的返回 1,否则返回 0,其中正确的是(分数:2.00)A.Function CT(ByVal a As Integer)If a Mod 2=0 ThenReturn 0ElSeReturn 1End ifEnd FunctionB.Function CT(ByVal a As Integer)If a Mod 2=0 ThenCT=0ElseCT=1End ifEnd Function C.Function CT(ByVal a As Integer)If a Mod 2=0 ThenCT=1ElseCT=0End ifEnd FunctionD.Func
30、tion CT(ByVal a As Integer)If a Mod 2=0 ThenReturn 1ElseReturn 0End ifEnd Function解析:解析:在此题中考查了函数的定义,及其有关操作,对于奇数的判断是用取模来判断的,奇数不能被 2 争取,或者说奇数除以 2 后的余数是 1,而偶数能被 2 整数,即偶数除以 2 后的余数是 0,因此判断语句应为 If a Mod 2=0 Then CT=0 Else CT=1;即当 a 为偶数时返回值是 0,a 为奇数时返回值是 1,符合题意。5.执行以下语句过程,在窗体上显示的内容是Option Base 0Private Su
31、b Command3_Click( )Dim dd=Array(“a“,“b“,“c“,“d“)Print d(1);d(3)End Sub(分数:2.00)A.abB.bd C.acD.出错解析:解析:在 Visual Basic 中,一般可以用 Array 函数解决数值初始值的输入,格式为:数组名=Array(要输入的值)本题中声明的数组 d,默认下界为 0,即数组第一个元素为 d(0),所以当程序调用 Array 函数后,d(O)=a,d(1)=b,d(2)=c,d(3)=d。不难看出最后 Print 语句要输出的是 d(1),d(3)的值,即 b、d。所以只有选项 B)正确。6.设有下
32、面的循环:i=1Doi=i + 3Print iLoop Until I_程序运行后要执行 3 次循环体,则条件中 I 的最小值为(分数:2.00)A.6B.7 C.8D.9解析:解析:本题考查的是 DOLoopUntil,结构的循环语句,不管满不满足条件,都要先执行一次。经分析当 I7(或 8 或 9)都满足执行三次的条件,但题目要求最小的,所以应该是 7。7.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源 解析:8.在代码编辑器中,续行符是用来换行书写同一个语句的符号,用以表示续行符的是(分数:2.00)A.一个空
33、格加一个下划线“_” B.一个下划线“_”C.一个造字符“_”D.一个空格加一个连字符“-”解析:解析:一般情况下,输入程序的语句要求一句一行,一行一句,但 VisualBasic 允许使用续行符把程序分在几行中书写,但所使用的下划线要注意与它前面的字符之间要至少有一个空格,这样书写有助于程序的条理性,可读性。9.在窗体上画一个名称为 CommonDialog1 的通用对话框,一个名称为 Command1 的命令按钮,要求单击命令按钮时,打开一个保存文件的对话框,该窗口的标题为“Save”,缺省文件名称为“SaveFile”,在“文件类型”栏中显示*txt,则能够满足上述要求的程序是(分数:2
34、.00)A.Private Sub Command1_Click ( )CommonDialog1FileName=“SaveFile“CommonDialog1Filter=“AllFiles|*.*|(*.txt)|*.txt|(*.doC) |*.doc“CommonDialog1FilterIndex=2CommonDialog1DialogTitle=“Save“CommonDialog1Action=2End SubB.Private Sub Command1_Click ( )CommonDialog1FileName=“SaveFile“CommonDialog1Filter=
35、“AllFiles|*.*|(*.txt)|*.txt|(*.doC.|*.doc“CommonDialog1FilterIndex=1CommonDialog1DialogTitle=“Save“CommonDialog1Action=2End SubC) Private Sub Command1 Click ( )CommonDialog1FileName=“Save“CommonDialog1Filter=“AllFiles|*.*|(*.txt)|*.txt|(*.doC) |*.doc“CommonDialog1FilterIndex=2CommonDialog1DialogTitl
36、e=“SaveFile“CommonDialog1Action=2End SubD.Private Sub Command1 Click ( )CommonDialog1FileName=“SaveFile“CommonDialog1Filter=“AllFiles|*.*|(*.txt)|*.txt|(*.doC)解析:解析:该题考核考生对 CommonDialog 控件的各种属性的了解和掌握,其FileNme 属性用来设置缺省文件名;Filter 属性设置在对话框的文件类型列表框中所显示的过滤器,其值从 0 开始:DialogTitle 属性用来设置对话框的标题;Action 属性用来返回
37、或设置被显示对话框的类型,其值为 1 时显示“打开”对话框,为 2 时显示“另存为”对话框。10.以下说法不正确的是(分数:2.00)A.使用 ReDim 语句可以改变数组的维数B.使用 ReDim 语句可以改变数组的类型 C.使用 ReDim 语句可以改变数组的每一维的大小D.使用 ReDim 语句可以改变对数组中的所有元素进行初始化解析:解析:ReDim 语句是声明语句中的一种类型,它只能用于过程和函数体内,为动态数组分配内存空间,下面具体来看看有关 ReDim 语句的声明:Dim 语句是不执行的,可以放在过程的外部,ReDim 语句是可执行语句,必须放在过程内;ReDim 语句可以反复使
38、用,用以改变数组的维数和元素个数,但不能改变数组类型;在第二次使用 ReDim 语句时将对数组重新初始化,若为数值型数组,各元素变为 0;若为字符串数组,各元素都变为长度为 0 的字符串;Variant 型则变为 Empty。11.用于将屏幕上的对象分组的控件是(分数:2.00)A.列表框B.组合框C.标签D.框架 解析:解析:本题是考查控件的作用。列表框控件显示一个项目列表,让用户从其中选择一项或多项;组合框是文本框和列表框的集合,也可以像列表框一样,让用户 通过鼠标选择所需要的项目;标签是用于显示信息的;框架用于将屏幕上的对象分组。12.下列程序段,在运行时最早输出的内容是a=2c=1AA
39、A:c=c + aIf c10 ThenPrint cGoTo AAAElsePrint“10 以内的奇数显示完毕。“End If(分数:2.00)A.3 B.7C.9D.6解析:解析:在本题中使用了 If 语句与 GoTo 语句。当 c10 时,输出 c,并继续运行;当大于 10 时,显示“10 以内的奇数显示完毕。”并结束程序。开始时,a=2,c=1,执行语句 c=c+a 后 c 为 3,小于10,故输出 c 的值 3,所以本题的正确答案为选项 A)。13.表达式(3/2+1)*(5/2+2)的值是(分数:2.00)A.1125 B.3C.6125D.4解析:解析:本题主要考查了运算符“/
40、”的使用,在 Visual Basic 中符号“/”为浮点数除法运算符,执行标准的除法操作,运算结果的为浮点数,通过运算本题的结果为1125;计算结果为选项 A)。14.有如下的程序:Private Sub Command1_Click( )Dim k As Integer,m As IntegerDim P As Integerk=4:m=1P=Pid(k,m) :Print P;P=Pid(k,m) :Print PEnd SubPrivate Function Pid(a As Integer,b As Integer)Static m As Integer,i As Integerm=
41、5:i=2i=i + m + 1m=i + a + bPid=m/2End Function单击命令按钮后,输出结果为(分数:2.00)A.2 2B.4 4C.5 5D.6 6 解析:解析:在 Sub 过程中,程序段先定义了 3 个 Integer 型变量 k,m,p,并给 k 赋给初值 4,m 的初值为 1,然后调用事件过程 Pid,并将它的值赋给 p;在事件过程 Pid 中定义了两个形参,参数的传送是通过引用实参,即将 k,m 的地址作为 a,b 的地址;在 Pid 中,将 m,I 定义为静态变量,所以第一次调用后的值仍然保留,但是 m,I 分别都有赋值语句,将它们的值变为 5,2,所以返
42、回值不变都是 6 6。15.以下各项,可以作为 Visual Basic 变量名的是(分数:2.00)A.Book B.2_SeekC.12358D.Book-1解析:解析:在 Visual Basic 中,可以用名字来表示内存的位置,以便访问内存中的数据。有关变量命名的规则如下:名字只能由字母、数字和下划线组成;名字的第一个字符必须是英文字母,最后一个字符可是是类型说明符;名字的有效字符为 255 个;不能用 Visual Basic 的保留字作变量名,但可以把保留字嵌入变量名中;同时变量名也不能是末尾带有类型说明符的保留字,例如变量 Print 和 Print$是非法的,而变量 Print
43、_Number 是合法的。根据变量命名规则,选项 B)开头第一个字符是数字,非法;选项 C)变量名开头第一个字符是数字,非法;选项 D)中包含非法字符“-”;所以只有选项 A)是正确的。16.关于自定义对话框概念的说明,错误的是(分数:2.00)A.建立自定义对话框时必须执行添加窗体的操作B.自定义对话框实际上是 VB 的窗体C.在窗体上还要使用其他控件才能组成自定义对话框D.自定义对话框不一定要有与之对应的事件过程 解析:解析:自定义对话框是在窗体控件上设置一些为应用程序接收数据、输出信息的控件制作成的。所以自定义对话框实际上是 Visual Basic 的窗体,建立自定义对话框的第一步便是
44、在工程中添加窗体。自定义对话框通常有命令按钮,一个命令按钮要对应一个事件过程,所以自定义对话框一定要有事件过程与之对应。17.单击命令按钮时,下列程序的运行结果为Private Sub Command1_Click( )Print MyBM(23,18)End SubPublic Function MyBM(m As Integer,n As Integer)As IntegerDo While mnDo While m n:m=m - n:LoopDo While m n:n=n - m:LoopLoopMyBM=mEnd Function(分数:2.00)A.0B.1 C.3D.5解析:解
45、析:此题程序代码中,被调过程采用了 Do WhileLoop 的嵌套语句结构,主调过程只调用了一次被调过程,Print MyBM(23,18)语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程 MyBM 时,把数值 23,18 分别传给形参 m 和 n,从被调过程中的循环语句来看,因为此时 m 的值大于 n 的值,所以执行语句 m=m-n,m 值变为 5,然后循环调用,直到 m=n,而由语句 MyBM=m 可看出,此过程的返回值就是 m 的值,即 1。18.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B
46、.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析:解析:线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。19.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现 B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现解析:解析:头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的
47、实现。20.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n-1)/2 解析:解析:假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2 遍 的从前往后的扫描和 n/2遍的从后往前的扫描,需要的比较次数为 n(n-1)/2。21.单击窗体上的关闭按钮时,触发的事件是(分数:2.00)A.Form_Initialize ( )B.Form_Load ( )C.Form_Unload ( ) D.Form_Click ( )解析:解析:Initialize 事件和 Load 事件是由系统自动触发的事件,而
48、题意是单击关闭按钮;Form_Click 是单击窗体触发的事件;Unload 事件是清除窗体(关闭窗体或执行 Unload 语句)时触发。22.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型 D.以上 3 个都是解析:解析:关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。23.为了暂时关闭计时器,应把该计时器控件的哪个属性设置为 False?(分数:2.00)A.VisibleB.TimerC.Enabled D.Interval解析:解析:计时器
49、控件的常用属性有 Name、Enabled 和 Interval 属性。Name属性设置计时器控件的名称;Enabled 属性用于设置计时器控件是否可用,若设置为False,则使计时器停止使用;Interval 属性用于设置计时器事件之间的间隔,以秒为单位,取值为 065535。计时器控件没有 Visible 属性。24.有如下程序段:Private Sub Command1_Click( )Dim a As Integera=2For i=1 To 3Print G((分数:2.00)A.Next iEnd SubFunction G(a As Integer)b=0Static cb=解析:解析