[计算机类试卷]国家二级VB机试(控制结构)模拟试卷18及答案与解析.doc

上传人:twoload295 文档编号:500014 上传时间:2018-11-30 格式:DOC 页数:22 大小:56.50KB
下载 相关 举报
[计算机类试卷]国家二级VB机试(控制结构)模拟试卷18及答案与解析.doc_第1页
第1页 / 共22页
[计算机类试卷]国家二级VB机试(控制结构)模拟试卷18及答案与解析.doc_第2页
第2页 / 共22页
[计算机类试卷]国家二级VB机试(控制结构)模拟试卷18及答案与解析.doc_第3页
第3页 / 共22页
[计算机类试卷]国家二级VB机试(控制结构)模拟试卷18及答案与解析.doc_第4页
第4页 / 共22页
[计算机类试卷]国家二级VB机试(控制结构)模拟试卷18及答案与解析.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、国家二级 VB机试(控制结构)模拟试卷 18及答案与解析 一、选择题 1 在下面语句或函数中,不能描述选择结构的是 ( )。 ( A) If语句 ( B) If函数 ( C) Select Case语句 ( D) While语句 2 编写如下程序: Private Sub CommandlClick() Dim a As Integer, b As Integer a=3 b=2 If a*b 10 Then b=b+1 Else b=b l Print ba 0 End Sub 程序运行后,单击命令 按钮 Command1,输出结果为 ( )。 ( A) True ( B) False (

2、C) 1 ( D)一 1 3 编写如下程序: Private Sub CommandlClick() Dim score As Integer score=86 If score85 Then r=1 ElseIf score60 Then r=2 Else r=0 End If Print r EndSub 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 86 4 窗体上有 1个名称为 Command1的命令按钮,事件过程如下: Private Sub Command1Click() Dim Hum As Integer,

3、 x As Integer Bum=Val(InputBox(“请输入一个正整数 ”) Select Case Bum Case Is 100 x=x+num Case Is 90 x=num Case Else x=x* num End Select Print x; End Sub 运行程序,并在三次单击命令按钮时,分别输入正 整数 100、 90和 60,则窗体上显示的内容为 ( )。 ( A) 0 0 0 ( B) 0 0 60 ( C) 0 90 0 ( D) 100 0 60 5 有如下程序: Private Sub FormClick() Dim i As Integer, n

4、As Integer For i=1 T0 20 i=i+4 n=n+i If i 10 Then Exit For Next Print n End Sub 程序运行后,单击窗体,则输出结果是 ( )。 ( A) 14 ( B) 15 ( C) 29 ( D) 30 6 窗体上有一个名称为 Commandl的命令按钮,编写如下事件过程: Private Sub CommandlClick() i=0 Do While iMid(S, Len(S)一 i+1, 1)Then Pdnt“No” Exit Sub End If Next i Print“Yes” End Sub 运行程序 !单击窗

5、体,在输入对话框中输入 abcscba,则输出结果为 ( )。 ( A) abc ( B) Yes ( C) cba ( D) No 12 有下面程序代码: Private Sub Command l Click() For k: 5 To 1 Step1 X=k+x*10 Next k Print x End Sub 程序运行后,单击命令按钮 Commandl,输出结果是 ( )。 ( A) 12345 ( B) 54321 ( C) 15 ( D) 150 13 有下面程序代码: Private Sub CommandlClick() a=3 s=0 For k=1 To 5 s=s+a

6、Mod k a=a+k Next k Print s End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( )。 ( A) 15 ( B) 13 ( C) 4 ( D) 1 14 有下面程序代码: Private Sub Command1Click() Dim sign As Integer sign=1 a=1 b=2 For k=1 To 5 c=a+sign*b a=b b=c; Print c; sign=一 sign Next k End Sub 程序运行后,单击命令按钮 Commandl,输出结果是 ( )。 ( A) 3 一 1 2 3 1 ( B) 3 5

7、 8 13 21 ( C)一 1 1 2 1 1 ( D) 3 4 5 6 7 15 有下面程序代码: Private Sub CommandlClick() a=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 1 0) n=UBound(a) For k=0 To UBound(a) 2 Print a(k)*a(n); n=n1 Next k End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( )。 ( A) 2 6 12 20 30 ( B) 2 12 20 56 90 ( C) 30 28 24 18 10 ( D) 10 18 24 28 3

8、0 16 编写如下程序: Private Sub CommandlClick() Dim a(10)As String s=“123456” n=Len(s) For k=1 To n a(k)=Mid(s, k, 1) Next k For i=1 To n 2 t=a(i) a(i)=a(n一 i+1) a(ni+1)=t Next i For k=1 To 11 Print a(k); Next k End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 654321 ( B) 123456 ( C) 654123 ( D) 123654 17 窗体上

9、有一个名称为 Commandl的命令按钮,其单击事件过程如下: Private Sub Command1Click() Dim s As Double s=0: i=1 Do Wbile i6 s=s+i (i+1) i=i+1 Loop Print s End Sub 该事件过程的功能是计算一个表达式的值,该表达式是 ( )。 ( A) l+1 2+2 3+3 4+4 5 ( B) l+1 2+2 3+3 4+4 5+5 6 ( C) 1 2+2 3+3 4+4 5 ( D) 1 2+2 3+3 4+4 5+5 6 18 设有如下事件过程: Private Sub FormClick() x

10、=0 While x 10 x=x + 1 x=x*x Wend Print x End Sub 运行程序,单击窗体,输出结果是 ( )。 ( A) 16 ( B) 19 ( C) 20 ( D) 25 19 vate Sub CommandlClick() Dim m As Integer,n As Integer m=1: n=0 Do While m20 n=m+n m=3*m+1 Loop Print m, n End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 40 18 ( B) 40 19 ( C) 20 64 ( D) 21 64 20

11、以下关于数组的叙述中,错误的是 ( )。 ( A) Variant类型的数组中各数组元素的类型可以不同 ( B)各数组元素可以是不同类型的控件 ( C)各数组元素通过下标进行区别 ( D)各数组元素具有相同的名称 21 设有如下声明语句 Option Base 1 Dim arr(2,一 1 To 5)As Integer 则数组 arr中数组元素的个数是 ( )。 ( A) 10 ( B) 12 ( C) 14 ( D) 21 22 窗体上有名称为 Command1的 命令按钮,其事件过程如下: Option Base 1 Private Sub Command1Click() Dim a

12、Dim b(10)As Integer a=Array(2, 4, 7, 3, 9, 6) For i=LBound(a)To UBound(a) b(i)=a(i)+i Sum=Sum+b(i) Next i Print Sum End Sub 运行程序,单击命令按钮时,窗体上显示的是 ( )。 ( A) 44 ( B) 46 ( C) 50 ( D) 52 23 下列数组定义中错误的是 ( )。 ( A) Dim a(一 5 To一 3) ( B) Dim a(3 To 5) ( C) Dim a(一 3 Tb一 5) ( D) Dim a(一 3 Tb 3) 24 以下叙述中错误的是 (

13、 )。 ( A)用 ReDim语句可以改变数组的维数 ( B)用 ReDim语句可以改变数组的类型 ( C)用 ReDim语句可以改变数组每一维的大小 ( D)用 ReDim语句可以对数组中的所有元素置 0或空字符串 25 设有下面 的程序段: X=InputBox(“请输入一个整数 ”) ReDim a(x) For k=x To 0 Step一 1 a(k)=k Next k 一般,在这段程序之前应先进行数组 a的定义。下面定义语句中正确的是 ( )。 ( A) Dim a(100)As Integer ( B) Dim a()As Integer ( C) Dim a As Intege

14、r ( D) Dim a(0 To 100)As Integer 26 在窗体上画一个命令按钮 (其 Name属性为 Commandl),然后编写如下代码: Private Sub Commandl ()_Click Dim n()As Integer Dim a, b As Integer a=InputBox(“Enter the first number”) b=InputBox(“Enter the second number”) ReDim n(a To b) For k=LBound(n)To UBound(n) n(k)=k Print n(k); Next k End Sub

15、程序运行后,单击命令按钮,在输入对话框中分别输入 2和 3,输出结果为 ( )。 ( A) 1 2 ( B) 2 3 ( C) 3 4 ( D) 4 5 27 在窗体上画一个命令按钮和一个标签,其名称分别为 Command1和 Labell,然后编写如下事件过程: Private Sub CommandlClick() Dim arr(10) For i=6 To 10 art(i)=i一 5 Next i Labell Caption=arr(0)+arr(alT(10) arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是 ( )。 ( A) 0 ( B) 1 ( C)

16、 2 ( D) 3 28 如果要在语句: a=Array(1, 2, 3, 4, 5) 的前面声明变量 a,则正确的声明是( )。 ( A) Dim a(4)As Integer ( B) Dim a(5)As Variant ( C) Dim a(1 To 5)As Integer ( D) Dim a As Variant 29 以下关于控件数组的叙述中,错误的是 ( )。 ( A)各数组元素共用相同的事件过程 ( B)各数组元素通过下标进行区别 ( C)数组可以由不同类型的控件构成 ( D)各数组元素具有相同的名称 30 下面关于控件数组的叙述中正确的是 ( )。 ( A)控件数组中所有

17、控件的名称相同,但其 Index属性值各不相同 ( B)控件数组中所有控件的名称相同,但其 Value属性值各不相同 ( C)控件数组中每个元素都是独立的控件,因此都有各自的事件过程 ( D)上述都是错误的 31 下列关于控件数组的叙述中,正确的是 ( )。 ( A)控件数组可以由不同类型的控件组成 ( B)控件数组元素的最小下标值为 1 ( C)在设计阶段,可以改变控件数组元素的 Index属性值 ( D)控件数组的名字由 Caption属性指定 国家二级 VB机试(控制结构)模拟试卷 18答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 While语句不能描述选择结构。 【知识模

18、块】 Visual Basic控制结构 2 【正确答案】 B 【试 题解析】 IfElse 语句对 b进行操作。 a*b=6, 10,所以执行 b=b+1=3。Print语句中, b a=0,条件为假。选 B)。 【知识模块】 Visual Basic控制结构 3 【正确答案】 B 【试题解析】 本题考查 IfElse IfElseEnd If 语句。条件判断成立则执行对应分支的语句。 86 85,所以 r=1。选 B)。 【知识模块】 Visual Basic控制结构 4 【正确答案】 B 【试题解析】 按钮事件中变量 x为过程局部变量,第 1次输入 100时 , Select语句执行 Ca

19、se Else分支 x=x*num=0*100=0。第二次输入 90时, Select语句执行Case Else分支 x=x*num=0*90=0。第三次输入 60时 Select语句执行 Case Is 90分支 x=num=60。因此窗体上显示为 0 0 60。 【知识模块】 Visual Basic控制结构 5 【正确答案】 D 【试题解析】 程序中 For循环中的 If语句判断循环变量 i值如果大于 10则退出循环。各次循环变量值变化如下: i=1时, i=i+4=1+4=5, n=n+i=0+5=5,此时 i=5, i 10不成立, i加 1转入下次循环。 i=6时, i=i+4=6

20、+4=10, n=n+i=5+10=15,此时, i=10, i 10不成立, i加 1转入下次循环。 i=11时, i=i+4=1 1+4=15, n=n+i=15+15=30,此时, i=15, i 10成立,退出循环。此时 n=30。 【知识模块】 Visual Basic控制结构 6 【正确答案】 B 【试题解析】 For循环中, i大于等于 1时执行循环 n=+1,共执行 5次,即 i从 1累加至 5, n的值从 1最终累加到 15。 【知识模块】 Visual Basic控制结构 7 【正确答案】 D 【试题解析】 For循环对数组 Arr的第 6个到第 10个元素赋值。 Arr(

21、6)=3;Arr(10)=7;因此,输出结果是 10。选 D)。 【知识模块】 Visual Basic控制结构 8 【正确答案】 D 【试题解析】 第一个 For循环给数组 Arr赋值。第二个 For循环打印数组各元素的值。在第一个 For循环中,数组的下标用变量 i表示,上标用变量 j表示。IfElse 语句对两种情况进行判断,在 i等于 j的时候 或者 i和 j满足 j=3一 i+1关系的时候, Arr数组元素被赋值为 1,其他情况被赋值为 0。可以根据循环语句的执行,代入各变量值算得各元素的值。选 D)。 【知识模块】 Visual Basic控制结构 9 【正确答案】 D 【试题解析

22、】 Visual Basic支持的循环结构不包括 D0End Do 。 【知识模块】 Visual Basic控制结构 10 【正确答案】 C 【试题解析】 For循环实现 1到 10的累加,结束循环后 Sum=55。选 c)。 【知识模块】 Visual Basic控制结构 11 【正确答案】 B 【试题解析】 程序实现从输入的字符串中查找前半截和后半截中不同的字符,找到后打印 No,并退出过程。如果没有找到,则打印 Yes。题目中输入字符串abcscba,则 Len(s)=7, For循环的上限是 Len(S) 2=3,代入循环变量,当 i=1时Mid(s, i, 1)=a, Mid(S,

23、 Len(S)一 i+1, 1)=a,以此类推,每个字符都相等。选B)。 【知识模块】 Visual Basic控制结构 12 【正确答案】 B 【试题解析】 For循环用来对 x赋值。步长为一 1,一共执行 5次,第一次执行完后 x=5,第二次执行完后 x=54,以此类推,选 B)。 【知识模块】 Visual Basic控制结构 13 【正确答案】 C 【试题解析】 Mod为求余函数。 For循环执行 5次。第一次执行时 a Mod k的值为 0,则 s=0, a=4;循环继续直到 k=5退出。分步计算可得最后 s=4,选 C)。 【知识模块】 Visual Basic控制结构 14 【正

24、确答案】 A 【试题解析】 For循环执行 5次,按公式计算可得,结果选 A)。 【知识模块】 Visual Basic控制结构 15 【正确答案】 D 【试题解析】 UBound获取数组 a的上标值, n=9。 For循环边界为 0至 4。每次执行 For的循环体时均会进行打印。选 D)。 【知识模块】 Visual Basic控制结构 16 【正确答案】 A 【试题解析】 第一个 For循环从字符串 s中提取数字,赋值给数组 a的元素。第二个 For循环对数组 a中的元素实现倒序排列。第三个 For循环实现打印。选A)。 【知识模块】 Visual Basic控制结构 17 【正确答案】

25、D 【试题解析】 WhileLoop 循环。 i初值为 1,把 i值代入 i (i+1)语句可得公式为 1 2+2 3+3 4+4 5+5 6,选 D)。 【知识模块】 Visual Basic控制结构 18 【正确答案】 D 【试题解析】 WhileWend 语句只要指定的条件为 True,则会重复执行一系列的语句。程序中口要满足 x 10的条件循环就一直执行。当 x=4时,执行完循环体内容后 x=25,条件为 False,退出,打印选 D)。 【知识模块】 Visual Basic控制结构 19 【正确答案】 A 【试题解析】 循环中各变量值变化如下: n=m+n=1+0=1, m=3*m

26、+1=3+1=4, 4小于 20继续循环; n=m+n=4+1=5, m=3*m+1=12+1=13, 13小于 20继续循环; n=m+n=13+5=18, m=3*m+1=39+l=40, 40不小于 20,循环结束。此时 m=40,n=18。 【知识模块】 Visual Basic控制结构 20 【正确答案】 B 【试题解析】 控件数组是由一组相同类型的控件组成。它们共用一个控件 名,绝大部分的属性也相同,但 Index属性的值不同。当建立控件数组时,系统给每个元素赋一个唯一的索引号 (Index),通过属性窗口的 Index属性,可以知道该控件的下标是多少,第 1个元素下标是 0。 【

27、知识模块】 Visual Basic控制结构 21 【正确答案】 C 【试题解析】 程序中语句 Option Base 1表示定义数组下标从 1开始。但如果显式指定了数组的下标范围则不受此限制。第一维的下标从 1到 2,第二维的下标从一 1到 5,所以数组元素个数为 14。 【知识模块】 Visual Basic控制结构 22 【正确答案】 D 【试题解析】 不同维数的数组缺省下界都是 0或 1,这取决于 Option Base语句的设置。本题中有语句 Option Base 1,所以 LBound(A)=1, UBound(A)=6; For循环进行求和计算,结果为 52,选 D)。 【知识

28、模块】 Visual Basic控制结构 23 【正确答案】 C 【试题解析】 定义数组时,数组下标的上界 =下界。故 C选项错误。 【知识模块】 Visual Basic控制结构 24 【正确答案】 B 【试题解析】 ReDim语句无法更改数组变量的数据类型。 【知识模块】 Visual Basic控制结构 25 【正确答案】 B 【试题解析】 在 VB中定义动态数组通常分两步:首先在窗体层或标准模块中用Dim、 Private或 Pub lic声明一个没有下标的数组 (括号不能省略 ),然后在过程中用 ReDim语句定义带下标的数组。根据题意,选项 B)正确。 【知识模块】 Visual

29、Basic控制结构 26 【正确答案】 B 【试题解析】 输入 2和 3后, n被重新定义,下 标为 2,上标为 3。 For循环执行2次, k=2和 k=3。因此选 B)。 【知识模块】 Visual Basic控制结构 27 【正确答案】 A 【试题解析】 程序为使用 For语句为数组中部分元素赋值,没显示赋值的数组元素的值默认为 0,因此 a T(0)=0, arr(10)=10 5=5, a T(6)=6 5=1,arr(arr(10) arr(6)即, arr(5 1)=arr(5)=0, arr(0)+arr(5)=0+0=0。因此标签中显示为 0。 【知识模块】 Visual B

30、asic控制 结构 28 【正确答案】 D 【试题解析】 Array函数只能初始化变体类型变量数组,所以选项 D)正确。 【知识模块】 Visual Basic控制结构 29 【正确答案】 C 【试题解析】 控件数组是由类型相同的控件组成,具有相同的名称,用下标Index属性区分各数组元素,它们共用相同的事件过程。故 C选项错误。 【知识模块】 Visual Basic控制结构 30 【正确答案】 A 【试题解析】 控件数组的 Index属性,标识数组中的每个控件,使之与其他控件能够区 分开来,索引在内部必须是唯一的,不能与其他相同。故答案选 A)。 【知识模块】 Visual Basic控制结构 31 【正确答案】 C 【试题解析】 控件数组必须用同类型的控件组成,最小下标为 0,控件数组的名字由 Name属性指定。选 C)。 【知识模块】 Visual Basic控制结构

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1