1、国家二级( VB)机试模拟试卷 42及答案与解析 一、选择题 1 编写如下程序: Private Sub Command1_Click() x = InputBox(“请输入一个字符 :“) Select Case x Case Is 4 Label1.Caption = t End Sub 程序运行后,单击命令按钮 Command1,则标签中显示的内容是 ( A) 1 ( B) 2 ( C) 24 ( D) 120 6 编写如下程序: Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer Dim n
2、 As Integer, s As Integer a = 1 While a y Then num = x Else num = y ( B) num = IIf(x y, x, y) ( C) num = x If y x Then num = y ( D) If y x Then num = x num = y 31 默认属性是某种控件最常用或最重要的属性,在 Visual Basic中设置这样的属性时,不必给出属性名 。下列中默认属性不是 Value的控件是 ( A)垂直滚动条( VscrollBar) ( B)复选框( CheckBox) ( C)命令按钮( CommandButto
3、n) ( D)列表框( ListBox) 32 对于文本框,用来设置允许输入的最大字符数的属性为 ( A) Length ( B) MaxLength ( C) SelLength ( D) MultiLine 33 窗体上有 2个名称分别为 Text1和 Text2的文本框, 1个名称为 Command1的命令按钮。单击 Command1时, Text1中选中的 文本将显示在 Text2中。下列能实现上述操作的事件过程是 ( A) Private Sub Command1_Click() Text2.Text = Mid(Text1.Text, Text1.SelStart, Text1.S
4、elLength) End Sub ( B) Private Sub Command1_Click() Text2.Text = Mid(Text1.Text, , Text1.SelLength, Text1.SelStart) End Sub ( C) Private Sub Command1_Click() Text2.Text = Mid(Text1.Text, Text1.SelStart + 1, Text1.SelLength) End Sub ( D) Private Sub Command1_Click() Text2.Text = Mid(Text1.Text, Text1
5、.SelStart - 1, Text1.SelLength) End Sub 34 下列有关控件的叙述中,正确的是 ( A)命令按钮不响应 DblClick事件 ( B)标签的主要作用是显示文本信息,它不响应 Click事件 ( C)标签中的文本信息通过 Text属性显示 ( D)在设计阶段,图片框中建立的控件可以拖拽到图片框之外 35 对于滚动条控件,下列说法正确的是 ( A) Max属性值不能小于 Min属性值 ( B) LargeChange属性值必须大于 SmallChange属性值 ( C) SmallChange属性值可以大于 LargeChange属性值 ( D)单击滚动箭头时
6、会触发 Scroll事件 36 为了在列表框中实现多选操作,需设置的属性为 ( A) ListCount ( B) MultiSelect ( C) SelCount ( D) Selected 37 以下关于框架的叙述中,正确的是 ( A)当框架的 Enabled属性设置为 False时,框架中建立的所有对象在运行时都禁用 ( B)在设计阶段,在框架外画的控件,一经拖到框架内,将自动变为框架容器中的控件 ( C)移动框架时,框架内各控件的 Left和 Top属性值也将随之改变 ( D)移动框架时,在框架内建立的控件不会随着 移动 38 窗体 Form1上有 1个名称为 Text1的文本框,
7、1个名称为 Command1的命令按钮。为了使得程序开始运行后,直接把焦点移到文本框中,正确的事件过程为 ( A) Private Sub Form_Load() Text1.SetFocus Form1.Show End Sub ( B) Private Sub Form_Load() Form1.Show Text1.SetFocus End Sub ( C) Private Sub Form_Load() Text1.GotFocus Form1.Show End Sub ( D) Private Sub Form_Load() Form1.Show Text1.GotFocus End
8、 Sub 39 任何控件都具有的属性为 ( A) Caption ( B) ForeColor ( C) FontName ( D) Name 40 窗体上有 1个名称为 Picture1的图 片框,能将图片文件 d:vbflower6.jpg正确装入图片框的语句为 ( A) Picture1.LoadPicture “d:vbflower6.jpg“ ( B) Picture1.Picture = LoadPicture(d:vbflower6.jpg) ( C) Picture1 = LoadPicture(“d:vbflower6.jpg“) ( D) Picture1.Picture
9、= “d:vbflower6.jpg“ 二、基本操作题 41 (1)在名称为 Form1的窗体 上画一个名称为 Text1的文本框,其高、宽分别为400、 2000。清在属性框中设置适当的属性满足以下要求: Text1的字体为 “黑体 ”,字号为 “四号 ”。 窗体标题为 “输入 ”,不显示最大化按钮和最小化按钮。 运行后的窗体如图所示。 注意: 存盘时必须存放在考生文件夹下,工程文件名为 sjt1 vbp,窗体文件名为 Sjt1 frm。 (2)在名称为 Forml的窗体上画一个名称为 Imagel 的图像框,利用属性窗口装入考生目录下的图像文件picl bmp,并设置适当属性使其中的图像可
10、以适应图像框大小;再画两个命 令按钮,名称分别为 Command1、 Command2,标题分别为 “向右移动 ”、 “向下移动 ”。请编写适当的事件过程,使得在运行时,每单击 “向右移动 ”按钮一次,图像框向右移动 100;每单击 “向下移动 ”按钮一次,图像框向下移动 100。运行时的窗体如图所示。要求程序中不得使用变量,事件过程中只能写一条语句。 注意: 存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。三、简单应用题 42 (1)在窗体 (名称为 Form1, KeyPreview属性为 True)上添加一个列表 框 (名称为List1)和一
11、个文本框 (名称为 Text1),如图 1所示。编写窗体的 KeyDown事件过程。程序运行后,如果按 A键,则从键盘上输入要添加到列表框中的项目内容 (内容任意,不少于三个 );如果按 D键,则从键盘上输入要删除的项目内容,将其从列表框中删除。程序的运行情况如图 2所示。 在考生文件夹下有一个工程文件sjt3 vbp(相应的窗体文件名为 sjt3 frm),可以实现上述功能。但这个程序不完整,请把它补充完整。 要求:去掉程序中的注释符,把程序中的 ?改为适当的内容,使其正确运行,但不能修改程序中的其他 部分。最后将修改后的文件按原文件名存盘。 (2)在考生文件夹下有一个工程文件sjt4 vb
12、p(相应的窗体文件名为 sjt4 frm),其功能是通过调用过程 Average求数组的平均值。程序运行后,在 4个文本框中各输入一个整数,然后单击命令按钮,即可求出其平均值,并显示在窗体上 (如图所示 )。这个程序不完整,请把它补充完整,并能正确运行。 要求:去掉程序中的注释符,把程序中的 ?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。 四、综合应用题 43 在考生文件 夹中有一个工程文件 sjt5 vbp。该程序的功能是从 in5 txt文件中读入 40个数据,统计这些数据中素数的个数,并找出所有素数中最小的素数 (判断素数的函数已给出
13、)。最后将查找和统计的结果分别显示在标签 Label4和 Label3中(窗体外观如图所示 )。程序不完整,请在指定的位置把程序补充完整。 注意:不得修改原有程序和控件的属性。程序结束运行之前,必须至少正确运行一次程序,将统计的结果显示在标签中,否则无成绩。最后把修改后的文件按原文件名存盘。国家二级( VB)机试模拟试卷 42答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 当输入符为 “a“时, 9的 ASCII码是 57,大写 Z的 ASCII码是90,小写 a则是 97。字符 a不满足 Case Is 3)个模块,第三层有 4个模块,控制跨度为 n, D选项正确。 16 【正确
14、答案】 A 【试题解析】 需求分析方法可以分为结构化分析方法和面向对象的分析方法,结构化分析工具包括:数据流图( DFD)、数据字典( DD)、结构化英语、判定表和判定树等。 PAD图是过程设计工具,所以 A选项正确。 17 【正确答案】 B 18 【正确答案】 C 【试题解析】 数据库设计的 4个阶段为:需求分析阶段、概念设计阶段 、逻辑设计阶段、物理设计阶段。概念设计最常用的方法是 E-R方法,它采用 E-R模型,将现实世界的信息结构统一由实体、属性以及实体之间的联系来描述, C选项正确。 19 【正确答案】 A 【试题解析】 常用的扩充运算有交、除、连接及自然连接等。并: RS 是将 S
15、中的记录追加到 R后面。自然连接:去掉重复属性的等值连接。差: R-S 结果是属于 R但不属于 S的记录组成的集合。交: RS 结果是既属于 R又属于 S 的记录组成的集合。并: RS的结果集为 T,所以 A选项正确。 20 【正确答案】 C 【试题解析】 关系模型 是目前最常用的数据模型之一,现实世界的实体以及实体间的各种联系均用关系来表示。实体集之间通过联系来建立联接关系分为三类:一对一联系( 1:1)、一对多联系( 1:m)、多对多联系( m:n)。 C选项正确。 21 【正确答案】 A 【试题解析】 转换函数 Int( x)返回不大于自变量 x的最大整数, Int(-5.678)值为
16、-6, Int(-5.678 - 0.5)为 -7;转换函数 Fix( x)返回值是自变量 x的整数部分, Fix(-5.678)为 -5, Fix(-5.678 + 0.5)为 -5,故选择 A选项。 22 【正确答案】 D 【试题解析】 标准模块也称全局模块,当其中的 Public过程,被窗体指令调用,即可以被不同窗体的程序调用,故 A项表述正确。模块是相对独立的程序单元,故 B 项标准模块式一个纯代码文件的表述正确。标准模块通过 “工程 “菜单中的 “添加模块 “命令来建立,故 C项表述正确。标准模块文件的扩展名为 .bas,故D项表述错误。 23 【正确答案】 B 【试题解析】 定义变
17、量时,可在定义变量时指定其类型,也可用类型说明符定义变量。在语句 Dim Var1#, Var2 As Integer 中 , Var1采用类型说明符定义变量, #是双精度型的类型说明符,其类型名为 Double, Var1是双精度变量。 Var2在定义变量时指定的类型,为整型变量。故选项 B正确, A、 C和 D项错误。 24 【正确答案】 A 【试题解析】 算术运算符优先级从高到低依次是乘方,取负,乘法和除法运算符,整除运算符,加法和减法运算符;数学函数的平方根( Square)函数是 sqr( x),返回值为自变量 x的平方根。从表达式上看首先 a、 b 之和除以 a、 b 的乘积,最后
18、求其平方根。故首先将( a+b),然后是( a*b),接着是求商,即( a+b) /(a*b),最后求平方根,因为平方根的优先级比乘除法高,故应为 Sqr(a + b) / a * b),故 B选项正确。 A项中表达式与数学式不大对应, A项是先求 a、 b 之和,接着除以 a,再接着乘以 b,这和题目意思不对应,故 A项错误。平方根函数是 sqr( x),故 C项和 D项错误。 25 【正确答案】 A 【试题解析】 定义格式中的 “数组名 “与简单变量相同,可以是 VB 中任何合法的变量名,故 A项正确。数组必须先定义,后使用,不允许使用隐式定义,故 B 项错误。用 Dim定义数组时,并不能
19、任何类型的数组都 初始化为空字符串,比如该语句把数值数组中的元素全都初始化为 0;故选项 D错误。同样,当用 Static定义数组时,第一次定义时数组中的元素全都初始化为 0;把字符串数组中的元素全都初始化为空字符串;如果没有退出程序,每次引用静态变量的数组后,其值将继续保留,作为下次引用时该变量的初始值,故 C错误。 26 【正确答案】 C 【试题解析】 设计阶段,在 “属性 “窗口设置 Height、 Width 等相应属性来改变窗体大小,故 A正确。在运行阶段,可以通过程序代码改变窗体的相应的属性值,改变窗体的大小,故 B 正确。 Show用以显示窗体,不能改变其大小,故 C项错误。 M
20、ove方法用来移动窗体和控件,并可通过设置左边距离、上边距离等参数来改变其大小,故 D项正确。 27 【正确答案】 A 【试题解析】 控件数组由一组具有共同名称和类型,且事件过程也相同的控件组成,每个控件(相当于数组元素)都有唯一的索引号( Index,相当于数组元素的下标),且下标可以不连续,故选项 A错误。控件数组是由一组相同类型的控件组成的,它们共用一个控件名,具有相同的数组。故选项 B 正确。窗体的 Load事件主要用来在启动程序时对属性和相关变量的初始 化,在装入窗体后,如果运行程序,自动触发该事件,故选项 C正确。控件数组元素的下标或称索引,在一个窗体中,只允许一个命令按钮的 Ca
21、ncel 属性为 True,其他的命令按钮的 Cancel属性将自动设置为 False,故 D项正确。 28 【正确答案】 B 【试题解析】 For后面的参数表示以何种方式打开文件 ,指定文件方式,有 Append、 Binary、 Input、 Output、或 Random 方式。如果 For省略,即未指定方式,则以 Random 访问方式打开文件,即随机存取方式。故选择 B。 29 【正确答案】 C 【试题解析】 Format $(数值表达式,格式字符串 )的功能是按格式字符串指定的格式输出数值表达式的值。 #表示一个数字位, #的个数决定显示字符串的长度,如果要显示的数据位数小于格式字
22、符串指定的长度,则数据在指定区段内左对齐,多余位不补 0。如果要显示的数据位大于格式字符串指定的长度,则数值按原样显示。 0其功能与 #相似,只是多余位以 0补齐。 .表示小数点,与 #和 0结合使用,根据格式字符串,小数部分多余的数字将按照四舍五入的原则显示,但是不会改变变量的实际数值 。 , 具有分位作用,逗号不能放在串的首位,可以放在小数点左边的任何位置(不要放在头部,也不要紧靠小数点),故 D项的格式错误。 A 项 Format$(2345.668, “00000.00“), 2345.668按 “00000.00“输出,即02345.67,故 A项不符合题意; B 项 Format$
23、(2345.668, “0,0000.00“), 2345.668按“0,0000.00“输出,即 02, 2345.67,不符合题意; C项 Format$(2345.668, “#,#.#“), 2345.668按 “#,#.#“输出,输出结果为 2, 345.67,故 C项符合题意; D项 Format$(2345.668, “,#.#“), 2345.668按 “#.#“输出,输出结果为 ,2345.67,故 D项不符合题意。 30 【正确答案】 D 【试题解析】 选项 A、 B 和 C都能找出最大值。选项 A语句执行的意思是如果x y那么将 x赋值给 num否则将 y赋值给 num,
24、最后得到 num为两个数中较大的数。选项 B 中有 IIF函数。 IIF函数实际上可以理解成 “If.Then.Else“的另外一种表现 形式,即 IIf(条件, True部分, False部分),其中条件为一逻辑表达式,当条件为真( True)时,返回 “True部分 “;当条件为假( False)时,返回“False 部分 “。题目中的 num = IIf(x y, x, y)意思是如果 x y,则将 x赋值给Max,否则将 y赋值给 Max,选项 B也能找出最大值。选项 C语句执行的意思先将 x赋值给 num,是如果 y x 那么 将 y赋值给 num,最后得到 num为两个数中较大的数
25、。 D项语句中执行完 If Then 语句后,都将 y赋值给 Max,不能找出最大值, 实际上,这个 IF语句缺少 Else,故选项 D不能找出最大值,答案为 D项。 31 【正确答案】 D 【试题解析】 控件值是控件的默认属性, A项垂直滚动条的默认属性是 Value,B 项复选框的默认属性是 Value; C项命令按钮的默认属性是 Value; D项列表框的默认属性是 Text,故在四个选项中, D项的默认属性不是 Value。 32 【正确答案】 B 【试题解析】 A项和 C项不属于文本框的属性,故 A项和 C项错误。MaxLength 允许在文本框输入的最大字符数, B 正确。 D项
26、MultiLine用来设 置文本框是否可以使用多行文本,故 D错误。 33 【正确答案】 C 【试题解析】 SelfStart定义当前选择的文本的起始位置, 0表示选择的开始位置在第一个字符之前, 1表示从第二个字符之前开始选择,以此类推。 SlefLength是表明当前选中的字符数,当 SelfLength属性值为 0时,则表示未选中任何字符。Mid (s,n1, n2)是字符串截取函数,从 s 的第 n1个字符开始,向后截取 n2个字符,其中 n2可省略,省略时,就是截取 s的第 n1个字符以后的所有字符。 C项中的 Mid(Text1.Text, Text1.SelStart + 1,
27、Text1.SelLength)返回文本框中选中的文本。这是因为从文本框的文本字符串中,截取从第 SelStart+1的位置截取,即从选中的开始位置截取, SelfLength 长度的字符串,故 C项正确。 A、 D项把开始截取的位置弄错了, A项多截取了一个字符 ,D项多截取两个字符,故 A、 D项错误, B项弄错了 Mid函数的参数位置。 34 【正确答案】 A 【试题解析】 使用命令按钮时,一般都是单击按钮,命令按钮不支持双击事件,如果双击命令按钮,则将作为两次单击事件分 别处理,故 A项正确。 B 项标签的主要作用是显示一小段文本,可以响应单击或双击事件,故 B 错误。标签中的文本信息
28、用 Caption属性表示,故 C错误。正在设计阶段通过属性窗口装入图形文件,但不可将图片框中建立的控件拖拽到图片框以外 ,故 D错误。 35 【正确答案】 C 【试题解析】 Max属性表述滚动条所能达到的最大值, Min 属性表述滚动条所能达到的最小值,故 Maz必须大于或等于 Min, A项正确。 LargeChange属性用来设置单击滚动条前面或者后面的部位时, Value增加或减少的增量值;SmallChange是指单击滚动条两端的箭头时, Value增加或减少的增量值;SmallChange属性值可以大于 LargeChange属性值,也可以小于 LargeChange属性值 ,故
29、B选项错误, C选项正确。 Scroll事件表述在拖动滚动框时所触发的事件,故 D项错误。 36 【正确答案】 B 【试题解析】 ListCount属性表述列表框的表项个数,故 A项错误; MultiSelect属性用来设置一次可以选择的列表项数,方便用户在列表框中选择多个表项,故B 项正确;列表框没有 SelCount属性,故 C项错误; Selected 属性表述列表框的项目是否被选中,故 D项错误。 37 【正确答案】 A 【试题解析】 Enabled 属性为 True时,框架内的对象是 “活动 “的,若为 False,标题变灰,框架内的所有对象被屏蔽,处于 “非活动 “状态,不能响应任
30、何事情,故 A项正确。必须先画出框架,然后在框架内画出需要成为一组的控件,才能使框架内的控件成为一个整体,如果在框架外画一个控件,然后把它拖到框架内,则该控件不是框架的一部分,故选项 B 错误;移动框架时,在框架内建立的控件会随着移动,但其 Left和 Top 属性值保持不变 ,故 C项和 D项均错误。 38 【正确答案】 B 【试题解析】 通过 SetFocus 方法设置焦点。在窗体的 Load 事件完成前,窗体或者窗体上的控件是不可视的,必须先用 Show方法显示窗体,然后才能对窗体上的控件设置焦点。故应该先 Form1.Show,再 Text1.SetFocus,故选 B项。 39 【正
31、确答案】 D 【试题解析】 不是所有控件都具有 A项、 B项和 C项属性,例如:列表框没有Caption 属性,命令按钮没有 ForeColor属性和 FontName属性,故 A项、 B 项和C项错误 ;所有控件都具有名称属性,故 D正确。 40 【正确答案】 C 【试题解析】 在运行期间通过 LoadPicture 函数将图形文件装入图片框,其格式对象 . Picture= LoadPicture(“文件名 “),将选项与格式对比,只有 C项符合此格式,故选择 C项。 二、基本操作题 41 【正确答案】 ( 1)【操作步骤】步骤 1:建立界面,添加控件并设置控件的属性。程序中用到的控件及属
32、性见表 3.150。步骤2:调试并运行程序,关闭程序后按题目要求存盘。( 2)【操作步骤】步骤 1:建立界面,添加并设置 控件的属性。程序中用到的控件及属性见表 3.151。步骤 2:编写程序代码。参考答案 Private Sub Command1_Click() Image1.Left = Image1.Left + 100End SubPrivate Sub Command2_Click() Image1.Top = Image1.Top + 100End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 三、简单应用题 42 【正确答案】 (1)【操作步骤】 步骤 1:打开本
33、题工程文件。设置窗体的 KeyPreview属性为 True添加一个列表框名称为 List1的和一个名称为 Text1的文本框。 步骤 2:分析并编写程序代码。 程序提供代码 Private Sub Form KeyDown(KeyCode As Integer, Shift As Integer) If Chr(KeyCode) = “A“ Then Text1.Text = InputBox(“请输入要添加的项目 “) List1.AddItem ? End If If Chr(KeyCode) = “D“ Then Text1.Text = InputBox(“请输入要删除的项目 “)
34、For i = 0 To ? If List1.List(i) = ? Then List1.RemoveItem ? End If Next i End If End Sub 程序结束 参考答案 第 1个?处填入: Text1.Text 第 2个?处填入: List1.ListCount-1 第 3个?处填入: Text1.Text 第 4个?处填入: i 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Private Function Average(a() As Integer) As Single Dim Start As Integer, Finish As Integer Dim i As Integer