1、国家二级( VB)机试模拟试卷 13及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 2 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 3 某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是 ( )。 ( A) 10 ( B) 8 ( C) 6 ( D) 4 4 下列排序方法中,最坏情况下比较次数最少的是 ( )。 ( A)冒泡排序 ( B)简单选择排序 (
2、C)直接插入排序 ( D)堆排序 5 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 6 下面叙述中错误的是 ( )。 ( A)软件测试的目的是发现错误并改正错误 ( B)对被调试的程序进行 “错误定位 ”是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D)软件测试应严格执行测试计划,排除测试的随意性 7 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( )。 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦合性提
3、高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块间互相连接的紧密程度 8 数据库应用系统中的核心问题是 ( )。 ( A)数据库设计 ( B)数据库系统没计 ( C)数据库维护 ( D)数据库管理员培训 9 有两个关系 R、 S如下: 由关系 R通过运算得到关系 s,则所使用的运算为 ( )。 ( A)选择 ( B)投影 ( C)插入 ( D)连接 10 将 E-R图转换为关系模式时,实体和联系都可以表示为 ( )。 ( A)属性 ( B)键 ( C)关系 ( D)域 11 下列叙述中正确的是 ( )。 ( A) MsgBox语
4、句的返回值是一个整数 ( B)执行 MsgBox 语句并出现信息框后,不用关闭信息框即可执行其他操作 ( C) MsgBox语句的第一个参数不能省略 ( D)如果省略 MsgBox 语句的第三个参数 (Title),则信息框的标题为空 12 语句 Dim a(-3 To 4, 3 To 6)As Integer。定义的数组的元素个数是 ( )。 ( A) 18 ( B) 28 ( C) 21 ( D) 32 13 以下关于函数过程的叙述中,正确的是 ( )。 ( A)函数过程形参的类型与函数返回值的类型没有关系 ( B)在函数过程中,过程的返回值可以有多个 ( C)当数组作为函数过程的参数时,
5、既能以传值方式传递,也能以传址方式传递 ( D)如果不指明函数过程参数的类型,则该参数没有数据类型 14 以下关于过程及过程参数的描述中,错误的是 ( )。 ( A)过程的参数可以是控件名称 ( B)调用过程时使用的实参的个数应与过程形参的个数相同 (假定不含可变参数 ) ( C)只有函数过程能够将过程中处理的信息返回到调用程序中 ( D)窗体可以作为过程的参数 15 以下变量名 q1合法的是 ( )。 ( A) x2 1 ( B) print ( C) str n ( D) 2x 16 把数学表达式 表示为正确的 VB表达式应该是 ( )。 ( A) (5x+3) (2y 6) ( B) x
6、*5+3 2*Y 6 ( C) (5*x+3)(2*Y 6) ( D) (x*5+3) (y*2 6) 17 下面有关标准模块的叙述中,错误的是 ( )。 ( A)标准模块不完全由代码组成,还可以有窗体 ( B)标准模块中的 Private过程不能被工程中的其他模块调用 ( C)标准模块的文件扩展名为 bas ( D)标准模块中的全局变量可以被工程中的任何模块引用 18 可以产生 30 50(含 30和 50)之间的随机整数的表达式是 ( )。 ( A) Int(Rnd*21+30) ( B) Int(Rnd*20+30) ( C) Int(Rnd*50一 Rnd*30) ( D) Int(R
7、nd*30+50) 19 在程序运行时,下面的叙述中正确的是 ( )。 ( A)用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form Load事件过程 ( B)用鼠标左键单击窗体的标题栏,会执行窗体的 Form Click事件过程 ( C)只装入而不显示窗体,也会执行窗体的 Form Load事件过程 ( D)装入窗体后,每次湿示该窗体时,都会执行窗体的 Form Click事件过程 20 下列有关文件的叙述中,正确的是 ( )。 ( A)以 Output方式打开一个不存在的文件时,系统将显示出错信息 ( B)以 Append方式打开的文件,既可以进行读操作,也可以进行写操作 ( C)在随
8、机文件中,每个记录的长度是固定的 ( D)无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的 21 若看到程序中有以下事件过程,则可以肯定的是,当程序运行时 ( )。 Private Sub CliekMouseDown(Button As Integer, Shift As Integer, X As Single,Y As Single) Print“VB Program” End Sub ( A)用鼠标左键单击名称为 “Commandl”的命令按钮时,执行此过程 ( B)用鼠标左键单击名称为 “MouseDown”的命令按钮时,执行此过程 ( C)用鼠标右键单击名称为 “M
9、ouseDown”的控件时,执行此过程 ( D)用鼠标左键或右键单击名称为 “Click”的控件时,执行此过程 22 窗体上有名称为 Commandl的命令按钮和名称为 Textl的文本框 Private Sub CommandlClick() Textl Text=“程序设计 ” Text 1 SetFocus End Sub Pri vate Sub Text lGotFoeus() Textl Text “等级考试 ” End Sub 运行以上程序,单击命令按钮后 ( )。 ( A)文本框中显示的是 “程序设计 ”,且焦点在文本框中 ( B)文本框中显示的是 “等级考试 ”,且焦点在文本
10、框中 ( C)文本框中显示的是 “程序设计 ”,且焦点在命令按钮上 ( D)文本框中显示的是 “等 级考试 ”,且焦点在命令按钮上 23 设窗体上有名称为 Optionl的单选按钮,且程序中有语句: If Optionl Value=True Then 下面语句中与该语句不等价的是 ( )。 ( A) IfOptionl Value Then ( B) If Optionl=True Then ( C) If Value=True Then ( D) If Optionl Then 24 设窗体上有 1个水平滚动条,已经通过属性窗口把它的 Max属性设置为 l, Min属性设置为 100。下面
11、叙述 中正确的是 ( )。 ( A)程序运行时,若使滚动块向左移动,滚动条的 Value属性值就增加 ( B)程序运行时,若使滚动块向左移动,滚动条的 Value属性值就减少 ( C)由于滚动条的 Max属性值小于 Min属性值,程序会出错 ( D)由于滚动条的 Max属性值小于 Min属性值,程序运行时滚动条的长度会缩为一点,滚动块无法移动 25 下列关于通用对话框 CommonDialogl的叙述中,错误的是 ( )。 ( A)只要在 “打开 ”对话框中选择了文件,并单击 “打开 ”按钮,就可以将选中的文件打开 ( B)使用 CommonDialogl ShowColor方法,可以显示 “
12、颜色 ”对话框 ( C) CancelError。属性用于控制用户单击 “取消 ”按钮关闭对话框时,是否显示出错警告 ( D)在显示 “字体 ”对话框前,必须先设置 CommonDialogl的 Flags属性,否则会出错 26 在利用菜单编辑器设计菜单时,为了把组合键 “Alt+x”设置为 “退出 (x)”菜单项的访问键,可以将该菜单项的标题设置为 ( )。 ( A)退出 (x&) ( B)退出 (&X) ( C)退出 (x ) ( D)退出 ( X) 27 下面哪个属性肯定不是框架控件的属性 ( )。 ( A) Text ( B) Caption ( C) Lefl ( D) Enable
13、d 28 窗体上有一个名称为 Optionl的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程: Private SubOption l_Click(Index As Integer) End Sub 下面关于此过程的参数 Index的叙述中,正确的是 ( )。 ( A) Index为 l表示单选按钮被选中,为 0表示未选中 ( B) Index的值可正可负 ( C) Index的值用来区分哪个单选按钮被选中 ( D) Index表示数组中单选按钮的数量 29 设窗体中有一个文本框 Textl,若在程序中执行了 Textl SetFocus,则触发( )。 ( A) Tex
14、tl的 SetFOCLIS事件 ( B) Textl的 GotFocus事件 ( C) Textl的 LostFocus事件 ( D)窗体的 GotFocus 事件 30 窗体上有两个水平滚动条 HV、 HT,还有一个文本框 Textl和一个标题为 “计算 ”的命令按钮 Commandl,并编写了以下程序: Private Sub commandl Click() Call cale(HV Value, HT Value)End Sub Public Sub calc(x As Integer, Y As Integer) Textl Text=X*Y End Sub 运行程序,单击 “计算
15、”按钮,可根据速度与时间计算出距离,并显示计算结果。 对以上程序,下列叙述中正确的是 ( )。 ( A)过程调用语句不对,应为 calc(HV, HT) ( B)过程定义语句的形式参数不对,应为 Sub calc(x As Control, y As Contr01) ( C)计算结果在文本框中显示出来 ( D)程序不能正确运行 31 现有如下程序: Private Sub Commandl Click() S=0 For i=l To 5 S=S+f(5+i) Next Print S End Sub Public Function f(X As Integer) If X=10 Then
16、t=x+l Else t=x+2 End If f=t End Function 运行程序,则窗体上显示的是 ( )。 ( A) 38 ( B) 49 ( C) 61 ( D) 70 32 窗体上有一个名称为 Picturel的图片框控件,一个名称为 Label1 的标签控件,如图所示。 现有如下程序: Public Sub display(x As Contr01) If Typeof X Is Label Then X Caption=“计算机等级考试 ” Else xPicture=LoadPicture(“pic jPg”) End If End Sub Private Sub Lab
17、el1 Click() Call display(Label 1)End SubPrivate Sub Picturel Click() Call display(Picture 1) End Sub 对以上程序,下列叙述中错误的是 ( )。 ( A)程序运行时会出错 ( B)单击图片框,在图片框中显示一幅图片 ( C) 过程中的 X是控件变量 ( D)单击标签,在标签中显示一串文字 33 窗体不有两个名称分别为 Textl、 Text2的文本框。 Textl的 KeyUp事件过程如下: Private Sub Textl_KeyUp(KeyCode As Integer, Shift As
18、Integer) Dim C As String C=UCase(Chr(KeyCode) Text2 Text=Chr(Asc(C+2) End Sub 当向文本框 Textl中输入小写字母 a时,文 本框 Text2中显示的是 ( )。 ( A) A ( B) a ( C) C ( D) C 34 设窗体上有一个文本框 Textl和一个命令按钮 Commandl,并有以下事件过程: Private Sub Command l Click() Dim S As String, ch As String S=“” For k=1 To Len(Textl) ch=Mid(Textl, k, 1
19、) S=ch+s Next k Textl Text=s End Sub 程序执行时,在文本框中输入 “Basic”,然后单击命令按钮,则 Textl中显示的是( )。 ( A) Basic ( B) cisaB ( C) BASIC ( D) CISAB 35 某人编写了如下程序,用来求 10个整数 (整数从键盘输入 )中的最大值: Private Sub Commandl Click() Dim a(10)As Integer, max As Integer For k=l To 10 a(k)=InputBox(“输入一个整数 ”) Next k max=0 For k=l To 10
20、If a(k)max Then max=a(k) End If Next k Print max End Sub 运行程序时发现,当输入 10个正数时, 可以得到正确结果,但输入 10个负数时结果是错误的,程序需要修改下面。的修改中可以得到正确运行结果的是 ( )。 ( A)把 If a(k)max Then改为 If a(k),样式 ,标题 ),注意 MsgBox函数带括号,有返回值。 MsgBox语句格式: MsgBox(,样式 ,标题 ),有无括号都可以,无返回值。 故 A选项错误。其中:第 1个参数:提示内容是必需的,不能省略。故 C选项正确。第 2个参数:可选。整型表达式,缺省值 O
21、,指定信息框中按钮数目、类型、图标类型、缺少按钮等。第 3个参数:可选, 如果省略,则标题栏并不为空默认显示它所属的工程名。故 D选项错误。执行 MsgBox语句时出现信息框后,必须关闭信息框才可执行其他操作。故 B选项错误。 12 【正确答案】 D 【试题解析】 本题定义的是一个整型的二维数组, 3To 4指的是 3、 2、l、 0、 l、 2、 3、 4(共 8行 ), 3 To 6指的是 3、 4、 5、 6(共 4列 ),因此数组元素个数是 84=32,故选 D。 13 【正确答案】 A 【试题解析】 定义函数过程的格式: Function 函数过程名 (形参表 )As函数返回值的数据
22、类型 函数过程名 =表达式 End Function 说明: 形参的类型可以是任何数据类型,函数返回值的类型是调用函数后返回的数据类型,他们没有关系,互不影响。故选项 A正确。 选项 B错误的原因是:函数过程中可以有多个 “函数过程名 =表达式 ”这样的语句,但是最终函数只能有一个返回值。如果省略这条语句,函数过程则返回一个默认值,数值函数过程返回 0,字符串函数过程返回空字符串。 选项 C错误的原因是:数组作为函数过程的参数时,这时数组名看作是一个符号地址,实参和形参之间传递的是 地址,所以以传址式传递。 选项 D错误的原因是:形参如果没指明数据类型,默认为 Variant类型。 14 【正
23、确答案】 C 【试题解析】 过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故选项 A、 D 正确。调用过程时使用的实参的个数、类型、顺序应与过程中形参相同。故选项 B 正确。在过调用时,不只是函数过程能把过程中处理的信息传回到调用程序中, Sub过程也可以。 Sub过程中形参声明时前面有关键字 ByRef 或省略 ByRef(默认 )时,实参和形参之间传递的是地址, Sub过程中形参的变化也会引起实参的变化,这样 Sub过程中处理的信息也可以传回调用程序中。故选项 C说法错误。 15 【正确答案
24、】 C 【试题解析】 VB 中变量名的命名规则: 必须以字母或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB的保留字。本题中 x2 1 中有 (减号 ),不是下划线。 print是 VB 的保留字,也不能作变量名。 2x以数字开头,也是错误的。故 C选项正确。 16 【正确答案】 D 【试题解析】 VB 数 学表达式中的乘用 *表示,除用表示,表示一个整体的可加括号 ()。故 D选项正确。 17 【正确答案】 A 【试题解析】 标准模块中只包含其他窗体模块中公用的一变量、过程等代码,不包括窗体。故选项 A错误。标准模块中用 Privat声明的过程属于私有过程,只能被它所在的模块中的其
25、他过程调用,不能被工程中其他模块调用,用 Public声明的全局变量属于公用变量,可以被工程中的任何模块引用。标准模块的文件扩展名是 bas。 18 【正确答案】 A 【试题解析】 因为 Rnd 函数产生的随机数范围是大于等于 0 而小于 1。要产生30-50(含 30和 50)之间的随机整数,可先产生 0-(5030),即 0 20 之间的随机整数,然后在这个基础上再加上 30。 Rnd*20 生成 O 20之间的随机数中不包括20,所以要用 Int(Rnd*21)可产生 0 20之间的随机整数,然后加上 30综合起来就是 Int(Rnd*2l+30),故 A选项正确。 19 【正确答案】
26、C 【试题解析】 如果窗体是活动的,那么和窗体上按下鼠标右键 (尚木松手抬起 ),即会触发 Forrn MouseDown 事件,松手抬起后,要先触发 Form MouseUp 事件,然后再触发 Form Click事件。如果窗体原先是非活动的,还会触发 FormGotFOCUS 事件,并且它最先发生。 Form Load 事件是窗体显示之前,加载时触发,单击窗体时不触发触发。故 A选项错误。刚鼠标左键单击窗体标题栏时,不会执行 Form click 事件过程。故 B 选项错误。装入窗体后,每次显示该窗体时或窗体成为活动窗体时,都会执 From Actjve窗体的激活事件。故 D选项错误。 2
27、0 【正确答案】 C 【试题解析】 A选项错误原因:当以 output方式打开一个不存在的顺序 文件时, Open 语句会首先创建该文件,然后再打开它,系统不会出错。 B 选项错误原因:以 Append方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进行读操作。 D选项错误原因: VB 中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。 C选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故 C选项正确。 21 【正确答案】 D 【试题解析】 本题中, Click是控件的名称, MouseDown
28、是鼠标按下事件,当用鼠标 左键或右键单击 Click 控件时就会触发 MouseDown 事件,执行 MouseDown事件过程。故选 D。 22 【正确答案】 B 【试题解析】 运行程序,单击命令按钮后,执行 Com-mandL Click 事件过程代码,文本框 Textl 中显示 “程序设计 ”,并且文本框 Textl 获得焦点,此时焦点在Textl 中;当 Textl 获得焦点就会触发它的 Got Focus事件,执行 Got Focus事件过程,结果文本框 Textl中显示 “等级考试 ”。故 B选项正确。 23 【正确答案】 C 【试题解析】 A选 项中 Optionl Value可
29、作为一个条件表达式,它返回的是单选按钮 Valu 属性的属性值,根据属性值就可以判断出单选按钮是否被选中; B选项中 Optionl 等价于 Optionl Value; D选项与 A选项等价,故 A、 B、 D选项均与程序中语句等价; C选项中 Value是属性名,前面必须加控件名才能用,不能单独使用,故 C选项错误。 24 【正确答案】 A 【试题解析】 水平滚动条的 Max和 Min 属性值可以是 0 32767中任意值。当MaxMin 属性值时,滚动块向右移动 Value属性值增加,向左移动 Value属性值减少;反之,当 MaxMin 属性值时,滚动块向右移动 Value属性值减少,
30、向左增加;当它们 Max=Min 时,滚动块不能移动。故 A选项正确。 25 【正确答案】 A 【试题解析】 “打开 ”对话框主要用来获取用户指定的文件信息并供程序使刚,对话框本身并不提供打开文件功能,这些功能需另外编写代码才能实现,所以在 “打开 ”对话框中可选中某文件,但不能打开。故 A选项错误。 26 【正确答案】 B 【试题解析】 要使菜单项的快捷键设置为 All+字母,就要在菜单项的标题中设置为 &+字母。本 题把 “AII+x”设置为 “退出 (x)”菜单项,则菜单项的标题设置为 “退出( X)”。故选 B。 27 【正确答案】 A 【试题解析】 框架没有 Text属性。故选 A。
31、 28 【正确答案】 C 【试题解析】 Index参数值返回的是单选按钮数组中各单选按钮的索引值,用它来区分各单选按钮。故 A、 D选项错误, C选项正确; Index的值只能是非负数,故 B 选项错误。 29 【正确答案】 B 【试题解析】 setFOCHS 是控件获得焦点的办法, CajtFOCUS 是控件获得焦点后触发的事件, LostFOCUS是控件失去焦点后触发的事件。本题中程序执行Textl SetFOCHS 后, Textl 就获得焦点,进而触发 Textl 的 GotFocus 事件。故 B选项正确。 30 【正确答案】 C 【试题解析】 访问滚动条控件的值,可以直接使用控件的
32、名称,也可以在名称后面指明 Value属性。滚动条位置是用数值来表示的,因此定义 Cale过程时参数应该定义为 Inte-ger类型。程序中 Textl Text=x*Yi语句说明计算的结果在文本框中显示出来。 31 【正确答案】 B 【试题解析】 程序 中过程的功能是参数值大于等于 10时,返回参数加 1的值,否则返回参数加 2的值。因此按钮事件中 s值的计算过程如下: i 1时, s=0+f(5+1)=8; i=2时, s=8+f(5+2)=8+9=l7; i=3时, s=17+f(5+3)=17+10=27; i=4时, s=27+f(5+4)=27+11=38; i=5时, s=38+
33、f(5+5)=38+11=49; 因此最终在窗体上输出的是 49。 32 【正确答案】 A 【试题解析】 程序中定义了个过程 display(x asCon-tro|),它的参数 x是一个控件变量。当单击 Pieturel 控件或 La-belI 控件时,都会调用 display 过程,而传入的参数分别是这两个参数的控件名,在 display过程中程序判断参数传入控件的类型,如果是标签控件,就在它的标题上显示 “计算机等级考试 ”,否则就认为是图片控件,就在图片框中加载一个图片显示出来。程序运行正常,因此 A选项错。 33 【正确答案】 C 【试题解析】 KeyDown 和 KeyUp事件的
34、keyCode参数返回的是 “键 ”,即按字母“A”和 “a”时得到 的 KeyCode的值是相同的,都是 &H41。 因此程序中对输入 “a”时得到的 Key-Code,经 Chr函数转为字符后为 “A”,经 Ucase函数转换仍为“A”。所以变量 C中的字符为 “A”, Asc(e)将返回变量 C中的第一个字符的ASCII,加 2后,再由 Chr函数转为字符即为 “A”后而的第 2个字符,即 “C”,所以答案成为选项 C。 34 【正确答案】 B 【试题解析】 Len 函数返回字符串的长度, Mid 函数为字符串中部截取函数格式为: Mid(字符串,起始位置,长度 )。程序中, For循环
35、的终值是 Textl中输入的字符串的长度,即 “Basic”的长度,为 5。循环体中 Mid函数从笫一个字符开始依次取出一个字符,然后与上次取出的字符连接,本次取出的字符在前,上次取出的字符在后。最终变量 s 中应该是 “cisaB” 35 【正确答案】 D 【试题解析】 程序中把变量 max的初始值设置为 0,没有考虑到负数的情况。应该把它的初始值设置为数组中的一个元素的值,然后让数组中的各个元素与这个值比较,如果比它大,就替换变量 max的值,这样才能得到数组中的最大值。因此要修改 max=0这一行。 36 【正确答案】 B 【试题解析】 程序变量 Sum的值在开始始计算第 2个学生的总战
36、绩时,仍保留着第一个学生的总成绩,这样会把前面学生的总成绩计算进去,显然不对。因此, sum=0一句应该放在第一层 For循环体的第一句,即 Fori 1 to 4和 forj=1 to3之间。 37 【正确答案】 B 【试题解析】 程序中 Option Base 0表示指定数组的下标默认下界为 0。 ReDim语句用来重新定义动态数组,按定义的上下界重新分配存储单元。在一个程序中,可以多次用 Re-Dim语句定义同一个数组,随时修改数组中元素 的个数。程序中先执行 ReDim a(10),然后执行了 ReDim a(5),因此数组 a的下界为 0,上界为5,共有 6个元索。 38 【正确答案
37、】 B 【试题解析】 这是一个双层循环,外层循环是 4次,内层循环变量初值 =6,终值1,步长 -2,则 j可取的值为 6、 4、 2,因此内层 For循环会循环 3次,两层循环的总数是 4*3=12次, Counter 的值即为 12。 sur函数将数值转换成字符串,即“12”,所以标签中显示的内容为 “12”。 39 【正确答案】 A 【试题解析】 从程序中可知,数组 M元素 M(1)-M(10)的值为 11、 10、 9、 8、7、 6、 5、 4、 3、 2。则 M(8)的值为 4, M(2+M(8)即 M(2+4),即 M(6)、 M(6)的值为 6。因此窗体上显示为 6。 40 【
38、正确答案】 A 【试题解析】 虽然在过程 proc 中参数 a默认为按地址传递,参数 b 指定了ByVal(按值 )方式传递,但过程中并没有对 a, b 的值改变,只对变量 x和 IY进行了赋值,而 x是在窗体模块中起作用的模块变量,面变量 Y在 proc过程中没有声明,要整个模块中也没有声明,说叫它是一个局部变量,只在本过程中起用。因此,在 proc过程中 x=a*a=5*5=25,会使按钮单击事件中的变量 x变为 25,而按钮单击事件过程中的变量 Y不受影响,仍是原来的值 3。因此两个标上会分别显示 25和 3。 二、基本操作题 41 【正确答案】 (1)VB中的菜单是通过菜单编辑器来设计
39、的。菜单编辑器中的基本设置项包括: “标题 ”项,对应出现在菜单中的显示内容; “名称 ”项,系统识别菜单项的唯一关键字 (不能重复 ); Enabled(有效 )属性项:用于设置控件或菜单项在程序运行时是否有效,值为 True表示有效,值为 False表示无效 (显示为灰色 )。通过编辑按 钮区的 7个按钮可对菜单进行添加、插入、删除、提升 (设置为上一级菜单 )、缩进 (设置为下一级菜单 )、上移和下移等操作。 步骤 1:建立界面,并改置控件的属性。程序中菜单属性设置见表 1。步骤 2:调试并运行程序,关闭程序后按题目要求存盘。 (2)文本框通常用于接收用户输入的字符串数据或用于显示输出信
40、息,其 Text属性用于设置文本框中显示的文本,当文本框中的文本内容改变时触发其 Change事件。 Font属性用于设置控件标题中文本的字体、字号和字形等。 步骤 1:建立界面,并设置控什的属性。程序中用到的控件及属性见表 2。步骤 2:编写程序代码。 Private Sub Text 1 Change() Texl2 Text=Textl Text End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 三、简单应用题 42 【正确答案】 (1)本题要产生随机整数,须使用 Rnd函数和 Int函数。 Lnl函数是将参数转换成整数。 Rnd函数返回小于 1,但大干或等于 0的值
41、,为了生成某个范围内的随机整数,可使用以下公式: Int(upperbound lowerbound1)*Rnd+Iowcrbmmd)这里, upperbound是随机数范围的上限, lowerbound则是随机数范围的下限。 少骤 l:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Private Sub Commandl Click() Dim arrN(20)As Integer Dim Sum As Integer Randomize For i=l To 20 arrN(i)=Int(Rnd$?) Next i Sum=? For i=1
42、 To 20 lf ? Then Sum=? End If Next i Print Sum End Sub 程序结束 第 1个 ?处填入: 1000 第 2个 ?处填入: 0 第 3个 ?处填入: arrN(i)500 第 4个 ?处填入: Sum+arrN(i) 步骤 3:调试许运行程序,关闭程序后按题目要求存盘。 (2)根据题意,通过 For循环语句的循环变量 i(初值为 0,终值为 100,步长为 2)来获得 0 100范围内的所有偶数,并逐一将 i2的值累加到变量 s最后将 S的值显示在文 本框中,并将其作为函数返回值。 少骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。
43、程序提供代码 Sub SaveData() Open App Path ” ” ”outtxt txt”For Output As 1 Prinl#1 Textl Texl Close 1 End Sub Function Fun() End Funclion Private Sub Cornnlandl Click( ) d=Fun() Textl Text d SaveeData End Sub 程序结束 Function Fun() Dim s As Long, i As Integer s=0 For i=0 To 100 lf i Mod 2=0 Then s s+i 2 End I
44、f Next i Fun=S End Function 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 四、综合应用题 43 【正确答案】 Tab函数常与 Print#语句或: Print方法一起使用,对输出进行定位, 其语法为: Tab(n)其中,可选的参数 n表示在显示或打印下一个表达式之前移动的列数。在使用数组时,应先定义。 Input#语句用于读取顺序文件中一项 (或多项 )数据给一个变量 (或多个变量 ),其语法格式为: Input FileNumber Vatlist,其中: FileNumbel。参数表示打开文件的句柄, Varlist为变量列表。语句 ”Option Ba
45、se 1”用于限定数组下标的下限默认为 l。本题中文件以 lnput办式打开,使用一个 5行、 5列的二维数组 Mat来存放数据,并使用一个嵌套的 For循环显示矩阵,对于 5*5的矩阵来说,位于左上到右下对角线上的元素具有行号等于列号的特点。 步骤 l:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Pption Base 1 Private Sub Form Click() Const N=5 Const M=5 Dim? Dim i, j Open App Path&“ ”&“datain txt”?As#l Fori=1 To N Forj 1 To M ? Next
46、 i Next i Close l Print Print“初始矩阵为: ” Print For i=l To N For j=1 To M PrintTab(5*j); Mat(i, j); Next j Print Next i Print Print“左上 -右下对角线上的数为: ” For i=1 To N For j=l To M “If? Then Print Tab(5*j); Mat(i, j); Next j Next i End Sub 程序结束 第 1个 ?处填入: Mat(N, M)As Integer。或 Mat(5, 5)As Integer 第 2个 ?处填入: For Input 第 3个 ?处填入: Input#1, Mat(i, j) 第 4个 ?处填入: i: j 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。