1、二级 VISUAL+BASIC 笔试-346 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.栈和队列的共同点是( )。(分数:2.00)A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同特点2.为了使列表框中的项目分为多列显示,需要设置的属性为( )。(分数:2.00)A.ColumnsB.StyleC.ListD.MultiSelect3.下列程序段错误的是( )。(分数:2.00)A.Dim a As Integer a=array(1,2,3,4)B.Dim a(),b() a=array(1,2,3
2、,4): b=aC.Dim a As Variant a=array(1,“aSd“,truD.Dim a()As Variant a=array(1,2,3,4)4.按文件的访问方式不同,可以将文件分为( )。(分数:2.00)A.顺序文件、随机文件B.文本文件和数据文件C.数据文件和可执行文件D.ASC文件和二进制文件5.窗体上有一个图片控件和一个按钮控件,下列程序执行的结果是( )。 Pfivate Sub Command1_click() Picture1.Picture=LoadPicture(“C:/picture.ipg“) Picture1.Cis Picture1.Print
3、“picture“ End Sub(分数:2.00)A.窗体无显示,图片框显示图片和文字 pictureB.窗体上出现 picture 文本,图片框无显示C.窗体上出现 picture 文本,图片框显示图片 picturjpgD.窗体无显示,图片框只显示 picture 文字6.窗体上添加一个文本框 Text1,编写下列代码: Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) Print Chr(KeyCode+5)i(分数:2.00)A.i=1B.i=2C.i=3D.i=411.对长度为 n 的线性表进行顺序查找,在
4、最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.nD.n+112.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发过程中的技术问题13.已知代数式 eXSin(30)2x/(x+y)Lnx,则正确的 Visual Basic 表达式为( )。(分数:2.00)A.E*Sin(30*3.14/180)*2*X/X+Y*Log(B.Exp(*Sin(30)*2*X/(X+*Ln(C.Exp(*Sin(30*3
5、.14/180)*2*x/(x+*Log(D.Exp(*Sin(30*3.14/180)*2*X/(X+*Ln(14.表达式 Str(Len(“123“)+Str(77.7)的值是( )。(分数:2.00)A.377.7B.377.7C.80.7D.12377.715.下列程序代码实现生成 20 个 0100 之间的随机整数,存于数组中,打印数组中大于 50 的数,并求这些数的和。清选择正确的程序段( ),完成程序。 Pnvae Sub Command1_Click() Dim arr(1 To 20) For i=1 To 20 arr(i)_ Text1.Text=Text1.Text X
6、 Sum=Sum+X End If Next X Print Tab(20);“Sum=“;Sum End Sub(分数:2.00)A.Int(Rnd*99+1) In arrB.Int(Rn In arrC.Int(Rnd*99+1) In arr()D.Int(Rn In arr()16.源程序的文档化不包括( )。(分数:2.00)A.符号名的命名要有实际意义B.正确的文档形式C.良好的视觉组织D.正确的程序注释17.为了提高软件模块的独立性,模块之间最好是( )。(分数:2.00)A.控制耦合B.公共耦合C.内容耦合D.数据耦合18.有下列函数过程: Function fun1(ByV
7、al x As Integer,ByVal y As Integer)As Integer Do While y0 reminder=x MOd y x=y y=reminder Loop fun1=x End Function 在下列按钮单击事件中调用该函数,则该程序的运行结果是( )。 Private Sub Command1_Click() Dim a As Integer Dim b As Integer a=100 b=25 x=fun1(a,b) Print x End Sub(分数:2.00)A.0B.25C.50D.10019.设有变量声明为“Dim aDate As Date
8、”,则为变量 aDate 正确赋值的表达方式是( )。(分数:2.00)A.aDate=#8/2008#B.aDate=#“8/8/2008“#C.aDate=Date(“8/8/2008“)D.aDate=Format(“m/d/yy“,“8/8/2008“)20.在 C 盘当前文件夹下建立一个名为 SDat.txt 的顺序文件。要求用 InputBox 函数输入 5 名学生的学号(StuNo)、姓名(StuName)和英语成绩(SmEng)。则在下列横线处合适的语句是( )。 Private Sub Form_Click() Open“C:/SDat.txt“For Output AS 1
9、 For i=1 To 5 SmNo=InputBox(“请输入学号“) StuName=InputBox(“请输入姓名“) StuEndg=Val(InputBox(“请输入英语成绩“) _ Next i Close #1 End Sub(分数:2.00)A.Input #1,StuNo,StuName,StuEndgB.Put #1,StuNo,StuName,StuEndgC.Write #1,StuNo,StuName,StuEndgD.Get #1,StuNo,StuName,StuEndg21.下列叙述正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法
10、的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对22.在窗体上画一个名称为 Text1 的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为 Option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,请选择空白处合适的语句( )。 Private Sub Option1_Click(Index AS Integer) Select Case_ Case 0 a=“宋体“ Case 1 a=“黑体“ Case 2 a=“楷体 GB2312“ End Select Te
11、xt1._=a End Sub(分数:2.00)A.Option TextB.Index TextC.Index FontD.Option Font23.有下列程序段,其输出结果是( )。 a=0:b=0 For i=-1 To -2 Step -1 For j=1 To 2 b=b+1 Next j a=a+1 Next i Print a;b(分数:2.00)A.2 3B.-2 2C.4 2D.2 424.下列事件过程的功能是:建立一个名为 Datal 的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1,2,3,90。请在空白处填入适当的内容,将程序补充完整。 Priva
12、te Type Ang K As Integer Sinx As Single Cosx As Single End Type Dim Ksc As Ang Private Sub Form_Click() Dim Y As Single Dim i As Integer Dim Ksc As Ang Open_ Y=3.14159/180 For i=1 To 90 Ksc.K=i Ksc.Sinx=Sin(i*Y) Ksc.Cosx=Cos(i*Y) _ Next i Close #2 End Sub(分数:2.00)A.“/Data1.txt“For Random As #1 Len=1
13、0 Put #1,i,KscB.“/Data1.txt“For Random As #1 Len=10 Put #1,Y,KscC.“/Data1.txt“For Random As #1 Put #1,i,KscD.“/Data1.txt“For Random As #1 Put #1,Y,Ksc25.在窗体上有一个文本框控件,名称为 TextTime,一个计时器控件,名称为 Timer1。要求每一秒在文本框中显示一次当前的时间。 Private Sub Timer1_ TextTime.Text=Time End Sub 在横线上应填入的内容是( )。 (分数:2.00)A.Enabled
14、B.VisibleC.Timer()D.Interval26.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项不可见,应使用的语句为( )。(分数:2.00)A.MenuIteEnabled=FalseB.MenuIteEnabled=TrmeC.MenuIteVisible=TrueD.MenuIteVisible=Flase27.窗体上有一个命令按钮,命令按钮的单击事件过程如下。运行程序后,单击命令按钮,输出结果是( )。Private Sub Command1_Click() Dim a a=Array(1,2,3,4,5) For k=1 To 4 S=S+a(k) N
15、ext k Print S End Sub(分数:2.00)A.10B.14C.15D.12028.下列( )事件过程可以将打开文件对话框的标题改变为“new Caption”。(分数:2.00)A.Private Sub Command1_Click() CommonDialog1.DialogTitle=“new Caption“ CommonDialog1.ShowFont End SubB.Private Sub Command1_Click() CommonDialog1.DialogTitle=“new Caption“ CommonDialog1.ShowOpen End Sub
16、C.Private Sub Command1_Click() CommonDialog1.DialogTitle=“new Caption“ CommonDialog1.ShowHelp End SubD.Private Sub Command1_Click() CommonDialog1.DialogTitle=“new Caption“ CommonDialog1.ShowColor End Sub29.在窗体上画一个名称为“Command1”,标题为“计算”的命令按钮,再画 7 个标签,其中 5 个标签组成名称为 Label1 的控件数组;名称为 Label2 的标签用于显示计算结果,其
17、 Caption 属性的初始值为空;标签 Label3 的标题为“计算结果”。运行程序时会自动生成 5 个随机数,分别显示在标签控件数组的各个标签中。单击“计算”按钮,则将标签数组各元素的值累加,然后计算结果显示在 Label2。下列为“计算”按钮的事件过程,请为横线处选择合适的语句( )。 (分数:2.00)A.Label1(.Caption Label2.CaptionB.Label1(.Caption Label3.CaptionC.Label1.Caption Label2.CaptionD.Label1.Caption Label3.Caption30.下列程序运行时输出的结果是(
18、)。 Option Base 1 Const a=10 Private Sub Form_Click() Dim x(a)As Integer k=-1 For i=1 To a x(i)=i*k k=(-1)*k Next i For i=1 To 10 Print x(i) Next i End Sub(分数:2.00)A.1 3 5 7 9 10B.-1-3-5-7-9C.-1 2-3 4-5 6-7 8-9 10D.1-2 3-4 5-6 7-8 9-1031.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键
19、码为基准元素的快速排序法,第一趟排序后关键码 33 被放到第( )个位置。(分数:2.00)A.3B.5C.7D.932.要建立一个随机文件记录学生的信息,下列定义了学生的记录类型,由学号、姓名、五门课程成绩(百分制)组成,下列的定义正确的是( )。(分数:2.00)A.Type stu no As Integer name As String score(1 To 5)As Single End TypeB.Type stu no As Integer name As String*10 score()As Single End TypeC.Type stu no As Integer na
20、me As String*10 score(1 To 5)As Single End TypeD.Type stu no As Integer name As String score()As Single End Type33.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据34.有下列二叉树,对此二叉树中序遍历的结果是( )。 (分数:2.00)A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE35.在新建一个 VisualBasic 工程时,将新建窗体的 Nam
21、e 属性设置为 TheFirst,则默认的窗体文件名为( )。(分数:2.00)A.Form1.frmB.工程 1.frmC.TheFirsfrmD.Form1.vbp二、B填空题/B(总题数:11,分数:30.00)36.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 1 的信息。(分数:2.00)填空项 1:_37.按照“先进先出”的原则组织数据的结构的是 1。(分数:2.00)填空项 1:_38.深度为 5 的满二叉树中,叶子结点的个数为 1。(分数:2.00)填空项 1:_39.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项
22、 1:_40.Jackson 方法是一种面向 1 的结构化方法。(分数:2.00)填空项 1:_41.在鼠标事件过程 MouseDown 和 MouseUp 中,参数 Button 的值为 1、2、4 时,分别代表按下鼠标的 1、 2 和 3 按钮。(分数:6.00)填空项 1:_填空项 1:_填空项 1:_42.已知变量 boo1Var 是一个布尔型的变量,如果要给其赋值为 True,则正确的赋值语句是 1。(分数:2.00)填空项 1:_43.执行下列语句后,输出结果是_。 s$=“ABCDEFG“ Print lnStr(s$,“efg“) Print LCase$(s$)(分数:2.0
23、0)填空项 1:_44.表达式“12345“12345“i(分数:2.00)A.i=1B.i=2C.i=3D.i=4 解析:解析 程序执行过程为:程序首先给变量 a 赋初值 75,然后执行第 2 行 if 语句,条件成立,因此执行 i=1 赋值语句;接着执行第 3 行 if 语句,条件成立,因此执行 i=2 赋值语句;接着执行第 4 行 if语句,条件不能成立,因此不执行 i=2 赋值语句;接着执行第 5 行 if 语句,条件成立,因此执行 i=4 赋值语句,此时 i=4;最后执行 Print 输出语句,输出 i。11.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(
24、分数:2.00)A.125B.n/2C.n D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。12.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发过程中的技术问题解析:解析 软件工程是指将工程化的思想应用
25、于软件的开发、应用和维护的过程,包括软件开发技术软件工程管理。13.已知代数式 eXSin(30)2x/(x+y)Lnx,则正确的 Visual Basic 表达式为( )。(分数:2.00)A.E*Sin(30*3.14/180)*2*X/X+Y*Log(B.Exp(*Sin(30)*2*X/(X+*Ln(C.Exp(*Sin(30*3.14/180)*2*x/(x+*Log( D.Exp(*Sin(30*3.14/180)*2*X/(X+*Ln(解析:解析 “Exp函数功能是计算 e(e2.71828)的某次方,其格式为是 Exp(number);“Sin函数指定参数的正弦值,它的参数是表
26、示以弧度为单位的角的 Double 型数据:“Log”函数得到某数的自然刘数值,正确的表达方式是 Log(number);“30”在计算机中应该写成 30*3.14/180;并且各个表达式之间的乘号不能省略。14.表达式 Str(Len(“123“)+Str(77.7)的值是( )。(分数:2.00)A.377.7B.377.7 C.80.7D.12377.7解析:解析 解本题有两个关键点:一是运算的先后顺序,这里应该是 Len 函数Sir 函数+计算(连接);二是 Len 函数和 Str 函数的功能,Len 函数用来计算字符串的长度,“123”长度为 3(空格、小数点各算一个长度)。Str
27、函数是将数字转为字符串,注意转换后数字前会保留一空位表示正负。这里“3”转换后为“_3”(“_”表示空格)。 “+”运算符时有可能是做加法,也有可能是做字符串连接,其结果根据两个参与运算的表达式决定。如果两个表达式都是数值数据类型,进行相加运算;如果两个表达式都是字符,进行相连接运算。15.下列程序代码实现生成 20 个 0100 之间的随机整数,存于数组中,打印数组中大于 50 的数,并求这些数的和。清选择正确的程序段( ),完成程序。 Pnvae Sub Command1_Click() Dim arr(1 To 20) For i=1 To 20 arr(i)_ Text1.Text=T
28、ext1.Text X Sum=Sum+X End If Next X Print Tab(20);“Sum=“;Sum End Sub(分数:2.00)A.Int(Rnd*99+1) In arr B.Int(Rn In arrC.Int(Rnd*99+1) In arr()D.Int(Rn In arr()解析:解析 Rnd 函数用于产生一个小于 1 但大于或等于 0 的实数,题中要求 0100 之间的随机整数,所以需要对 Rnd 产生的实数进行计算处理 Int(Rnd*99+1)。要处理数组中的元素,使用 For EachNext语句处理数组元素时,Each 后只需写出数组名,不能使用小
29、括号。16.源程序的文档化不包括( )。(分数:2.00)A.符号名的命名要有实际意义B.正确的文档形式 C.良好的视觉组织D.正确的程序注释解析:解析 源程序的文档化主要包括 3 点:符号名应具有一定实际的含义,便于理解程序功能:正确的程序注释;良好的视觉组织。利用空格、空行、缩进等技巧使程序层次清晰。17.为了提高软件模块的独立性,模块之间最好是( )。(分数:2.00)A.控制耦合B.公共耦合C.内容耦合D.数据耦合 解析:解析 耦合性与内聚性是模块独立性的两个定性标准,是互相关联的。在程序设计中,各模块间的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚、低耦合,有利于
30、提高模块的独立性。18.有下列函数过程: Function fun1(ByVal x As Integer,ByVal y As Integer)As Integer Do While y0 reminder=x MOd y x=y y=reminder Loop fun1=x End Function 在下列按钮单击事件中调用该函数,则该程序的运行结果是( )。 Private Sub Command1_Click() Dim a As Integer Dim b As Integer a=100 b=25 x=fun1(a,b) Print x End Sub(分数:2.00)A.0B.2
31、5 C.50D.100解析:解析 可以通过两种方式来传递参数,即按值传递参数和按地址传递参数。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。用 ByVal 关键字指出参数是按值来传递的。按地址传递参数使过程用变量的内存地址去访问实际变量的内容,在将变量传递给过程时,通过过程可永远改变变量值。默认时是按地址传递参数。 题中 fun1 函数的参数都是按值传送的,函数使用“过程名=表达式”的形式获得函数的返回值,如题中“fun1=x”语句。调用函数“x=fun1(a,b)”后,x=25。19.设有变量声明为“Dim aDate As Date”,
32、则为变量 aDate 正确赋值的表达方式是( )。(分数:2.00)A.aDate=#8/2008# B.aDate=#“8/8/2008“#C.aDate=Date(“8/8/2008“)D.aDate=Format(“m/d/yy“,“8/8/2008“)解析:解析 任何可辨认的文本日期都可以赋值给 Date 变量。日期文字必须以数字符号“#”扩起来,例如,#January 1、1993#或#1 Jan 93#。对于选项 D)是按照格式字符串的要求显示数值表达式,Format函数的正确格式为:Format(数值表达式,格式字符串),所以选项 D)应该改为:aDme=Format(“8/8/
33、2008“,“m/d/yy“);选项 C)中 Date 函数使用错误,应为:aDate=Date。20.在 C 盘当前文件夹下建立一个名为 SDat.txt 的顺序文件。要求用 InputBox 函数输入 5 名学生的学号(StuNo)、姓名(StuName)和英语成绩(SmEng)。则在下列横线处合适的语句是( )。 Private Sub Form_Click() Open“C:/SDat.txt“For Output AS 1 For i=1 To 5 SmNo=InputBox(“请输入学号“) StuName=InputBox(“请输入姓名“) StuEndg=Val(InputBo
34、x(“请输入英语成绩“) _ Next i Close #1 End Sub(分数:2.00)A.Input #1,StuNo,StuName,StuEndgB.Put #1,StuNo,StuName,StuEndgC.Write #1,StuNo,StuName,StuEndg D.Get #1,StuNo,StuName,StuEndg解析:解析 顺序文件的读操作使用 Input 语句,写操作使用 Print 或 Write 语句。 Write 语句的正确格式为:Write#文件号,表达式表。各表达式之间用逗号隔开。 随机文件的写操作使用 Put#语句,读操作使用 Get#语句。21.下
35、列叙述正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对解析:解析 算法的执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。22.在窗体上画一个名称为 Text1 的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为 Option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,请选择空白处合适的语句( )。 Private Sub Option1_Clic
36、k(Index AS Integer) Select Case_ Case 0 a=“宋体“ Case 1 a=“黑体“ Case 2 a=“楷体 GB2312“ End Select Text1._=a End Sub(分数:2.00)A.Option TextB.Index TextC.Index Font D.Option Font解析:解析 控件数组中的控件共享同一个事件过程,相互间通过 Index 属性区别,题中单选按钮数组的单击事件中,有一个 Index 参数,单击不同的单选按钮,它取不同的值,根据该值进行不同的操作,所以,Select Case 语句的表达式应为“Index”;题
37、中要求改变文本框中的字体,所以应修改 Text1 的Font 属性。23.有下列程序段,其输出结果是( )。 a=0:b=0 For i=-1 To -2 Step -1 For j=1 To 2 b=b+1 Next j a=a+1 Next i Print a;b(分数:2.00)A.2 3B.-2 2C.4 2D.2 4 解析:解析 这个双重 For 循环中,外层的 For 循环循环次数是两次,计算变量 a 的值;内层 For 循环每次执行循环次数也是 2 次,计算变量 b 的值。执行过程为:当 a=0;b=0 时,语句 b=b+1 执行两次,结果为 2,a+1=1。当 a=1;b=2
38、时,语句 b=b+1 执行两次,结果为 4,a+1=2。因此最后计算结果为a=2,b=4。24.下列事件过程的功能是:建立一个名为 Datal 的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1,2,3,90。请在空白处填入适当的内容,将程序补充完整。 Private Type Ang K As Integer Sinx As Single Cosx As Single End Type Dim Ksc As Ang Private Sub Form_Click() Dim Y As Single Dim i As Integer Dim Ksc As Ang Open_ Y
39、=3.14159/180 For i=1 To 90 Ksc.K=i Ksc.Sinx=Sin(i*Y) Ksc.Cosx=Cos(i*Y) _ Next i Close #2 End Sub(分数:2.00)A.“/Data1.txt“For Random As #1 Len=10 Put #1,i,Ksc B.“/Data1.txt“For Random As #1 Len=10 Put #1,Y,KscC.“/Data1.txt“For Random As #1 Put #1,i,KscD.“/Data1.txt“For Random As #1 Put #1,Y,Ksc解析:解析 分析
40、程序,程序要将角度值及这些角度的正弦函数值和余弦函数值存入 Datal 文件中。因此,应先打开 Datal 文件,应为 Datal 文件是随机文件,要新建并写入信息,所以应用 Random 方式打开文件。这里给随机文件指定长度为 10,所以第 1 个空白处应填:“/Dam1.txt“For Random As#1 Len=10。要向随机文件中写入信息,应用 Put 语句,因此第 2 空应填:Put#1,i,Ksc。25.在窗体上有一个文本框控件,名称为 TextTime,一个计时器控件,名称为 Timer1。要求每一秒在文本框中显示一次当前的时间。 Private Sub Timer1_ Te
41、xtTime.Text=Time End Sub 在横线上应填入的内容是( )。 (分数:2.00)A.EnabledB.VisibleC.Timer() D.Interval解析:解析 计时器控件又称为时针控件,通过引发 Timer 事件,可以有规律地隔一段时间执行一次代码。控件用于背景进程中,是不可见的。Timer 时间也是计时器控件的唯一事件。26.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项不可见,应使用的语句为( )。(分数:2.00)A.MenuIteEnabled=FalseB.MenuIteEnabled=TrmeC.MenuIteVisible=TrueD
42、.MenuIteVisible=Flase 解析:解析 Enabled 属性用来设置一个窗体或控件是否能够刘用户产生的事件作出反应,设为 False时,菜单项在程序运行时失效,不响应用户的操作;设为 True 时,菜单项在程序运行有效,能响应用户的操作。Visible 属性用来设置窗体或控件是否可见,设为 False 时,控件不可见:设为 True 时,控件可见。27.窗体上有一个命令按钮,命令按钮的单击事件过程如下。运行程序后,单击命令按钮,输出结果是( )。Private Sub Command1_Click() Dim a a=Array(1,2,3,4,5) For k=1 To 4
43、S=S+a(k) Next k Print S End Sub(分数:2.00)A.10B.14 C.15D.120解析:解析 解答本题的关键是读懂程序。程序中首先通过赋值语句定义一个有 5 个元素的数组(数组的下标从零开始);接下来通过 For 循环来循环给变量 S 赋值(即对数组元素求和),这里循环中 k 从 1 开始,因此 a(k)从 2 开始取值,到 a(4)也就是 5 结束,计算结果为 14。28.下列( )事件过程可以将打开文件对话框的标题改变为“new Caption”。(分数:2.00)A.Private Sub Command1_Click() CommonDialog1.D
44、ialogTitle=“new Caption“ CommonDialog1.ShowFont End SubB.Private Sub Command1_Click() CommonDialog1.DialogTitle=“new Caption“ CommonDialog1.ShowOpen End Sub C.Private Sub Command1_Click() CommonDialog1.DialogTitle=“new Caption“ CommonDialog1.ShowHelp End SubD.Private Sub Command1_Click() CommonDialo
45、g1.DialogTitle=“new Caption“ CommonDialog1.ShowColor End Sub解析:解析 可以通过 DialogTitle 属性设置打开文件刘话框的标题,使用 ShowOpen 方法设置通用刘话框的类型为打开文件对话框。 DialogTitle 属性指定对话框中标题栏的名称。“打开”对话框默认的标题是“打开”;“另存为”对话框默认的标题是“另存为”。29.在窗体上画一个名称为“Command1”,标题为“计算”的命令按钮,再画 7 个标签,其中 5 个标签组成名称为 Label1 的控件数组;名称为 Label2 的标签用于显示计算结果,其 Capti
46、on 属性的初始值为空;标签 Label3 的标题为“计算结果”。运行程序时会自动生成 5 个随机数,分别显示在标签控件数组的各个标签中。单击“计算”按钮,则将标签数组各元素的值累加,然后计算结果显示在 Label2。下列为“计算”按钮的事件过程,请为横线处选择合适的语句( )。 (分数:2.00)A.Label1(.Caption Label2.Caption B.Label1(.Caption Label3.CaptionC.Label1.Caption Label2.CaptionD.Label1.Caption Label3.Caption解析:解析 本题看似复杂,实际比较简单,只要读
47、懂了题意就能很快地解答本题。题中要求单击“计算”按钮后,累加标签数组各元素的值,那么 sum 的值就应该是标签数组中各元素值的累加,用下标引用各数组元素 Label1(i).Caption;题目最后要求将和显示在 Label2 中,因此第 2 个空应该填写Label2.Caption。30.下列程序运行时输出的结果是( )。 Option Base 1 Const a=10 Private Sub Form_Click() Dim x(a)As Integer k=-1 For i=1 To a x(i)=i*k k=(-1)*k Next i For i=1 To 10 Print x(i)
48、 Next i End Sub(分数:2.00)A.1 3 5 7 9 10B.-1-3-5-7-9C.-1 2-3 4-5 6-7 8-9 10 D.1-2 3-4 5-6 7-8 9-10解析:解析 本题中两个 For 循环的作用分别为:为 x 数组元素赋值,在窗体上依次输出 x 数组元素的值。 其中,为 x 数组元素赋值时,有“x(i)=i*k”和“k=(-1)*k”两条语句。k 的值每次都取自己的相反数,这样,x 数组元素的符号每次都在变化,第 1 个元素是-1,第 2 个元素是 2,第 3 个元素是-3,依此类推:最后输出 x 元素的值为-1 2-3 4-5 6-7 8-9 10。31.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33 被放到第( )个位置。(分数:2.00)A.3B.5 C.7D.9解析:解析 快速排序的基本思想是:从表中选取一个元素(如本题中的 33),将表中小于此元素的移到前面,大于此元素的移到后面,结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后分别对两个子表再次分割