1、二级 VISUAL+BASIC 笔试-223 及答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在窗体上面画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click( ) a=“321“:b=“abc“For j=l To 5Print Mid(a,6-j,1)+Mid(b,j,1);Next jEnd Sub程序运行后,输出的结果是(分数:2.00)A.alb2c3B.ablc23C.clb2a3D.a12bcl2.D5(分数:2.00)A.B.C.D.3.单击命令按钮时,下列程序代码的执行结果为Public
2、 Sub proc1(n As Integer,Byva1 m As Integer)n=n Mod 10m=m Mod 10 End SubPrivate Sub Cmmand1_Click( )Dim x As Integer,y As lngegerx=12:y=12Call Proe1(x,y)Print x;yEnd Sub(分数:2.00)A.12 2B.2 12C.2 2D.12 124.在数据结构中,从逻辑上可以把数据结构分成(分数:2.00)A.动态结构和静态结构B.线性结构和非线性结构C.集合结构和非集合结构D.树状结构和图状结构5.Dim a(3,-3 to 0,3 to
3、 8)As String 语句定义的数组元素有(分数:2.00)A.12 个B.96 个C.120 个D.80 个6.下列程序段的执行结果为X=5 Y=-20If Not X0 Then X=Y-3 Else Y=X+3Print X-Y;(分数:2.00)A.-3B.5C.3D.257.算法的时间复杂度是指(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数8.软件测试的目的是(分数:2.00)A.证明软件系统中存在错误B.找出软件系统中的所有错误C.尽可能多地发现系统中的错误和缺陷D.证明软件的正确性9.以下能够正确
4、计算 1+2+3+10 的程序是(分数:2.00)A.Private sub Command1_Click( ) sum=0 For 1=1 To 10 Sum=sum+1,Next I Print Sum End SubB.Private sub Command1_Click( )Sum=0,I=1Do While l=10Sum=Sum+1I=I+1Print SumEnd SubC.Private Sub command1_click( ) Sum=0:I=1Do Sum=Sum+1I=I+1Loop While I10 Print Sum End SubD.Private Sub co
5、mmand1_Click( )Sum=0:I=1Do Sum=Sum+1l=I+1Loop Until I10Print SumEnd Sub10.常用的关系运算是关系代数和(分数:2.00)A.集合代数B.逻辑演算C.关系演算D.字段11.单击命令按钮时,下列程序的执行结果为 Private Sub Command1_Click( )Dim x As Integer,y As Integerx=50:y=78Call PPP(x,y)Print x;yEnd SubPublic Sub PPP(ByVM n As Integer,ByVal m As Integer) n=n/l0m=m/l
6、0End Sub(分数:2.00)A.08B.50 78C.450D.78 5012.单击窗口时,下列程序代码的执行结果为 Private Sub Form_Click( )Text1End SubPrivate Sub Text(x As Integer)x=x*3+1 if x6 Thencall Text(x)End ifx=x*2+1Print x;End Sub(分数:2.00)A.27 55B.11 35C.22 45D.24 5113.有以下函数过程:Function Gys(ByVal x As Integer,ByVal y As Integer)As IntegerDo W
7、hile y 0Remender=x Mod vx=yY=ReminderLoopGys=xEnd Function以下是调用该函数的事件过程,该程序的运行结果是Private Sub Command1_Click( )Dim a As IntegerDim b As Integera=50b=10x=Cys(a,b)Print xEnd sub(分数:2.00)A.0B.10C.50D.10014.在数据库管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段,其中数据独立性最高的阶段是(分数:2.00)A.数据库系统阶段B.文件系统阶段C.人工管理阶段D.数据项管理15.下
8、面关于数据库系统的叙述正确的是(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件能管理更多的数据16.执行以下语句后,输出的结果是s=“ABCDEFGHI”Print Mid(s,3,4)Print Len(s)(分数:2.00)A.ABCD 11B.CDEF 11C.EFGH 11D.HIJK 1117.采用面向对象技术开发的应用系统的特点是(分数:2.00)A.重用性更强B.运行速度更快C.占用存储量小D.维护更复杂18.当一个工程含有多个窗体时,其中的启动窗体是(分数:2.00)A.启动 VB 时建
9、立的窗体B.第一个添加的窗体C.最后一个添加的窗体工程属性D.在工程属性对话框中指定的窗体19.单击命令按钮时,下列程序代码的执行结果为Private Sub Command1_Click( )Print MyFunc(24,18)End SubPublic Function MyFunc(m As Integer,n As Integer)As Integer Do While m nDo While mn:m=mn:LoopDO While mn:n=n-m:LoopLoopMy Func=mEnd Function(分数:2.00)A.2B.4C.6D.820.在窗体上画一个命令按钮,然
10、后编写如下程序Private Sub Command1_Click( )Dim a As Integer,b As hitegera=1b=2Print N(a,b)End SubFunction N(x As Integer,y As Integer)As IntegerN=IIf(xy,x,y)End Function程序运行后,单击命令按钮,输出结果为(分数:2.00)A.1B.2C.5D.821.定义过程的格式中,Static 关键字的作用是指定过程中的局部变量在内存中的存储方式。若使用了Staff 关键字,则(分数:2.00)A.每次调用此过程,该过程中的局部变量都会被重新初始化B.
11、在本过程中使用到的,在其他过程中定义的变量也为 Static 型C.每次调用此过程时,该过程中的局部变量的值保持在上一次调用后的值D.定义了该过程中定义的局部变量为“自动”变量22.设在工程中有一个标准模块,其中定义了如下记录类型:TyPe RecordID A3 IntegerName As String*20End TyPe在窗体中添加一个名为 Command1 的命令按钮,假设 d:/F1.dat 文件中含有 5 个用户自定义类型的记录。要求当执行事件过程 Command1_Click 时,随机访问该文件,并把文件中的第 4 条记录读出。下列能够完成该操作的程序段是(分数:2.00)A.
12、Private Sub Command1_Click( ) Dim MyRecord As Record,PositionOpen“d:/F1.dat“For Random As#1 Len=Len(My Record)Position=4 Get#1,Position,MyrecordClose #1End SubB.Private Sub Command1_Click( )Dim MyRecord As Record,Position Open“d:/F1.dat“For Random As #1 Len=Len(MyRecord)Position=4Put #1,Position,MyR
13、ecordClose#1 End SubC.Private Sub Command1_Click( )Dim MyRecord As Record,PositionOpen“d:/F1.dar“For OutPut As #1 Len=Len(My Record)Position=4Get #1,Position,MyRecordClose#1 End SubD.Private Sub Command1_Click( )Dim MyRecord As record,PositionOpen“d:/F1.dat“For lnput As #1 Len=Len(MyRecord)Position=
14、4Get #1,Position,MyRecordClose#1End Sub23.设有下列二叉树:(分数:2.00)A.B.C.D.24.有关多文档界面(Multiple Document Interface)的不正确描述是(分数:2.00)A.多文档界面(MDl)是指在一个父窗口下面可以同时打开多个子窗口B.子窗口归属于父窗口C.如果父窗口关闭,则所有子窗口全部关闭D.如果所有子窗口全部关闭,则父窗口关闭25.在软件生命周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析26.编制一个好的程序,首先要保证它的正确
15、性和可靠性,还应强调良好的编程风格,在选择标识符的名字时应考虑(分数:2.00)A.名字长度越短越好,以减少源程序的输入量B.多个变量共用一个名字,以减少变量名的数目C.选择含义明确的名字,以正确提示所代表的实体D.尽量用关键字作名字,以使名字标准化27.在窗体中添加一个命令按钮,然后编写如下代码:Private Sub Command1_Click( )For i=l To 4x=4For j=1 To 3x=3For k=l To 3 x=x+6Next kNext jNext iPrint xEnd Sub程序运行后,单击命令按钮,输出结果是(分数:2.00)A.7B.15C.21D.5
16、3828.在窗体中添加两个文本框(其 Name 属性分别为 Text1 和 Text2)和一个命令按钮(其 Name 属性为 Com- mand1),然后编写如下程序:Private Sub Command1_Click( )x=0Do While x20x=(x+1) *(x+2)n=n+1LoopText1.Text=Str(n)Text2.Text=Str(x) End Sub程序运行后,单击命令按钮,在两个文本框 Text1 和 Text2 中分别显示的值是(分数:2.00)A.1 和 0B.2 和 12C.3 和 182D.3 和 1229.用于获得字符串 s 从第 3 个字符开始的
17、 3 个字符的函数是(分数:2.00)A.Mid(s,2,3)B.Middle(s,2,3)C.Right(s,2,3)D.Left(s,1,3)30.单击按钮时,以下列程序运行后的输出结果是Private Sub proc1(x As Integer,y As Integer,z As Integer)x=3*zy=2*zz=X+yEnd SubPrivate Sub Command1_Click( )Dim x As Integer,y As Integer,z As Integerx=1:y=2:z=3Call proc1(x,x,2)Print x;x;zCall proc1(x,y,
18、y)Print x;y;yEnd Sub(分数:2.00)A.6 6 12 6 6 10B.9 5 105 10 10C.9 6 12 9 10 15D.9 5 105 4 1031.编写了如下事件过程:Private Sub Form_KeyDown(KeyCode As Integer,Shift As lnteger)If(Button And 3)=3 ThenPrint“AAAA”End lfEnd Sub程序运行后,为了窗体上输出“AAAA”,应按下的鼠标键是(分数:2.00)A.左B.右C.同时按下左和右D.按鼠标键没有反应32.单击命令按钮时,下列程序的运行结果为Private
19、 Sub Command1_Click( ) Print MyFund(20,18) End SubPublic Function MyFund(m As Integer,n As Integer)As IntegerDo While mnDo While mn:m=m-n:LoopDo While mn:n=n-m:LoopLoopMyFund=mEnd Function(分数:2.00)A.0B.2C.4D.633.以下关于保存工程的说法正确的是(分数:2.00)A.保存工程时只保存窗体文件即可B.保存工程时只保存工程文件即可C.先保存窗体文件,再保存工程文件D.先保存工程文件,再保存窗体
20、文件34.设有如下程序:Private Static Function Fac(n As Integer)As IntegerDim f As Integerf=f+nFac=fEnd FunctionPrivate Sub Form_Click( )Dim I As IntegerFor 1=2 To 3Print“#“;I&“=”&Fac(1)Next IEnd Sub程序运行后,单击窗体,在窗体上显示的是(分数:2.00)A.#2=2 #3=3B.#2=2 #3=5C.#;2=2 #;3=3D.#;2=2#3;=535.有如下程序段,该程序段执行完后,共执行循环的次数是Private S
21、ub Command1_Click( )Tota1=0Counter=1DoPrint CounterTota1=tota1+CounterPrint totalCounter=Counter+1If total=10 ThenExit DoEnd lfLoop While Counter=10End Sub(分数:2.00)A.5B.10C.12 D。20二、填空题(总题数:10,分数:32.00)36.将算法的 5 个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 【1】 性。(分数:2.00)填空项 1:_37.在数据结构中,用组地址连续的存储单元一次存储数据元素的方式是 【2】
22、 结构。(分数:2.00)填空项 1:_38.软件生命周期一般可以分为以下阶段:问题定义、可行性研究、 【3】 、设计、编码、测试、运行和维护。(分数:2.00)填空项 1:_39.数据库理论中,数据的独立性一般可分为 【4】 和逻辑独立性。(分数:2.00)填空项 1:_40.数据库是指按照一定的规则存储在计算机中的 【5】 的集合,它能被各种用户共享。(分数:2.00)填空项 1:_41.下面的程序用于根据文本框 Text 中输入的内容进行以下处理:若 Text 为 4,6,则打印“Text 的值为 4,6”;若 Text 为 1,3,5,7,则打印“Text 的值为1,3,5,7”;若
23、Text 为 8, 9,则打印“Text 的值为 8,9”;否则打印“Text 的值不在范围内”。请填空。Private Sub Command1_Click( )Select Case Val(Text.Text)Case 【6】 Print“Text 的值为 4,6”Case 【7】 Print“Text 的值为 1,3,5,7”Case 【8】 Print“Text 的值为 8,9”Case 【9】 Print“Text 的值不在范围内”End SelectEnd Sub(分数:8.00)填空项 1:_42.建立随机文件 TEST.DAT,存放学生的姓名和总分,然后把该文件中的数据读出来
24、显示。请在 【10】 和 【11】 处填适当的内容,将程序补充完整,Type RecordStudent As String*20Score As SingleEnd TypeDim Class As RecordOpen“TEXT.DAT“For 【10】 As #1 Len=Len(Class)Class.Student=“LiuMin”:Class.Score=596Put #1,1,ClassClose #1Open“TEXT.DAT“For Random As #1 Len(Class)【11】 Print“STUDENT:“,Class.Student Print“SCORE:“,
25、Class.ScoreClose #1End(分数:4.00)填空项 1:_43.程序是一个窗体双击事件代码,窗体的名称是 Mywindow。窗体上有一个名为 Text1 的文本框,用来显示文本。程序段首先在文本框中显示“窗体能够触发双击事件”然后将滚文本清除;重复上述过程 5 次。Option ExplicitPrivate 【12】 Dim k As IntegerFor k=1 to 100If k Mod 20 Then【13】 Else Text1.Text=“End lfPrint“程序运行完毕,可再双击窗体” End Sub(分数:4.00)填空项 1:_44.设在工程中有一个标
26、准模块,其中定义了如下记录类型:Type BooksName As String*10telNum As String*20End Type在窗体上添加一个名为 Command1 的命名按钮,要求当执行事件过程 Command1_Click 时,在顺序文件 Person.txt 中写入一条记录。请在 【14】 中填入适当的内容,将程序被补充完整。Private Sub Command1_Click( )Dim B As 【14】 Open“c:/person.txt“For Output As #1B.Name=Input Box(“输入姓名”)B.TelNum=InputBox(“输入学号”
27、) Write#I,B,Name,B.TelNumClose #1End Sub(分数:2.00)填空项 1:_45.在窗体中添加一个名称为 Lablel1 的标签、两个名称为 Text1 和 Text2 的文本框以及名称为 Command1的按钮。程序运行后,在两个文本框中输入数据,当单个按钮时,标签 Label1 中显示运算的结果。程序的功能是计算,n!+(n+1)!+(n+2)!+(n+m)!。请在 【15】 处填入适当的内容,将程序补充完整。Private Sub Command1_Click( )Dim a,b,c,d As DoubleDim i,n,m As Integern=V
28、al(Text1.Text):m=Val( 【15】 )a=0: b=1: c=0: d=1For i=1 TO m b=b*ia=a+bNext iFor i=1 To nd=d*iC=c+d Next iLabel1.Caption=a-c End Sub(分数:4.00)填空项 1:_二级 VISUAL+BASIC 笔试-223 答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在窗体上面画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click( ) a=“321“:b=“abc“For j=l To 5
29、Print Mid(a,6-j,1)+Mid(b,j,1);Next jEnd Sub程序运行后,输出的结果是(分数:2.00)A.alb2c3B.ablc23 C.clb2a3D.a12bcl解析:解析 Mid 函数是 Visual Basic 考试的热点之一。Mid(a,i,n)表示从字符串 a的第 i 个字符开始向后截取 n 个字符,据此不难看出答案为 B。注意 Print 方法后面以分号结束,意味着每执行一次For 循环输出的字符都以紧凑方式与上一次 For 循环输出的字符相连。2.D5(分数:2.00)A.B.C. D.解析:解析 通过 For k 循环,数组 M(10)被逐一赋值,
30、结果是要显示(通过 Print 语句)M(2+M(x)的值。根据 M(k)=11-k,不难得出当 x=6 时,M(2+M(x)=M(2 +5)=M(7)=11-7=4,故答案为 C。3.单击命令按钮时,下列程序代码的执行结果为Public Sub proc1(n As Integer,Byva1 m As Integer)n=n Mod 10m=m Mod 10 End SubPrivate Sub Cmmand1_Click( )Dim x As Integer,y As lngegerx=12:y=12Call Proe1(x,y)Print x;yEnd Sub(分数:2.00)A.12
31、 2B.2 12 C.2 2D.12 12解析:解析 由于 n 为默认的传地址参数,m 为传值参数,故在调用 Proc1 过程后, x 值为经过处理后的值,y 为原值,不发生改变。4.在数据结构中,从逻辑上可以把数据结构分成(分数:2.00)A.动态结构和静态结构B.线性结构和非线性结构 C.集合结构和非集合结构D.树状结构和图状结构解析:解析 逻辑结构即数据元素之间的逻辑关系,与数据的存储无关。根据数据元素之间的关系,逻辑结构被分为两大类:线性结构和非线性结构。而集合结构和非集合结构、树形结合和图状结构都是特定的数据结构类型。5.Dim a(3,-3 to 0,3 to 8)As Strin
32、g 语句定义的数组元素有(分数:2.00)A.12 个B.96 个 C.120 个D.80 个解析:解析 根据题意,数组 a 有三个下标,每个下标分别可以取 4 个值、4 个值、6 个值,故该数组的元素个数为 4 乘 4 乘 6,共 96 个元素。6.下列程序段的执行结果为X=5 Y=-20If Not X0 Then X=Y-3 Else Y=X+3Print X-Y;(分数:2.00)A.-3 B.5C.3D.25解析:解析 根据题意,当 X,0 为非真时,执行 Then 后面的语句,否则执行 Else 后面的语句。据此,Y 的值为 8,X 的值仍为 5。Print 语句先计算 X-Y 的
33、值,再输出。7.算法的时间复杂度是指(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数解析:解析 算法的时间复杂度是指执行算法所需要的计算工作量,也就是算法在执行过程中所执行的基本运算的次数,而不是指程序运行需要的时间或是程序的长度。8.软件测试的目的是(分数:2.00)A.证明软件系统中存在错误B.找出软件系统中的所有错误C.尽可能多地发现系统中的错误和缺陷 D.证明软件的正确性解析:解析 软件测试的目的不是证明系统的正确或是系统中的错误,而是要发现错误以使编程人员能够改正。系统中的错误和缺陷往往受到很多偶然因素的
34、影响,不可能完全发现,只能是尽可能地发现并改正。9.以下能够正确计算 1+2+3+10 的程序是(分数:2.00)A.Private sub Command1_Click( ) sum=0 For 1=1 To 10 Sum=sum+1,Next I Print Sum End Sub B.Private sub Command1_Click( )Sum=0,I=1Do While l=10Sum=Sum+1I=I+1Print SumEnd SubC.Private Sub command1_click( ) Sum=0:I=1Do Sum=Sum+1I=I+1Loop While I10
35、Print Sum End SubD.Private Sub command1_Click( )Sum=0:I=1Do Sum=Sum+1l=I+1Loop Until I10Print SumEnd Sub解析:解析 A 选项进行 10 次循环,分别将 1 至 10 累加给 Sum,故正确。选项 B 缺少 Loop 关键词,否则也是正确的。选项 C 与 D 由于受条件“Iclo限制,Do 循环只能进行一次。10.常用的关系运算是关系代数和(分数:2.00)A.集合代数B.逻辑演算C.关系演算 D.字段解析:解析 常用的关系运算包括关系代数和关系演算。11.单击命令按钮时,下列程序的执行结果为
36、 Private Sub Command1_Click( )Dim x As Integer,y As Integerx=50:y=78Call PPP(x,y)Print x;yEnd SubPublic Sub PPP(ByVM n As Integer,ByVal m As Integer) n=n/l0m=m/l0End Sub(分数:2.00)A.08B.50 78 C.450D.78 50解析:解析 在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在 Visual Basic 中,实参与形参的结合有两种方
37、式,即传址与传值。这两种方法的特点如下:1) 传址的结合过程时:当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。2) 传值的结合过程时:当调用一个过程时,系统将实参的值复制给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程 PPP 中有两个形参,两者均为传值方式。主调过程分别把实参 x、y 传递给 PPP,所以当过程调用结束后,实参 x、y 的值都没有改变,最后输出的值应为
38、 50 78。12.单击窗口时,下列程序代码的执行结果为 Private Sub Form_Click( )Text1End SubPrivate Sub Text(x As Integer)x=x*3+1 if x6 Thencall Text(x)End ifx=x*2+1Print x;End Sub(分数:2.00)A.27 55 B.11 35C.22 45D.24 51解析:解析 难点在于 Sub 过程 Text 中嵌套了一个 Text 过程。根据 Text 的描述,当把 1 以传地址的方式传送给 x 时,x 的值为 4,此时 x 的值满足 If 条件,所以再次执行 1 次 Tex
39、t 过程。第 2 次执行时,x的值变为 13,此时跳过 If 语句,执行 x=x*2+1 语句,x 值变为 27,随后用 Print 方法输出。注意,到此时,整个 Text 过程仅仅执行完了 call Text(x)这一语句块,结束这个语句块,系统接着执行 x=x*2+1 语句,由于 x 参数的传地址的方式传送,此时在执行该句前,x 的值为 27,执行完之后 x 的值为 55,再将这一值输出。窗体上显示 27 与 55。13.有以下函数过程:Function Gys(ByVal x As Integer,ByVal y As Integer)As IntegerDo While y 0Reme
40、nder=x Mod vx=yY=ReminderLoopGys=xEnd Function以下是调用该函数的事件过程,该程序的运行结果是Private Sub Command1_Click( )Dim a As IntegerDim b As Integera=50b=10x=Cys(a,b)Print xEnd sub(分数:2.00)A.0B.10 C.50D.100解析:解析 首先要读懂 Gys 函数过程的意思,Gys 函数过程返回参数 y 的值,具体过程是先令参数 x的值为 y 的值,y 的值为 xMody 的值,再令 Gys 值为 x 的值,据此本题的正确结果为 10。14.在数据
41、库管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段,其中数据独立性最高的阶段是(分数:2.00)A.数据库系统阶段 B.文件系统阶段C.人工管理阶段D.数据项管理解析:解析 文件系统是数据库系统的初级阶段,提供了简单的数据共享与数据管理能力,附属于操作系统而不成为独立的软件,只能看作是数据库系统的雏形阶段。人工管理阶段主要用于科学计算,硬件无硬盘,软件没有操作系统。数据库管理系统是从这两个阶段发展而来的,其数据独立性必然更高。15.下面关于数据库系统的叙述正确的是(分数:2.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数
42、据类型的一致D.数据库系统比文件能管理更多的数据解析:解析 数据库管理系统只有减少数据冗余,但不可能完全避免冗余。数据的一致性是指在系统中同一数据的不同出现应保持相同的值。16.执行以下语句后,输出的结果是s=“ABCDEFGHI”Print Mid(s,3,4)Print Len(s)(分数:2.00)A.ABCD 11B.CDEF 11 C.EFGH 11D.HIJK 11解析:解析 Mid(s,i,n)表示从字符串 s的第 i 个字符开始向后截取 n 个字符,Len(s)返回字符串 s$的长度。17.采用面向对象技术开发的应用系统的特点是(分数:2.00)A.重用性更强 B.运行速度更快
43、C.占用存储量小D.维护更复杂解析:解析 面向对象方法具有很多特点,比如多态、继承等。这些特点都决定了面向对象方法支持软件复用。对象类可以派出生新类,类可以产生实例对象,从而实现了对象类数据结构和操作代码的软件复用。可重用性是面向对象思想的一个重要特征。18.当一个工程含有多个窗体时,其中的启动窗体是(分数:2.00)A.启动 VB 时建立的窗体B.第一个添加的窗体C.最后一个添加的窗体工程属性D.在工程属性对话框中指定的窗体 解析:解析 在 Visual Basic 中可以通过“工程属性”对话框指定程序运行的启动窗体。在没有设置的情况下,启动窗体为启动 Visual Basic 时建立的窗体
44、。第一个添加的窗体与最后一个添加的窗体都不一定是启动窗体。19.单击命令按钮时,下列程序代码的执行结果为Private Sub Command1_Click( )Print MyFunc(24,18)End SubPublic Function MyFunc(m As Integer,n As Integer)As Integer Do While m nDo While mn:m=mn:LoopDO While mn:n=n-m:LoopLoopMy Func=mEnd Function(分数:2.00)A.2B.4C.6 D.8解析:解析 根据 Myfune 的定义,当 m 与 n 不相等
45、时执行 D。循环,此时如果 m 大于 n,则执行 m=m-n的 Do 循环。据此,MyFune(24,18)的值应该为 24 减去 18。20.在窗体上画一个命令按钮,然后编写如下程序Private Sub Command1_Click( )Dim a As Integer,b As hitegera=1b=2Print N(a,b)End SubFunction N(x As Integer,y As Integer)As IntegerN=IIf(xy,x,y)End Function程序运行后,单击命令按钮,输出结果为(分数:2.00)A.1B.2 C.5D.8解析:解析 事件过程 N
46、的作用是输出两个数中最大的,它调用了 IIF 函数,条件部分是(xy),如果满足,那么 N 的值即为 x 的值,否则为 y 的值。在 Sub 过程中,定义了两个变量 a,b,并赋给它们初值1,2,并调用 Print 函数,输出 N(a,b)的值,因为 xy,所以输出 y=2。21.定义过程的格式中,Static 关键字的作用是指定过程中的局部变量在内存中的存储方式。若使用了Staff 关键字,则(分数:2.00)A.每次调用此过程,该过程中的局部变量都会被重新初始化B.在本过程中使用到的,在其他过程中定义的变量也为 Static 型C.每次调用此过程时,该过程中的局部变量的值保持在上一次调用后
47、的值 D.定义了该过程中定义的局部变量为“自动”变量解析:解析 static 关键字用于指定局部变量在内存中的存储方式。变量的存储方式有两种:静态的和自动的。静态存储方式是指当过程运行完毕后,变量所占的内存单元不释放,而变量的值被保存下来,该变量为静态变量。Static 型变量所占存储空间只初始化一次,且变量的值在整个程序运行期间都存在;Static 关键字对过程之外定义的变量没有影响;Static 关键字是定义该过程中定义的局部变量为静态变量。22.设在工程中有一个标准模块,其中定义了如下记录类型:TyPe RecordID A3 IntegerName As String*20End Ty
48、Pe在窗体中添加一个名为 Command1 的命令按钮,假设 d:/F1.dat 文件中含有 5 个用户自定义类型的记录。要求当执行事件过程 Command1_Click 时,随机访问该文件,并把文件中的第 4 条记录读出。下列能够完成该操作的程序段是(分数:2.00)A.Private Sub Command1_Click( ) Dim MyRecord As Record,PositionOpen“d:/F1.dat“For Random As#1 Len=Len(My Record)Position=4 Get#1,Position,MyrecordClose #1End Sub B.Private Sub Command1_Click( )Dim MyRecord As Record,Position Open“d:/F1.dat“For Random As #1 Len=Len(MyRecord)Position=4Put #1,Position,MyRecordClose#1 End SubC.Private Sub Command1_Click( )Dim MyRecord As Record,PositionOpen“d:/F1.dar“For OutPut As #1 Len=Len(My Record)Position=4Get #1,Position,M