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

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

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

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

3、 Bum As Integer, x As Integer num=Val(InputBox(“请输入一个正整数 “) Select Case nnm Case Is 100 x=x+nun Case Is 90 x=num Case Else x=x*nnIn 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 Form_Click() Dim

4、 i As Integer, n As Integer For i=1To20 i=i+4 n=n+i If 10Then Exit For Next Print n End Sub 程序运行后,单击窗体,则输出结果是 ( )。 ( A) 14 ( B) 15 ( C) 29 ( D) 30 6 窗体上有一个名称为 Command1的命令按钮,编写如下事件过程: Private Sub Command1_Click() i=0 Do Whlie i 6 For j=1Toi n=n+1 Next i=i+1 Loop Print n End Sub 运行程序,单击命令按钮时,窗体上显示的是 (

5、 )。 ( A) 10 ( B) 15 ( C) 16 ( D) 21 7 在窗体上画一个文本框,其名称为 Text1,然后编写如下程序: Option Base1 Private Sub Form_Click() Dim Arr(10)As Integer For i=6To10 Arr(i)=i-3 Next i Text1 Text=Str(Arr(6)+Arr(Arr(6)+Arr(10) End Sub 程序运行后,单击窗体,在文本框中显示的内容是 ( )。 ( A) 7 ( B) 8 ( C) 9 ( D) 10 8 阅读程序: Option Base1Private Sub Fo

6、rm_Click()Dim Arr(3, 3)As IntegerFor i=1To3For j=1To3If j=i Or j=3-i+1ThenArr(i, j)=1ElseArr(i, j)=0End IfNext jNext iFor i=1To3For j=1To3Print Arr(i, j); Next jPrintNext iEnd Sub程序运行后,如果单击窗体,则输出结果为 ( )。9 以下 Visual Basic不支持的循环结构是 ( )。 ( A) ForNext ( B) For EachNext ( C) DoLoop ( D) DoEnd Do 10 在窗体上画

7、一个组合 框,其名称为 Combo1,然后编写如下事件过程: Private Sub Form_Load() Combo1 Text=“1“ For i=1To10 Sum=Sum+i Next i Combo1 Text=Sum End Sub 程序运行后,输出结果为 ( )。 ( A)在组合框的编辑区中显示 1 ( B)在组合框的编辑区中显示不定值 ( C)在组合框的编辑区中显示 55 ( D)出错信息 11 有如下程序: Private Sub Form_Click() Dim S As String S=InputBox(“请输入一个字符串: “) For i=1To Len(S) 2

8、 If Mid(S, i, 1) Mid(S, Len(S)-i+1, 1)Then Print“No“ Exit Sub End If Next i Print“Yes“ End Sub 运行程序,单击窗体,在输入对话框中输入 abcscba?则输出结果为 ( )。 ( A) abc ( B) Yes ( C) cba ( D) No 12 有下面程序代码: Private Sub Command1_Click() For k=5To1Step-1 x=k+x*10 Next k Print x End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( )。 ( A) 12

9、345 ( B) 54321 ( C) 15 ( D) 150 13 有下面程序代码: Private Sub Command1_Click() a=3 s=0 For k=1To5 s=s+a Mod k a=a+k Next k Print s End Sub 程序运行后,单击命令按钮 Command1,输出结果是 ( )。 ( A) 15 ( B) 13 ( C) 4 ( D) 1 14 有下面程序代码: Private Sub Command1_Click() Dim sign As Integer sign=1 a=1 b=2 For k=1To5 e=a+sign*b a=b b=

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

11、按钮 Command1,输出结果是 ( )。 ( A) 2 6 12 20 30 ( B) 2 12 20 56 90 ( C) 30 28 24 18 10 ( D) 10 18 24 28 30 16 编写如下程序: Private Sub Command1_Click() Dim a(10)As String s=“123456“ n=Len(S) For k=1To n a(k)=Mid(s, k, 1) Next k For i=1To n 2 t=a(i) a(i)=a(n-i+1) a(n-i+1)=t Next i For k=1To n Print a(k); Next k

12、End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 6 5 4 3 2 1 ( B) 1 2 3 4 5 6 ( C) 6 5 4 1 2 3 ( D) 1 2 3 6 5 4 17 窗体上有一个名称为 Command1的命令按钮,其单击事件过程如下: Private Sub Command1_Click() Dim s As Double S=0: i=1 Do While i 6 S=s+i (i+1) i=i+1 Loop Print s End Sub 该事件过程的功能是计算一个表达式的值,该表达式是 ( )。 ( A) 1+1 2+2 3+3

13、4+4 5 ( B) 1+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 Form_Click() x=0 While x10 x=x+1 x=x*x Wend Print x End Sub 运行程序,单击窗体,输出结果是 ( )。 ( A) 16 ( B) 19 ( C) 20 ( D) 25 19 vate Sub Command1_Crick() Dim m As Integer, n As Integer m=1: n=0 Do Wbile m 20

14、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 以下关于数组的叙述中,错误的是 ( )。 ( A) Variant类型的数组中各数组元素的类型可以不同 ( B)各数组元素可以是不同类型的控件 ( C)各数组元素通过下标进行区别 ( D)各数组元素具有相同的名称 21 设有如下 声明语句 Option Base1 Dim arr(2, -1To5)As Integer 则数组 arr中数组元素的个数是 ( )。

15、 ( A) 10 ( B) 12 ( C) 14 ( D) 21 22 窗体上有名称为 Command1的命令按钮,其事件过程如下: Option Base1 Private Sub Command1_Click() Dim a 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 Plint sum End Sub 运行程序,单击命令按钮时,窗体上显示的是 ( )。 ( A) 44 ( B) 46 ( C) 50 ( D) 52 23 下

16、列数组定义中错误的是 ( )。 ( A) Dim a(-5To-3) ( B) Dim a(3To5) ( C) Dim a(-3To-5) ( D) Dim a(-3Tb3) 24 以下叙述中错误的是 ( )。 ( A)用 ReDim语句可以改变数组的维数 ( B)用 ReDim语句可以改变数组的类型 ( C)用 ReDim语句可以改变数组每一维的大小 ( D)用 ReDim语句可以对数组中的所有元素置 0或空字符串 25 设有下面的程序段: x=InputBox(“请输入一个整数 “) ReDim a(x) For k=x To0 Step-1 a(k)=k Next k 一般,在这段程序

17、之前应先进行数组 a的定义。下面定义语句中正确的是 ( )。 ( A) Dim a(100)As Integer ( B) Dim a()As Integer ( C) Dim a As Integer ( D) Dim a(0To100)As Integer 26 在窗体上画一个命令按钮 (其 Name属性为 Command1),然后编写如下代码: Private Sub Command1_Click() Dim n()As Integer Dim a, b As Integer a=InputBox(“Enter the first number“) b=InputBox(“Enter t

18、he second number“) ReDim n(a To B)For k=LBound(n)To UBound(n) n(k)=k Print n(k); Next k End Sub 程序运行后,单击命令按钮,在输入对话框中分别输入 2和 3,输出结果为 ( )。 ( A) 1 2 ( B) 2 3 ( C) 3 4 ( D) 4 5 27 在窗体上画一个命令按钮和一个标签,其名称分别为 Command1和 Label1,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(10) For i=6To10 arr(i)=i-5 Next i

19、Label1 Caption=arr(0)+art(arr(10) arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是 ( )。 ( A) 0 ( B) 1 ( C) 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(1To5)As Integer ( D) Dim a As Variant 29 以下关于控件数组的叙述中,错误的是 ( )。 ( A)各 数组元素共用相同的事件过

20、程 ( B)各数组元素通过下标进行区别 ( C)数组可以由不同类型的控件构成 ( D)各数组元素具有相同的名称 30 下面关于控件数组的叙述中正确的是 ( )。 ( A)控件数组中所有控件的名称相同,但其 Index属性值各不相同 ( B)控件数组中所有控件的名称相同,但其 Value属性值各不相同 ( C)控件数组中每个元素都是独立的控件,因此都有各自的事件过程 ( D)上述都是错误的 31 下列关于控件数组的叙述中,正确的是 ( )。 ( A)控件数组可以由不同类型的 控件组成 ( B)控件数组元素的最小下标值为 1 ( C)在设计阶段,可以改变控件数组元素的 Index属性值 ( D)控

21、件数组的名字由 Caption属性指定 国家二级 VB机试( Visual Basic控制结构)模拟试卷 3答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 While语句不能描述选择结构。 【知识模块】 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 语句。条件判断成立则执行对应分支的语句。 8

22、6 85,所以 r=1。选 B)。 【知识模块】 Visual Basic控制结构 4 【正确答案】 B 【试题解析】 按钮事件中变量 x为过程局部变量,第 1次输入 100时, Select语句执行 Case 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语句判断循环变

23、量 i值如果大于 10则退出循环。各次循环变量值变化如下: i=1时, i=i+4=1+4=5, n=n+i_O+5=5,此时 i=5, i 10不成立, i加 1转入下次循环。 i=6时, i=i+4=6+4=10, n=n+i=5+10=15,此时, i=10, i 10不成立, i加 1转入下次循环。 i=11时, i=i+4=11+4=15, n=n+i=15+15=30,此时, i=15, i 10成立,退出循环。此时 n=30。 【知识模块】 Visual Basic控制结构 6 【正确答案】 B 【试题解析】 For循环中, i大于等于 1时执行循环 n=+1,共执行 5次,即

24、i从 1累加至 5, n的值从 1最终累加到 15。 【知识模块】 Visual Basic控制结构 7 【正确答案】 D 【试题解 析】 For循环对数组 Arr的第 6个到第 10个元素赋值。 Arr(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关

25、系的时候, Arr数组元素被赋值为 1,其他情况被赋值为 0。可以根据 循环语句的执行,代入各变量值算得各元素的值。选 D)。 【知识模块】 Visual Basic控制结构 9 【正确答案】 D 【试题解析】 Visual Basic支持的循环结构不包括 DoEnd Do 。 【知识模块】 Visual Basic控制结构 10 【正确答案】 C 【试题解析】 For循环实现 1到 10的累加,结束循环后 Sum=55。选 C)。 【知识模块】 Visual Basic控制结构 11 【正确答案】 B 【试题解析】 程序实现从输入的字符串中 查找前半截和后半截中不同的字符,找到后打印 No,

26、并退出过程。如果没有找到,则打印 Yes。题目中输入字符串abcscba,则 Len(s)=7, For循环的上限是 Len(S) 2=3,代入循环变量,当 i=1时Mid(S, i, 1)=a, Mid(S, 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为求余函数

27、。 For循环执行 5次。第一次执行时 a Mod k的值为 0,则 s=0, a=4;循环继续直到 k=5退出。分步计算可得最后 s=4。选 C)。 【知识模块】 Visual Basic控制结构 14 【正确答案】 A 【试题解析】 For循矫执行 5次,按公式计算可得,结果选 A)。 【知识模块】 Visual Basic控制结构 15 【正确答案】 D 【试 题解析】 UBound获取数组 a的上标值, n=9。 For循环边界为 0至 4。每次执行 For的循环体时均会进行打印。选 D)。 【知识模块】 Visual Basic控制结构 16 【正确答案】 A 【试题解析】 第一个

28、For循环从字符串 s中提取数字,赋值给数组 a的元素。第二个 For循环对数组 a中的元素实现倒序排列。第三个 For循环实现打印。选A)。 【知识模块】 Visual Basic控制结构 17 【正确答案】 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时,执行完

29、循环体内容后 x=25,条件为 False,退出,打印。选 D)。 【知识模块】 Visual Basic控制结构 19 【正确答案】 A 【试题解析】 循环中各变量值变化如下: n=m+n=1+0=1, m=3*m+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+1=40, 40不小于 20,循环结束。此时 m=40,n=18。 【知识模块】 Visual Basic控制结构 20 【正确答案】 B 【试题解析】 控件数组是由一组相同类型的控件组成。它们共用一个

30、控件名,绝大部分的属性也相同,但 Index属性的值不同。当建立控件数组时,系统给每个元素赋一个唯一 的索引号 (Index),通过属性窗口的 Index属性,可以知道该控件的下标是多少,第 1个元素下标是 O。 【知识模块】 Visual Basic控制结构 21 【正确答案】 C 【试题解析】 程序中语句 Option Base1表示定义数组下标从 1开始。但如果显式指定了数组的下标范围则不受此限制。第一维的下标从 1到 2,第二维的下标从一 1到 5,所以数组元素个数为 14。 【知识模块】 Visual Basic控制结构 22 【正确答案】 D 【试题解析】 不同维数的数组缺省下界都

31、是 0或 1,这取决于 Option Base语句的设置。本题中有语句 Option Base1,所以 LBound(A)=1, UBound(A)=6; For循环进行求和计算,结果为 52,选 D)。 【知识模块】 Visual Basic控制结构 23 【正确答案】 C 【试题解析】 定义数组时,数组下标的上界 =下界。故 C选项错误。 【知识模块】 Visual Basic控制结构 24 【正确答案】 B 【试题解析】 ReDim语句无法更改数组变量的数据类型。 【知识模块】 Visual Basic控制结构 25 【正确答案】 B 【试题解析】 在 VB中定义动态数组通常分两步:首先

32、在窗体层或标准模块中用Dim、 Private或 Public声明一个没有下标的数组 (括号不能省略 ),然后在过程中用 ReDim语句定义带下标的数组。根据题意,选项 B)正确。 【知识模块】 Visual Basic控制结构 26 【正确答案】 B 【试题解析】 输入 2和 3后, n被重新定义,下标为 2,上标为 3。 For循环执行2次, k=2和 k=3。因此选 B)。 【知识模块】 Visual Basic控制结构 27 【正确答案】 A 【试题解析】 程序为使用 For语句为数组中部分元素赋值,没显示赋值的数组元素的值默认为 0,因此 arr(0)=0, arr(10)=10-5

33、=5, arr(6)=6-5=1, arr(arr(10)arr(6)即, arr(5 1)=arr(5)=0, arr(0)+arr(5)=0+0=0。因此标签中显示为 0。 【知识模块】 Visual Basic控制结构 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