1、国家二级( VB)机试模拟试卷 131及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)算法就是程序 ( B)设计算法时只需要考虑数据结构的设计 ( C)设计算法时只需要考虑结果的可靠性 ( D)以上三种说法都不对 2 下列叙述中正确的是 ( )。 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 3 下列关于二叉树的叙述中,正确的是 ( )。 ( A)叶 子结点总是比度为 2的结点少一个 ( B)叶子结点总是比度为 2的结点多一个 ( C)叶子结点数是度为 2的
2、结点数的两倍 ( D)度为 2的结点数是度为 1的结点数的两倍 4 软件生命周期中的活动不包括 ( )。 ( A)市场调研 ( B)需求分析 ( C)软件测试 ( D)软件维护 5 某系统总体结构图如下图所示: 该系统总体结构图的深度是 ( )。 ( A) 7 ( B) 6 ( C) 3 ( D) 2 6 程序调试的任务是 ( )。 ( A)设计测试用例 ( B)验证程序的正确性 ( C)发现程序中的 错误 ( D)诊断和改正程序中的错误 7 下列关于数据库设计的叙述中,正确的是 ( )。 ( A)在需求分析阶段建立数据字典 ( B)在概念设计阶段建立数据字典 ( C)在逻辑设计阶段建立数据字
3、典 ( D)在物理设计阶段建立数据字典 8 数据库系统的三级模式不包括 ( )。 ( A)概念模式 ( B)内模式 ( C)外模式 ( D)数据模式 9 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)交 ( C)投影 ( D)并 10 下列选项中 属于面向对象设计方法主要特征的是 ( )。 ( A)继承 ( B)自顶向下 ( C)模块化 ( D)逐步求精 11 以下合法的 VB变量名是 ( )。 ( A) #_1 ( B) 123_a ( C) string ( D) x_123 12 以下关于 VB的叙述中,错误的是 ( )。
4、( A) VB采用事件驱动方式运行 ( B) VB既能以解释方式运行,也能以编译方式运行 ( C) VB程序代码中,过程的书写顺序与执行顺序无关 ( D) VB中一个对象对应一个事件 13 有如下数据定义语句: Dim X, Y As Integer 以上语句表明 ( )。 ( A) x、 Y均是整型变量 ( B) X是整型变量, Y是变体类型变量 ( C) X是变体类型变量, Y是整型变量 ( D) X是整型变量, Y是字符型变量 14 以下关于控件数组的叙述中,正确的是 ( )。 ( A)数组中各个控件具有相同的名称 ( B)数组中可包含不同类型的控件 ( C)数组中各个控件具有相同的 I
5、ndex属性值 ( D)数组元素不同,可以响应的事件也不同 15 以下关于 VB文件的叙述中,错误的是 ( )。 ( A)标准模块文件不属于任何一个窗体 ( B)工程文件的扩展名为 frm ( C)一个工程只有一个工程文件 ( D)一个工程可以有多个窗体文件 16 设 x为一整型变量,且情况语句的开始为: Select Case x,则不符合语法规则的Case子句是 ( )。 ( A) Case Is 20 ( B) Case 1 To 10 ( C) Case 0 Is And IS 20 ( D) Case 2, 3 4 17 现有如下语句: x=IIf(a 50, Int(a 3), a
6、 Mod 2) 当 a=52时, x的值是 ( )。 ( A) 0 ( B) 1 ( C) 17 ( D) 18 18 设有如下数组定义语句: Dim a(一 1 To 4, 3)As Integer 以下叙述中正确的是 ( )。 ( A) a数组有 18个数组元素 ( B) a数组有 20个数组元素 ( C) a数组有 24个数组元素 ( D)语法有错 19 以下叙述中错误的是 ( )。 ( A) Sub Main是定义在标准模块中的特定过程 ( B)一个工程中只能有一个 Sub Main过程 ( C) Sub Main过程不 能有返回值 ( D)当工程中含有 Sub Main过程时,工程执
7、行时一定最先执行该过程 20 关于随机文件,以下叙述中错误的是 ( )。 ( A)使用随机文件能节约空间 ( B)随机文件记录中,每个字段的长度是固定的 ( C)随机文件中,每个记录的长度相等 ( D)随机文件的每个记录都有一个记录号 21 在名称为 Fralnel的框架中,有两个名称分别为 op1、 op2的单选按钮,标题分别为 “单程 ”、 “往返 ”,如图所示。 以下叙述中,正确的是( )。 ( A)若仅把 Frame1的 Enabled属性设为 False,则 op1、 op2仍可用 ( B)对于上图, op1 Value的值为 True ( C)对于上图,执行 Op1 Value=F
8、alse命令,则 “往返 ”单选按钮被选中 ( D)对于上图,执行 Op1 Value=0命令,程序出错 22 以下能够设置控件焦点的方法是 ( )。 ( A) SetFocus ( B) GotFocus ( C) LostFocus ( D) TabStop 23 使用 Line控件在窗体上画一条从 (0, 0)到 (600, 700)的直线,则其相应属性的值应是 ( )。 ( A) X1=0 X2=600, Y1=0, Y2=700 ( B) Y1=0, Y2=600, X1=0, X2=700 ( C) X1=0, X2=0, Y1=600, Y2=700 ( D) Y1=0, Y2=
9、0, X1=600, X2=700 24 设有窗体的 Form_MouseMove事件过程如下: Private Sub FormMouseMove(Buon As Integer, Shift As Integer, X As Single, Y As Single) If(BuRon And 3)=3 Then Print”检查按键 ” End If End Sub 关于上述过程,以下叙述中正确的是 ( )。 ( A)按下鼠标左键时,在窗体上显示 “检查按键 ” ( B)按下鼠标右键时,在窗体上显示 “检查按键 ” ( C)同时按下鼠标左、右键时,在窗体上显示 “检查按键 ” ( D)不论
10、做何种操作,窗体上都不会显示 25 窗体上有一个名称为 CD1的通用对话框,一个名称为 Command1的命令按钮,相应的事件过程如下: Private Sub Commandl_Click() CD1 Filter=”All File|* *|Text File|* txt|PPT|* ppt” CD1 FilterIndex=2 CD1 InitDir=“C: “ CD1 FileName=“default” CD1 ShowSave End SUb 关于上述过程,以下叙述中正确的是 ( )。 ( A)默认过滤器为 “* ppt” ( B)指定的初始目录为 “C: ” ( C)打开的文件对
11、话框的标题为 “default” ( D)上面事件过程 实现保存文件的操作 26 以下关于窗体的叙述中,错误的是 ( )。 ( A) Hide方法能隐藏窗体,但窗体仍在内存中 ( B)使用 Show方法显示窗体时,一定触发 Load事件 ( C)移动或放大窗体时,会触发 Paint事件 ( D)双击窗体时,会触发 DblClick事件 27 下列控件中,没有 Caption属性的是 ( )。 ( A)单选按钮 ( B)复选框 ( C)列表框 ( D)框架 28 将数据项 “Student”添加到名称为 List1的列表框中,并使其成为列表框第一项的语句为 ( )。 ( A) List1 Add
12、Item”Student”, 0 ( B) List1 Addltem”Student”, 1 ( C) List1.AddItem 0, ”Student” ( D) List1 AddItem 1, ”Student” 29 下列针对框架控件的叙述中,错误的是 ( )。 ( A)框架是一个容器控件 ( B)框架也有 Click和 DblClick事件 ( C)框架也可以接受用户的输入 ( D)使用框架的主要目的是为了对控件进行分组 30 窗体上有一个名为 Command1的 命令按钮,并有下面的程序: Private SUb Commandl_Click() Dim arr(5)As In
13、teger For k=1 To 5 arr(k)=k Next k prog arr() For k=1 To 5 Print arr(k); Next k End Sub Sub prog(a()As Integer) n=UBound(a) For i=n To 2 step一 1 For j=1 To n一 1 ff a(j) a(j+1)Then t=a(j): a(j)=a(j+1): a(j+1)=t End If Next j Next i End SUb 程序运行时,单击命令按钮后显示的是 ( )。 ( A) 1 2 3 4 5 ( B) 5 4 3 2 1 ( C) 0 1
14、 2 3 4 ( D) 4 3 2 1 0 31 下面程序运行时,若输入 “Visual Basic Programming”,则在窗体上输出的是( )。 Private SUb Commandl_Click() Dim count(25)As Integer, ch As String ch=UCase(InputBox(”请输入字母字符串 ”) For k=1 To kn(ch) n=Asc(Mid(ch, k, 1)一 Asc(”A”) If n =0 Then count(n)=count(n)+1 End If Next k In=count(0) For k=1 To 25 If
15、m count(k)1kn m=count(k) End If Next k Print m End Sub ( A) 0 ( B) 1 ( C) 2 ( D) 3 32 在窗体上画一个命令按钮和一个文本框,其名称分别为 Command1和 Text1,把文本框的 Text属性设置为空白,然后编写如下事件过程: Private Sub Commandl_Click() a=InputBox(”Enter an integer”) b=Text1 Text Text1.Text=b+a End Sub 程序运行后,在文本框中输入 456,然后单击命令按钮,在输入对话框中输入123,则文本框中显示
16、的内容是 ( )。 ( A) 579 ( B) 123 ( C) 456123 ( D) 456 33 在窗体上画一个名称为 Text1的文本框和一个名称为 Command1的命令按钮,然后编写如下事件过程: Private SUb Commamtl_Click() Dim i As Integer, n As Integer For i=0 To 50 i=i+3 n=n+1 If i 10 Then Exit For Next Text1 Text=Str(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5
17、 34 设有如下的程序段: n=0 For i=1 To 3 For j=1 To i For k=j To 3 n=n+1 Next k Next j Next i 执行上面的程序段后, n的值为 ( )。 ( A) 3 ( B) 21 ( C) 9 ( D) 14 35 在窗体上画一个名称为 Command1的命令按钮,一个名称为 Label1的标签,然后编写如下事件过程: Private Sub Commandl_Click() s=0 For i=1 To 15 x=2*i一 1 If x Mod 3=0 Then s=s+1 Next i Label1 Caption=s End S
18、ub 程序运行后,单击命令按钮,则标签中显示的内容是 ( )。 ( A) 1 ( B) 5 ( C) 27 ( D) 45 36 阅读程序: Private Sub Form_Click() x=50 For i=1 To 4 y=InputBox(”请输入一个整数 ”) Y=Val(y) If v Mod 5=0 Then a=a+Y x=y Else a=a+X End If Next i Print a End Sub 程序运行后,单击窗体,在输入对话框中依次输入 15、 24、 35、 46,输出结果为 ( )。 ( A) 100 ( B) 50 ( C) 120 ( D) 70 37
19、 在窗体上画一个名称为 Text1的文本框和一个名称为 Command1的命令按钮,然后编写如下事件过程: Private Sub Commandl_Click() Dim arrayl(10, 10)As Integer Dim i As Integer, j As Integer For i=1 To 3 For j=2 To 4 arrayl(i, j)=i+j Next j Next i Text1 Text=arrayl(2, 3)+arrayl(3, 4) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是 ( )。 ( A) 15 ( B) 14 ( C) 13 (
20、D) 12 38 在窗体上画一个名称为 Command14的命令按钮,然后 编写如下程序: Option Base 1 Private Sub Commandl_Click() d=0 c=10 X=Array(10, 12, 21, 32, 24) For i=1 To 5 If x(i) c Then d=d+x(i) c=x(i) Else d=dc End If Next i Print d End Sub 程序运行后,如果单击命令按钮,则在窗体上输出的 内容为 ( )。 ( A) 89 ( B) 99 ( C) 23 ( D) 77 39 假定有以下通用过程: Function Fu
21、n(n As Integer)As Integer X=n*n Fun=x一 11 End Funotion 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程: Private Sub Cornmandl_Click() Dim i As Integer For i=1 To 2 y=Fun(i) Print y; Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是 ( )。 ( A) 1 3 ( B) 10 8 ( C)一 10 7 ( D) 0 5 40 设有如下通用过程: Public Function f(x As Integer) D
22、im Y As Integer x=20 y=2 f=x*Y End Funetion 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Commandl_Click() Static x As Integer x=10 y=5 y=f(x) Print x: y End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 ( )。 ( A) 10 5 ( B) 20 40 ( C) 20 5 ( D) 10 40 二、基本操作题 41 在名称为 Form1、标题为 “欢迎 ”的窗体上画 1个名称为 Label1的标签,其标 题内容为
23、 “欢迎使用本系统 ”,标题文字字体和字号分别为 “宋体 ”、 “三号 ”,标签大小能根据标题内容自动调整,效果如图所示。程序执行时,窗体的最大化按钮不可用(如图所示 ),请设置相应属性。 注意:存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗体文件名为 sjt1 frm。 42 在名称为 Form1的窗体上,画 1个名称为 Label1的标签,其标题为 “横坐标X”,且能根据标题内容自动调整标签的大小;再画 1个名称为 Text1的文本框,其中的文字显示为空白;再画 1个名称为 Picturel的图片框,大小适 中即可。 要求:编写适当的事件过程,使得程序运行时,如果鼠标在图
24、片框中移动,则能在文本框Text1中显示鼠标在图片框中的当前位置的横坐标,运行情况如图所示。 注意:要求程序中不得使用变量,事件过程中只能写一条语句。 存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。三、简单应用题 43 在考生文件夹中有一个工程文件 sjt3 vbp。运行程序时,先向文本框 Text1中输入一个不超过 10的正整数,然后选择 “N的阶乘 ”或 “(N+2)的阶乘 ”单选钮,即可进行计算,计算 结果在文本框 Text2中显示,如图所示。在给出的窗体文件中已经添加了全部控件,但程序不完整。要求:去掉程序中的注释符,把程序中的 ?改为正
25、确的内容。 注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。 44 在考生文件夹中有一个工程文件 sjt4 vbp。该程序的功能是将文件 in4 txt中的文本读出并在文本框 Text1中显示。输入一个英文字母到文本框 Text2中,然后单击 “统计 ”命令按钮,统计该字母 (大小写被认为是不同的字母 )在文本中出现的次数,统计结果在标签 Label3中显示 。 给出的窗体文件中已经有了全部控件,如图所示。程序不完整,要求:去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。 四、综合应
26、用题 45 在考生文件夹下有一个工程文件 sjt5 vbp,界面如图所示,其功能如下: 单击 “读数据 ”按钮,则把考生文件夹下文件 in5 dat中的 12组整数 (其中每组含有 10个数,共计 120个整数 )读到数组 a中; 单击 “计算 ”按钮,则对每组数求平均值,并将所求各级数的平均值截尾取整后存人 s数组中; 单击 “显示 ”按钮,则将所求各组数的平均值显示在文本框架 Text1中; 单击 “存盘 ”按钮则把计算结果存盘。 在给出的窗体文件中已经有了全部控件,且 “读数据 ”、 “显示 ”和 “存盘 ”按钮的Click事件过程已经给出,请为 “计算 ”按钮编写适当的事件过程以实现上
27、述功能。注意:不得修改已经存在的程序,在结束程序运行之前,必须用 “存盘 ”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。 国家二级( VB)机试模拟试卷 131答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。 2 【正确答案】 B 【试题解析】 线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以 B正确。所以有一个以上根结点的数据结构一定是非线性结构,所以 A错误。循环链表和双向链表都是线
28、性结构的数据结构。 3 【正确答案】 B 【试题解析】 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0的叶子 结点总是比度为 2的结点多一个。所以选择 B。 4 【正确答案】 A 【试题解析】 软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择 A。 5 【正确答案】 C 【试题解析】 根据总体结构图可以看出该树的深度为 3,比如: XY系统 功能 2功能 2 1,就是最深的度数的一个表现。 6 【正确答案】 D 【试题解析】 程序调试的任务是诊断和改正程序中的错误。 7 【正
29、确答 案】 A 【试题解析】 数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。 8 【正确答案】 D 【试题解析】 数据库系统的三级模式是概念模式、外模式和内模式,所以选择D。 9 【正确答案】 A 【试题解析】 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据 T中元组可以判断 R和 s做的是自然连接操作。 10 【正确答案】 A 【试题解析】 面向对象基本方法的基本概念有对象、类和实例 、消息、继承与多态性,所以选择 A。 11 【正确答案】 D 【试题解析】 VB中变量的命名规则为: 必须以字
30、母或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB已经占用的关键字。 #_1中 #是类型符号,变量名中不能用 VB保留符号。故不合法。 123_a以数字开头不合法。 string是VB的关键字,也不合法。故 D选项正确。 12 【正确答案】 D 【试题解析】 VB中一个对象可以对应一个或多个事件,事件可由用户或系统触发,触发后执行相应的事件过程。不过,不一定一个对象的所有事件过程都执行 ,响应哪个事件过程就执行哪个。故 D选项错误。 13 【正确答案】 C 【试题解析】 用 Dim可同时定义多个变量,但变量要分别声明其数据类型,如果不声明数据类型,默认是 Variant变体型变量。本
31、题中,变量 x定义时没声明数据类型,所以为 Variant型变量,变量 Y是整型变量。故 C选项正确。 14 【正确答案】 A 【试题解析】 控件数组中各控件具有相同的名称,而且类型是相同的,但 Index属性值不同。数组中各控件响应的事件是相同,用 Index属性值来区分每个控件。故 A选项正确, B、 C、 D选 项错误。 15 【正确答案】 B 【试题解析】 工程文件的扩展名为 vbp,故 B选项错误。 16 【正确答案】 C 【试题解析】 Select Case语句中表达式的形式可以是:常量或变量;若干符合条件的值用 “, ”隔开;表达式 1 to表达式 2; Is关系表达式。 本题中
32、选项 A、 B和 D都符合语法规则。 选项 C中 Is关系表达式语法错误,它可以是 Is 0或 Is 20,但不能是组合的0 Is And Is 20。故 C选项错误。 17 【正确答案】 C 【试题解析】 首先计 算 Int(a 3)即 Int(523)=Int(17)=17, 52 MOD 2结果为 0。再计算 IIf(52 50, 17, 0), 52 50结果为 True,所以 IIF函数返回 17,则 x值为 17,故选 C。 18 【正确答案】 C 【试题解析】 本题定义了一个二维数组,第一维的下标一 1 to 4,即为一 1, 0,1, 2, 3, 4(共 6行 ),第二维下标
33、3,即 0to 3(0, 1, 2, 3共 4列 ), 6*4=24二维数组有 24个数组元素。故选 C。 19 【正确答案】 D 【试题解析】 VB工程的启动对象有: Sub Main过程 (在标准模块中定义 )、窗体(在多个窗体可选一个窗体启动 ),我们可以通过在 “工程属性 ”对话框中设置启动对象来实现,设置哪个就用哪个启动。所以当工程中含有 Sub Main过程时,工程执行不一定最先执行该过程,也可以通过窗体启动。故选项 D错误。 20 【正确答案】 A 【试题解析】 随机文件中的每一行是一条记录,每条记录的长度是固定的、相等的,并且都有一个记录号。 Open语句中的 Len用于指定记
34、录长度,当指定长度小于记录实际长度时将产生错误;大于实际长度时,可以写入,但浪费空间,所以随 机文件占据磁盘空间较大,故选项 A错误。 21 【正确答案】 B 【试题解析】 当 Frame1的 Enabled属性设为 False后,框架 Frame1变为不可用,它里面放的两个单选按钮也就变为不可用,故 A选项错误; 当 Op1 Value为 False时, “单程 ”和 “往返 ”单选按钮都处于未选中状态,故 C选项错误; Opl Value的值为 0,即为 False,语句正确,没有程序错误,故 D选项说法错误: 根据图可只, “单程 ”单选按钮处于选中状态。 Opl Value的值为 Tr
35、ue,故 B选项正 确。 22 【正确答案】 A 【试题解析】 GotFocus和 LostFocus是控件获得焦点和失去焦点时触发的两个事件; TabStop是控件的属性; SetFocus方法是控件设置、获得焦点的方法。故选 A。 23 【正确答案】 A 【试题解析】 X1、 Y1、 X2、 Y2属性是直线的起点、终点坐标。故选 A。 24 【正确答案】 C 【试题解析】 MoseMove事件中的 Button表示鼠标所有按键的状态。用 0、 1、 2三个位表示左、右、中键,当按下某个键时,相应位是 1,否则是 0。三位的二 进制数也可转换为十进制数,作为 Button的值。如表:本题中当
36、 Button值为 011或 111时, (Button And 3)=3。条件才成立,窗体上显示 “检查按键 ”。这说明只要同时按下鼠标的左右键时,在窗体上就显示 “检查按键 ”。故选 c。 25 【正确答案】 B 【试题解析】 通用对话框的 FiherIndex属性为 1时表示默认过滤器为第 1个文件类型,为 2时表示为第 2个文件类型。 InitDir属性值指定通用对话框的初始目录。 FileName属性表示对话框中默认的文件名。 ShowSave方法表示打开另 存为对话框,执行保存文件的操作。 26 【正确答案】 B 【试题解析】 窗体的 Load事件是把窗体装入工作区的事件,即装入内
37、存,然后窗体才显示出来,使用 Hide方法可以使窗体隐藏,但窗体仍在内存中,使用Show方法能使窗体显示出来。当窗体被移动或放大时,或者窗口移动时覆盖了一个窗体时,触发 Paint事件。双击窗体时会触发窗体的 DblClick事件。 27 【正确答案】 C 【试题解析】 列表框控件没有 Caption属性。 28 【正确答案】 A 【试题解析】 List控件的 Addhem方法的语法是: Ad dltem(String, index)。其中 index是列表框中列表项的索引值,第一项的索引值为 0。 29 【正确答案】 C 【试题解析】 框架是一个容器控件,用于将屏幕上的对象分组。框架常用的事
38、件是 Click和 DblClick,它不接受用户输入,不能显示文本和图形,也不能与图形相连。 30 【正确答案】 B 【试题解析】 程序对数组元素赋初值为 1、 2、 3、 4、 5。 Ubound函数返回数组可用的最大下标,过程 prog的功能是遍历数组对数组中的元素进行排序,由条 件a(j) a(j+1)可知程序是将数组按从大到小排序。当用数组作为过程的参数时。使用的是 “传地址 ”方式,因此程序输出的是排序后的数组元素值,即 5、 4、 3、 2、1。 31 【正确答案】 D 【试题解析】 根据题中的程序代码可知, ch为输入字符串的大写状态,第一个For循环是依次取出字母, n为取出
39、字母与 “A”字符的 ASCII码差值,然后再赋给数组 count();第二个 For循环是找出数组 count()中的最小值,因此,最后窗体上输出的结果为 3,即选项 D。 32 【正确答案】 C 【试题解析 】 默认情况下, InputBox的返回值是一个字符串,因此程序中a=“123”, b=“456”, b+a=“456”+“123”=“456123”。因此 C选项正确。另外,使用字符连接运算符 “+”时,如果连接的是字符串和数值,可根据返回值类型判断,若返回值类型为字符串,则它将数值转换成字符串后与另一字符串连接成新字符串返回;若返回值类型为数值,则它要求字符串中只能包含数字,而不能
40、有其他字符,否则报 “类型不匹配 ”的错误。 33 【正确答案】 B 【试题解析】 程序中 For循环的结束有两种情况。一种是循环 完指定的次数,一种是达到一定的条件后直接退出循环。由于在循环体中循环变量 i的值被修改:i=i+3,因此,每次循环开始时 i的取值为 0, 4, 8, i为 8时执行 i=i+3=11,n=n+1=3,这时 i的值大于 10,退出 For循环,因此 For循环执行了 3次,即 n的值为 3。所以在文本框中会显示 3。 34 【正确答案】 D 【试题解析】 程序是三层的 For循环,内层的循环次数由外一层的循环变量的值决定。因此程序执行过程如下: i=1时,第二层循
41、环执行 1次,第三层循环执行 3次, n=3 i=2时,第 二层循环执行 2次,第三层循环执行 3次 +2次, n=3+3+2=8 i=3时,第二层循环执行 3次,第三层循环执行 3次 +2次 +1次, n=8+3+2+1=14 因此答案为 D。 35 【正确答案】 B 【试题解析】 s变量用来计数,如果 x Mod 3=0即如果能被 3整除则计数增加1。程序中 x的取值为 1、 3、 5、 7、 9、 11、 13、 15、 17、 19、 21、 23、 25、 27、29,其中是 3的整数倍的数有 3、 9、 15、 21、 27共 5个,因此 8的值为 5。 36 【正确答案】 A 【
42、试题解析】 程序的作用是输入的数如果是 5的倍数就累加,如果不是就与每次加 50或与上次是 5的倍数的那个数相累加。因此最终 a的值是15+15+35+35=100 37 【正确答案】 D 【试题解析】 程序中通过 For循环为数组中部分元素赋值,没有赋值的元素值将默认为 0。循环中 i=2, j=3时, arrayl(i, j)=i+j,即 arrayl(2, 3)=5, i=3, j=4时, arrayl(3, 4)=3+4,即 arrayl(3, 4)=7。 5+7=12,因此程序文本框中显示值是12。 38 【正确答案】 C 【试题解析】 程序中 Option Base 1语句指定数组
43、下标下限从 1开始。程序通过赋初值定义变量 x为含有 5个元素的数组,元素值依次为 10, 12, 21, 32, 24。For循环的功能是把这 5个元素中大于 10且大于前一个元素的值累加到变量 d中,如果小于等于 10或前一个元素则从变量 d减去 10或前一个元素的值。因此d=010+12+21+3232=23。 39 【正确答案】 C 【试题解析】 i=1时,执行 fun(i),返回值为一 10。 i=2时,执行 fun(i),即fun(2),返回值为 2*2一 11=一 7。因此程序会输出一 10和一 7。 40 【正确答案】 B 【试题解析】 过程 f中形参变量 x没有指定传递方式,
44、则默认按地址传递,会影响实参值。而变量 y在按钮事件过程和 f过程中都是局部变量只在本过程中起作用。因此执行 y=f(x)后, x值在过程中被改变为 20,而 y被赋为过程返回值 40。因此程序窗体上会显示 20和 40。 二、基本操作题 41 【正确答案】 步骤 1:新建一个窗体,在属性窗口中设置窗体的属性,按照表2 3所示在属性窗口中设置相应属性。 步骤2:在窗体上添加一个标签控件,在属性窗口中设置 标签的属性,按照表 2 4所示在属性窗口中设置相应属性。 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 新建窗体,设置窗体的 Caption属性。在窗体上添加一个标签控件
45、,设置标签控件的 Caption属性、 Font属性和 AutoSize属性。 42 【正确答案】 步骤 1:新建 个窗体,在窗体上添加一个标签控件,在属性窗口中设置标签的属性,按照表 2 5所示在属性窗口中设置相应属性。步骤 2:在窗体上添加一个文本框控件,在属性窗口中设置文本框的属性,按照表 2 6所示在属性窗口中设置 相应属性。步骤 3:在窗体上添加一个图片框控件,适当调整大小。 步骤 4:双击 “左击 ”按钮,打开代码编辑窗口,在代码编辑窗口中添加Picturel_MouseMove事件,并编写以下代码。 编写程序代码。 Private Sub Picturel_MouseMore(B
46、utton As Integer, Shift As Integer, X As Single, Y As Single) Textl Text =X End Sub 步骤 5:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 使用 Picture控件的 MouseMove方法可以得到鼠标的坐标位置。 三、简单应用题 43 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Private Sub Optionl_Click(Index As Integer) Dim n As Integer n=Val(Text1 Text) Select Ca
47、se? Case 0 text2 Text=fl(?) Case 1 Text2 Text=fl(?) End Select End Sub Public Function fl(n As Integer)As Long Dim x As Long x=1 For i=1 To? x=x*i Next ? =x End Function 程序结束 参考答案 第 1个 ?处填入: Index 第 2个 ?处填入: n 第 3个 ?处填入: n+2 第 4个 ?处填入: n 第 5个 ?处填入: n 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 在单击单选按钮数组事件过程中,
48、首先向文本框 rextl中输入一个不超过 10的正整数,通过 Val函数实现字符向数值的转换,然后选择 “N的阶乘 ”或 “(N+2)的阶乘 ”单选按钮,通过 Select Case语句和单选按钮数组的 Index属性,确定所调用函数的参数,从而调用 Function fl()过程函数进行计算,将计算结果显示在文本框 Text2中。 44 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Private Sub Form_Load() Open App Path&”in4 txt”For Input As#1 Line Input#1, s Text1
49、Text=? Close#1 End Sub Private Sub Commandl_Click() Dim n As Integer s=Text1 Text s1=RTrim(Text2 Text) Do p=InStr(?) If p 0 Then n=n+1 s=Mid(s, p+1) Loop While p?0 Label3 Caption=? End Sub 程序结束 参考答案 第 1个 ?处填入: s 第 2个 ?处填人: s, s1 第 3个 ?处填入: 第 4个 ?处填入: n 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 通过文件操作和 “ ”连接符将文件 in4 txt中的文本读出并显示在文本框 Text1中,在 Commandl Click事件过程中,在文本框 Text2中输入一个英文字母,然后单击 “统计 ”命令按钮,统计该字母 (大小写被认为是不同的字母 )在文本中出现的次数,统计结果显示在标签 Label3中。 四、