1、国家二级( VB)机试模拟试卷 97及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)有一个以上根结点的数据结构不一定是非线性结构 ( B)只有一个根结点的数据结构不一定是线性结构 ( C)循环链表是非线性结构 ( D)双向链表是非线性结构 2 下列叙述中正确的是 ( )。 ( A)算法就是程序 ( B)设计算法时只需要考虑数据结构的设计 ( C)设计算法时只需要考虑结果的可靠性 ( D)以上三种说法都不对 3 一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 1的结点数为( )。 ( A) 16 ( B) 10 ( C) 6 ( D) 4 4 在下列模式中,能够给出
2、数据库物理存储结构与物理存取方法的是 ( )。 ( A)外模式 ( B)内模式 ( C)概念模式 ( D)逻辑模式 5 软件生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使用退役的过程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 6 面向对象方法中,继承是指 ( )。 ( A)一组对象所具有的相似性质 ( B)一个对象具有另一个对 象的性质 ( C)各对象之间的共同性质 ( D)类之间共享属性和操作的机制 7 负责数据库中查询操作的数据库语言是 ( )。 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操
3、纵语言 ( D)数据控制语言 8 一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是 ( )。 ( A) 1 1联系 ( B) 1 m联系 ( C) m 1联系 ( D) m n联系 9 有三个关系 R, S和 T如下:则由关系 R和 S得到关系 T的操作是 ( )。( A)自然连接 ( B)交 ( C)投 影 ( D)并 10 下列选项中属于面向对象设计方法主要特征的是 ( )。 ( A)继承 ( B)自顶向下 ( C)模块化 ( D)逐步求精 11 以下变量名中合法的是 ( )。 ( A) x 2 ( B) 12abc ( C) sum_total ( D) pr
4、int 12 已知 a 6, b 15, c 23,则语句 Print Sgn(a b Mod 6 ca)& a b 的输出结果为 ( )。 ( A) 6 ( B) 16 ( C) 31 ( D) 121 13 以下叙述中错误的是 ( )。 ( A) Visual Basic 是事件驱动型可视化编程工具 ( B) Visual Basic应用程序不具有明显的开始和结束语句 ( C) Visual Basic工具箱中的所有控件都具有宽度 (Width)和高度 (Height)属性 ( D) Visual Basic中控件的某些属性只能在运行时设置 14 设 a 2, b 3, c 4, d 5,
5、 下列表达式的值是 ( )。 a b And c =d Or 2*a c ( A) True ( B) False ( C) 1 ( D) 1 15 如下关于变体类型变量的叙述中 ,错误的是 ( )。 ( A)变体类型数组中只能存放同类型数据 ( B)使用 Array初始化的数组变量,必须是 Variant类型 ( C)没有声明而直接使用的变量其默认类型均是 Variant ( D)在同一程序中,变体类型的变量可以被多次赋以不同类型的数据 16 满足下列条件之一的年份是闰年: 1)年份能被 4整除但不能被 100整除 2)年份能被 400整除 若 y代表年份,下面判断闰年的正确表达式是 ( )
6、。 ( A) y Mod 4 And y Mod 100 Or y Mod 400 ( B) y Mod 4 0 Or y Mod 1000 And(y Mod 4 0 Or y Mod 400 0) ( D) y Mod 4 0 And y Mod 10050, Int(a3), a 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数
7、组有 24个数组元素 ( D)语法有错 19 窗体上有 1个名称为 Text1的文本框, 1个名称为 Label1的标签。程序运行后,如果在文本框中输入信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程为 ( )。 ( A) Private Sub Label1_Click() Label1.Caption Text1.Text End Sub ( B) Private Sub Label1_Change() Label1.Caption Text1.Text End Sub ( C) Private Sub Text1_Click() Label1.Caption Text1
8、.Text End Sub ( D) Private Sub Text1_Change() Label1.Caption Text1.Text End Sub 20 程序运行时,单击命令按钮,则产生的操作是 ( )。 ( A)窗体左上角移动到距屏幕左边界、上边界各 200的位置 ( B)窗体左上角移动到距屏幕右边界、上边界各 200的位置 ( C)窗体由当前位置向左、向上各移动 200 ( D)窗体由当前位置向右、向下各移动 200 21 在窗体上画两个文本框,其名称分别为 Text1和 Text2,然后编写如下程序: Private Sub Form_Load() Show Text1.Te
9、xt “ Text2.Text “ Text1.SetFocus End Sub Private Sub Text1_Change() Text2.Text Mid(Text1.Text, 6) End Sub 程序运行后,如果在文本框 Text1中输入 ChinaBeijing,则在文本框 Text2中显示的内容是 ( )。 ( A) ChinaBeijing ( B) China ( C) Beijing ( D) ChinaB 22 在窗体上画一个水平滚动条,其属性值满足 Min10 Then Exit For Next Text1.Text Str(n) End Sub 程序运行后,单
10、击命令按钮,在文本框中显示的值是 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 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的单击事件过程如下: Private Sub Command1_Click() x 10 Print f(x) End Sub Private Function f(y As Integer) f y
11、 * y End Function 运行上述程序,如下叙述中正确的是 ( )。 ( A)程序运行出错, x变量的类型与函数参数的类型不符 ( B)在窗体上显示 100 ( C)函数定义错,函数名 f不能又作为变量 名 ( D)在窗体上显示 10 36 窗体上有 1个名称为 Text1、内容为空的文本框。编写如下事件过程: Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Print Text1.Text; End Sub 运行程序,并在文本框中输入 “123“,则在窗体上的输出结果为 ( )。 ( A) 123 ( B)
12、 112 ( C) 12123 ( D) 112123 37 设有以下程序: Private Sub Form_Click() x 50 For i 1 To 4 y InputBox(“请输入一个整数 “) y Val(y) If y 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 38 设在工程文件中有一个标准模块 ,其中定义了如下记录类型: Typ
13、e Books Name As String * 10 TelNum As String * 20 End Type 在窗体上画一个名为 Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件 Person.txt中写入一条 Books类型的记录。下列能够完成该操作的事件过程是 ( )。 ( A) Private Sub Command1_Click() Dim B As Books Open “Person.txt“ For Output As #1 B.Name InputBox(“输入姓名 “) B.TelNum InputBox(“输入电话号码 “)
14、Write #1, B.Name, B.TelNum Close #1 End Sub ( B) Private Sub Command1_Click() Dim B As Books Open “Person.txt“ For Input As #1 B.Name InputBox(“输入姓名 “) B.TelNum InputBox(“输入电话号码 “) Print #1, B.Name, B.TelNum Close #1 End Sub ( C) Private Sub Command1_Click() Dim B As Books Open “Person.txt“ For Outp
15、ut As #1 B.Name InputBox(“输入姓名 “) B.TelNum InputBox(“输入电话号码 “) Write #1, B Close #1 End Sub ( D) Private Sub Command1_Click() Open “Person.txt“ For Input As #1 Name InputBox(“输入姓名 “) TelNum InputBox(“输入电话号码 “) Print #1, Name, TelNum Close #1 End Sub 39 设工程中有 2个窗体: Form1、 Form2, Form1为启动窗体。 Form2中有菜单
16、,其结构如表。要求在程序运行时,在 Form1的文本框 Text1中输入口令并按回车键(回车键的 ASCII码为 13)后,隐藏 Form1,显示 Form2。若口令为 “Teacher“,所有菜单都可见;否则看不到 “成绩录入 “菜单项。为此,某人在 Form1窗体文件中编写如下程序: Private Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii 13 Then If Text1.Text “Teacher“Then Form2.input.Visible True Else Form2.input.Visible False En
17、d If End If Form1.Hide Form2.ShowEnd Sub程序运行时发现刚输入口令时就隐藏了 Form1,显示 了Form2,程序需要修改。下面修改方案中正确的是 ( )。 ( A)把 Form1中 Text1文本框及相关程序放到 Form2窗体中 ( B)把 Form1.Hide、 Form2.Show两行移到 2个 End If之间 ( C)把 If KeyAscii 13 Then 改为 If KeyAscii “Teacher“ Then ( D)把 2个 Form2.input.Visible 中的 “Form2.“删去 40 在设窗体上有一个通用对话框控件 C
18、D1,希望在执行下面程序时,打开如图所示的文件对话框: Private Sub Command1_Click() CD1.DialogTitle “打开文件 “ CD1.InitDir “C: “ CD1.Filter “所有文件 |*.*|Word文档 |*.doc|文本文件 |*.txt“ CD1.FileName “ CD1.Action 1 If CD1.FileName “Then Print“未打开文件 “ Else Print“要打开文件 “& CD1.FileName End IfEnd Sub 但实际显示的对话框中列出了 C: 下的所有文件 和文件夹, “文件类型 “一栏中显
19、示的是 “所有文件 “。下面的修改方案中正确的是 ( )。 ( A)把 CD1.Action 1 改为 CD1.Action 2 ( B)把 “CD1.Filter “后面字符串中的 “所有文件 “改为 “文本文件 “ ( C)在语句 CD1.Action 1的前面添加: CD1.FilterIndex 3 ( D)把 CD1.FileName “ 改为 CD1.FileName “文本文件 “ 二、基本操作题 41 (1)在名称为 Form1标题为 “框架 ”的窗体上添加一个名称为: Frame1,且标题为空的框架。框架内含有两个单选按钮,名称分别为 Opt1和 Opt2,其标题分别为“字体
20、 ”、 “大小 ”。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt1 vbp,窗体文件名保存为 sjt1 frm。(2)考生文件央下的工程文件 sjt2 vbp中有一个由直线 Line1、 IJne2和 Line3组成的三角形。直线 Line1、 Line2和 Line3的坐标值如下所示: 名称 X1 Y1 X2 Y2 Line1 600 1200 1600 300 Line2 600 1200 2600 1200 Line3 1600 300 2600 1200 要求添加一条直线。 Line4以构成三角形的高,且该直线的初始状态为不可见。再添加两个命令按钮,名称分别为 Cmd1
21、、Cmd2,标题分别为 “显示高 ”、 “隐藏高 ”,如图所示。请编写适当的事件过程使得在程序运行时,单击 “显示高 ”按钮,则显示三角形的高;单击 “隐藏高 ”按钮,则隐藏三角形的高。 注意:要求程序中不得使用变量,每个事件过程只能写一条语句。不得修改已经存在的控件,最后将修改后的文件按原文件名存盘。 三、简单应用题 42 (1)在考生文件夹下有一个丁程文件 sjt3 vbp,运行情况如图所示。程序的功能是计算如下表达式的值: z (x 2)! (x 3)! (x 4)! (x N)! 其中的 N和x值通过键盘分别输入两个文本框 Text1、 Text2中。单击名称为 Command1、标题
22、为 “计箅 ”的命令按钮,则计算表达式的值,并将计算结果在名称为 Label1的标签中显示。 在窗体文件中已经给出了全部控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容。 要求:程序调试通过后,必须按照如图所示输入 N 5, x 12然后计算 z的值,并将计算结果 显示在标签 Label1中,否则没有成绩。 注意:不能修改程序的其他部分和控什属性。最后把修改后的文件按原文件名存盘。 (2)在考牛文件夹下有一个工程文件 sjt4 vbp。窗体 L有名称为 Timer1的计时器控件和名称为 Label1的标签。该程序的功能是在名称为 Label1的标签中循环显示不同的内
23、容。程序开始运行,在标签中显示 “第一项 ”(如图所示 ),且每隔 1秒钟依次显示 “第二项 ”、 “第三项 ”、 “第四项 ”,如此循环。在给出的窗体文件中已经有了全部控件和程序,但程序不完整,要求去掉程序中的注释符,把程序中的 ?改为 正确的内容。 注意:不能修改程序的其他部分和控件属性。最后将修改后的文件按原文件名存盘。 四、综合应用题 43 在考生文件夹下有一个工程文件 sjt5 vbp,窗体上有三个文本框,其名称分别为 Text1、 Text2和 Text3,其中 Text1、 Text2可多行显示。请添加三个命令按钮,名称分别为 Cmd1、 Cmd2和 Cmd3,标题分别为 “产生
24、数组 ”、 “统计 ”和 “退出 ”,如图所示。程序功能如下: 单击 “产生数组 ”按钮时,随机生成 20个 0 10之间 (不含 0和 10)的数值,并将其保存到一维数组 a中,同时也将这 20个数值在 Text1文本框内显示。 单击 “统计 ”按钮时,统计出数组 a中出现频率最高的数值及其出现的次数,并将出现频率最高的数值在 Text2文本框内显示、出现频率最高的次数在 Text3文本框内显示。 单击 “退出 ”按钮时,结束程序运行。 注意:不得修改窗体文件中已经存在的控件和程序,最后将修改后的文件按原文件名存盘。国家二级( VB)机试模拟试卷 97答案与解析 一、选择题 1 【正确答案】
25、 B 【试题解析】 线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以 B 正确。所以有一个以上根结点的数据结构一定是非线性结构,所以 A错误。循环链表和双向链表都是线性结构的数据结构。 2 【正确答案】 D 【试题解析】 算法是指解题方案的准确而完整的描述,算法不等于程序,也不等于计算方法,所以 A错误。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。 3 【正确答案】 A 【试题解析】 根据二叉树的性质 3:在任意一棵二叉树中,度为 0的叶子结点 总是比度为 2的结点多一个,所以本题中度为 2的结点是 5 1 4个,所以度为 1的结点的个
26、数是 25 5 4 16个。 4 【正确答案】 B 【试题解析】 数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B。 5 【正确答案】 A 【试题解析】 通常,将软件产品从提出、实现、使用维 护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。 6 【正确答案】 D 【试题解析】 继承是面向对象的方法
27、的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。 7 【正确答案】 C 【试题解析】 数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询 及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。 8 【正确答案】 D 【试题解析】 因为一个教师可讲授多门课程,而一门课程又能由多个老师讲授,所以它们之间是多对多的关系,可以表示为 m n。 9 【正确答案】 A 【试题解析】 自然连接是一种
28、特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据 T 中元组可以判断 R和 S做的是自然连接操作。 10 【正确答案】 A 【试题解析】 面 向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择 A。 11 【正确答案】 C 【试题解析】 根据 VB 中变量名的命名规则,变量 x 2中有减号,不合法;变量 12abc是以数字开头,不合法;变量 print是 VB 的保留字,不能作变量名,也不合法。 sum_total 是符合命名规则,是合法的。故选 C。 12 【正确答案】 D 【试题解析】 Print语句表达式中按运
29、算符的优先级从高到低: Mod( (& 顺序计算。计算过程: Sgn(6 15 Mod 6 23 1)& 6 15(Sgn(6 3 5)& 21(Sgn(4)& 21(1& 21(“121“。故选项 D正确。 说明:字符串连接符 & 两边的操作数不管是字符型还是数值型,系统首先要将其转换为字符型,然后进行连接。 13 【正确答案】 C 【试题解析】 VB 工具箱中不是所有的控件都具有宽度和高度属性,比如定时器控件 Timer、直线控件 Line就没有。故 C选项错误。 14 【正确答案】 B 【试题解析】 根据运算符的优先级顺序,先计算算术运算符,结果是 23 And 44 ;再计算关系 运算
30、符,结果为 False And True Or False ; And 优先级高于 Or优先级,先计算 And,再计算 Or,最后结果是 False。故 B 选项正确。 15 【正确答案】 A 【试题解析】 变体型变量能够存储所有系统定义类型的数据。所以变体类型数组中可以存放相同类型或不同类型的数据。故选项 A错误。 16 【正确答案】 D 【试题解析】 根据闰年的条件,第一个条件是并且的关系,要用 And 运算符。整除用 Mod 运算符,取模后为 0,说明能整除,不为 0,说明不能整除。所以第一个条件为 y Mod 4 0 And y Mod 10050, 17, 0),5250结果为 Tr
31、ue,所以 IIF函数返回 17,则 x值为 17,故选 C。 18 【正确答案】 C 【试题解析】 :本题定义了二维数组地第一维的下标 -1to 4,即为 -1, 0, 1, 2,3, 4(共 6行 ),第二维下标 3,即 0to 3(0, 1, 2, 3共 4列 ), 6*4=24二维数组有24个数组元素。故选 C。 19 【正确答案】 D 【试题解析】 题意是在文本框中输入信息,会影响标签上显示的内容,所以触发的是文本框 Text1 的事件,要在文本框 Text1的事件过程中写代码,因此排除 A、B 选项。又因为标签上显示的内容会随着文本框中输入信息变化,因此要在 Text1的 Chan
32、ge事件过程写 代码。故 D选项正确。 20 【正确答案】 A 【试题解析】 Move 方法是窗体的移动方法,其中 200,200是窗体左上角的坐标(X, Y)。坐标系是以屏幕左上角为原点,向右为 X轴正方向,向下为 Y轴正方向。所以本题中窗体左上角移动到距屏幕左边界、上边界各 200的位置。故 A选项正确。 21 【正确答案】 C 【试题解析】 程序运行后,在文本框 Text1中输入字符后,触发它的 Change事件,通过中部截取函数 Mid 把文本框 Text1 中的内容从第 6个字符 B开始截取后面的字符,得到 “Beijing“字符串,然后把截取的字符串在 Text2 中显示出来。故C
33、选项正确。 22 【正确答案】 A 【试题解析】 当水平滚动条的属性值 MinMax时,如果单击滚动条右端或左端的箭头, Value属性值会增加或减少 SmallChange量;如果单击滚动块和右端箭头之间空白的地方时, Value属性值会增加 LargeChange量,反之,减少LargeChange量。 本题单击的是滚动条右端的箭头,故 Vlaue属性值应该是增加一个SmallChange量。故选 A。 23 【正确答案】 D 【 试题解析】 菜单项中不管是主菜单还是子菜单,单击某个菜单项,都会执行它们相应的单击事件过程。故 D选项叙述错误。 24 【正确答案】 B 【试题解析】 通用对话
34、框是一个 ActiveX控件,不是标准控件,故 B 选项错误。 25 【正确答案】 B 【试题解析】 通用对话框的 FilterIndex 属性为 1时表示默认过滤器为第 1个文件类型,为 2时表示为第 2个文件类型。 InitDir属性值指定通用对话框的初始目录。 FileName属性表示对话框中默认的文件名。 ShowSave方法表示打开另存为对话框, 执行保存文件的操作。 26 【正确答案】 B 【试题解析】 窗体的 Load 事件是把窗体装入工作区的事件,即装入内存,然后窗体才显示出来,使用 Hide方法可以使窗体隐藏,但窗体仍在内存中,使用Show方法能使窗体显示出来。当窗体被移动或
35、放大时,或者窗口移动时覆盖了一个窗体时,触发 Paint事件。双击窗体时会触发窗体的 DblClick 事件。 27 【正确答案】 D 【试题解析】 可以通过 Print方法在图片框中输出文件,图片框中的图形可以在程序运行过程中通过载入空文件的方法清除,图片框控件可 以作为父控件,即可以放置其他控件, Stretch 属性用来自动调整图片框中图形内容的大小。 28 【正确答案】 D 【试题解析】 清除列表框中的指定内容要使用 RemoveItem方法,格式为:RemoveItem(索引值 ),只要指定要清除项目的索引值就可以清除指定项目。如果要清除列表框中的全部内容可以使用 Clear方法。
36、29 【正确答案】 A 【试题解析】 Interval 的属性值是以毫秒计,所以是毫秒数。故选 A。 30 【正确答案】 D 【试题解析】 Mod 是求模运算符,即求 余数,程序中 jMod3 的余数可能值为0,1,2,1到 15的整数中, 3、 6、 9、 12、 15这 5个数除 3的余数为 0, 1, 4, 7,10, 13这 5个数除 3余数为 1, 2, 5, 8, 11, 14这 5个数除 3余数为 2。因此 a的值为 1*5+2*5=15,即选择 D正确。 31 【正确答案】 D 【试题解析】 程序应该计算的是 2的 0次方到 2的 10次方的和,程序少计算了 2的 1次方,应该
37、先累加,再执行 a a*2,并且将 For k 2 to 10 改为 For k 1 to 10 ,这样最后一次循环 2的 10次方的值能正确累加,然后 循环结束。因此答案为D。 32 【正确答案】 B 【试题解析】 在标准模块中定义的使用 Public定义的变量是全局变量,全局变量可以在工程的每个模块、每个过程中使用。如果在过程中有与全局变量同名的过程变量则优先使用过程变量。在命令按钮事件中定义了局部变量 x,与全局变量同名,因此在此事件中使用局部变量,而变量 y在此过程中没有定义,则仍使用全局变量。因此输出时 x值为 100, y值为 120。 33 【正确答案】 B 【试题解析】 程序中
38、 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时,第二层循环执行 1次,第三层循环执行 3次, n 3 i 2时,第二层循环执行 2次,第三 层循环
39、执行 3次 2次, n 3 3 2 8 i 3时,第二层循环执行 3次,第三层循环执行 3次 2次 1次, n 8 3 2 1 14 因此答案为 D。 35 【正确答案】 A 【试题解析】 变量 x在按钮单击事件过程中没有定义,因此系统自动将它定义为Variant类型,由于过程中参数类型为 Integer,所以程序运行时会提示 “ByRef 参数类型不符 “错误。 A选项正确。只在按钮事件中加上 Dim x as Integer就可以解决问题,或者 f 过程中的 y as integer改为 ByVal y as integer也可以解决。 36 【正确答案】 D 【试题解析】 KeyUp 事
40、件是在松开按钮时发生。按下 1松开时,文本框中显示1,执行 KeyUp事件过程,在窗体上显示文本框内容,即 1。按下 2松开时,文本框中显示 12,执行 KeyUp事件过程,在窗体上 1后面接着现在显示文本框的内容,即窗体上显示为 112。按下 3松开时,文本框中显示 123,执行 KeyUp事件过程,在窗体上 112后面接着显示文本框的内容,即在窗体上显示为 112123。 37 【正确答案】 A 【试题解析】 程序的作用是输入 的数如果是 5的倍数就累加,如果不是就每次加50或与上次是 5的倍数的那个数相累加。因此最终 a的值是 15 15 35 35100。 38 【正确答案】 A 【试
41、题解析】 数据文件的写操作分为 3步,即打开文件、写入文件和关闭文件。 首先,在顺序文件中打开文件写入数据的打开方式为: Open 文件名 For Output As #文件号。因此 B、 C选项排除,只看 A、 D选项。 写入顺序文件 Print #语句格式为: Print #文件号,变量名,变量名 , Write语句的的格式与 Print语句 一样: Write #文件号,变量名,变量名。而记录类型变量不能整体引用,需要指明记录变量中的成员名,格式为:记录变量名 .成员名, Books 类型变量 B成员 Name和 TelNum赋值和引用应该是 B.Name、B.TelNum,因此 A选项
42、正确。 39 【正确答案】 B 【试题解析】 原程序的执行流程为,当按下一个键后,激活 KeyPress 事件,事件中隐藏 Form1和显示 From2的语句与判断是否按了回车键的语句是顺序的,即不论按了什么键,都会执行隐藏 Form1和显示 From2的语句。这两句应该上移到第二 个 EndIf前面,也就是放在判断是否按了回车键的 If 语句块中。因此 B选项正确。 40 【正确答案】 C 【试题解析】 在通用对话框控件中, Filter 属性指定了在对话框中显示的文件类型,该属性可以设置多个文件类型,每种文件类型由文件描述和文件通配符与扩展名组成,并由 “|“隔开。 FilterIndex
43、 属性用来指定默认的过滤器, Filter属性中设置了多个过滤器后,每个过滤器的对应的值按从左到右顺序是 1、 2 ,FilterIndex 属性默认为 1,即第一个过滤器,因此程序中会显示 C: 下的所有文件。应该 在通话框打开之前 (CD1.Action 1之前 )添加 CD1.FilterIndex 3,即使默认过滤器为第 3个过滤器。 二、基本操作题 41 【正确答案】 步骤 1:建立界面,添加相应的控件并设置控件的属性。程序中涉及的控件及属性见表 3 56。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开 sjt2工程,按照题目要求建立Line控件并设置其属
44、性,如图 3 33所示。步骤 2:按照步骤 1建立其他控件并设置相关属性,程序中涉及的控件及属性见表 3 57。步骤 3:打开代码编辑窗口,在 指定位置编写如下代码。 Private Sub Cmdl Click() Line4 Visible=True将Line4显示 End SubPrivate Sub Cmd2 Click() Lin04 Visible=False将 Line4臆藏 End Sub 步骤 4:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)通过窗体的 Caption 属性设置窗体的标题,通过框架的 Name和Caption 属性设置框架的名称和标题,通过
45、单选按钮的 Name和 Caption 属性设置单选按钮的名称和标题。 (2)通过对直线 Linel、 Line2和 Line3 的坐标值的计算,确定线条的 x1、 x2、 Y1和 Y2属性的值,画出线段 Line4,并将其 Visible属性设置为 False,使得在初始状态下为不可见。再通过命令按钮的 Name 和 Caption 属性设置命令按钮的名称和标题。在 Cmd1_Click 事件过程中将 Line4 的 Visible属性设置 True,则可以显示高,在 Cmd2_Click 事件过程中把 Line4 的 Visible属性设置 False,则可以隐藏高。 三、简单应用题 42
46、 【正确答案】 步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “,将问号改为正确的内容。 Private Function xn(m As Integer)As Long Dim i As Integer Dim tmp As Long tmp=1初始化 tmp为 1 For i=1 To m循环得到 m的阶乘 tmp=tmp*i Next xn=tmp返回结果 End Function Private Sub Commandl Click() Dim n As Integer Dim i As Integer Dim t As Integer Dim Z As
47、 Long, x As Single n=Val(Text1 Text)Val()函数将数字字符转化为数值以方便运算 x=Val(Text2 Text) z=0 For i=2 To n循环计算表达式的值 t=xi z=z+xn(t)保存 t的阶来阶乘累加和 Next Label1 Caption=z Call SaveResult End Sub Private Sub SaveResult() Open App Path “ out3 dat“For OutputAs #1打开文件 Print#1, Label1 Caption将 Label1中的内容写入文件 Close #1 End S
48、ub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开本题 T程文件。 步骤 2:打开代码编 辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 D1m arr Private Sub Form Load() arr=Array(“第一项 “, “第二项 “, “第三项 “, “第四项 “)初始化数组 Labell Caption=arr(0)首先在 Label1中显示第一项 Timer1 Interval=1000设置 Timer1时间间隔为 1秒 Timer1 Enabled=True设置 Timer1在载入窗体时就运行 End Sub Private Su
49、b Timer1 Timer() temp As Integer设王静态属性,记录下标 Label1 Caption=arr(i) If i=3 Then i=0当 Label1循环显示一遍,剐使之重新循环 E1se i=i+1 End If End Sub 步骤 3:调试并运行程序。关闭程序后按题目要求存盘。 【试题解析】 (1)通过循环语句实现 xn()函数的乘幂运算;在命令按钮的单击事件过程中通过 Val()函 数实现字符类型向数值型的转换,通过循环语句及调用 xn()函数,获得甬数返回值,实现表达式的结果运算;最后运用 Call 语句调用SaveResult()函数,并将结果保存在文件夹下的 out4 dat文件中。 (2)数组 arr含有 “第一项 ”、 “第二项 ”、 “第三项 ”和 “第四项 ”4个值,将 Timer1的 Interva1属性设