[计算机类试卷]国家二级VB机试(选择题)模拟试卷155及答案与解析.doc

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

1、国家二级 VB机试(选择题)模拟试卷 155及答案与解析 一、选择题 1 在窗体上画 1个命令按钮,并编写如下事件过程: Private Sub Command 1_ Click() Dim a(3, 3) FOr m=1 To 3 For n=1 To 3 Ifn=m Or n=4-m Then a(m, n)=m+n Else a(m, n)=0 End If Prim a(m, n); Next n Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为 ( A) 2 0 0 0 4 0 0 0 6 ( B) 2 0 4 0 4 0 4 0 6 ( C) 2

2、 3 0 3 4 0 0 0 6 ( D) 2 0 0 0 4 5 0 5 6 2 编写如下程序: Private Sub Command 1 Click() Dim num As Integer,k As Integer,n As Integer num=InputBox(“请输入一个正整数: ”) k=num n=2 Do Do While num Mod n=0 Print n: num=num n Loop n=n+1: Loop Until nk 2 End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 20,则输出结果为 ( A) 2 2 5 ( B) 2 3 4

3、 ( C) 2 3 4 5 ( D) 2 5 3 编写如下程序: Private Sub Command 1 Click() Dim a(3, 3)As Integer, b(3, 3)As Integer For i=1 To 3 For i=1 To 3 a(i, J)=i+j: b(i, j)=a(i, j)+i*(j1) Next i Next i For i=1 To 3 For i=1 To 3 Print b(i, j); Next i Print Next i End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) 2 3 4 3 4 5 4 5 6

4、( B) 2 4 6 3 6 9 4 8 12 ( C) 3 5 7 5 8 1 1 7 1 1 15 ( D) 4 6 8 7 10 13 10 14 1 8 4 已知在 4行 3列的全局数组 score(4, 3)中存放了 4个学生 3门课程的考试成绩(均为整数 )。现需要计算每个学生的总 分,某人编写程序如下: Option Base 1 Private Sub Command 1 Click() Dim sim As Integer sum=0 For i=1 To 4 Forj=1 To 3 SUln=sum+score(i, j) Nextj Print“第 ”&i&”个学生的总分

5、是: “sum Next i End Sub 运行此程序时发现,除第 1个人的总分计算正确外,其他人 ( A)把外层循环语句 For i=1 To 4改为 For i=1 To 3内层循环语句 Forj=1 To 3改为 Fox j=1 To 4 ( B)把 sum=0移到 For i=1 To 4和 Forj=1 To 3之间 ( C)把 sum=sum+score(i, j)改为 sum=sum+score(j, i) ( D)把 sum=sum+seore(i, j)改为 sum=seore(i, j) 5 在窗体上画一个命令按钮和一个标签,其名称分别为 Commandl和 Labell

6、,然后编写如下事件过程: Private Sub Commandl _Click( Counter=0 For i=1 To 4 For i=6 To 1 Step-2 Counter=Counter+1 Nextj Next i Labell Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是 ( A) 11 ( B) 12 ( C) 16 ( D) 20 6 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Commandl Click() Dim 1, Nm Randomize Do FOr I=1 To 1000

7、 Num=Int(Rnd*100): Print Num; Select Case Num Case 12 Exit For Case 58 Exit Do Case 65, 68, 92 End End Select Next 1 Loop End Sub 上述事件过程执行后,下列描述中正确的是 ( A) Do循环执行的次数为 1000次 ( B)在 For循环中产生的随机数小于或等于 100 ( C)当所产生的随机数为 12时结束所有循环 ( D)当所产生的随机数为 65、 68或 92时窗体关闭、程序结束 7 运行如下程序 Private Sub Command l Click() Di

8、m a(5, 5)As Integer For i=1 T0 5 For j=1 To 4 a(i, j)=i*2+j Ifa(i, j) 7=a(i, j) 7 Then n=n+1 End If Nextj Next Prim n End Sub 则 n的值是 ( A) 2 ( B) 3 ( C) 4 ( D) 5 8 命令按钮 Command1的单击事件过程如下: Private Sub Command1 Click() Dim a(10, 10)As Integer x=0 For i=1 To 3 Forj=1 To 3 a(i, j)=i*2 Modj IfxSqr(i)Then

9、Print i Next i End Sub 该程序的功能是 ( A)判断 n是否为素数 ( B)输出 n以内所有的奇数 ( C)输出 n以内所有的偶数 ( D)输出 n以内所有的素数 15 命令按钮 Commandl的事件过程如下: Private Sub Command 1 Click() Dim arr(5, 5)As Integer Dim i As Integer,j As Integer For i=1 To 4 Forj=2 To 4 arr(i, j)=i+j Next j Next i Print arr(1, 3)+arr(3, 4) End Sub 执行上述过程,输出结果

10、是 ( A) 6 ( B) 7 ( C) 11 ( D) 12 16 有如下程序: Private Sub Command 1 Click() Dim i As Integer,j As Integer, sum As Integer n=1 Do j=1 Do sum=sum+j: j=j+1 Print j; Loop Until j3 n=n+2 Loop Until 1310 Print sum End Sub 运行上述程序,外层 Do循环执行的次数为 ( A) 4 ( B) 5 ( C) 7 ( D) 10 17 设有如下事件过程: Private Sub Command 1 Cli

11、ck() For i=1 To 5 j=1 Do Print“*”i=i-1 Loop Until j=0 Next i End Sub 运行程序,输出 “*”的个数是 ( A) 5 ( B) 15 ( C) 20 ( D) 25 18 设有如下事件过程: Private Sub Command 1 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 i=0 To n If a(i)=a(j)Then m=m+1 End If N

12、ext i Ifmx Then x=m: b=a(i) End If Next i Printb End Sub 运行程序,输 出是 ( A) 2 ( B) 3 ( C) 5 ( D) 9 19 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程如下: Private Sub Command 1 Click() For i=3 To 1 Step-1 Sum=0 For i=1 To i Sum=Sum+i*i Next Next Print Sum End Sub 运行程序时,单击命令按钮,则窗体上显示的是 ( A) 1 ( B) 6 ( C) 1 8 ( D) 25 20 窗体

13、上有一个名称为 Command1的命令按钮,编写如下 事件过程: Private Sub C0mmand1 Click() i=0 Do While i10 Print i=i+2 Loop End Sub 程序运行时输出字符 “*”的个数是 ( A) 50 ( B) 20 ( C) 16 ( D) 15 23 语句 Dim a(-3 To 4, 3 To 6)As Integer定义的数组的元素个数是 ( A) 1 8 ( B) 28 ( C) 21 ( D) 32 24 下面正确使用动态数组的是 ( A) Dim arr() As Integer . ReDim art(3, 5) ( B

14、) Dim arr() As Integer . ReDim art(50)As String ( C) Dim arr() . ReDim art(50)As Integer ( D) Dim art(50)As Integer . ReDim art(20) 25 设有如下数组定义语句: Dim a(一 1 To 4, 3)As Integer以下叙述中正确的是 ( A) a数组有 18个数组元素 ( B) a数组有 20个数组元素 ( C) a数组有 24个数组元素 ( D)语法有错 26 语句 DimArr(-2 To 4)As Integer所定义的数组的元素个数为 ( A) 7个

15、( B) 6个 ( C) 5个 ( D) 4个 27 下列数组定义中错误的是 ( A) Dim a(-5 To-3) ( B) Dim a(3 To 5) ( C) Dim a(-3 To一 5) ( D) Dim a(-3 To 3) 28 以下关于数组的叙述中,错误的是 ( A) Variant类型的数组中各数组元素的类型可 以不同 ( B)各数组元素可以是不同类型的控件 ( C)各数组元素通过下标进行区别 ( D)各数组元素具有相同的名称 29 设有如下声明语句 Option Base 1 Dim art(2,一 1 To 5)As Integer 则数组 art中数组元素的个数是 (

16、A) 10 ( B) 12 ( C) 14 ( D) 21 国家二级 VB机试(选择题)模拟试卷 155答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 本题通过一个嵌套的 For循环为二维数组 a的各元素赋值,该二维数组对应矩阵的主 对角线上的元素 (即满足条件 m=n)和副对角线上的元素 (即满足条件 m+n=4)其值为 m+n,即主对角线上的元素从左上至右下依次为 2、 4、 6,副对角线上的元素均为 4,而其它元素均为 0。 【知识模块】 控制结构 2 【正确答案】 A 【试题解析】 Do型循环结构,首先看条件判断在循环体的前面还是后,面,如果是先判断条件,则有可能一次也不执

17、行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件 为 True时执行循环体,条件为 False时退出循环。本题是一个嵌套的 Do循环,外层循环是后判断条件的 Until型循环,内层循环是先判断条件的 While型循环。根据输入的值 20可判断出三次输出的结果为 2、 2、 5。 【知识模块】 控制结构 3 【正确答案】 B 【试题解析】 本题中有两个二维数组 a和 b,然后用一个二重循环为两个数组赋值,根据每次循环中 i和 j的值不难得出 B为正确答案。 【知识模块】 控制

18、结构 4 【正确答案】 B 【试题解析】 本题考查的考点是有关循环求和和二维数组 的。本题要对二维数组的每行进行累加求和,每计算新的一行就应该将累加和变量 sum清零,否则上一行的累加计算结果将会在下一行继续累加,造成结果不正确。 【知识模块】 控制结构 5 【正确答案】 B 【试题解析】 本题考查的考点是有关循环的。通过观察可以得知,在每次内循环中 Counter的值会增加 1,所以最终结果就是内循环执行的总次数。由于内循环和外循环都是 For循环,所以循环次数一定,外循环共执行 4次,每次外循环中内循环都执行 3次,故内循环执行的总次数为 4*3=12次。 【知识模块】 控制 结构 6 【

19、正确答案】 D 【试题解析】 本题考查的考点是有关随机数和退出语句的。在本题中,首先在循环中生成一个随机数,由于 Rnd函数可以生成 01开区间的数,所以Int(Rnd*100)能够生成 099之间的整数,随后对此数进行判断,当随机数为 12时退出内循环:当随机数为 58时退出外循环;当随机数为 65、 68或 92时将会结束整个窗体的运行。本题中的循环次数受随机数控制,所以次数不定。 【知识模块】 控制结构 7 【正确答案】 B 【试题解析】 在二重循环中为二维数组赋初值,每个元 素的值均为行号 *2加上列号:在 If语句中进行判断,如果数组元素能被 7整除则令计数器 n加 1,所以整个程序

20、的功能就是统计二维数组中能被 7整除的数的个数。 【知识模块】 控制结构 8 【正确答案】 B 【试题解析】 本题中使用二重循环为二维数组赋初值,每个元素的值为行号 2然后除以列号的余数:接下来找出数组的最大值。由于列号最大只能为 3,所以余数的最大值为 2。 【知识模块】 控制结构 9 【正确答案】 B 【试题解析】 在窗体模块中使用 Dim声明模块接变量,也可以声明模块级数组;在 循环 1中 i从 1到 3, j从 1到 4,无论是访问 b(i, i)还是 a(i, j)均在数组的范围内,可以正常运行;在循环 2中 b(i, j)的值也在数组范围内,循环可以正常运行;最后 x里面保存的是数

21、组中最大的数。 【知识模块】 控制结构 10 【正确答案】 D 【试题解析】 本题是一个二重循环,而且内循环次数根据外循环的循环变量而定。内循环完成累加,内循环结束后将累加和乘到 p中保存起来。在 4次外循环中分别累乘的是 1、 4、 10、 20。 【知识模块】 控制结构 11 【正确答案】 A 【试题解析 】 本题二重循环为二维数组的部分元素赋值,其中 arr_x(2, 1)的值因为列号为 1,并没有在循环中赋值,保持了默认初值 0; arr x(3, 2)的值被赋值为 3*2的值 6; arr_ x(4, 3)的值因为行号为 4也没有在循环中赋值,也保持默认初值 0。 【知识模块】 控制

22、结构 12 【正确答案】 D 【试题解析】 本题中首先用一个二重循环为二维数组的每一个元素赋值,然后输出二维数组的部分元素,即依次输出 a(3, 3)、 a(4, 3)、 a(3, 4)、 a(4, 4)的值,根据二维数组元素的值,输出分别为 9、 12、 10、 13。 【知识模块】 控制结构 13 【正确答案】 C 【试题解析】 本题中首先用一个二重循环为二维数组的每一个元素赋值,然后累加二维数组的部分元素,即依次累加 a(1, 3)、 a(2, 2)、 (3, 1)的值,相当于对角线求和。 【知识模块】 控制结构 14 【正确答案】 D 【试题解析】 本题中的外循环是从 2循环到 n,然

23、后进入内循环,在内循环中依次判断 i能否被 j整除,若能整除则退出内循环;内循环结束后进行判断,如果是中途退出内循环的则必然不满足 jSqr(i),不会输出 i的值;只有 i不能被任何一个 j整除的情况下才会输出 i的值,即判断 i是不是素数,只有素数才输出。 【知识模块】 控制结构 15 【正确答案】 C 【试题解析】 本题中首先在一个二重循环中给二维数组 art的部分元素赋值,循环结束后输出两个数组元素的和,根据题意 aril(1, 3)+arr(3, 4)=4+7=11。 【知识模块】 控制结构 16 【正确答案】 B 【试题解析】 外循环的控制条件为 n10,即 n10的时候结束循环;

24、在每次内循环中 j都会自加, j3的时候退出内循环,即每 次外循环中内循环都会执行 3次;由于内循环没有改变 n的值,面在外循环中 n的值自加 2所以外循环共循环 5次。 【知识模块】 控制结构 17 【正确答案】 B 【试题解析】 本题是一个二重循环,在内循环中输出 “*”,而在每次外循环中内循环的循环次数均为 i次,即共输出 1。 【知识模块】 控制结构 18 【正确答案】 B 【试题解析】 本题是一个二重循环,外循环从 0循环到 n,也就是遍历整个数组;在内循环中统计数组中和 (i)相同的数组元素的个数放到 m中,内循环结束后判断 m是不是比 x大,如 果比 x大的话让 m成为新的 x,

25、并且把当前数组元素放到 b中,其本质是求出重复次数最多的数字, x保存重复次数, b保存该数字。 【知识模块】 控制结构 19 【正确答案】 A 【试题解析】 本题是一个简单的二重循环,只要注意到 i的值逐渐递减,而且在内循环执行之前都会重新将 Sum的值设置为 0,不难得出只会输出最后一次外循环的 Sum值,由于此时 i=1,所以内循环只会执行一次,最终输出 1作为结果。 【知识模块】 控制结构 20 【正确答案】 B 【试题解析】 本题是一个二重循环,最后输出的 是内循环总共执行的次数,即1+2+3+4+5=15。 【知识模块】 控制结构 21 【正确答案】 D 【试题解析】 本题是用一个

26、二重循环为二维数组赋值,只有满足下标 i=i或者j=3 i+1才将其设置为 1,否则设置为 0,如果写出这个二维数组可以看出,两个对角线的元素被设置成 1. 【知识模块】 控制结构 22 【正确答案】 C 【试题解析】 本题是一个二重循环,最终求星号的个数,实际上就是计算内循环总共执行了多少次。 i=l的时候内循环执行 9次, i=3的时候内循环执行 7次, i=5的 时候跳出循环,内循环共执行了 16次。 【知识模块】 控制结构 23 【正确答案】 D 【试题解析】 本题考查的考点是有关二维数组的。二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To连接,即给出下标可取值的变化

27、范围。“数组元素个数 ”指的是数组中成员的个数,每一维的长度是上界 -下界 +1,数组元素个数等于各维长度之积。 【知识模块】 数组 24 【正确答案】 A 【试题解析】 通常把需要在编译时分配内存区的数组叫做静态数组,而把需要在运行时分配内存区的数组叫做动态数 组。定义动态数组通常分两步:首先在窗体层或标准模块中用 Dim、 Private或 Public声明一个没有下标的数组 (括号不能省略 ),然后在过程中用 ReDim语句定义带下标的数组。 ReDim语句只能用于动态数组,它可以改变每一维的大小,但不能改变维数和数组类型。 【知识模块】 数组 25 【正确答案】 C 【试题解析】 二维

28、数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To连接,即给出下标可取值的变化范围。 “数组元素个数 ”指的是数组中成员的个数,每一维的长度是上界 -下界 +1,数组元素个 数等于各维长度之积。数组下标的默认下限值为 0,此时数组某一维的元素个数等于该维下标上界值加 1。 【知识模块】 数组 26 【正确答案】 A 【试题解析】 数组中所含有的元素个数为:上界 -下界 +1,本题中计算 4一 (-2)+1=7。 【知识模块】 数组 27 【正确答案】 C 【试题解析】 定义数组一般使用的格式是 DimAs,其中定义数组时,每一维的下标必须是常数,不能是变量或表达式。即使在执行数组定

29、义语句之前给出变量的值 ,也是错误的;无论定义数组的格式为那种,下界都必须小于上界。 【知识模块】 数组 28 【正确答案】 B 【试题解析】 数组是一组具有相同类型和名称的变量的集合。这些变量称为数组元素,它们具有相同的名称,每个数组元素都有一个编号被称为下标,可以通过下标来区别这些元素。变体型数组,控件数组中各数组元素必须是相同类型的控件。 【知识模块】 数组 29 【正确答案】 C 【试题解析】 二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To连接,即给出下标可取值的变化范围。 “数组元素个数 ”指的是数组中成员的个数,每一维的长度是上界 -下界 +1,默认下界是 0,数组元素个数等于各维长度之积。 【知识模块】 数组

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

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

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