1、国家二级( VB)机试模拟试卷 96及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)一个算法的空间复杂度大,则其时间复杂度也必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)算法的时间复杂度与空间复杂度没有直接关系 2 下列叙述中正确的是 ( A)循环队列中的元素个数随队头指针与队尾指针的变化而动态变化 ( B)循环队列中的元素个数随队头指针的变化而动态变化 ( C)循环队列中的元素个数随队尾指针的变化而动态变化 ( D)以上说法都不对 3 一棵二叉树中共有 80个叶子结点与 70个度为 1的结点,则该二叉树中
2、的总结点数为 ( A) 219 ( B) 229 ( C) 230 ( D) 231 4 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 ( A) 9 ( B) 10 ( C) 45 ( D) 90 5 构成计算机软件的是 ( A)源代码 ( B)程序和数据 ( C)程序和文档 ( D)程序、数据及相关文档 6 软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是 ( A)测试 ( B)设计 ( C)可行性研究 ( D)实现 7 下面不能作为结构化方法软件需求分析工具的是 ( A)系统结构图 ( B)数据字典 (DD) ( C)数据流程图 (DFD图 )
3、( D)判定表 8 在关系模型中,每一个二维表称为一个 ( A)关系 ( B)属性 ( C)元组 ( D)主码(键) 9 若实体 A和 B是一对多的联系,实体 B和 C是一对一的联系,则实体 A和 C的联系是 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 有三个关系 R、 S和 T如下:则由关系 R和 S得到关系 T的操作是 ( A)选择 ( B)投影 ( C)交 ( D)并 11 以下合法的 VB变量名是 ( )。 ( A) _x ( B) 2y ( C) a#b ( D) x_1_x 12 以下关于 VB特点的叙述中,错误的是 ( )。 ( A) VB中一个对象可有
4、多个事件过程 ( B) VB应用程序能以编译方式运行 ( C) VB应用程序从 Form_Load事件过程开始执行 ( D)在 VB应用程序中往往通过引发某个事件导致对对象的操作 13 Print Format(1234.56, “#.#“)语句的输出结果是 ( )。 ( A) 123.4 ( B) 1234.6 ( C) 1234.5 ( D) 1234.56 14 Print Right(“VB Programming“, 2)语句的输出结果是 ( )。 ( A) VB ( B) Programming ( C) ng ( D) 2 15 假定已在窗体上画了多个控件,其中有一个被选中,为了
5、在属性窗口中设置窗体的属性,预先应执行的操作是 ( )。 ( A)单击窗体上没有控件的地方 ( B)单击任意一个控件 ( C)双击任意一个控件 ( D)单击属性窗口的标题栏 16 下列操 作中不能向工程添加窗体的是 ( )。 ( A)执行 “工程 “菜单中的 “添加窗体 “命令 ( B)单击工具栏上的 “添加窗体 “按钮 ( C)右击窗体,在弹出的菜单中选择 “添加窗体 “命令 ( D)右击工程资源管理器,在弹出的菜单中选择 “添加 “命令,然后在下一级菜单中选择 “添加窗体 “命令 17 下列关于顺序文件的描述中,正确的是 ( )。 ( A)文件的组织与数据写入的顺序无关 ( B)主要的优点
6、是占空间少,且容易实现记录的增减操作 ( C)每条记录的长度是固定的 ( D)不能像随机文件一样灵活地存取数据 18 下列操作说明中,错误的是 ( )。 ( A)在具有焦点的对象上进行一次按下字母键操作,会引发 KeyPress事件 ( B)可以通过 MousePointer属性设置鼠标光标的形状 ( C)不可以在属性窗口设置 MousePointer属性 ( D)可以在程序代码中设置 MousePointer属性 19 以下关于变量作用域的叙述中错误的是 ( )。 ( A)在窗体模块的声明部分声明的 Private变量,其作用域是窗体内的所有过程 ( B)在标准模块的声明部分声明的 Priv
7、ate变量,其作用域是模块内的所有过 程 ( C)在窗体模块的声明部分声明的 Pubilc变量,其作用域是本窗体的所有过程 ( D)在标准模块的声明部分声明的 Pubilc变量,其作用域是应用程序的所有过程 20 下面关于文件叙述中错误的是 ( )。 ( A) VB数据文件需要先打开,再进行处理 ( B)随机文件每个记录的长度是固定的 ( C)不论是顺序文件还是随机文件,都是数据文件 ( D)顺序文件的记录是顺序存放的,可以按记录号直接访问某个记录 21 要使图像框 (Image)中的图像能随着图像框的大小伸缩,应该设置的属性及值是( )。 ( A) AutoSize值为 True ( B)
8、AutoRedraw值为 True ( C) Stretch值为 True ( D) BorderStyle值为 0 22 如果要在窗体上画一个标签,应在工具箱窗口中选择的图标是 ( )。 ( A) ( B) ( C) ( D) 23 列表框中被选中的数据项的位置可以通过一个属性获得,这个属性是 ( )。 ( A) List ( B) ListIndex ( C) Text ( D) ListCount 24 了使一个复选框被禁用 (灰色显示 ),应把它的 Value属性设置为 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) False 25 下列关于利用通用对话框产生的文件对话
9、框的相关属性的描述中,错误的是( )。 ( A) InitDir属性用于设置对话框中显示的起始目录 ( B) Filter属性用于设置对话框默认的过滤器 ( C) DefaultExt属性用于设置对话框中默认的文件类型 ( D) FileTitle属性用于存放对话框中所选择的文件名 26 下列事件的事件过程中,参数是输入字符 ASCII码的是 ( )。 ( A) KeyDown事件 ( B) KeyUp事件 ( C) KeyPress事件 ( D) Change事件 27 以下关于单选按钮和复选框的叙述中,正确的是 ( )。 ( A)单选按钮和复选框都能从多个选项中选择一项 ( B)单选按钮和
10、复选框被选中时,选中控件的 Value属性值为 True ( C)是否使用框架控件将单选按钮分组,对选项没有影响 ( D)是否使用框架控件将复选框分组,对选项没有影响 28 窗体的 MouseUp事件过程如下: Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub 关于以上定义,以下叙述中错误的是 ( )。 ( A)根据 Shift参数,能够确定使用转换键的情况 ( B)根据 X、 Y参数可以确定触发此事件时鼠标的位置 ( C) Button 参数的值是在
11、MouseUp事件发生时,系统自动产生的 ( D) MouseUp是鼠标向上移动时触发的事件 29 设窗体上有一个水平滚动条 HScroll1和一个命令按钮 Command1,及下面的事件过程: Private Sub Form_Load() HScroll1.Min 0 HScroll1.Max 100 End Sub Private Sub Command1_Click() HScroll1.Value 70 End Sub 程序运行时单击命令按钮,则滚动条上滚动块位置的图示是 ( )。 ( A) ( B) ( C) ( D) 30 窗体上有一个名称为 Text1的文本框,一个名称为 Co
12、mmand1的命令按钮。以下程序的功能是从顺序文件中读取数据: Private Sub Command1_Click() Dim s1 As String, s2 As String Open “c: d4.dat“ For Append As #3 Line Input #3, s1 Line Input #3, s2 Text1.Text s1 s2 Close End Sub 该程序运行时有错误,应该进行的修改是 ( )。 ( A)将 Open语句中的 For Append改为 For Input ( B)将 Line Input改为 Line ( C)将两条 Line Input语句合
13、并为 Line Input #3, s1, s2 ( D)将 Close语句改为 Close #3 31 有如下程序: Private Sub Form_Click() Dim i As Integer, n As Integer For i 1 To 20 i i 4 n n i If i10 Then Exit For Next Print n End Sub 程序运行后,单击窗体,则输出结果是 ( )。 ( A) 14 ( B) 15 ( C) 29 ( D) 30 32 窗体上 有 1个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1_Cli
14、ck() Dim num As Integer, x As Integer num Val(InputBox(“请输入一个正整数 “) Select Case num Case Is100 x x num Case Is1 ( D) i 10 Do i i 2 Loop Until i 1 35 现有程序如下: Option Base 1 Private Sub Form_Click() Dim x(5, 6)As Integer, y(5)As Integer For i 1 To 5 For j 1 To 6 x(i, j) Int(Rnd * 9 1) Next j Next i Cal
15、l f(5, 6, x, y) For i 1 To 5 Print y(i); Next i End Sub Sub f(m As Integer, n As Integer, a()As Integer, b()As Integer) For i 1 To m b(i) 0 For j 1 To n b(i) b(i) a(i, j) Next j Next i End Sub 关于上述程序,以下叙述中正确的是 ( )。 ( A)调用过程语句有错,参数不匹配 ( B)程序有错,数组下标越界 ( C) y数组中保存的是 x数组每行数据之和 ( D) x数组中数据的取值范围是 1 10 36
16、窗体上有一个名称为 Label1的标签;一个名称为 Timer1的计时器,其 Enabled和 Interval属性分别为 True和 1000。编写如下程序: Dim n As Integer Private Sub Timer1_Timer() ch Chr(n Asc(“A“) Label1.Caption ch n n 1 n n Mod 4 End Sub 运行程序,将在标签中 ( )。 ( A)不停地依次显示字符 “A“、 “B“、 “C“、 “D“,直至窗体被关闭 ( B)依次显示字符 “A“、 “B“、 “C“、 “D“各一次 ( C)每隔 1秒显示字符 “A“一次 ( D)每
17、隔 1秒依次显示 26个英文字母中的一个 37 要求在程序运行时,如果按住鼠标左键不放而移动鼠标,鼠标的位置坐标同步显示在窗体右上角的标签 (名称为 Label1)中,如右图所示,放开鼠标左键后,停止同步显示。 下面可以实现此功能的程序是 ( )。 ( A) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Y As Single) If Button 1 Then Label1 “X “ & X & “ Y “ & Y End If End Sub ( B) Pr
18、ivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Y As Single) If Button 1 Then Label1 “X “ & X & “ Y “ & Y End If End Sub ( C) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Y As Single) If Button 1 Then Label1 “X “ & X
19、& “ Y “ & Y End If End Sub ( D) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Y As Single) Label1 “X “ & X & “ Y “ & Y End Sub 38 窗体上有一个名为 List1的列表框和一个名为 Command1的命令按钮,并有下面的事件过程: Private Sub Command1_Click() n% List1.ListIndex If n0 Then ch$ List1.List(n)
20、List1.List(n) List1.List(n 1) List1.List(n 1) ch End If End Sub 程序运行时,选中 1个列 表项,然后单击 Command1按钮,则产生的结果是( )。 ( A)若选中的不是最前面的列表项,则选中的列表项与它前一个列表项互换位置 ( B)选中的列表项与它前面的列表项互换位置 ( C)若选中的不是最后面的列表项,则选中的列表项与它后一个列表项互换位置 ( D)选中的列表项与它后面的列表项互换位置 39 在窗体上画一个名称为 Text1的文本框,并编写如下程序: Option Base 1 Private Sub Form_Click(
21、) Dim arr Dim Start As Integer, Finish As Integer Dim Sum As Integer arr Array(12, 4, 8, 16) Start LBound(arr) Finish UBound(arr) Sum 0 For i Start To Finish Sum Sum arr(i) Next i c Sum / Finish Text1.Text c End Sub 运行程序,单击窗体,则在文本框中显示的是 ( )。 ( A) 40 ( B) 10 ( C) 12 ( D) 16 40 在窗体上画一个命令按钮和一个标签,其名称分别为
22、 Command1和 Label1,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(10) For i 6 To 10 arr(i) i 5 Next i Label1.Caption arr(0) arr(arr(10)/ arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 二、基本 操作题 41 (1)在名称为 Form1的窗体上添加一个名称为 Com mahd1的命令按钮 (如图 1所示 ),然后通过属性窗口设置窗体和命令按钮的属性,实现如下功能: 窗
23、体标题为 “设置按钮属性 ”; 命令按钮的标题为 “等级考试 ”; 程序运行后,命令按钮不可见; 命令按钮的标题字号、字体用 i号常规黑体显示。 程序的运行情况如图 2所示。 要求:不编写任何代码。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjl1 vbp,窗体文件名保存为为 sjt1 frm。(2)在名称为 Form1的窗体上添加一个 名称为 Label1的标签,在属性窗口中把 BorderStyle属性设置为 1(如图 1所示 ),编写适当的事件过程。使得程序在运行后,如果单击窗体,则町使标签移到窗体的右卜角 (只允许在程序中修改适当属性来实现 )。 要求:不得使用任何变量。
24、 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt2 vbp,窗体文件名保存为 sjt2 frm。三、简单应用题 42 (1)在考生文件夹下有一个工程文件 sjt3 vbp,在 Form1的窗体中有一个文本框、一个计时器和两个命令按钮。程序的功能是在运行时,单击 “开始 计数 ”按钮,就开始计数 (如图所示 ),每隔 1秒,文本框中的数加 1;单击 “停止计数 ”按钮,则停止计数。要求:修改适当的控件的属性,并去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件以原来的文件名存盘。 (2)已知出租车行驶不超过 4公里时一
25、律收费 10元。超过 4公里时分段处理,具体处理方式为: 15公里以内每公里加收 1 2元, 15公里以上每公里收 1 8元。 在考生文件夹下有一个工程文件 sjt4 vbp。程序的功能是:单击 “输入 ”按钮,将弹出一个输入对话 框,接收出租车行驶的里程数;单击 “计算 ”按钮,则可根据输入的里程数计算应付的出租车费,并将计算结果在名称为 Text1的文本框内显示。 在窗体文件中已经给出了全部控件 (如图所示 ),但程序不完整,要求去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:不得修改已经存在的内容和控件属性,最后将修改后的文件按原文件名存盘。 四、综合应用题 43 在考生文件夹
26、下有一个工程文件 sjt5 vbp。其窗体中有一个文本框数组,名称为 Text1,下标从 0开始。程序运行后,单击 “产生随机数 ”按钮,就会随机产生 10个 3位 数,并放入 Text1数组中 (如图 1所示 );单击 “重排数据 ”按钮,则把 Text1中的奇数移到前面,偶数移到后而 (如图 2所示 )。已经给出了所有控件和部分程序。 要求:请去掉程序中的注释符,把程序中的 ?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。 提示:在 “重排数据 ”按钮的事件过程中有对其算法的文字描述,请仔细阅读。国家二级( VB)机试模拟试卷 96答案
27、与解析 一、选择题 1 【正确答案】 D 【试题解析】 算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为 D。 2 【正确答案】 A 【试题解析】 在循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置。因此,从排头指针 front指向的后一个位置直到队尾指针 rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化, A正确。 3 【正确答案】 B 【试 题解析】 二叉树中,度为 0的节点数等于度为 2的节点数
28、加 1,即 n2=n0-1,叶子节点即度为 0,则 n2=79,总结点数为 n0+n1+n2=80+70+79=229,答案为B。 4 【正确答案】 C 【试题解析】 冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选 C。 5 【正确答案】 D 【试题解析】 软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选 D。 6 【正确答案】 C 【试题解析】 开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计 3个阶段,实施则包括编码和
29、测试两个阶段, C不属于开发阶段。 7 【正确答案】 A 【试题解析】 结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。 8 【正确答案】 A 【试题解析】 关系模型采用二维表来表示,即每个二维表称为一个关系。 9 【正确答案】 B 【试题解析】 A和 B 为一对多的联系,则对于 A中的每一个实体, B 中有多个实体与 之联系,而 B与 C为一对一联系,则对于 B中的每一个实体, C中之多有一个实体与之联系,则可推出对于 A中的每一个实体, C中有多个实体与联系,所以为一对多联系。 10 【正确答案】 D 【试题解析】 关系 T中的元素与关系 R和关系 S 中不同元素的总和
30、,因此为并操作。 11 【正确答案】 D 【试题解析】 VB 中变量的命名规则为: 必须以字母或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB的保留字。 _x不能以 _下划线开头,不合法; 2y不能以数字开头,不合法; a#b 中有 #,不合法; D选项符合命名 规则,故D选项正确。 12 【正确答案】 C 【试题解析】 VB 应用程序不一定从 From_Load 事件开始执行,它是由工程中启动对象决定先从哪儿开始执行。故 C选项错误。 13 【正确答案】 B 【试题解析】 Format 是格式输出函数,数据要按照 “输出格式字符串 “指定格式输出。 “输出格式字符串 “中 #表示显
31、示一数字,若此位置没有数字则不显示。本题中 “输出格式字符串 “整数部分 #长度小于 1234时, 1234按原样输出,小数部分 #长度为 1,则小数部分保留一位,四舍五入取 6,故选 B。 14 【正确答案】 C 【试题解析】 Right是字符串的右部截取函数,本题中是从字符串 “VB Programming“右边向左截取 2个字符,即为 “ng“,故选 C。 15 【正确答案】 A 【试题解析】 单击窗体上没有控件的地方,在属性窗口就会出现窗体的各属性,这样就可对窗体的属性进行设置,故 A选项正确。单击任意一个控件,在属性窗口中出现的是该控件的属性,故 B选项错误;双击任意一个控件,打开的
32、是 “代码窗口 “,故 C选项错误;单击属性窗口的标题栏,属性窗口成为活动窗口,故 D选项错误。 16 【正 确答案】 C 【试题解析】 右击窗体,弹出的菜单中没有 “添加窗体 “命令,故 C选项错误。 17 【正确答案】 D 【试题解析】 顺序文件的特点是:文件中各记录写入、存放和读取的顺序是一致的,即最先写入的记录放在文件的最前面,后面写入的依次往后面存放,最后写入的记录存放在文件的最后。读取时也是,先读取完前面的记录,才能读取后面的记录。所以文件的组织与数据写入的顺序有关,而且读取文件时效率低,不灵活。故 A选项错误, D选项正确。根据顺序文件的特点,文件实现记录的增减不容易。故 B选项
33、错误。顺序文件的每 条记录中各数据项个数不固定,所以记录的长度也不固定。故 C选项错误。 18 【正确答案】 C 【试题解析】 可以在属性窗口中给 MousePointer属性设置属性值。故 C选项错误。 19 【正确答案】 C 【试题解析】 在窗体模块中声明的 Public变量,其作用域是应用程序的所有过程,故 C选项错误。 但用时注意:变量名前要加窗体名,否则不能被其他模块的过程引用,只能被本模块内的所有过程引用。 20 【正确答案】 D 【试题解析】 顺序文件的记录是顺序存放的,先写入的记录存 放在文件的最前面,后写入的依次往后面存放,最后写入的记录放在文件的最后面。如果访问某条记录,要
34、先访问前面的记录,才能访问后面的记录,不能按记录号直接访问。故 D选项错误。 21 【正确答案】 C 【试题解析】 图像框控件的 Stretch 属性用来调整图像框中图形内容的大小。它既可以通过属性窗口设置,也可通过程序设置。该属性的取值为 True或 Flase。当其属性值为 False时,将自动放大或缩小图像框中的图形以与图像框的大小相适应。 22 【正确答案】 B 【试题解析】 标签控件在工具箱中的图 标是。而是文本框控件的图标,是按钮控件的图标,是形状控件的图标。 23 【正确答案】 B 【试题解析】 列表框控件的 ListIndex 属性值是已选中的表项的位置。表项位置由索引值指定,
35、第一项的索引值为 0,第二项为 1,以此类推。如果没有任何项被选中, ListIndex 的值将设置为 1。 24 【正确答案】 C 【试题解析】 复选框的 Value属性可以设置为 0、 1或 2。 0表示没有选择该复选框, 1表示选中该复选框, 2表示该复选框被禁用 (灰色显示 )。 25 【正确答案】 B 【试题解析 】 通用对话框的 InitDir属性用于设置对话框中显示的起始目录,Filter属性用来指定在对话框中显示的文件类型, FilterIndex 用于设置对话框默认的过滤器, DefaultExt属性用于设置对话框中默认的文件类型, FileTitle属性用于存放对话框中所选
36、择的文件名。 26 【正确答案】 C 【试题解析】 KeyPress 事件参数 KeyAscii As Integer, KeyAscii 是所按键字符的ASCII码。 KeyDown 和 KeyUp事件参数有两个,是 KeyCode As Integer和 Shift As Integer, KeyCode 是按键的实际的 ASCII 码,同一个按键上的大小写字母它们的 KeyCode相同 (使用大写字母的 ASCII 码 )。 27 【正确答案】 D 【试题解析】 复选框按钮可以同时选择多个,而在一组单选按钮中,只能选择其中的一个。单选按钮被选中时,其 Value属性值为 True,如果没
37、有被选中其Value值为 False,复选框的 Value属性可以设置为 0、 1和 2,分别代表没选中、选中和禁用。单选按钮一般用框架进行分组,每个框架内的单选按钮的操作不影响其他组的按钮 ,而复选框是否分组对选项没有影响。 28 【正确答案】 D 【试题解析】 MouseUp 事件是鼠标松开时触发的事件过程,事件过程的 Button参数值由系统产生,为被按下的键, Shift参数表示 Shift、 Ctrl 和 Alt键的状态,X、 Y参数表示光标的当前位置。 29 【正确答案】 C 【试题解析】 题目中程序运行时设置了水平滚动条所能表示的最小值为 0,能表示的最大值为 100,当单击命令
38、按钮时,设置水平滚动条的当前位置为 70,即在水平滚动条中部偏右的位置,按各个选项图形的所示, C选项的图示 与题目相符。 30 【正确答案】 A 【试题解析】 文件打开方式中的 Append意味着打开的文件是顺序输出方式,也就是说打开文件是为了向其中写入数据的而不是要读出数据。因此 Open “c:d4.dat“ For Append As #3 应该改为 Open “c: d4.dat“ For Input As #3。所以 A选项正确。 Clsoe语句中的文件号可以省略,这时会关闭所有打开的文件。 31 【正确答案】 D 【试题解析】 程序中 For循环中的 If语句判断循环变量 i值如
39、果大于 10则退出循 环。各次循环变量值变化如下: i 1时, i i 4 1 4 5, n n i 0 5 5,此时 i 5, i10不成立, i加 1转入下次循环。 i 6时, i i 4 6 4 10, n n i 5 10 15,此时, i 10, i10不成立, i加 1转入下次循环。 i 11时, i i 4 11 4 15, n n i 15 15 30,此时, i 15, i10成立,退出循环。此时 n 30。 32 【正确答案】 B 【试题解析】 按钮事件中变量 x为过程局部变量,第 1次输入 100时, Select语句执行 Case Else分支 x x*num 0*10
40、0=0。第二次输入 90时, Select语句执行Case Else分支 x x*num 0*90=0。第三次输入 60时 Select语句执行 Case Is1 是否成立 ,此后 i值不会小于等于,循环会一直继续下去,不会正常结束。选项 D中 i初值为 10,每次循环 i值减 2,因此它总是偶数,而循环结束的条件是 i 1,不可能达到,循环会一直继续下去。 35 【正确答案】 C 【试题解析】 程序利用 For循环为数组 x的 5行 6列元素以随机整数赋值,随机数的范围是从 1到 9。过程 f的功能是计算二维数组 a()的每一行中元素值的和,每一行的和存放在另一个数组 b()中,最后程序输出
41、这些和值。因此 C正确。 36 【正确答案】 A 【试题解析】 Asc函数返回字符的 ASCII, Chr函数将数值转换成相应的 ASCII码字符。计时器间隔 Interval属性设置为 1000,则计时器事件每 1秒钟发生一次。 n的值每次调用计时器事件过程都会加 1, n n Mod 4又会使 n 值只能为 0、1、 2、 3,因此程序运行后每 1秒 Label1 标签将依次显示 “A“、 “B“、 “C“、“D“。 37 【正确答案】 C 【试题解析】 鼠标移动时产生的事件是 MouseMove事件。 MouseDown 事件过程的参数定义如下: Sub Form_MouseMove(B
42、utton As integer, Shift As Integer, x As Single, y As single) 其中 Button 表示被按下的鼠标键,按下左键时值为 1,按下右键时值为 2,按下中间键时值为 4。 x, y参数表示鼠标光标当前位置的坐标。 题目要求按住左键时移动显示鼠标位置,因此在事件过程要判断是否按下了左键,按下了左键则在标签中显示鼠标位置,否则不显示。因此可用 If Button 1来判断是否按下了左键及是否显示鼠标位置。因此应该选择 C选项。 38 【正确答案】 A 【试题解析】 当单击 Command1 按钮后, List1列表框中被选中项的索引值赋给变量
43、 n,如果被选中项不是空也不是第 1项时,将选中项的项目文字赋值给变量ch,用选中项的上面一项的文字替换选中项的文字,再把变量 ch 中的文字替换选中项上面一项的文字,简单说就是选中项和它上面一项的文字交换。因此 A选项的说法正确。 39 【正确答案】 B 【试题解析】 程序中将变量 arr初始化为有 4个元素的数组,使用 Lbound和Ubound函数分别获取数组下标的上下限,然后将数组中的元素值相加,用整除运算求它们的平均值。算式可写为 (12 4 8 16)/ 4 (40)/4 10。所以答案为 B。 40 【正确答案】 A 【试题解析】 程序为使用 For语句为数组中部分元素赋值,没显
44、示赋值的数组元素的值默认为 0,因此 arr(0) 0, arr(10) 10 5 5, arr(6) 6 5 1,arr(arr(10)/ arr(6)即, arr(5 / 1) arr(5) 0, arr(0) arr(5) 0 0 0。因此标签中显示为 0。 二、基本操作题 41 【正确答案】 步骤 1:新建一个窗体,按照题目要求建立命令按钮控件并设置命令按钮和窗体的相应属性,如图 3 23所示。程序中用到的属性见表3 21。 步骤 2:调试并运行程序,关闭程序后按题 H要求存盘。 (2)步骤 1:新建一个窗体,按照题目要求建立标签控件并设置标签的相应属性,见表 3 22。步骤 2:打开
45、代码编辑窗口,在指定位置编写如下代码。 Private Sub Form Click() Labell Top=0设 1 Labell的初始位置 Label1 Left=Forml WidthLabell WidthEnd Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)窗体对象和命令按钮控件的标题均由其 Caption属性来设置,Visible属性用于设置窗体或控件在运行时是否可见,设计时可通过修改命令按钮的 Font属性来设置标题的字体、字号和字型。 (2)标签的 BorderStyle属性用于设置标签的边框样式,值为 0表示无边框,值为1表示有固定边框。
46、要使标签位于窗体的右上角,其 Top属性值应为 0, Left属性值应为窗体的内部有效宽度减去标签宽度后的值。 三、简单应用题 42 【正确答案】 步骤 1:打开本题工程文件,设置计时器 Interva1 属性为 1000,Enabled属性设置为 False。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 Private Sub C1_Click(Index As Integer) Select CaseIndex通过控件下标确定单击哪一个按钮 Case 1 Timer1 Enabled=False Case0控制下标从 0开始,此处应为 0 Timer1 E
47、nabled=True End Select End Sub Private Sub Timer1 Timer() Text1 Text=Text1 Text 1Text1中的内容加 1显示 End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开本题工程文件。 步骤 2:打开代码编辑窗口,去掉程序中的注释符 “”,将问号改为正确的内容。 Dim s As Integer Private Sub Commandl Click() s=Va1(InputBox(“输入里程数 (单位: 公里 )“)S用于存储里程数 End Sub Private Sub Comm
48、and2 Click() If s0 Then Select Case s对 s进行判断 Case Is=4 f 10根据题意 s=4时 f=10 Case IS=15 f=10+(s r)*1.2同理 Case Is 15 f 10+11*1.2+(8 15)*1 8同理 End Select Text1 Text=f在 Textl中显示结果 E1se MsgBox“请单击 “榆入 “按钮输入里程教 !“ End If End Sub 步骤 3:调试并运行程序。关闭程序后按题目要求存盘。 【试题解析】 (1)首先打开本题工程文件,设置计时器 Interva1 属性为 1000,Enabled属性设置为 False,实现开始计数的时间间隔为 1秒,计时器不可用。运用 Select Case语句,通过命令按钮数组的 Index属性值确定是 “开始计数 ”或是 “停止计数 ”按钮,通过设置 Timer1的 Enabled 属性,实现对开始计数和停止计数的操作。 Timer1_Fimer 事件过程用于使文本框中的数值加 1。 (2)通过 InputBox()甬数,输入出租车行驶的里程数,运用 Va1()函数,实现将字符转换为数值,并把数值赋值给变量 s。如果 s大于 0,则进人 Select Case语句,对于 s值进行判断,当行驶不超过 4公里时一律收费 10元。超过 4公里时分段处
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1