1、VB 笔试模拟试卷 251及答案与解析 1 为了使模块尽可能独立 ,要求 ( A)模块的内聚程度要尽量高 ,且各模块间的耦合程度要尽量强 ( B)模块的内聚程度要尽量高 ,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低 ,且各模块间的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低 ,且各模块间的耦合程度要尽量强 2 下列是一个循环结构的程序,循环体内的语句将执行的次数是 k=0 For i=1 to 100 For j=1 to 10 k=k+1 Next Next ( A) 0 ( B) 10 ( C) 100 ( D) 1000 3 下列每组控件中,都包含有滚动条的一组控件
2、是 ( A) ListBox和 LabelBox ( B) TextBox和 DriveListBox ( C) ComboBox 和 CheckBox ( D) FileListBox 和 DirListBox 4 在面向对象方法中, ( )描述的是具有相似属性与操作的一组对象。 ( A)属性 ( B)事件 ( C)方法 ( D)类 5 下列关于栈的描述中错误的是 _。 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要改变栈底指针 6 在下列概念中,不属于面向对象方法的是 _ 。 ( A)类 ( B)过程调用 ( C)对象
3、( D)多态性 7 若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是 ( A) bdgcefha ( B) gdbecfha ( C) bdgaechf ( D) gdbehfca 8 下列工具中为需求分析常用 工具的是 _。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 9 以下各组序列中,属于堆的是 ( A) 19, 34, 26, 97, 56, 75 ( B) 97, 26, 34, 75, 19, 56 ( C) 19, 56, 26, 97, 34, 75 ( D) 19, 75, 34,
4、 26, 97, 56 10 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,( )是常采用的。 自顶向下 自底向上 分层绘制 逐步求精 ( A) 和 ( B) 、 和 ( C) 、 和 ( D)全部 11 在子过程 SubEnd Sub 中使用的形式参数可以是 ( )。 ( A)常数、简单变量、数组变量和运算式 ( B)简单变量、数组变量和数组元素 ( C)常数、简单变量、数组变量 ( D)简单变量、数组变量和运算式 12 下列能判断是否到达文件尾的函数是 ( )。 ( A) Boc ( B) Loc ( C) LOF ( D) EOF 13 下列说法错误的是 ( )。
5、( A)在同一模块不同过程中的变量可以同名 ( B)不同模块中定义的全局变量可以同名 ( C)引用另一模块中的全局变量时,必须在变量名前加模块名 ( D)同一模块中不同级的变量可以同名 14 在窗体上画 1个名为 Text1的文本框和 1个名为 Label1的标签,再画 4个名为Op1的单选按钮控件数组,其 Index属性按季度顺序为 0 3,如图 1所示。在文件Sales.txt中按月份顺序存有某企业某年 12个月的销售额。要求在程序执行时,鼠标单击一个单选按钮,则 Text1中显示相应季度的销售总额,并把相应的文字显示在标签上。如图 2所示是单击 “第二季度 ”单选按钮所产 生的结果。请选
6、择可在空白处填写的合适语句 ( )。 Option Base 1Dim sales(12) As LongPrivate Sub Form_Load()open“c:sales.txt“For Input As #1For k=1 To 12Input #1,sales(k)Next kClose #1End SubPrivate Sub _ (Index As Integer)Dim sum As Long,k As Integex,month As Integersum=0month=Index*_For k=1 To 3month=month+1sum=sum+sales(month)N
7、ext kLabel1.Caption=_.Caption a; b; c End Sub Private Sub check(a, ByVal b,C)Dim t As Integer a = a + 1: b= b + 1: c = c + 1 t = a a =b b = t End Sub ( A) 20 30 40 ( B) 40 30 20 ( C) 41 30 10 ( D) 41 20 30 19 执行语句 Open“C:/SDat.dat“For Input As #2 后,系统 ( )。 ( A)将 C盘当前文件夹下名为 SDat.dat文件的内容读入内存 ( B)在 C盘
8、当前文件夹下建立名为 SDat.dat的顺序文件 ( C)将内存数据存放在 C盘当前文件夹下名为 SDat.dat的文件中 ( D)将某个磁盘文件的内容写入 C盘当前 文件夹下名为 SDat.dat的文件中 20 在窗体上绘制一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command1 Click() Dim i As Integer, x As Integer For i=1 To 6 If i=1 Then x=i If i = 4 Then x=x+1 Else x=x+2 End If Next i Print x End Sub 程序运行
9、后,单击命令按钮,其输出结果为 ( A) 9 ( B) 6 ( C) 12 ( D) 15 21 在 Visual Basic中,下列运算符中优先级最高的是 _。 ( A) * ( B) ( C) ( D) Not 22 可以在窗体模块的通用声明段中声明 _。 ( A)全局变量 ( B)全局常量 ( C)全局数组 ( D)全局用户自定义类型 23 以下叙述中错误的是 _。 ( A)双击鼠标可以触发 DblClick事件 ( B)窗体或控件的事件的名称可以由编程人员确定 ( C)移动鼠标时,会触发 MouseMove事件 ( D)控件的名称可以由编程人员设定 24 设有数组定义语句: Dim a
10、(5) As Integer, List1为列表框控件。下列给数组元素赋值的语句错误的是 ( A) a(3) 3 ( B) a(3) inputbox(“input data“) ( C) a(3) List1.Listlndex ( D) a Array(1,2,3,4,5,6) 25 有如下语句: Type Student Name As String Age As Integer Sex As String End Type Dim Stu As Student With Stu .Name “张红 “ .Age 22 .Sex “女 “ End With 执行 Print Stu.Ag
11、e语句后的结果是 ( A)张红 ( B) 22 ( C) “女 ” ( D) Age 26 设有以下循环结构 Do 循环体 Loop While条件 则以下叙述中错误的是 _。 ( A)若 “条件 ”是一个为 0的常数,则一次也不执行循环体 ( B) “条件 ”可以是关系表达式、逻辑表达式或常数 ( C)循环体中可以使用 Exit Do语句 ( D)如果 “条件 ”总是为 True,则不停地执行循环体 27 用于去掉 个字符串的右边的空白部分的函数是 _。 ( A) RTrim$() ( B) Right$() ( C) Asc() ( D) Time$() 28 在窗体上画一个通用对话框,其
12、名称为 CommonDialog1,然后画一个命令按钮,并编写如下事件过程: Private Sub Command1_Click() CommonDialogFlags=cdlOFNHideReadOnty CommonDialog1.Filter=“All Files(* *)| *.*|Text Files“内聚性是衡量一个模块内部各个元素彼此结合的紧密程度。一般来说 ,要求模块之间的耦合尽可能地低 ,而内聚性尽可能地高。 2 【正确答案】 D 3 【正确答案】 D 4 【正确答案】 D 【试题解析】 类描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应类的一个实例。 5 【
13、正确答案】 B 【试题解析】 在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照先进后出 (FILO, First In Last Out)或后进先出 (LIFO, Last In First Out)的原则组织数据的,因此,栈也被称为先进后出表或后进先出表。由此可以看出,栈具有记忆作用。答案 B错在带链的栈的结点存储顺序与其逻辑顺序是可以不一致的。 6 【正确答案】 B 7 【正确答案】 D 【试题解析】 遍历二叉树分前序、中序、后序遍历三种。
14、基本方法分别为:根一左一右、左一根一右,左一右一根。根据此规则我们可以分析出 a为根结点, dgb和 echf 分别为左、右子树,再依题意分析下去,可得到如下二叉树,此树后序遍历为 gdbehfca,故选择 D正确。 8 【正确答案】 D 【试题解析】 常见的需求分析方法有:结构化分析方法和面向对象的分析方法。结构化分析的常用工具有:数据流图 (DFD)、数据字典 (DD)、判定树和判定表等。 9 【正确答案】 A 【试题解析】 根据堆的定义,可以判断选项 A是一个小根堆。 10 【正确答案】 B 【试题解析】 画数据流图应遵循的原则是理解并模拟现行系统的处理过程,据此画出最初的数据流图。自顶
15、向下地分层画出各层数据流图,也就是通过一系列分解步骤,逐步地表现出整个软件 的构成。 11 【正确答案】 B 【试题解析】 参数列表含有在调用时传送给过程的简单变量或数组名,如果是数组,则要在数组名后加上一对括号。数组元素也可以像简单变量那样作为子过程的参数。 12 【正确答案】 D 【试题解析】 EOF函数用来判断是否位于文件的文件尾。 Loc函数返回由 “文件号 ”指定的文件的当前读写位置。 LOF函数返回给文件分配的字节数 (即文件的长度 )。 13 【正确答案】 D 【试题解析】 变量可以分为 3类:局部变量、模块变量、全局变量。在同一模块不同过程中的变量叫 做局部变量,其作用域是它所
16、在的过程,所以不同过程中的局部变量可以同名;模块变量的作用范围是整个窗体或模块,引用其他模块中的模块变量时,必须加上模块名;当同一个模块内的不同过程使用相同的变量时,必须声明窗体层的变量,当然不能有重名。 Visual Basic应用程序通常由窗体模块和标准模块组成。模块变量就是窗体变量和标准模块变量的总称。 14 【正确答案】 A 【试题解析】 解本题的关键是读懂题意和程序的作用。 Form_Load 事件过程的作用是打开文件 Sales.txt,读出文件 12个月的销售额分别存 放在数组 sales元素中。然后在单选按钮的单击事件中,进行处理,因为控件数组共享同一个事件过程,所以第 1个横
17、线处,应填入单击事件,使用控件的名字 Op1 加下划线加Click。在单击事件过程中,通过变量 month 计算月份,分别统计每一个季度的销售总额,结合 For循环中 month的值:第一季度, month的初值为 0, index的值为 0;第二季度, month的初值为 3, index 的值为 1;第三季度, month 的初值为6, index的值为 2;第四季度, month的初值为 9, index的值为 3;所以第 2个横线处应填入 3。第 3个横线的填写较简单,就是显示选中的单选按钮的标题。 15 【正确答案】 B 【试题解析】 本题考查程序的基本算法。定义函数过程时,要求计算
18、结束以后,把函数的返回值存放在过程名中,返回给调用函数。题目中 a为奇数,条件为aMod 2=0时,返回 0,否则返回 16 【正确答案】 C 17 【正确答案】 D 【试题解析】 此题中。 f(a, b), a是以地址方式传递的 b 是以值方武传递的,因此 b 的值显然不发生变化、仍为 35, a的值为 2*6=12。 18 【正确答案】 D 19 【 正确答案】 A 【试题解析】 Open是打开或建立一个文件,对于 个已经存在的文件“C:SDat.dat”,题中以 Input方式打开文件,为读文件做好准备,即将文件读入到缓存区中,以供读操作。 20 【正确答案】 A 【试题解析】 本题考查
19、控制结构中的循环结构与条件结构题目非常简单,但考生需要仔细分析结构。开始 i=1,执行 x=i语句,此时 i =4,执行 x=x+1=2,当i=4是执行 x=x+2,直到 i=6时结束 For循环, x的最终值是 1+1+1+2+2+2=9,正确答案为选项 A。关于 VB 的 控制结构一直是考试重点,历次考试都必然会考到,考生应该注意这方面的内容,多编写程序。 21 【正确答案】 A 【试题解析】 运算符优先级别 算术运算,关系运算,逻辑运算算术运算符运算优先级: (指数 ), (取负 ), (乘法 )*, (浮点除法 ) (整数除法 ) (取模 )MOD (加法 )+。 22 【正确答案】
20、A 【试题解析】 全局变量可以在窗体模块、标准模块和类模块中进行声明;全局常量、全局数组、全局用户自定义类型只能在标准模块中进行声明。 23 【正确答案】 B 【试题解析】 Visual Basic 中的事件是事先定义好的,事件名称不能由编程人员确定,但控件名称可由编程人员确定。 24 【正确答案】 D 【试题解析】 Array 函数只能给变体变量类型数组初始化, a为整型数组,所以选项 D错误。 25 【正确答案】 B 【试题解析】 本题重点需理解自定义类型 Student以及 Student类型的变量 Stu的使用。在使用 Stu变量时用到了 With.End With 的结构,在该结构中
21、的语句 Age 22相当于语句 Stu. Age 22。故最后执行 Print Stu. Age 语句的结果值应为 22。 26 【正确答案】 A 【试题解析】 DoLoop While 循环是先执行一次循环体,再判断条件是否为True,如为 True,则继续执行循环体,如为 False,则结束。所以如果条件是一个为。的常数,即条件为 False,则执行一次循环体后退出。 27 【正确答案】 A 【试题解析】 LTrim、 RTrim与 Trim函数返回 Variant(String),其中包含指定字符串的拷贝,没有前导空白 (LTrim)、尾随空白 (RTrim)或前导和尾随空白(Trim)
22、。 28 【正确答案】 B 【试题解析】 通用对话框控件的 CommonDialogl 的: Filter属性用来指定在对话框中显示的文件类型。利用该属性可以设置多个文件类型,供用户在对话框的 “文件类型 ”的下拉列表中选择 Filter的属性值由一对或多对文本字符串组成,每对字符串用管道符 “尸隔开,在 “尸前面的部分称为描述符,后面的部分一般为通配符和文件扩展名,称为 “过滤器 ”,如 “ txt”等,各对字符串之间也用管道符隔开。其格式如下: 窗体 .对话框名 Filter=描述符 1|过滤器 1|描述符 2|过滤器 2 如果省略窗体,则为当前窗体。例如: CommonDialogl.F
23、ilter=Word Files|(*.DOC) 执行该语句后,在文件列表栏内将只显示扩展名为 .DOC的文件。再如: CommonDialogl.Filter=All Files|(*.*)|Word Files|(*.DOC)|Text Files|(*.TXT) 执行该语句后,可以在 “文件类型 ”栏内通过下拉列表选择要显示的文件类型,而最初默认显示的文件类型 (过滤器 )可以由 FiherIndex属性来指定,该属性值为一整数。 用 Filte,属性设置多个过滤器后,每个过滤器都有一个值,例如,第一个过滤器的值为 1,第二个过滤器的值为 2。用 FilterIndex 属性可以指定作为
24、默认显示的过滤器。 29 【正确答案】 B 【试题解析】 本程序的功能是:查寻给定数字 45在数组 b中的位置 n。用Array函数给数组 b 的各元素赋初值,其中数组变量名 a应是 Variant型的。用数组作为过程的形参时,应在数组名的后面加上一对圆括号 (如数组 a();用数组作为调用过程的实参时,数组名的后面去掉 一对圆括号 (如数组 b)。用类型说明符来标识 index和 I 为整型变量。 Lbound(a)和 Ubound(a)函数分别返回数组的下界和上界,下界值为 0。在于程序 search 中,当 key=a(I)条件 (即 45=a(6)成立时,变量 index记录下数组下标
25、值 6,然后中断循环,退出于程序 search, index反传送给变量 n,最后打印出 6。 30 【正确答案】 C 【试题解析】 每执行一次外层循环, a的值增加 11,执行 10次外层循环后 a的值为 1110=110, b 的值在每次执行外层循环后都是相同的, b=102 =20。 31 【正确答案】 C 【试题解析】 VB 中并无 ToUpper和 ToLower函数, Ucase()函数的作用是将字符串型参数中的所有小写字母转换成大写字母, Lcase()函数的作用是将字符串型参数中的所有大写字母转换为小写字母。 32 【正确答案】 B 【试题解析】 Visual Basic 主要
26、提供了打开文件、保存文件、颜色、字体、打印、帮助等通用对话框,其对应的方法分别为 ShowOpen、 ShowSave、ShowColor、 ShowFont、 ShowPrInter、 ShowHelp。 33 【正确答案】 B 【试题解析】 Select Case语句中的测试表达式只能是数值表达式或字符串表达式。 34 【正确答案】 A 【试题解析】 选项 A是打印 x y与 A的比较结果,其值是一布尔型值。 35 【正确答案】 C 【试题解析】 本题中语句的设置效果是将滚动条的 Value值设为当前滚动条刻度个数的 1 2再加上 Min 值,此值正好为滚动条的中间位置,而 Value值用
27、来设置滚动块的位置,故答案为 C。 36 【正确答案】 实体 【试题解析 】 在 E-R图中用矩形表示实体 ;椭圆形表示属性 ;菱形表示联系。 37 【正确答案】 Enabled 38 【正确答案】 概念 39 【正确答案】 O(alog2n) 【试题解析】 在最坏情况下,冒泡排序所需要的比较次数为 n(n-1)/2;简单插入排序所需要的比较次数为 n(n-1)/2:希尔排序所需要的比较次数为 O(n1.5);堆排序所需要的比较次数为 O(nlog2n)。 40 【正确答案】 程序调试 【试题解析】 程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测 试是尽可能多地发现软件中的错
28、误。先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。软件测试贯穿整个软件生命期,调试土要在开发阶段。 41 【正确答案】 2 4 6 【试题解析】 本题考查数组的定义和 For EachNext 语句。题中定义了下标下界为 1,下标上界为 3的 Score数组,通过 For循环语句赋值后,再通过 For EachNext 语句在窗体上输出数组中的每个成员。 42 【正确答案】 Change 43 【正确答案】 MouseMove 【试题解析】 MouseDown 事件是在控件上按下任意鼠标按钮时发生的事件是:MouseUp 事件是释放任意鼠标按钮时发生的事件; Mouse
29、Move事件是当鼠标指针在控件上移动时发生的事件。 44 【正确答案】 Max=k x(Max) 【试题解析】 在数组中查找多个数中最大的数的算法是:首先设变量 Max为1,从第一个数组元素开始与 x(Max)对比,如果数组元素大于 x(Max),则 Max记录该数组元素的下标,比较完后, Max记录了最大数的下标。所以第 1个横线处,应填写 Max=k,用 Max记录较大数的下标;第 2个横线处,用 y来存储元素的最大值。 45 【正确答案】 Move 【试题解析】 Move 方法用于移动控件,其基本语法为 Object.Move Left,Top,Width,Height。其中,参数 “L
30、eft、 Top”指控件移动到的坐标位置;“Width、 Heght”指控件移动后新的宽度和高度。 46 【正确答案】 AutoSize 【试题解析】 如果希望 Label 显示可变长度的行或变化的行数,就要设置AutoSize。 47 【正确答案】 5x2-3x-2Sina3 【试题解 析】 算术运算符有: (乘方运算符 )、 *(乘法运算符 )、 /(除法运算符 )、(整除运算符 )、 Mod(求模运算符 )、 +(加法运算符 )、 -(减法运算符 )。 48 【正确答案】 8.6 【试题解析】 返回参数的整数部分,其类型和参数相同。 语法 Int(number) 必要的 number参数是 Double或任何有效的数值表达式。如果 number包含Null,则返回 Null。 49 【正确答案】 9 【试题解析】 返回参数的整数部分,其类型和参数相同。 语法 Int(number) 必要的 number参数是 Double或任何有效的数值表达式。如果 number包含Null,则返回 Null。 50 【正确答案】 1 【试题解析】 BackStyle 属性用来指定标签的背景样式是否透明,该属性可以取两个值: 0和 1。当为 0时,标签为 “透明 ”的;当值为 1时,标签将覆盖背景。