1、VB笔试模拟试卷 70及答案与解析 1 队列适用于下列哪一种应用 ? _ ( A)表达式求值 ( B)堆排序算法的实现 ( C)树的层次次序周游算法的实现 ( D)二叉树对称序周游算法的实现 2 对线性表进行二分法查找,其前提条件是 _ 。 ( A)线性表以顺序方式存储,并已按关键码值排好序 ( B)线性表以顺序方式存储,并已按关键码值的查找频率排好序 ( C)线性表以链接方式存储,并已按关键码值排好序 ( D)线性表以链接方式存储,并已按关键码值的查找频率排好序 3 有一排好序 的线性表,长度大于 2,对给定的 k值,分别用顺序查找和二分查找查找一个与 k值相等的元素,比较的次数分别为 x和
2、 y。在查找不成功的情况下,正确的 x和 y的关系是 _。 ( A) x y ( B)总是 x y ( C) x y ( D)与 k值的大小有关 4 对于建立良好的程序设计风格,下面描述正确的是 _。 ( A)程序应简单、清晰、可读性好 ( B)符号名的命名只要符合语法即可 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 5 在面向对象的程序设计中,下列叙述错误的是 _ 。 ( A)任何一个对象构成一个独立的模块 ( B)一个对象不是独立存在的实体,各个对象之间有关联,相互依赖 ( C)下一层次的对象可以继承上一层次对象的某些属性 ( D)上述三种说法都正确 6 在结构化设计方法中
3、生成的结构图 (SC)中,带有箭头的连线表示 _ 。 ( A)模块之间的调用关系 ( B)程序的组成成份 ( C)控制程序的执行顺序 ( D)数据的流向 7 软件测试过程是软件开发过程的逆过程,其最基础性的测试应是 _ 。 ( A)集成测试 ( B)单元测试 ( C) 有效性测试 ( D)系统测试 8 一般在数据流程图中,圆圈用来表示 _ 。 ( A)外部实体 ( B)变换 /加功 ( C)数据存储 ( D)数据流 9 数据库三级模式体系结构的划分,有利于保持数据库的 _ 。 ( A)数据独立性 ( B)数据安全性 ( C)结构规范化 ( D)操作可行性 10 在数据管理技术发展过程中,文件系
4、统与数据库系统的本质区别是:数据库系统具有 _ 。 ( A)数据结构化 ( B)数据无冗余 ( C)数据共享 ( D)数据独立性 11 Visual Basic程序设计采用的编程机制是 ( A)可视化 ( B)面向对象 ( C)事件驱动 ( D)过程结构化 12 下列说法错误的是 ( A)资源文件的扩展名为 .res ( B)一个窗体对应一个窗体文件 ( C) Visual Basic中的一个工程只包含一个窗体 ( D) Visual Basic中一个工程最多可以包含 255个窗体 13 表达式 Right(“Beijing“, 4)的值是 ( A) Beij ( B) jing ( C) e
5、iji ( D) ijin 14 下列语句的输出结果为 Print Format$(5689.36, “000, 000. 000“) ( A) 5, 689.36 ( B) 5, 689.360 ( C) 5689.3 ( D) 5689.36 15 要使文本框可输入多行文字,要更改的默认选项是 ( A) SorollBoars和 MultiLine ( B) Visible ( C) ScrillBoars ( D)以上都不是 16 下面说法不正确的是 ( A)变量名的长度不能超过 255个字符 ( B)变量名可以包含小数点或者内嵌的类型声明字符 ( C)变量名不能使用关 键字 ( D)变
6、量名的第一个字符必须是字母 17 以下关于过程及过程参数的描述中,错误的是 ( A)过程的参数可以是控件名称 ( B)用数组作为过程的参数时,使用的是 “传地址 ”方式 ( C)只有函数过程能够将过程中处理的信息传回到调用的程序中 ( D)窗体可以作为过程的参数 18 下列选项中,不属于模块间耦合的是 ( A)数据耦合 ( B)同构耦合 ( C)异构耦合 ( D)公用耦合 19 设有如下声明: Dim x As Integer 如果 Sgn(x)的值为 -1,则 x的值是 ( A)整数 ( B)大于 0的整数 ( C)小于 0的整数 ( D)小于 0的数 20 在文本框中,当用户键入一个字符,
7、能同时引发的事件是 ( A) KeyPress和 Click ( B) KeyPress和 LostFocus ( C) KeyPress和 Change ( D) Change和 LostFocous 21 Sub过程与 Function过程最根本的区别是 ( A) Sub过程的过程不能返回值,而 Function过程能返回值 ( B) Function过程可以有形参, Sub过程不可以 ( C) Sub过程可以使 用 Call语句直接使用过程名调用,而 Function过程不可以 ( D)两种过程参数的传递方式不同 22 以下哪个关键字声明的局部变量在整个程序运行中其值一直保留 ( A)
8、Stafic ( B) Private ( C) Dim ( D) Pubic 23 在窗体上添加一命令按钮,名称为 Command1,然后为该命令按钮编写如下事件过程,该过程的执行结果为 Option Base 1 Private Sub Command1_Click() Dim a As Variant a=Array(1, 2, 3, 4) j=1 For i=4 To 1 Step-1 s=s+a(i)*j j=j*10 Next Print s End Sub ( A) 4321 ( B) 1234 ( C) 34 ( D) 12 24 在窗体上添加一命令按钮,其名为 Command
9、1,然后编写代码如下。 private Sub Command1_Click() Dim arr(5)As Integer, arr1(5)As Integer n=3 For i=1 To 5 an(i)=i arrl(n)=2*n+i Next Print arr1(n); arr(n) End Sub 程序的运行结果为 ( A) 3 11 ( B) 11 3 ( C) 13 3 ( D) 3 13 25 下列程序运行时输出的结果是 Private Sub Form_Click() Dim x x=Array(“天天向上 ”, “清华大学 ”, “天上人间 ”, “程序设计 ”) For
10、i=LBound(a, 1)to UBound(a, 1) If Left(a(i), 1)=“天 ”Then Print a(i); Next End Sub ( A)天天向上 ( B)天天向上天上人间 ( C)出错信息 ( D)天天向上清华大学天上人间程序设计 26 在窗体上添加一个命令按钮,名为 Command1,一文本框,名为 text1,则执行如 下事件过程后,文本框中的输出为 For i=1 To 3 For j=1 To 3 For k=1 To 2 x=x+3 Next k, j, i Text1.Text=str(x) ( A) 21 ( B) 42 ( C) 54 ( D)
11、 72 27 下面程序段执行结果为 x=Int(Rnd()+4) Select Case x Case 5 Print“excellent“ Case 4 Print“good“ Case 3 Print “pass“ Case Else Print “fail“ End Select ( A) excellent ( B) good ( C) pass ( D) fall 28 有如下函数过程。 Function Fun( By Val x As Integer,By Val y As Integer) As Integer Do While y 0 reminder = x Mod y x
12、my y = reminder Loop Fun = x End Function 以下调用函数的事件过程,该程序的运行结果是 Private Sub CommandT_Click( ) Dim a As Integer,b As Integer a = 100:b =25 x =Fun(a,B)Print x End Sub ( A) 0 ( B) 25 ( C) 50 ( D) 100 29 单击命令按钮时,下列程序的运行结果为 Private Sub Command1_Click( ) Print Fun(23, 18) End Sub Public Function Fun(m As
13、Integer, n As Integer) As Integer Do Whilem n Do While m n : m-m - n: Loop Do While m n : n=n - m: Loop Loop Fun =m End Function ( A) 0 ( B) 1 ( C) 3 ( D) 5 30 阅读程序: Function Fun( a As Integer) Static c b=0:b=b+2:c=c+2 F=a*b*c End Function Private Sub Commandl _ Click( ) Dim a As Integer a=2 For i =
14、 1 To 2 Print Fun (a); Next End Sub 运行上面的程序,单击命令按钮,输出结果为 ( A) 8 16 ( B) 9 18 ( C) 10 20 ( D) 7 14 31 设在窗体上有个文本框,然后编写如下的事件过程。 Private Sub Text1_KeyDown(KeyCode As Integef, Shift As Integer) Const Alt=4 ConstKey_F2=p; m; n End Sub Private Sub Command1.Click() a1=1: b=2: c1=3 Call Test(a, b1+3, (c1) Pr
15、int “Main: “; a1; b1; c1 End Sub 程序运行后,输出结果为 ( A) Sub: 2 6 4 Main: 2 6 4 ( B) Sub: 2 6 4 Main: 2 6 4 ( C) Sub: 2 6 4 Main: 1 2 3 ( D) Sub: 2 6 4 Main: 2 2 3 34 以下事件过程可以将打开对话框的标题改为 “新时代 ”的是 ( A) Private Sub Command2_CliCk() CommonDialog1.DialogTitle=“新时代 ” CommonDialog1.ShowOven End Sub ( B) Private
16、Sub Command2.Click() CommonDialog1.DialiogTitle=“新时代 ” CommonDialog1.ShowFont End Sub ( C) Private Sub Command2_Click() CommonDialog1.DialogTitle=“新时代 ” CommonDialog1.Show End Sub ( D) Private Sub Command2_Click() CommonDialog1.DialogTitle=“新时代 ” CommonDialog1.ShowColor End Sub 35 如果准备读文件,打开顺序文件 “te
17、xt.dat”的正确语句是 ( A) Open “text.dar“For Write As #1 ( B) Open “text.dat“For Binary As #1 ( C) Open “text.dat“For Input As #1 ( D) Open “text.dat“For Random As #1 36 算法的基本特征是可行性、 确定性、【 】和拥有足够的情报。 37 某二叉树中度为 2的结点有 18个,则该二叉树中有【 】个叶子结点。 38 在面向对象的程序设计中,类描述的是具有相似性质的一组【 】。 39 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【
18、 】。 40 数据库管理系统常见的数据模型有层次模型、网状模型和【 】 3种。 41 下列表达式有错误,正确的写法应该是【 】。 (a+B)+c/80-5(d+e) 42 在窗体上画两个文本框,其名称分别为 Text1和 Text2,然后编写如下事件过程: Private Sub Form_Load() Show Text1.Text=“ “, Text2.Text=“ “ Text2.SetFocus End Sub Private Sub Text2_KeyDown(KeyCode As Integer,Shift As Integer) Text 1.Text=Text1.Text+Ch
19、r(KeyCode-4) End Sub 程序运行后,如果在 Text2文本框中输入 “efghi”,则 Text1文本框中的内容为【 】。 43 当用【 】方式打开文件时,如果对文件进行写操作,则写入的数据附加到原来文件的后面。 44 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下程序: Function M(x As Integer, y As Integer) M=IIf(x y,x,y) End Function Private Sub Command1_Click() Dim a As Integer, b As Integer a=100 b=200 Print
20、M(a,B) End Sub 程序运行后,单击命令按钮,输出结果为【 】。 45 下列事件过程的功能是:建立一个名为 Datal的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为 1, 2, 3, , 90。请在空白处填入适当的内容,将程序补充完整。 Private Type Ang K As Integer Sinx As Single Cosx As Single End Type Dim Ksc As Ang Private SubForm_Click() Dim Y As Single Open【 】 Y=3.14159/180 For i=1 To 90 Ksc.K=i
21、 Ksc.Sinx=Sin(i*Y) Ksc.Cosx=Cos(i*Y) 【 】 Next i Close #2 End Sub 46 随机文件以【 】为单位读写,随机文件的记录是【 】记录。 VB笔试模拟试卷 70答案与解析 1 【正确答案】 C 【试题解析】 本题的考查点是队列的应用。选项 A:表达式求值是栈的典型应用;选项 B:堆排序算法的实现是数组的典型应用;选项 C:树的层次次序周游算法的实现是队列的典型应用;选项 D:二叉树对称序周游算法的实现是栈的典型应用。 2 【正确答案】 A 【试题解析】 本题的考查点是二分查找。二分查找又 叫做折半查找,其前提条件是:查找表是按关键码值排好
22、序的线性有序表;查找表的存储是采用顺序存储结构。 3 【正确答案】 D 【试题解析】 顺序查找没有要求线性表按关键字值排序。本题要求对排好序的线性表进行查找,不论线性表是升序或降序,则 k值大小决定了在线性表的位置,所以应选择 D。 4 【正确答案】 A 【试题解析】 选项 B错误:符号名的命名除了要符合语法之外,还应具有一定的实际含义,以便理解程序功能;选项 C错误:程序设计风格强调清晰第一,效率第二;选项 D错误:程序注释能帮助读者理解程序,是 提高程序可读性的重要手段。所以选项 A正确。 5 【正确答案】 B 【试题解析】 在面向对象程序设计中,对象是可以独立存在的实体。 6 【正确答案
23、】 A 【试题解析】 结构图中用带有箭头的连线表示模块之间的调用关系。 7 【正确答案】 B 【试题解析】 本题的考查点是软件测试的组成。单元是程序中:最小和有意义的部分,单元测试是通过测试发现该模块单元的子程序或过程的实际功能与该模块的功能和接口的描述是否相符,以及是否有编码错误存在,所以它是最基础性的测试。 8 【正确答案】 B 【试题解析】 本题的考查点是数据流程图中各符号的含义。外部实体用方框表示,变换 /加功用圆圈表示,数据存储用直线表示,数据流用箭头表示。 9 【正确答案】 A 【试题解析】 数据库三级模式包括外模式、模式、内模式。三级模式的两级映像是外模式 /模式的映像、模式 /
24、内模式的映像。外模式 /模式的映像保证逻辑独立性,模式 /内模式的映像则保证物理独立性。 10 【正确答案】 A 【试题解析】 文件系统中记录有结构,但整体没有结构。数据库实现整体数据的结构化。数据的结构化是文件系统与数据库系统的 本质区别。 11 【正确答案】 C 【试题解析】 可视化是一种程序设计技术,它把繁锁、复杂的工作交由系统完成,从而减轻程序设计人员编写代码的工作量。面向对象是一种程序设计方法,这种方法将数据和代码封装起来而成为对象;事件驱动是一种编程机制,它由事件而驱动程序调用通用过程来执行指定的操作;过程结构化则是传统的 “面向过程 ”程序设计语言的编程思想。 12 【正确答案】
25、 C 【试题解析】 Visual Basic中的一个工程可以包括一个或多个窗体。最多不超过255个窗体。因此选项 D是正确的。而选 项 C的说法是不正确的。资源文件的扩展名是 res,所以选项 A是正确的。一个窗体对应于一个窗体文件,所以选项 B也是正确的。 13 【正确答案】 B 【试题解析】 Right$(字符串, n)是返回 “字符串 ”的最后 n个字符。 14 【正确答案】 D 【试题解析】 用 Format$()函数可以将数值按 “格式字符串 ”指定的格式输出,包括在输出字符串前面加 $,字符串后面补。及干位分隔符等。 “格式字符串 ”是一个常量或变量,它由专门的格式说明符组成,由这
26、些字符决定数据项的显示格式,并指定显示区域的长度, 当格式字符串为常量时,必须放在双引号中。 15 【正确答案】 A 【试题解析】 Multiline被设置为 True时可以使用多行文字,不用改SorollBoars 16 【正确答案】 B 【试题解析】 在 Visual Basic中,可以用名字来表示内存的位置,以便访问内存中的数据。有关变量命名的规则如下: 名字只能由字母、数字和下划线组成; 名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符; 名字的有效字符为 255个; 不能用 Visual Basic的保留字作变量名,但可以把保留字嵌入变量名中;同时变量名也不能是末尾带有类
27、型说明符的保留字,例如变量 Print和 Print$是非法的,而变量 Print_Number是合法的。 17 【正确答案】 C 【试题解析】 通过间接访问,也可以在非函数过程中访问和处理调过程中的变量内容,并且定义多个 “传地址 ”的参数可以返回多个值。 Visual Basic中的控件和窗体都可以作为过程的参数。 18 【正确答案】 C 【试题解析】 模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂 程度。按照耦合程度从弱到强,可以将其分成 5级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。选项 C,没有这种耦合方式。 19 【正确答案】 D 【试题解析】 算
28、术函数 Sgn(x)求 x的符号,当 x 0,返回 1; x=0,返回 0; x0,返回 -1。 20 【正确答案】 C 【试题解析】 键人字符会触发 KeyPress在文本框中输入新信息将触发 Change事件。 21 【正确答案】 A 【试题解析】 在 Visual Basic中有两类过程,一类是系统提供的内部函数和事件过程 ;另一类是用户根据自己的需要定义的,供事件过程的多次调用。在第二类过程中,涉及最多的是子过程。它们的共同点都是完成某种特定功能的一组程序代码;不同的是函数是可以直接返回值的特殊过程,所以函数过程定义时有返回值的类型说明。 两者最大的区别就是 Sub过程的过程不能直接返
29、回值,而Function过程能直接返回值。 22 【正确答案】 A 【试题解析】 Static变量在整个程序运行中其值一直保留。 23 【正确答案】 B 【试题解析】 本题的难点是数组在循环中的计算。计算过程为 4100+3101十2102+1103= 1234,如果改成 For i=1 To 4后,其结果为 A。 24 【正确答案】 B 【试题解析】 在给数组赋值时,如果每次都是赋给数组中同一一个成员,那么后面赋值将覆盖掉以前的值。 25 【正确答案】 B 【试题解析】 通过 LBound和 UBound函数来返回一个数组中指定维的上界和下界,该程序的作用是找出并返回第一个字是天字的成语,选
30、 B。 26 【正确答案】 C 【试题解析】 For循环控制结构每次执行循环语句, X都加了则:(32)33=633=183=54。 27 【正确答案】 B 【试题解析】 在 Visual Basic中,组成变量名的英文字母不区分大小写,例Single和 Single是一样的,在定义了一个变量之后,只要字符相同,则不管它大小写是否相同,指的都是同一个变量。 28 【正确答案】 B 【试题解析】 函数的参数传递分为按值传递和按地址传递。按值传递是指,实参直接将值传递给形参,形参不改变实参的值;按地址传递是指,实参将变量的地址传递给形参。在调用函数时要注意参数的传递方式,不同的传递方式,语句执行
31、结果不同。 29 【正确答案】 B 【试题解析】 此题程序代码中,被调过程采用了 Do WhileLoop 的嵌套语句结构,主调过程只调用了一次被调过程, Print Fun(23, 18)语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程 Fun时,把数值 23, 18分别传给形参 m和 n,从被调过程中的循环语句来看,因为此时 m的值大于 n的值,所以执行语句 m=m-n, m值变为 5,然后循环调用,直到 m=n,而由语句Fun=m可看出,此过程的返回值就是 m的值,即为 1。 30 【正确答案】 A 【试题解析】 本题的难点是子函数调用过程和 Static变量。子函数
32、有 Static变量c,在第 1次子函数调用时其值为 2,局部变量 b为 2,但在第 2次子函数调用时c=2+2=4, b=0+2=2。表达式 a*b*c的结果通过子函数名 F返回。 31 【正确答案】 D 【试题解析】 此题是有关 KeyDown事件的题目, KeyDown是当一个键被按下时所产生的事件,而 KeyUp是松开被按键时产生的事件,如果要判断是否按下了某个转换键,可以用逻辑运算符 And。例如:先定义了下面 3个符号常量: Const Shift=1, Const Ctrl=2, Const Alt=4;然后用下面的语句判断是否按下 Shift、 Ctrl、 Alt键; 如果 S
33、hift And Shift 0,则按下了 Shift键; 如果 Shift And Ctrl 0,则按下了 Ctrl键; 如果 Shift And Alt 0,则按下了 Alt键; 这里的 Shift时 KeyDown的第 2个参数;此事件过程中的 If后的条件语句如果为真,则是按下了 Alt+ 12,而本题中是按下了 Shift+F2,所以不执行 Then语句,即文 本框的内容无变化。 32 【正确答案】 C 【试题解析】 KeyCode是按键的实际的字符 (不区分大小写 )KeyAscii是以字符为准,是所按键的 ASSII码。 33 【正确答案】 D 【试题解析】 这是在实现子过程被调
34、用时参数虚实结合的问题。 a1为变量按址传送, b1+3和 (c1)为表达式按值传送。 34 【正确答案】 A 【试题解析】 无需多看,一看就可以看出选项 A是正确的;下面来分析一下。首先,设置标题属性用 DialosTitle属性,四个选项都一样,所以这个不是区别 ;再看方法,选项 A用的是 ShowOpen方法,即打开对话框,所以是正确的;选项B用的是 ShowFont方法,是字体设置对话框,不符合本题的意思,不正确;选项C用的是 Show方法,但是对话框没有此方法,所以也不正确;最后选项 D是用的 ShowColor方法,是颜色选择对。话框,所以也不符合本题的意思。 35 【正确答案】
35、C 【试题解析】 顺序文件的读操作由 Input语句来实现。 36 【正确答案】 有穷性 【试题解析】 算法是指解题方案的准确而完整的描述。它有 4个基本特征,分别是可行性、确 定性、有穷性和拥有足够的情报。 37 【正确答案】 19 【试题解析】 在任意一棵二叉树中,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。 38 【正确答案】 对象 【试题解析】 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。 39 【正确答案】 软件生命周期 【试题解析】 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究
36、与需求分析、设计、实现、测试、交付使用以及维护等活动。 40 【 正确答案】 关系模型 【试题解析】 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。 41 【正确答案】 (a+b+c)/80-5/(d+e) 【试题解析】 在 Visual Basic中: “+”不是合法的运算符。 括号不区分大、中、小括号,一律用小括号嵌套。 除号有两个: “/”,表示一般意义的除; “”表示整除。 42 【正确答案】 ABCDE 【试题解析】 当用户在 Text2中输入字符的时候,会触发
37、 Text2_KeyDown事件。该事件的处理代码使得 Text1的内容为在原内容的基础上追加一个字符。追加的字符的 ASCII值比输入的小 4。所以当输入 efghi的时候,输出为 ABCDE。注意不是 abcde,因为 KeyCode取的是键码,而不是 ASCII码,小写字符的键码等于对应大写字符的 ASCII码。 43 【正确答案】 Append 【试题解析】 打开文件的语句为: Open pathname For modeAccess accesslockAs #filenumberLen=reclength 注: mode必要。关键字,指定文件方式,有 Append(追加 )、 Bi
38、nary、 Input、Output或 Random方式。如果未指定方式,则以 Random访问方式打开文件。其中 Append方式的意思是 “追加 ”。 44 【正确答案】 200 【试题解析】 该题主要考察自定义函数调用和 IIf函数的使用。 IIf函数格式为 IIf(expr,truepart,falsepart) 根据表达式的值,来返回 两部分中的其中一个。 题目中调用 M()时, x y所以返回值为 y,即 200。 45 【正确答案】 “C: Datal.txt”For Random As #Len_=10 , Put #2, i, Ksc 【试题解析】 第 1个空白行已经告诉我们是打开文件的语句,现在要将它填写完整。该语句应确定文件的存取方式是随机存取。在自定义变量中,有 3成员,其中角度为整型数据,占 2个字节;弦和余弦函数值为单精度类型,各占 4个字节,故文件的记录占 10个字节。若不指定 Len参数,则隐含一个记录占 128字节。为了 节省存储空间,可在 Open语句中指写 Len参数值。程序中没有将数据写入随机文件的语句,第 2个空白行应是 Put语句。 46 【正确答案】 记录 ,字节 【试题解析】 随机文件记录的长度是指定的,在存储时,如果该记录没有指定长度长,则自动以空字符补全;如果超过指定长度,则去超出部分。