1、国家二级 VB 机试(选择题)-试卷 11 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关2.下列叙述中正确的是(分数:2.00)A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D.以上说法均错误3.
2、某二叉树共有 12 个结点,其中叶子结点只有 1 个。则该二叉树的深度为(根结点在第 1 层)(分数:2.00)A.3B.6C.8D.124.对长度为 n 的线性表作快速排序,在最坏情况下,比较次数为(分数:2.00)A.nB.n-1C.n(n-1)D.n(n-1)/25.结构化程序设计中,下面对 goto 语句使用描述正确的是(分数:2.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句D.以上说法均错误6.下面不属于软件测试实施步骤的是(分数:2.00)A.集成测试B.回归测试C.确认测试D.单元测试7.下面不属于软件需求分析阶段主要工作的是
3、(分数:2.00)A.需求变更申请B.需求分析C.需求评审D.需求获取8.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的(分数:2.00)A.记录B.行C.属性D.元组9. (分数:2.00)A.选择B.差C.交D.并10.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司 C(公司号,公司名,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W 的键(码)为(分数:2.00)A.公司号,职员号B.职员号,工资C.职员号D.公司号,职员号,工资11.在 Visual B
4、asic 环境下设计应用程序时,系统能自动检查出的错误是( )。(分数:2.00)A.语法错误B.逻辑错误C.逻辑错误和语法错误D.运行错误12.下列合法的变量名是( )。(分数:2.00)A.sumaB.num_9C.print$D.5avg13.有如下语句序列: Dim a, b As Integer Print a Print b 执行以上语句序列,下列叙述中错误的是( )。(分数:2.00)A.输出的 a 值是 0B.输出的 b 值是 0C.a 是变体类型变量D.b 是整型变量14.以下关于控件数组的叙述中,错误的是( )。(分数:2.00)A.各数组元素共用相同的事件过程B.各数组元
5、素通过下标进行区别C.数组可以由不同类型的控件构成D.各数组元素具有相同的名称15.表达式 12 / 2/4 的值是( )。(分数:2.00)A.1.5B.2C.4D.116.下列数组定义中错误的是( )。(分数:2.00)A.Dim a(5 To3)B.Dim a(3 To 5)C.Dim a(3 To5)D.Dim a(3 To 3)17.设 a2, b3, c4, d5, 表达式 Not aSqr(i)Then Print i Next iEnd Sub 该程序的功能是( )。(分数:2.00)A.判断 n 是否为素数B.输出 n 以内所有的奇数C.输出 n 以内所有的偶数D.输出 n
6、以内所有的素数31.设有如下事件过程:Private Sub Command1_Click() For i1 To 5 ji Do Print “*“ jj1 Loop Until j0 Next iEnd Sub 运行程序,输出“*“的个数是( )。(分数:2.00)A.5B.15C.20D.2532.设有如下事件过程:Private Sub Command1_Click() Dim a aArray(3, 5, 6, 3, 2, 6, 5, 3, 5, 4, 3, 9, 4, 5, 6, 3, 5) x0 nUBound(a) For i0 To n m0 For j0 To n If a
7、(i)a(j)Then mm1 End If Next j If mx Then xm: ba(i) Next i Print bEnd Sub 运行程序,输出是( )。(分数:2.00)A.2B.3C.5D.933.窗体上有 1 个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click() m3.6 If Sgn(m)Then nInt(m) Else nAbs(m) End If Print nEnd Sub 运行程序,并单击命令按钮,窗体上显示的内容为( )。(分数:2.00)A.4B.3C.3D.3.634.设有如下程序:Private
8、 Sub Form_Click() numInputBox(“请输入一个实数“) pInStr(num, “.“) If p0 Then Print Mid(num, p1) Else Print “END“ End IfEnd Sub 运行程序,单击窗体,根据提示输入一个数值。如果输入的不是实数,则程序输出“END“;否则( )。(分数:2.00)A.用字符方式输出该实数B.输出该实数的整数部分C.输出该实数的小数部分D.去掉实数中的小数点,保留所有数码输出35.编写如下程序:Private Sub Command1_Click() Dim x As Integer, y As Intege
9、r xInputBox(“输入第一个数“) yInputBox(“输入第二个数“) Call f(x, y) Print x, yEnd SubSub f(a As Integer, ByVal b As Integer) aa * 2 xab bb100End Sub程序运行后,单击命令按钮 Command1,并输入数值 10 和 15,则输出结果为( )。(分数:2.00)A.10 115B.20 115C.35 15D.20 1536.编写如下程序: Private Sub Command1_Click() Dim str1 As String, str2 As String str1I
10、nputBox(“输入一个字符串“) subf str1, str2 Print str2 End Sub Sub subf(s1 As String, s2 As String) Dim temp As String Static i As Integer ii1 tempMid(s1, i, 1) If temp“ “ Then stst & c Else nn1 End If Next k chst DelSpacen End Function 函数的功能是( )。(分数:2.00)A.统计并返回字符串 ch 中字符的个数B.删除字符串 ch 中的空格符,返回删除字符的个数C.统计并返回
11、字符串 ch 中非空格字符数D.删除字符串 ch 中除空格符外的其他字符,返回删除字国家二级 VB 机试(选择题)-试卷 11 答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是(分数:2.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量 C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关解析:解析:算法的效率与问题的规模和数据的存储结构都有关,A 错误。算法的时间复杂度,是指执行算法所需要的计算工作量,B 正确。由于数据元素在计算机存
12、储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的,C 错误。算法的时间复杂度和空间复杂度没有直接的联系,D 错误。2.下列叙述中正确的是(分数:2.00)A.线性表链式存储结构的存储空间一般要少于顺序存储结构B.线性表链式存储结构与顺序存储结构的存储空间都是连续的C.线性表链式存储结构的存储空间可以是连续的,也可以是不连续的 D.以上说法均错误解析:解析:线性表的顺序存储结构具备如下两个基本特征:(1)线性表中的所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可
13、以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此 C 正确。3.某二叉树共有 12 个结点,其中叶子结点只有 1 个。则该二叉树的深度为(根结点在第 1 层)(分数:2.00)A.3B.6C.8D.12 解析:解析:二叉树中,度为 0 的节点数等于度为 2 的节点数加 1,即 n2=n0-1,叶子节点即度为0,n0=1,则 n2=0,总节点数为 12=n0+n1+n2=1+n1+0,则度为 1 的节点数 n1=11,故深度为 12,选 D。4.对长度为 n 的线性表作快速排序,在最坏情况下,比较次数为(分数:2.00)A.nB.n-1C.n(n-1)D.n(n-1)/2
14、 解析:解析:快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较(n-1)+(n-2)+1=n(n-1)/2,选 D。5.结构化程序设计中,下面对 goto 语句使用描述正确的是(分数:2.00)A.禁止使用 goto 语句B.使用 goto 语句程序效率高C.应避免滥用 goto 语句 D.以上说法均错误解析:解析:结构化程序设计中,要注意尽量避免 goto 语句的使用,故选 C。6.下面不属于软件测试实施步骤的是(分数:2.00)A.集成测试B.回归测试 C.确认测试D.单元测试解析:解析:软件测试主要包括单元测试、集成测试、确认测试和系统测试。7.下面不属于软件需求分析阶段主
15、要工作的是(分数:2.00)A.需求变更申请 B.需求分析C.需求评审D.需求获取解析:解析:需求分析阶段的工作可概括为个方面:需求获取。需求分析。编写需求规格说明书。需求审评。8.一般情况下,当对关系 R 和 S 进行自然连接时,要求 R 和 S 含有一个或者多个共有的(分数:2.00)A.记录B.行C.属性 D.元组解析:解析:自然连接是一种特殊的等值连接,它满足下面的条件:两关系间有公共域;通过公共域的等值进行连接,选 C。9. (分数:2.00)A.选择B.差 C.交D.并解析:解析:关系 T 是关系 R 的一部分,并且是关系 R 去掉 R 和 S 相同的元素,符合差操作。10.有表示
16、公司和职员及工作的三张表,职员可在多家公司兼职。其中公司 C(公司号,公司名,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W 的键(码)为(分数:2.00)A.公司号,职员号 B.职员号,工资C.职员号D.公司号,职员号,工资解析:解析:由于职员可以再多加公司兼职,表 W 的键(码)应为公司关系和职员关系的主码,即公司号和职员号。11.在 Visual Basic 环境下设计应用程序时,系统能自动检查出的错误是( )。(分数:2.00)A.语法错误 B.逻辑错误C.逻辑错误和语法错误D.运行错误解析:解析:VB 中系统
17、只能检查出语法错误,不能检查出逻辑错误。故选 A。12.下列合法的变量名是( )。(分数:2.00)A.sumaB.num_9 C.print$D.5avg解析:解析:VB 中变量的命名规则为:必须以字母或汉字开头由字母、汉字、数字或下划线组成不能使用 VB 的保留字。变量名 suma 中有减号,不合法;print 是 VB 保留字,不能作变量名,不合法;5avg 不能以数字开头,不合法。故选 B。13.有如下语句序列: Dim a, b As Integer Print a Print b 执行以上语句序列,下列叙述中错误的是( )。(分数:2.00)A.输出的 a 值是 0 B.输出的 b
18、 值是 0C.a 是变体类型变量D.b 是整型变量解析:解析:任何变量在被声明后都会有一个初始值。一般情况下,数值型变量的初始值为 0;字符串变量的初始值为空字符串;变体型变量的初始值为空值,即 Null 值;布尔型的初始值为假,即 False。 本题中变量 a 定义时没有声明数据类型,默认为 Variant 变体型变量,默认值是 Null;变量 b 定义为整型变量,默认值为 0。所以输出 a 为空白,b 为 0 。故 A 选项错误。14.以下关于控件数组的叙述中,错误的是( )。(分数:2.00)A.各数组元素共用相同的事件过程B.各数组元素通过下标进行区别C.数组可以由不同类型的控件构成
19、D.各数组元素具有相同的名称解析:解析:控件数组是由类型相同的控件组成,具有相同的名称,用下标 Index 属性区分各数组元素,它们共用相同的事件过程。故 C 选项错误。15.表达式 12 / 2/4 的值是( )。(分数:2.00)A.1.5B.2C.4D.1 解析:解析:运算符除 / 优先级高于整除、所以先计算/ ,再计算、结果是 1,故选 D。16.下列数组定义中错误的是( )。(分数:2.00)A.Dim a(5 To3)B.Dim a(3 To 5)C.Dim a(3 To5) D.Dim a(3 To 3)解析:解析:定义数组时,数组下标的上界下界。故 C 选项错误。17.设 a2
20、, b3, c4, d5, 表达式 Not aSqr(i)Then Print i Next iEnd Sub 该程序的功能是( )。(分数:2.00)A.判断 n 是否为素数B.输出 n 以内所有的奇数C.输出 n 以内所有的偶数D.输出 n 以内所有的素数 解析:解析:假设输入 2、4、9 进行验证,输入 2 时程序会输出 2,输入 4 时,程序会输出 2、3,可见程序不是判断 n 是否为素数,所以 A 不对。由前面验证可知,程序也不是输出 n 以内的所以奇数或偶数,所以 B、C 也不对。如果输入 9 时,程序会输出 2、3、5、7,说明程序是输出 n 以内的所有素数,所以 D 正确。31
21、.设有如下事件过程:Private Sub Command1_Click() For i1 To 5 ji Do Print “*“ jj1 Loop Until j0 Next iEnd Sub 运行程序,输出“*“的个数是( )。(分数:2.00)A.5B.15 C.20D.25解析:解析:i1 时,输出 1 个*,i2 时,输出 2 个*,i3 时,输出 3 个*,i4 时输出 4 个*,i5 时输出 5 个*,因此总共输出*的个数是 1234515。32.设有如下事件过程:Private Sub Command1_Click() Dim a aArray(3, 5, 6, 3, 2,
22、6, 5, 3, 5, 4, 3, 9, 4, 5, 6, 3, 5) x0 nUBound(a) For i0 To n m0 For j0 To n If a(i)a(j)Then mm1 End If Next j If mx Then xm: ba(i) Next i Print bEnd Sub 运行程序,输出是( )。(分数:2.00)A.2B.3 C.5D.9解析:解析:本题程序中内层 For 循环是统计具有相同值元素的个数,外层循环的功能则是,对数组中的所有元素进行统计,找出第 1 个具有相同值的元素个数最多的那个元素值。数组组中元素值为 3 的元素有5 个,元素值为 5 的元
23、素有 5 个,元素值为 6 的元素为 3 个,元素值为 2 的元素有 1 个,元素值为 4 的元素有 1 个,元素值为 9 的元素有 1 个。因此第 1 个具有相同元素值的最多个的元素值是 3。33.窗体上有 1 个名称为 Command1 的命令按钮,事件过程如下:Private Sub Command1_Click() m3.6 If Sgn(m)Then nInt(m) Else nAbs(m) End If Print nEnd Sub 运行程序,并单击命令按钮,窗体上显示的内容为( )。(分数:2.00)A.4 B.3C.3D.3.6解析:解析:Sgn 函数返回参数的符号,参数为负数
24、时返回1,为 0 时,返回 0,为正数时返回 1。所以Sgn(3.6)返回1。Visual Basic 中把任何非 0 值都认为是真,以 0 表示假,因此 if 语句中将执行nInt(m)语句。Int 函数返回不大于参数的最大整数,Int(3.6)要返回小于3.6 的整数即是4,因此 n4。34.设有如下程序:Private Sub Form_Click() numInputBox(“请输入一个实数“) pInStr(num, “.“) If p0 Then Print Mid(num, p1) Else Print “END“ End IfEnd Sub 运行程序,单击窗体,根据提示输入一个
25、数值。如果输入的不是实数,则程序输出“END“;否则( )。(分数:2.00)A.用字符方式输出该实数B.输出该实数的整数部分C.输出该实数的小数部分 D.去掉实数中的小数点,保留所有数码输出解析:解析:InStr 函数查找小数点在输入的实数中的位置,如果找不到将返回 0。Mid 函数一般有 3 个参数,从第 2 个参数指定的位置开始,在第 1 个参数字符串中截取第 3 个参数指定长度的字符,第 3 个参数可以省略,这时就一直截取到字符串尾部。因此程序的意思就是如果输入的是实数(p0 即说明找到了小数点,是实数)就输入该实数的小数部分,否则输出“END“。因此选项 C 正确。35.编写如下程序
26、:Private Sub Command1_Click() Dim x As Integer, y As Integer xInputBox(“输入第一个数“) yInputBox(“输入第二个数“) Call f(x, y) Print x, yEnd SubSub f(a As Integer, ByVal b As Integer) aa * 2 xab bb100End Sub程序运行后,单击命令按钮 Command1,并输入数值 10 和 15,则输出结果为( )。(分数:2.00)A.10 115B.20 115C.35 15D.20 15 解析:解析:程序中过程 f 的参数 a
27、默认为按址传递,参数 b 指定按值传递,因此调用 f(x, y)时,x 的值会受到影响,y 的值不会。程序中输入 10 和 15,则 x10,y15。调用 f(x, y),在过程中aa*2,即 a10*2=20,变量 x 是过程 f 中的局部变量,没有用处可不用理会,b=b+100,即b=15+100=115。a 的值即按钮单击事件中变量 x 的值,因此 x=20,而 y 的值仍是原来的值 15,因此 Print x,y 输出 20 15。36.编写如下程序: Private Sub Command1_Click() Dim str1 As String, str2 As String str
28、1InputBox(“输入一个字符串“) subf str1, str2 Print str2 End Sub Sub subf(s1 As String, s2 As String) Dim temp As String Static i As Integer ii1 tempMid(s1, i, 1) If temp“ “ Then stst & c Else nn1 End If Next k chst DelSpacen End Function 函数的功能是( )。(分数:2.00)A.统计并返回字符串 ch 中字符的个数B.删除字符串 ch 中的空格符,返回删除字符的个数 C.统计并返回字符串 ch 中非空格字符数D.删除字符串 ch 中除空格符外的其他字符,返回删除字解析:解析:过程中对传入的字符串的字符一个个取出,判断如果不是空格则依次连接到一个字符串变量中,如果是空格则计数加 1。最后,返回不包含空格的字符串和空格的个数。因此选项 B 正确。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1