1、VB 笔试模拟试卷 214及答案与解析 1 设在窗体上有个文本框,然后编写如下的事件过程: Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Const Alt=4 Const Key_F2=s; End Sub Function Fun(a()As Integer) Dim t# i% t=1 For i=LBound(A) To UBound(A) t=t*a(i) Next Fun=t End Function 38 在 Visual Basic的立即窗口内输入以下语句: X=97 CR ?Chr$(X) CR
2、 在窗口中显示的结果是 _。 39 下列程序计算 Sn的值。 Sn=a+aa+aaa+aaaa ,其中最后一项为 n个。 例如: a=5, n=4时,则 Sn=5+55+555+5555。请在空白处填入适当的内容,将程序补充完整。 Private Sub Command1_Click() Dim a As Integer, n As Integer, Cout As Integer Dim Sn As Long, Tn As Long Cout=1 Sn=0 Tn=0 a=InputBox(“请输入 a的值 :“) _ Do Tn=Tn*10+a Sn=Sn+Tn Cout=Cout+1 _
3、Debug.Print a,n,Sn End Sub 40 下面程序是由鼠标事件在窗体上画图,如果按下鼠标将可以画图,双击窗体可以清除所画图形。补充完整下而的程序。 首先在窗体层定义如下变量: Dim PaintStart As Boolean 编写如下事件过程: Private Sub Form_Load() DrawWidth=2 ForeColor=vbGreen End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer,_X As Single, Y As Single) PaintStart=True
4、 End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer,_x As Single, Y As Single) If PaintStart Then PSet(X,Y) End If End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer,_X As Single, Y As Single) _ End Sub Private Sub Form-DblClick() Cls End Sub 41 有一个事件过程,其功能是:从已存
5、在于磁盘上的顺序文件 NM1.txt中读取数据, 计算读出数据的平方值,将该数据及其平方值存入新的顺序文件 NM2.txt中。请填空。 Private Sub Form_Click() Dim x As Single, y As Single Open“NM1.txt“For Input As #1 Open“NM2.txt“For Input As #2 Do While Not EOF(1) _ Print x y=x2 _ Print y Loop Close #1,#2 End Sub 42 测试用例包括输入值集和 _值集。 43 在树形结构中,树根结点没有 _。 44 数据结构分为逻
6、辑结构与存储结构,线性链表属于 _。 45 一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体 “项目主管 ”与实体 “项目 ”的联系属于 _的联系。 46 数据库设计分为以下 6个设计阶段:需求分析阶段、 _、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段 。 47 如果不指明函数过程参数的类型,则该参数的数据类型为 _。 VB 笔试模拟试卷 214答案与解析 1 【正确答案】 D 【试题解析】 此题是有关 KeyDown 事件的题目, KeyDown 是当一个键被按下时所产生的事件,而 KeyUp是松开被按键时产生的事件。如果要判断是否按下了某个转换键,可以用逻辑运算
7、符 And。例如,先定义了下面 3个符号常量: Const Shift=1, const Ctrl=2, const Alt=4,然后用下面的语句判断是否按下 Shift、ctrl、 Alt键。 如果 Shift And Shift 0,则按下了 Shift键。 如果 Shift And Ctrl 0,则按下了 Ctrl 键。 如果 Shift And Alt 0,则按下了 Alt键。 这里的 Shift是 Key Down 的第 2个参数;此事件过程中的 If后的条件语句如果为真,则是按下了 Alt+F2,而本题中是按下了 Shift+F2,所以不执行 Then 语句,即文本框的内容无变化。
8、 2 【正确答案】 A 3 【正确答案】 D 4 【正确答案】 A 【试题解析】 通用对话框控件的 CommonDialogl 的 Filter属性用来指定在对话框中显示的文件类型。利用该属性可以设置多个文件类型,供用户在对话框的 “文件类型 ”的下拉列表中选择。 Fiher的属性值由一对或多对文本字符串组成,每对字符串用管道符 “|”隔开,在管道符 “|”前面的部分称为描述,后面的部分一般为通配符和文件扩展名,称为 “过滤器 ”。如 “*.txt”等,各对字符串之间也用管道符隔开。其格式如下: 窗体 .对话框名 .Filter=“描述符 1|过滤器 1|描述符 2|过滤器 2“ 如果省略窗体
9、,则为当前窗体。本题执行语 句后,可以在文件类型栏内通过下拉列表选择所要显示的文件类型,而最初默认显示的文件类型 (过滤器 )可以由FilterIndex 属性来指定,该属性是一个整数。用 Filter属性设置多个过滤器后,每个过滤器都有一个值,第 1个过滤器的值为 1,第 2个过滤器的值为 2 用FilterIndex 属性可以指定作为默认显示的过滤器,本题中的值是 1,所以显示 All Files(*.*)。 5 【正确答案】 C 【试题解析】 这是一个 3重循环嵌套的程序。多重 For循环的执行过程是:外层循环的循环控制变量每取一个值,内循环 的循环控制变量要取遍所有的值。这个程序中最外
10、两层循环的最后一次循环执行 k1=4, K2=3时,都要再执行一次y=10,不管 y以前取得何值, y都要重新取得初值 10,这时再执行 1次内循环。内层循环体要执行 3次,即加 3次 10。 y最终的值是 40。 6 【正确答案】 C 7 【正确答案】 C 8 【正确答案】 B 【试题解析】 Open语句对文件 “输入 /输出 ”操作,语法如下: Open文件名 For模式 As#文件号 其中模式为 Append,表示以追加数据的方式在文尾写数据。 9 【正确答案】 B 【试题解析】 在 Visual Basic中,一般可以用 Array函数解决数值初始值的输入,格式为: 数组名 =Arra
11、y(要输入的值 ) 本题中声明的数组 d,默认下界为 0,即数组第一个元素为 d(0),所以当程序调用 Array函数后, d(0)=a, d(1)=b, d(2)=c, d(3)=d。不难看出,最后 Print语句要输出的是 d(1)、 d(3)的值,即 b、 d。所以选项 B)正确。 10 【正确答案】 C 11 【正确答案】 B 【试题解析】 主调函数最终输出 值是 Pat(FirStr)过程的返回值,这就需要调用函数过程 Pat。 被调过程 Pat的参数 xStr从主调函数中收到实参 FirStr传来的值 “abcdef“,过程 Pat开始声明了两个变量:一个是 String 型的 t
12、empStr;一个是 Integer型的strLen。语句 ternpStr=“。 strLen=Len(xStr)以上两条语句的功能是:为变量 tempstr赋空值,变量 strkn 的值就是 xstr的长度,此题为 6。程序代码执行 Do WhileLoop 的循环语句: 第 1次循环结束后, tempStr=“af“; 第 2次循环, i=2, i =3成立,继续执行循环体, tempStr=“afbe“; 第 3次循环, i=3, i =3成立,继续执行循环体, tempStr=“afbecd“; 第 4次循环, i=4, i =3不成立,则跳出循环体,执行语句 Pat=tempStr
13、。所以最终 Pat(FirStr)=“afbecd”。 12 【正确答案】 C 【试题解析】 此题程序代码中用了双层调用,我们对这样的问题要多加小心,千万不要把实参和相对应的形参弄混。主调过程 Command1_Click 输出的是SecProc(c,b,a)的返回值,调用过程 SecProc时,主调过程分别把实参 c、 b、 a地址传给形参 x、 y、 z,此时在过程 SecProc中, SecProc=FirProc(a,c,b)+c。由此看出,程序段执行此语句时,将调用过程 FirProc。把实参 a、 c、 b 的地址分别传给形参 x、 y、 z,此时在过程 FirProc中, Fir
14、Proc=2*x+y+3*z,所以FirProc(a,c,b)=6+4+15=25, SecProc(a,c,b)=25+3=28,所以选项 C)是正确的。 13 【 正确答案】 B 【试题解析】 在此题中,被调过程是一个函数过程,它有一个形式参数 j,在被调过程声明中,定义了一个参数 a,初值为 0,一个静态变量 b。语句 a=a+1和b=b+1分别使 a和 b各增加 1,然后返回 H的值,因为 b是静态变量,所以每次调用同一个参数 k时, b 会保留前次的数值,使输出结果变化,否则每次输出的结果都将是一样的。根据分析,第一次调用时 a=1, b=1, Fun=3;第二次调用时a=1, b=
15、2, Fun=4;第三次调用时 a=1, b=3, Fun=5。所以最后的输出结果是345。 14 【正确答案】 B 【试题解析】 本题的难点在于循环体外的变量初值问题。虽然该段程序中有 3重循环,但仔细观察发现, x=3将前面的内容替代了,只剩下最后的结果,即3+6+6=15。 15 【正确答案】 A 16 【正确答案】 C 【试题解析】 Right(字符串, n):返回字符串的最后 n个字符。 Mid(字符串, p, n):从第 p 个字符开始,向后截取 n个字符。 p和 n 都是算术表达式。 Left(字符串, n):返回 “字符串 ”的前 n 个字符。 “ ”:字符串连接运算符,将两个
16、字符串按顺序连接起来 。 分析程序:因为每次循环, Z都被重新赋值,所以只需要跟踪最后一次循环即可得出最终结果,最后一次循环时, i=2 X=Mid(“ABBACDDCBA“, 2, 2)=“BB“ Y=Left(“ABBACDDCBA“, 2)=“AB“ X=Right(“ABBACDDCBA“, 2)=“BA“ Z=X&Y&Z=“BBABBA“ 17 【正确答案】 D 【试题解析】 软件是程序、数据与相关文档的集合。相对于计算机硬件而言,软件是逻辑产品而不是物理产品,是计算机的无形部分。 18 【正确答案】 A 【试题解析】 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规
17、格说明中确定的各种需求;集成测试的主要目的是发现与接口有关的错误。 19 【正确答案】 C 【试题解析】 对象的基本特点:标识唯一性、分类性、多态性、封装性和模块独立性。 20 【正确答案】 D 【试题解析】 滥用 goto语句将使程序流程无规律,可读性差,因此 21 【正确答案】 A 【试题解析】 程序执行的效率与很多因素有关,如数据的存储结构、程序所处理的数据量、程序所采用 的算法等。顺序存储结构在数据插入和删除操作上的效率比链式存储结构的效率低。 22 【正确答案】 C 【试题解析】 数据结构概念一般包括数据的逻辑结构、存储结构及数据上的运算集合等。数据的逻辑结构只抽象地反映数据元素之间
18、的逻辑关系,而不管它在计算机中的存储形式。 23 【正确答案】 B 【试题解析】 顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式 LOC(ai)=LOC(a1)+(i-1)L 计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取 ,得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。 24 【正确答案】 C 【试题解析】 树是 N(N0)个结点的有限集合,当 N=0时称为空树,空树没有根结点,即根结点的个数为 0,非空树有且只有一个根结点,所以树的根结点数目为0或 1。 25 【正确答案】 C 【试题解析】 数据库 (DataBase,简
19、称 D 26 【正确答案】 B 27 【正确答案】 B 【试题解析】 只有当 Multiline属性被设置为 True时,才能用 SerollBons 属性在文本框中设置滚动条 。 28 【正确答案】 A 【试题解析】 List 控件的 ListCount属性返回列表部分项目的个数。 29 【正确答案】 A 【试题解析】 字符串截取函数,格式是: Left$(字符串, n)。返回 “字符串 ”的前n 个字符。 30 【正确答案】 D 【试题解析】 Enabled 属性:返回或设置一个值,该值用来确定一个窗体或控件是否能够对用户产生的事件作出反应。 Visible属性:用来设置窗体或控件的可见性
20、。 31 【正确答案】 C 【试题解析】 列表框的 Multiselect属性有 3个可选值。 ONone:默认值,不能选择多个选项。 1Simple:在不按任何键的情况下可选择多个选项。 2Extended:使用 Ctrl或 Shift键进行分别多选或选择连续多个选项。 32 【正确答案】 C 【试题解析】 Interval 属性用来返回或设置对 Timer控件的计时事件各调用间的毫秒数。 33 【正确答案】 C 34 【正确答案】 C 【试题解析】 Load(加载 )事件是在应用程序开始运行时加载的。 35 【正确答案】 B 【试题解析】 数组控件中 的每一个控件都有唯一的索引号,即 In
21、dex属性。 36 【正确答案】 36 37 【正确答案】 120 【试题解析】 程序首先调用循环语句为数组 a、 b赋值,其中 a(i)=i; b(i)=i,且数组 a的上下界分别为 1和 5,接着将数组 a作为参数调用 Fun 过程,在 Fun 过程中,定义了两个变量 t及 i, i作为循环语句 For的变量,它的初始值和终值分别为数组的上下界,循环体为 t=t*a(i),即将 a(i)的值乘以 t,然后再赋给 t,当循环结束后,程序返回的就是数组 a中的各元素的积,故输出结果为: s=120。 38 【正确答案】 a 39 【正确答案】 n=InputBox(“请输入 n的值 !“) L
22、oop while Cout =n 或 Loop Until Cout=n+1 40 【正确答案】 PaintStart=False 【试题解析】 上述过程定义了一个布尔型变量 PaintStart,当按下鼠标左键 (触发MouseDown 事件 )时,由题意按下鼠标键表示能画图,所以该变量的值为 True,而松开鼠标左键 (触发 MouseUp 事件 )时,该变量为 False;如果变量 PaintStart为True,则移 动鼠标 (触发 MouseMove事件 ),将在窗体上绘出一个点;除鼠标事件外,上述程序还含有一个 Load 事件过程和一个 DblClick 事件过程,其中 Load
23、事件过程用来设置画点的大小和颜色, DblClick事件过程用来清除所画的图形,函数 Pset是画点语句,用它可以在 (x, y)处画一个点。 41 【正确答案】 Input #1, x Print #2, x, y 【试题解析】 本题考查顺序文件的读写操作,事件过程中,顺序文件的打开和关闭语句都正确,循环语句使用也正确。事件过程的功能是:从 NM1.txt中读取 数据,向 NM2.txt中写入数据。程序中没有对数据文件进行读写的语句,故空白处要填写的是对顺序文件读数据和写数据的语句。 42 【正确答案】 输出 【试题解析】 软件测试用例是为了有效发现软件缺陷而编写的包含测试目的、测试步骤、期
24、望测试结果的特定集合。正确认识和设计软件测试用例可以提高软件测试的有效性,便于测试质量的度量,增强测试过程的可管理性。软件测试用例包括输入值集和输出值集。测试用例是软件测试的核心。 43 【正确答案】 前件 【试题解析】 在树形结构中,每一个结点只有一个前件,称 为父结点;没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点;没有后件的结点称为叶子结点。 44 【正确答案】 存储结构 【试题解析】 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间前后件关系的信息。 45 【正确答案】 一对多 (或 1:N) 【试题解析】 两个实体集间的联系实际上是实体集间的函数系,这种函数关 系可以有 3种,即一对一 (1:1)的联系、一对多 (1:N)或多对一 (N:1)的联系和多对多 (N:N)的联系。 46 【正确答案】 概念设计阶段 【试题解析】 数据库设计分为 6个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。 47 【正确答案】 Variant 【试题解析】 参数没有指定类型时使用默认类型 Variant。