1、国家二级 VB机试(选择题)模拟试卷 37 及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B)算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 2 下列叙述中正确的是 ( A)线性表链式存储结构的存储空间一般要少于顺序存储结构 ( B)线性表链式存储结构与顺序存储结构的存储空间都是连续的 ( C)线性表链式存储结构的存储空间可以是连续的,也可以是 不连续的 ( D)以上说法均错误 3 某二叉树共有 12个结点,其中叶子结点只有 1个。则
2、该二叉树的深度为(根结点在第 1层) ( A) 3 ( B) 6 ( C) 8 ( D) 12 4 对长度为 n的线性表作快速排序,在最坏情况下,比较次数为 ( A) n ( B) n-1 ( C) n(n-1) ( D) n(n-1)/2 5 结构化程序设计中,下面对 goto语句使用描述正确的是 ( A)禁止使用 goto语句 ( B)使用 goto语句程序效率高 ( C)应避免滥用 goto语句 ( D)以上说法均错误 6 下面 不属于软件测试实施步骤的是 ( A)集成测试 ( B)回归测试 ( C)确认测试 ( D)单元测试 7 下面不属于软件需求分析阶段主要工作的是 ( A)需求变更
3、申请 ( B)需求分析 ( C)需求评审 ( D)需求获取 8 一般情况下,当对关系 R和 S进行自然连接时,要求 R和 S含有一个或者多个共有的 ( A)记录 ( B)行 ( C)属性 ( D)元组 9 ( A)选择 ( B)差 ( C)交 ( D)并 10 有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司 C(公司号,公司名 ,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W的键(码)为 ( A)公司号,职员号 ( B)职员号,工资 ( C)职员号 ( D)公司号,职员号,工资 11 在 Visual
4、Basic环境下设计应用程序时,系统能自动检查出的错误是 ( )。 ( A)语法错误 ( B)逻辑错误 ( C)逻辑错误和语法错误 ( D)运行错误 12 下列合法的变量名是 ( )。 ( A) sum a ( B) num_9 ( C) print$ ( D) 5avg 13 有如下语句序列: Dim a, b As Integer Print a Print b 执行以上语句序列,下列叙述中错误的是 ( )。 ( A)输出的 a值是 0 ( B)输出的 b值是 0 ( C) a是变体类型变量 ( D) b是整型变量 14 以下关于控件数组的叙述中,错误的是 ( )。 ( A)各数组元素共用
5、相同的事件过程 ( B)各数组元素通过下标进行区别 ( C)数组可以由不同类型的控件构成 ( D)各数组元素具有相同的名称 15 表达式 12 / 24的值是 ( )。 ( A) 1.5 ( B) 2 ( C) 4 ( D) 1 16 下列数组定义中错误的是 ( )。 ( A) Dim a( 5 To 3) ( B) Dim a(3 To 5) ( C) Dim a( 3 To 5) ( D) Dim a( 3 To 3) 17 设 a 2, b 3, c 4, d 5, 表达式 Not aa c 的值是 ( )。 ( A) 1 ( B) 1 ( C) True ( D) False 18 鼠
6、标拖放控件要触发两个事件,这两个事件 是 ( )。 ( A) DragOver事件和 DragDrop事件 ( B) Drag事件和 DragDrop事件 ( C) MouseDown事件和 KeyDown事件 ( D) MouseUp事件和 KeyUp事件 19 以下打开 Visual Basic菜单编辑器的操作中,错误的是 ( )。 ( A)执行 “编辑 “菜单中的 “菜单编辑器 “命令 ( B)执行 “工具 “菜单中的 “菜单编辑器 “命令 ( C)单击工具栏中的 “菜单编辑器 “按钮 ( D)右击窗体,在弹出的快捷菜单中选择 “菜单编辑器 “命令 20 Visual Basic中的 “
7、启动对象 “是指启动 Visual Basic应用程序时,被自动加载并首先执行的对象。下列关于 Visual Basic“启动对象 “的描述中,错误的是 ( )。 ( A)启动对象可以是指定的标准模块 ( B)启动对象可以是指定的窗体 ( C)启动对象可以是 Sub Main过程 ( D)若没有经过设置,则默认的 “启动对象 “是第一个被创建的窗体 21 若要使文本框能够输入多行文本,应该设置的属性是 ( )。 ( A) MultiLine ( B) WordWrap ( C) ScrollBars ( D) AutoSize 22 以下关于命令按钮的叙述中正确的是 ( )。 ( A)命令按钮
8、上可以显示图片 ( B)命令按钮能够分别响应单击、双击事件 ( C)程序运行时,不能改变命令按钮上的文字 ( D)若命令按钮的 Cancel属性设为 True,焦点在其他控件上时,按下回车键与单击该按钮的效果相同 23 如果在框架中画了 2个复选框,且框架的 Enabled属性被设置为 False,2个复选框的 Enabled属性被设置为 True,则下面叙述中正确的是 ( )。 ( A) 2个复选框可用 ( B) 2个复选框不可用 ( C) 2个复选框不显示 ( D)上述都不对 24 设窗体上有 2个直线控件 Line1和 Line2,若使两条直线相连接,需满足的条件是 ( )。 ( A)
9、Line1.X1 Line2.X2 且 Line1.Y1 Line2.Y2 ( B) Line1.X1 Line2.Y1 且 Line1.Y1 Line2.X1 ( C) Line1.X2 Line2.X1 且 Line1.Y1 Line2.Y2 ( D) Line1.X2 Line2.X1 且 Line1.Y2 Line2.Y2 25 为了使文本框显示滚 动条,除要设置 ScrollBars外,还必须设置的属性是( )。 ( A) AutoSize ( B) Alignment ( C) Multiline ( D) MaxLength 26 在窗体上画一个通用对话框,其名称为 Common
10、Dialog1,则下列与CommonDialog1.ShowOpen方法等效的语句是 ( )。 ( A) CommonDialog1.Action 1 ( B) CommonDialog1.Action 2 ( C) CommonDialog1.Action 3 ( D) CommonDialog1.Action 4 27 已知图片框 Picture1中已装入一个图形,为了在不删除图片框的前提下,清除该图形,应采取的正确操作是 ( )。 ( A)在设计阶段选择图片框 Picture1,并按 Delete键 ( B)在运行期间执行语句 Picture1.Picture LoadPicture(“
11、) ( C)在运行期间执行语句 Picture1.Picture “ ( D)在设计阶段先选中图片框 Picture1,再在属性窗口中选择 Picture属性,最后按 Enter键 28 窗体上有 1个名 称为 Text1的文本框, 1个名称为 Timer1的计时器,且已在属性窗口将 Timer1的 Interval属性设置为 2000、 Enabled属性设置为 False。以下程序的功能是,单击窗体,则每隔 2秒钟在 Text1中显示一次当前时间。 Private Sub Form_Click() Timer1. End Sub Private Sub Timer1_Timer() Tex
12、t1.Text Time() End Sub 为了实现上述功能,应该在横线处填入的内容为 ( )。 ( A) Enabled True ( B) Enabled False ( C) Visible True ( D) Visible False 29 窗体上有一个名称为 CD1的通用对话框,一个名称为 Command1的命令按钮,相应的事件过程如下: Private Sub Command1_Click() CD1.Filter “All File|*.*|Text File|*.txt|Word|*.Doc“ CD1.FilterIndex 2 CD1.FileName “E: Test.
13、ppt“ CD1.InitDir “E: “ CD1.ShowOpen End Sub 关于上述程序,以下叙述中正确的是 ( )。 ( A)初始过滤器为 “*.*“ ( B)指定的初始目录为 “E: “ ( C)以上程序代码实现打开文件的操作 ( D)由于指定文件类型是 .ppt,所以导致打开文件的操作失败 30 编写如下程序: Private Sub Command1_Click() Dim i As Integer, j As Integer n InputBox(“输入一个大于 1的正整数 “) For i 2 To n For j 2 To Sqr(i) If i Mod j 0 Th
14、en Exit For Next j If jSqr(i)Then Print i Next i End Sub 该程序的功能是 ( )。 ( A)判断 n是否为素数 ( B)输出 n以内所有的奇数 ( C)输出 n以内所有的偶数 ( D)输出 n以内所有的素数 31 设有如下事件过程: Private Sub Command1_Click() For i 1 To 5 j i Do Print “*“ j j 1 Loop Until j 0 Next i End Sub 运行程序,输出 “*“的个数是 ( )。 ( A) 5 ( B) 15 ( C) 20 ( D) 25 32 设有如下事
15、件过程: Private Sub Command1_Click() Dim a a Array(3, 5, 6, 3, 2, 6, 5, 3, 5, 4, 3, 9, 4, 5, 6, 3, 5) x 0 n UBound(a) For i 0 To n m 0 For j 0 To n If a(i) a(j)Then m m 1 End If Next j If mx Then x m: b a(i) Next i Print b End Sub 运行程序,输出是 ( )。 ( A) 2 ( B) 3 ( C) 5 ( D) 9 33 窗体上有 1个名称为 Command1的命令按钮,事件
16、过程如下: Private Sub Command1_Click() m 3.6 If Sgn(m)Then n Int(m) Else n Abs(m) End If Print n End Sub 运行程序,并单击命令按钮,窗体上显示的内容为 ( )。 ( A) 4 ( B) 3 ( C) 3 ( D) 3.6 34 设有如下程序: Private Sub Form_Click() num InputBox(“请输入一个实数 “) p InStr(num, “.“) If p0 Then Print Mid(num, p 1) Else Print “END“ End If End Sub
17、 运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出“END“;否则 ( )。 ( A)用字符方式输出该实数 ( B)输出该实数的整数部分 ( C)输出该实数的小数部分 ( D)去掉实数中的小数点,保留所有数码输出 35 编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x InputBox(“输入第一个数 “) y InputBox(“输入第二个数 “) Call f(x, y) Print x, y End Sub Sub f(a As Integer, ByVal b As Int
18、eger) a a * 2 x a b b b 100 End Sub 程序运行后,单击命令按钮 Command1,并输入数值 10和 15,则输出结果为( )。 ( A) 10 115 ( B) 20 115 ( C) 35 15 ( D) 20 15 36 编写如下程序: Private Sub Command1_Click() Dim str1 As String, str2 As String str1 InputBox(“输入一个字符串 “) subf str1, str2 Print str2 End Sub Sub subf(s1 As String, s2 As String)
19、 Dim temp As String Static i As Integer i i 1 temp Mid(s1, i, 1) If temp“ “ Then st st & c Else n n 1 End If Next k ch st DelSpace n End Function 函数的功能是 ( )。 ( A)统计并返回字符串 ch中字符的个数 ( B)删除字符串 ch中的空格符,返回删除字符的个数 ( C)统计并返回字符串 ch中 非空格字符数 ( D)删除字符串 ch中除空格符外的其他字符,返回删除字 国家二级 VB机试(选择题)模拟试卷 37 答案与解析 一、选择题 1 【正
20、确答案】 B 【试题解析】 算法的效率与问题的规模和数据的存储结构都有关, A错误。算法的时间复杂度,是指执行算法所需要的计算工作量, B 正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的, C错误。算法的时间复杂度和空间复杂度没有直接的联系, D错误。 2 【正确答案】 C 【试题解析】 线性 表的顺序存储结构具备如下两个基本特征:( 1)线性表中的所有元素所占的存储空间是连续的;( 2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚
21、至是零散分布在内存中的任意位置上的。因此 C正确。 3 【正确答案】 D 【试题解析】 二叉树中,度为 0的节点数等于度为 2的节点数加 1,即 n2=n0-1,叶子节点即度为 0, n0=1,则 n2=0,总节点数为 12=n0+n1+n2=1+n1+0,则度为 1的节点数 n1=11,故深度为 12,选 D。 4 【正确答案】 D 【试题解析】 快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较 (n-1)+(n-2)+1=n(n -1)/2,选 D。 5 【正确答案】 C 【试题解析】 结构化程序设计中,要注意尽量避免 goto语句的使用,故选 C。 6 【正确答案】 B 【
22、试题解析】 软件测试主要包括单元测试、集成测试、确认测试和系统测试。 7 【正确答案】 A 【试题解析】 需求分析阶段的工作可概括为个方面: 需求获取。 需求分析。 编写需求规格说明书。 需求审评。 8 【正确答案】 C 【试题解析】 自然连接是一种特殊的等值连接,它满足下面的条件: 两关系间有公共域; 通过公共域的等值进行连接,选 C。 9 【正确答案】 B 【试题解析】 关系 T是关系 R的一部分,并且是关系 R去掉 R和 S 相同的元素,符合差操作。 10 【正确答案】 A 【试题解析】 由于职员可以再多加公司兼职,表 W的键(码)应为公司关系和职员关系的主码,即公司号和职员号。 11
23、【正确答案】 A 【试题解析】 VB 中系统只能检查出语 法错误,不能检查出逻辑错误。故选 A。 12 【正确答案】 B 【试题解析】 VB 中变量的命名规则为: 必须以字母或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB的保留字。变量名 sum a中有减号,不合法; print是 VB保留字,不能作变量名,不合法; 5avg不能以数字开头,不合法。故选 B。 13 【正确答案】 A 【试题解析】 任何变量在被声明后都会有一个初始值。一般情况下,数值型变量的初始值为 0;字符串变量的初始值为空字符串;变体型变量的初始值为空值,即Null 值;布尔型的初 始值为假,即 False。 本
24、题中变量 a定义时没有声明数据类型,默认为 Variant变体型变量,默认值是Null;变量 b定义为整型变量,默认值为 0。所以输出 a为空白, b为 0 。故 A选项错误。 14 【正确答案】 C 【试题解析】 控件数组是由类型相同的控件组成,具有相同的名称,用下标Index属性区分各数组元素,它们共用相同的事件过程。故 C选项错误。 15 【正确答案】 D 【试题解析】 运算符除 / 优先级高于整除、所以先计算 / ,再计算、结果是 1,故选 D。 16 【正确答案 】 C 【试题解析】 定义数组时,数组下标的上界 下界。故 C选项错误。 17 【正确答案】 D 【试题解析】 计算表达式
25、的值,先计算算术运算符,再计算关系运算符,然后计算逻辑运算符 (优先级从高到低为 Not And Or),最后结果为 Fasle。故 D选项正确。 18 【正确答案】 A 【试题解析】 当鼠标拖动控件到目标对象上,不松开鼠标时,触发目标对象的DragOver事件;松开鼠标时,就会触发目标对象的 DragDrop 事件。故选 A。 19 【正确答案】 A 【试题解析】 在 “编辑 “菜单中没有 “菜单编辑器 “命令。故 A选项错误。 20 【正确答案】 A 【试题解析】 VB 中启动对象可以是 Sub Main 过程或窗体,不能是标准模块。故 A选项错误。 21 【正确答案】 A 【试题解析】
26、文本框控件的 MultiLine属性如果设置为 False,则在文本框中只能输入单行文本;当设置为 True时,可以使用多行文本,即在文本框中输入或输出文本时可以换行,并在下一行接着输入或输出。 22 【正确答案】 A 【试题解析】 按钮控件的 Picture属性可以给命令按 钮指定一个图形。按钮的标题由属性 Caption设置,可以在程序中动态指定。当一个命令按钮的 Cancel属性被设置为 True时,按 ESC键与单击该命令按钮的作用相同。命令按钮能够响应单击事件,但不能响应双击事件。 23 【正确答案】 B 【试题解析】 对于框架来说,通常把 Enable属性设置为 True,这样才能
27、保证框架内的对象是 “活动 “的。如果把框架的 Enable属性设置为 False,则其标题变灰,其中的所有对象,包括文本框、命令按钮、复选框等其他对象都会被屏蔽,虽然显示但不可用。 24 【正确 答案】 A 【试题解析】 直线控件的 X1、 Y1和 X2、 Y2 属性分别表示直线两个端点的坐标,即 (X1, Y1)和 (X2, Y2)。如果要使两条直线相连,显然这两条直线的某一端点的坐标相同才行。因此本题需要 Line1.X1 Line2.X1且 Line1.Y1 Line2.Y1,或 Line1.X1 Line2.X2 且 Line1.Y1 Line2.Y2,或 Line1.X2 Line
28、2.X1且Line1.Y2 Line2.Y1,或 Line1.X2 Line2.X2 且 Line1.Y2 Line2.Y2。因此 A选项正确 。 25 【正确答案】 C 【试题解析】 为了使文本框显示滚动条,要将 ScrollBars 的值设置为非 0的 1、2或 3,还要设置 Multiline属性为 True。 26 【正确答案】 A 【试题解析】 通用对话框的属性 Action 1与 ShowOpen 方法等效,而 Action2则与 ShowSave等效。 27 【正确答案】 B 【试题解析】 如果图片框已装入了一个图形,在不删除图片框的前提下要想清除该图形有两种方法。一是在设计阶段
29、在图片框的属性窗口中删除图片框控件Picture属性行后边的 “(Bitmap)“,另一种方法是在程序运行阶段使用LoadPicture(“ “)装一个空文件,这样也能清除图形。 28 【正确答案】 A 【试题解析】 计时器控件的 Interval 属性设置为 2000,说明计时器事件发生的间隔是 2秒, Enable 属性设置为 False则说明计时器没有激活。根据程序功能,需要在单击窗体时激活计时器,即在窗体单击事件中设置计时器的 Enable属性值为True,即 Timer1.Enable True。 29 【正确答案】 B 【试题解析】 通用对话 框的 FilterIndex 属性值表
30、示默认的过滤器,值为 2表示初始过滤器为过滤器中的第 2个,即 “*.txt“。 InitDir属性表示打开对话框时的初始目录。 ShowOpen 方法表示显示打开文件对话框。打开文件通用对话框只是返回选中的文件,具体如何操作文件需要另行编程决定,因此不会导致文件打开失败。 30 【正确答案】 D 【试题解析】 假设输入 2、 4、 9进行验证,输入 2时程序会输出 2,输入 4时,程序会输出 2、 3,可见程序不是判断 n是否为素数,所以 A不对。由前面验证可知,程序也不是输出 n以内的所以奇数 或偶数,所以 B、 C也不对。如果输入 9时,程序会输出 2、 3、 5、 7,说明程序是输出
31、n 以内的所有素数,所以 D正确。 31 【正确答案】 B 【试题解析】 i 1时,输出 1个 *, i 2时,输出 2个 *, i 3时,输出 3个 *, i 4时输出 4个 *, i 5时输出 5个 *,因此总共输出 *的个数是 1 2 3 4 515。 32 【正确答案】 B 【试题解析】 本题程序中内层 For循环是统计具有相同值元素的个数,外层循环的功能则是,对数组中的所有元素进行统计,找出第 1个具有相同值的元素个数最多的那个元素值。 数组组中元素值为 3的元素有 5个,元素值为 5的元素有 5个,元素值为 6的元素为 3个,元素值为 2的元素有 1个,元素值为 4的元素有 1个,
32、元素值为 9的元素有 1个。因此第 1个具有相同元素值的最多个的元素值是3。 33 【正确答案】 A 【试题解析】 Sgn函数返回参数的符号,参数为负数时返回 1,为 0时,返回0,为正数时返回 1。所以 Sgn( 3.6)返回 1。 Visual Basic中把任何非 0值都认为是真,以 0表示假,因此 if 语句中将执行 n Int(m)语句。 Int函数返回不大于参数的最大整数, Int( 3.6)要返回小于 3.6的整数即是 4,因此 n 4。 34 【正确答案】 C 【试题解析】 InStr函数查找小数点在输入的实数中的位置,如果找不到将返回0。 Mid 函数一般有 3个参数,从第
33、2个参数指定的位置开始,在第 1个参数字符串中截取第 3个参数指定长度的字符,第 3个参数可以省略,这时就一直截取到字符串尾部。因此程序的意思就是如果输入的是实数 (p0即说明找到了小数点,是实数 )就输入该实数的小数部分,否则输出 “END“。因此选项 C正确。 35 【正确答案】 D 【试题解析】 程序中过程 f的参数 a默认为按址传递,参数 b指定按值传递,因此调用 f(x, y)时, x的值会受到影响, y的值不会。程序中输入 10 和 15,则 x10, y 15。调用 f(x, y),在过程中 a a*2,即 a 10*2=20,变量 x是过程 f 中的局部变量,没有用处可不用理会
34、, b=b+100,即 b=15+100=115。 a的值即按钮单击事件中变量 x的值,因此 x=20,而 y的值仍是原来的值 15,因此 Print x,y输出20 15。 36 【正确答案】 C 【试题解析】 程序中过程 subf的两个参数都默认按址传递,其内 部定义的变量 i为 Static即静态变量,在过程调用时它会保留上次的值。这个过程的功能是通过递归调用自己依次取出参数 1中即 s1中的字符连接在 s2的尾部,即使 s1的字符串倒序后存入 s2中。程序中输入了 abcdef,则输出结果为 fecdba。 37 【正确答案】 A 【试题解析】 过程 fun 的功能是将传入的值运算后返
35、回,当传入数值为 3的整数倍时返回该值的 2倍,否则返回该值的平方。过程 Fun 的参数指定为 ByRef 方式,即按址传递,因此会影响实参的值。 Str函数是将数值转换为字符串。过程fun定义时没有指明 返回类型因此默认为 Variant类型,它可以表示任何值,因此A)选项的说法不正确。 38 【正确答案】 D 【试题解析】 程序中菜单 Mnu1是一个控件数组,它们以 Index 属性值作为数组下标来区分各元素。在菜单单击事件中, Flag值为真时,显示 Form2,同时把索引为 1的菜单项标题改为 “隐藏窗体 2“,然后把 Flag标志设为假;当 Flag值为假时,隐藏 Form2,同时把
36、索引为 1的菜单项标题改为 “显示窗体 2“,然后把 Flag标志设为真。窗体 Hide方法,只是将窗体隐藏,并没有从内容中卸载。因此 D选项错 。 39 【正确答案】 A 【试题解析】 过程 toascii 的功能是依次取出传入字符串中的每个字符,用 Asc函数将这个字符转换为相应的 ASCII码值,通过 For循环将这些值累加。累加值由过程名返回。 Click事件中以顺序输入方式打开 file.txt文件,即以读取方式打开文件。 While循环的结束条件是到达文件尾部,在循环体中, Line Input #语句读取文件中的一行数据存入变量 ch 中,然后以 ch 为参数调用过程 toascii,即计算这一行字符中所有字符的 ASCII码值的和,返回值赋给变量 ascii,在窗体上输出ascii的值。所以 While循环结束时,将在窗体上显示输出 file.txt中每一行数据的ASCII码值的和。因此答案为 A。 40 【正确答案】 B 【试题解析】 过程中对传入的字符串的字符一个个取出,判断如果不是空格则依次连接到一个字符串变量中,如果是空格则计数加 1。最后,返回不包含空格的字符串和空格的个数。因此选项 B 正确。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1