欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】国家二级VB机试(数组)模拟试卷4及答案解析.doc

    • 资源ID:1332996       资源大小:66KB        全文页数:10页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】国家二级VB机试(数组)模拟试卷4及答案解析.doc

    1、国家二级 VB 机试(数组)模拟试卷 4 及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.假定建立了一个名为 Command1 的命令按钮数组,则以下说法中错误的是(分数:2.00)A.数组中每个命令按钮的名称(Name 属性)均为 Command1B.数组中每个命令按钮的标题(Caption 属性)都一样C.数组中所有命令按钮可以使用同一个事件过程D.用名称 Command1(下标)可以访问数组中的每个命令按钮2.列表框中的项目保存在一个数组中,这个数组的名字是(分数:2.00)A.ColumnB.StyleC.ListD.MultiSel

    2、ect3.下面的语句用 Array 函数为数组变量 a 的各种元素赋值整数值:(分数:2.00)A.Dim aB.Dim a As IntegerC.Dim a(9)As IntegerD.Dim a()As Integer4.以下数组定义语句中,错误的是(分数:2.00)A.Static(10)As IntegerB.Dim c(3,1 To 4)C.Dim d(-10)D.Dim b(0 To 5,1 To 3)As Integer5.语句 Dim a(-3 To 4,3 To 6)As Integer 定义的数组的元素个数是(分数:2.00)A.18B.28C.21D.326.下面正确使

    3、用动态数组的是(分数:2.00)A.Dim art() As IntegerReDim art(3,5)B.Dim ar()As IntegerReDim art(50)As StringC.Dim ar()ReDim art(50)As IntegerD.Dim art(50)As IntegerReDim arr(20)7.设有如下数组定义语句: Dim a(-1 To 4,3)As Integer 以下叙述中正确的是(分数:2.00)A.a 数组有 1 8 个数组元素B.a 数组有 20 个数组元素C.a 数组有 24 个数组元素D.语法有错8.语句 DimArr(-2 To 4)As

    4、Integer 所定义的数组的元素个数为(分数:2.00)A.7 个B.6 个C.5 个D.4 个9.下列数组定义中错误的是(分数:2.00)A.Dim a(-5 To -3)B.Dim a(3 To 5)C.Dim a(-3 To -5)D.Dim a(-3 To 3)10.以下关于数组的叙述中,错误的是(分数:2.00)A.Variant 类型的数组中各数组元素的类型可以不同B.各数组元素可以是不同类型的控件C.各数组元素通过下标进行区别D.各数组元素具有相同的名称11.设有如下声明语句 Option Base1 Dim arr(2,-1 To 5)As Integer 则数组 arr 中

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

    6、Dim a()As IntegerC.Dim a As IntegerD.Dim a(0 To 100)As Integer14.如果要在语句:a=Array(1,2,3,4,5)的前面声明变量 a,则正确的声明是(分数:2.00)A.Dim a(4)As ImegerB.Dim a(5)As VariantC.Dim a(1 To 5)As IntegerD.Dim a As Variant15.设有如下一段程序: Private Sub Command1_Click() Static a As Variant a=Array(“one“,“two“,“three“,“four“,“five

    7、“) Print a(3) End Sub 针对上述事件过程,以下叙述中正确的是(分数:2.00)A.变量声明语句有错,应改为 Static a(5)As VariantB.变量声明语句有错,应改为 Static aC.可以正常运行,在窗体上显示 threeD.可以正常运行,在窗体上显示 four16.在窗体上画一个命令按钮(其 Name 属性为 Command1),然后编写如下代码: Private Sub Command1_Click() Dim n()As Integer:Dim a,b As Integer a=InputBox(“Enter the first number“) b:

    8、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 程序运行后,单击命令按钮,在输入对话框中分别输入 2 和 3,输出结果为(分数:2.00)A.1 2B.2 3C.3 4D.4 517.1 个二维数组可以存放 1 个矩阵,在程序开始有语句 Option Base0,则下面定义的数组中正好可以存放 1 个 4(3 矩阵(即只有 12 个元素)的是(分数:2.00)A.Dim a(-2 To 0,2)As IntegerB

    9、.Dim a(3,2)As IntegerC.Dim a(4,3)As IntegerD.Dim a(-1,To-4,-1 To -3)As Integer18.默认情况下,下面声明的数组的元素个数是 Dim a(5,-2 To 2)(分数:2.00)A.20B.24C.25D.3019.设程序中有如下数组定义和过程调用语句: Dim a(10)As Integer Call p(a) 如下过程定义中,正确的是(分数:2.00)A.Private Sub p(a As Integer)B.Private Sub p(a() As Integer)C.Private Sub p(a(10)As

    10、Integer)D.Private Sub p(a(n)As Integer)20.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是(分数:2.00)A.Static arrB.Dim arr(5)C.Dim arr()D.Dim arr As Vailant21.有下面程序代码: Private Sub Command1_Click() a=Array(1,2,3,4,5,6,7,8,9,10) n=UBound(a) For k=0 To UBound(a)2 Print a(k)*a(n);:n=n-1 Next k End Sub 程序运行后,单

    11、击命令按钮 Command1,输出结果是(分数:2.00)A.26 12 20 30B.2 12 20 56 90C.30 28 24 18 10D.10 18 24 28 3022.有下面程序代码: Option Base1 Private Sub Command1_Click() Dim a(10)As Integer,x,b x=InputBox(“请输入一个多位整数“) For k=l To Len(x) b=Mid(x,k,1) a(Val(b)+1)=a(Val(b)+1)+1 Next k For k=1 To 10 Print a(k): Next k End Sub 程序运行

    12、时,单击命令按钮 Command1,输入2355270224,则输出是(分数:2.00)A.1 0 4 1 1 2 0 1 0 0B.0 4 1 1 2 0 1 0 0 0C.2 3 5 5 2 7 0 2 2 4D.4 2 2 0 7 2 5 5 3 223.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序: Option Base 0 Dim a()As Integer,m As Integer Private Sub Command1_Click() m=InputBox(“请输入一个正整数“) ReDim a(m) End Sub Private Sub Co

    13、mmand2 Click() m=InputBox(“请输入一个正整数“) ReDim a(m)End Sub 运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则数组 a 中元素的个数是(分数:2.00)A.5B.6C.10D.1124.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim M(10)As Integer For k=1 To 10 M(k)=12-k Next k x=8 Print M(2+M(x) End Sub 运行程序,单击命令按钮,在窗体

    14、上显示的是(分数:2.00)A.6B.5C.7D.825.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(10) For i=6 To 10 arr(i)=i-5 Next i Label1Caption=arr(0)+arr(arr(10)arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是(分数:2.00)A.0B.1C.2D.326.在窗体上画一个名称为 Text1 的文本框,并编写如下程序: Option Base1 Private

    15、Sub Form Click() Dim arr Dim Start As Integer,Finish As Integer Sum As Integer arr=Array(12,4,8,16) Start=LBound(arr) Finish=UBound(arr) Sum=0 For i=Start To Finish Sum=Sum+arr(i) Next i c=SumFinish Text1Text=c End Sub 运行程序,单击窗体,则在文本框中显示的是(分数:2.00)A.40B.10C.12D.1627.以下过程的功能是从数组中寻找最大值: Pfivate Sub Fi

    16、ndMax(a() As Integer,ByRef Max As Integer) Dim S As Integer,f As Integer:Dim i As Integer s=LBound(a):f=UBound(a) Max=a(s) For i=S To f Ifa(i)Max Then Max=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是(分数:2.00)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a 是数组,m 是 Integer 类型变量B.For 循环次数等于 a 数组的元素数C.过程末尾应该增加一条返回最大值的语句 Fin

    17、dMax=MaxD.参数 Max 用于存放找到的最大值28.窗体上有一个名称为 Command1 的命令按钮,并有如下程序代码: Option Base1 Private Sub Command1_Click() Dim a(3,3) For i=l To 3 For i=l To 3 Ifi1 And1 Then a(i,j)=a(a(i-1,j-1),a(i,j-1)+1 Else a(i,j)=i*j End If Next Next Print a(2,2);a(3,3) End Sub 运行程序,单击命令按钮,窗体上显示的是(分数:2.00)A.1 3B.2 1C.2 2D.3 32

    18、9.窗体上有一个名称为 Command1 的命令按钮,其单击事件过程如下: Option Base1 Private Sub Command1_Click() Dim a(4,4)As Integer For i=1 To 4 Forj=1 To 4 a(i,j)=Int(Rnd 宰 100) Next Next x=a(1,1)y=a(1,1) For i=1 To 4 For i=1 To 4 Ifxa(i,j)Then y=a(i,j) Next s=s+a(i,i) Next Print x,y,s End Sub 关于以上程序,以下叙述中错误的是(分数:2.00)A.二维数组元素的值

    19、是不大于 99 的随机整数B.计算结果 X 是二维数组各元素中的最大数C.计算结果 y 是二维数组各元素中的最小数D.计算结果 s 是二维数组各行第一个元素之和30.窗体上有一个名称为 Command1 的命令按钮。要求编写程序,把文件 f1txt 的内容写到文件 f2txt中,然后将 f1txt 删除。命令按钮的单击事件过程如下: Private Sub Command1_Click() Open“c:f1txt“For Input As #1 Open“c:f2txt“For OutputAs #2 Do While Not EOF(2) Line Input #1,str1 Print

    20、#2,str1 Loop Close Kill“c:f1txt“ End Sub 该程序运行时发生错误,应该进行的修改是(分数:2.00)A.打开 f1txt 应该使用 Output 方式,打开 t2txt 应该使用 Input 方式B.Not EOF(2)应该改为 Not EOF(1)C.Line Input 应改为 GetD.Close 语句改为 Close AIl国家二级 VB 机试(数组)模拟试卷 4 答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.假定建立了一个名为 Command1 的命令按钮数组,则以下说法中错误的是(分数:2.0

    21、0)A.数组中每个命令按钮的名称(Name 属性)均为 Command1B.数组中每个命令按钮的标题(Caption 属性)都一样 C.数组中所有命令按钮可以使用同一个事件过程D.用名称 Command1(下标)可以访问数组中的每个命令按钮解析:解析:本题考查控件数组。选项 B 中,命令按钮控件数组的 Caption 属性不一定相同,可以单独分别设置,其他选项均正确。2.列表框中的项目保存在一个数组中,这个数组的名字是(分数:2.00)A.ColumnB.StyleC.List D.MultiSelect解析:解析:本题考查列表框的使用。列表框的元素保存在 List 数组中,可以通过 List

    22、 属性获取元素值。3.下面的语句用 Array 函数为数组变量 a 的各种元素赋值整数值:(分数:2.00)A.Dim a B.Dim a As IntegerC.Dim a(9)As IntegerD.Dim a()As Integer解析:解析:本题考查常用函数。Array 函数返回一个包含数组的 Vaiiant,语法:Array(arglist)。所需的 arglist 参数是一个用逗号隔开的值表,这些值用于给 Variant 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为 0 的数组。本题中变量 a 必须是变体类型,选项 A 正确。4.以下数组定义语句中,错误的是(分数:2

    23、.00)A.Static(10)As IntegerB.Dim c(3,1 To 4)C.Dim d(-10) D.Dim b(0 To 5,1 To 3)As Integer解析:解析:本题考查的考点是有关数组定义的。在 Visual Basic 中,可以用 4 个关键字来定义数组,分别是 Dim、ReDim、Public 和 Static。在 Visual Basic 中定义数组有两种格式。 格式一:Dim数组名(下标上界)As类型名称 Dim数组名(第一维下标上界,第二维下标上界)As类型名称 格式二:Dim数组名(下界 To 上界,下界 To 上界)As类型名称 其中上界必须大于下界。

    24、本题中选项 C 采取第一种格式定义数组,则数组默认下界为 0,上界一 10 小于 0,故不符合要求。5.语句 Dim a(-3 To 4,3 To 6)As Integer 定义的数组的元素个数是(分数:2.00)A.18B.28C.21D.32 解析:解析:本题考查的考点是有关二维数组的。二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To 连接,即给出下标可取值的变化范围。“数组元素个数”指的是数组中成员的个数,每一维的长度是上界一下界+1,数组元素个数等于各维长度之积。6.下面正确使用动态数组的是(分数:2.00)A.Dim art() As IntegerReDim ar

    25、t(3,5) B.Dim ar()As IntegerReDim art(50)As StringC.Dim ar()ReDim art(50)As IntegerD.Dim art(50)As IntegerReDim arr(20)解析:解析:通常把需要在编译时分配内存区的数组叫做静态数组,而把需要在运行时分配内存区的数组叫做动态数组。定义动态数组通常分两步:首先在窗体层或标准模块中用 Dim、Private 或 Public 声明一伞没有下标的数组(括号不能省略),然后在过程中用 ReDim 语句定义带下标的数组。ReDim 语句只能用于动态数组,它可以改变每一维的大小,但不能改变维数和

    26、数组类型。7.设有如下数组定义语句: Dim a(-1 To 4,3)As Integer 以下叙述中正确的是(分数:2.00)A.a 数组有 1 8 个数组元素B.a 数组有 20 个数组元素C.a 数组有 24 个数组元素 D.语法有错解析:解析:二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To 连接,即给出下标可取值的变化范围。“数组元素个数”指的是数组中成员的个数,每一维的长度是上界一下界+1,数组元素个数等于各维长度之积。数组下标的默认下限值为 0,此时数组某一维的元素个数等于该维下标上界值加 1。8.语句 DimArr(-2 To 4)As Integer 所定义

    27、的数组的元素个数为(分数:2.00)A.7 个 B.6 个C.5 个D.4 个解析:解析:数组中所含有的元素个数为:上界一下界+1,本题中计算 4-(-2)+1=7。9.下列数组定义中错误的是(分数:2.00)A.Dim a(-5 To -3)B.Dim a(3 To 5)C.Dim a(-3 To -5) D.Dim a(-3 To 3)解析:解析:定义数组一般使用的格式是 Dim数组名(下界 To 上界,下界 To 上界)As类型名称,其中定义数组时,每一维的下标必须是常数,不能是变量或表达式。即使在执行数组定义语句之前给出变量的值,也是错误的:无论定义数组的格式为那种,下界都必须小于上界

    28、。10.以下关于数组的叙述中,错误的是(分数:2.00)A.Variant 类型的数组中各数组元素的类型可以不同B.各数组元素可以是不同类型的控件 C.各数组元素通过下标进行区别D.各数组元素具有相同的名称解析:解析:数组是一组具有相同类型和名称的变量的集合。这些变量称为数组元素,它们具有相同的名称,每个数组元素都有一个编号被称为下标,可以通过下标来区别这些元素。变体型数组,控件数组中各数组元素必须是相同类型的控件。11.设有如下声明语句 Option Base1 Dim arr(2,-1 To 5)As Integer 则数组 arr 中数组元素的个数是(分数:2.00)A.10B.12C.

    29、14 D.21解析:解析:二维数组定义时对于数组的每一维均给定下标的下界和上界,中间用 To 连接,即给出下标可取值的变化范围。“数组元素个数”指的是数组中成员的个数,每一维的长度是上界下界+1,默认下界是 0,数组元素个数等于各维长度之积。12.以下叙述中错误的是(分数:2.00)A.用 ReDim 语句可以改变数组的维数B.用 ReDim 语句可以改变数组的类型 C.用 ReDim 语句可以改变数组每一维的大小D.用 ReDim 语句可以对数组中的所有元素置 0 或空字符串解析:解析:Visual Basic 中有两种类型的数组:固定大小的数组及动态数组。固定大小的数组总是保持同样的大小,

    30、而动态数组在运行时可以改变大小。要使用动态数组可先声明一个不指明大小的空数组(即没有维数下标),然后再用 ReDim 语句在过程中改变数组大小和类型,对于多维数组,无法改变维数,只能改变最后一维的大小。13.设有下面的程序段: X=InputBox(“请输入一个整数“) ReDim a(x) For k=x To 0 Step -1 a(k)=k Next k 一般,在这段程序之前应先进行数组 a 的定义。下面定义语句中正确的是(分数:2.00)A.Dim a(100)As IntegerB.Dim a()As Integer C.Dim a As IntegerD.Dim a(0 To 10

    31、0)As Integer解析:解析:动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用 Dim 或 Public 声明一个没有下标的数组(括号不能省略),然后在过程中随时用ReDim 语句可以重定义变量作为下标的数组,重定义后原数组的所有元素值被清空。14.如果要在语句:a=Array(1,2,3,4,5)的前面声明变量 a,则正确的声明是(分数:2.00)A.Dim a(4)As ImegerB.Dim a(5)As VariantC.Dim a(1 To 5)As IntegerD.Dim a As Variant 解析:解析:Array(a

    32、rglist)函数用于将 arglist 参数中一组用逗号隔开的值列转换成一个数组并赋值给某数组变量,此时要求数组变量在定义时定义成变体型变量或者不声明长度的数组,不能是定长数组。15.设有如下一段程序: Private Sub Command1_Click() Static a As Variant a=Array(“one“,“two“,“three“,“four“,“five“) Print a(3) End Sub 针对上述事件过程,以下叙述中正确的是(分数:2.00)A.变量声明语句有错,应改为 Static a(5)As VariantB.变量声明语句有错,应改为 Static a

    33、C.可以正常运行,在窗体上显示 threeD.可以正常运行,在窗体上显示 four 解析:解析:Arraylarglist)函数用于将 arglist 参数中一组用逗号隔开的值列转换成一个数组并赋值给某数组变量,此时要求数组变量在定义时定义成变体型变量或者不声明长度的数组,不能是定长数组。数组的默认下界为 O,所以 a(3)是数组的第四个元素。16.在窗体上画一个命令按钮(其 Name 属性为 Command1),然后编写如下代码: Private Sub Command1_Click() Dim n()As Integer:Dim a,b As Integer a=InputBox(“Ent

    34、er 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 程序运行后,单击命令按钮,在输入对话框中分别输入 2 和 3,输出结果为(分数:2.00)A.1 2B.2 3 C.3 4D.4 5解析:解析:动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用 Dim 或 Public 声明一个没有下标的数组(括号不能省略),然后在过程中随

    35、时用ReDim 语句可以重定义变量作为下标的数组,重定义后原数组的所有元素值被清空。输入 2、3 之后数组被重新定义成了 n(2 To 3),只有两个数组元素,并且 n(k)=k,即输出 2 3。17.1 个二维数组可以存放 1 个矩阵,在程序开始有语句 Option Base0,则下面定义的数组中正好可以存放 1 个 4(3 矩阵(即只有 12 个元素)的是(分数:2.00)A.Dim a(-2 To 0,2)As IntegerB.Dim a(3,2)As Integer C.Dim a(4,3)As IntegerD.Dim a(-1,To-4,-1 To -3)As Integer解析

    36、:解析:本题考查数组的定义。题目要求定义个一个二维数组,已经指定 Option Base 为 0,因此选项 B 正确;选项 A 是一维数组:选项 C 数组大小为 54:选项 D 数组定义错误。18.默认情况下,下面声明的数组的元素个数是 Dim a(5,-2 To 2)(分数:2.00)A.20B.24C.25D.30 解析:解析:本题考查二维数组的定义和使用。Dim a(5-2 To 2)表示定义一个二维数组,第一维的下标范围是 0 到 5(6 行),第二维的下标范围是-2 到 2(5 列),数组的大小为 65=30。19.设程序中有如下数组定义和过程调用语句: Dim a(10)As In

    37、teger Call p(a) 如下过程定义中,正确的是(分数:2.00)A.Private Sub p(a As Integer)B.Private Sub p(a() As Integer) C.Private Sub p(a(10)As Integer)D.Private Sub p(a(n)As Integer)解析:解析:本题考查过程的定义和使用。由 p 过程的调用“Call p(a)”可知,过程 p 有一个参数,且参数类型为 Integer 数组。20.在程序中要使用 Array 函数给数组 arr 赋初值,则以下数组变量定义语句中错误的是(分数:2.00)A.Static arr

    38、B.Dim arr(5) C.Dim arr()D.Dim arr As Vailant解析:解析:Amy(arglist)函数用于将 arglist 参数中一组用逗号隔开的值列转换成一个数组并赋值给某数组变量,此时要求数组变量在定义时定义成变体型变量或者不声明长度的数组,不能是定长数组。21.有下面程序代码: Private Sub Command1_Click() a=Array(1,2,3,4,5,6,7,8,9,10) n=UBound(a) For k=0 To UBound(a)2 Print a(k)*a(n);:n=n-1 Next k End Sub 程序运行后,单击命令按钮

    39、 Command1,输出结果是(分数:2.00)A.26 12 20 30B.2 12 20 56 90C.30 28 24 18 10D.10 18 24 28 30 解析:解析:使用 Array 函数建立的数组其下标下界为 0,n 的值是数组的上界即 9:在循环中 k 从 O 循环到数组长度的一半,每次输出 a(k)*a(n)的值然后令 n-1,故此容易得到每次输出的是数组两端值之积,依次向数组中间移动,即 1*10、2*9、3*8、4*7、5*6。22.有下面程序代码: Option Base1 Private Sub Command1_Click() Dim a(10)As Integ

    40、er,x,b x=InputBox(“请输入一个多位整数“) For k=l To Len(x) b=Mid(x,k,1) a(Val(b)+1)=a(Val(b)+1)+1 Next k For k=1 To 10 Print a(k): Next k End Sub 程序运行时,单击命令按钮 Command1,输入2355270224,则输出是(分数:2.00)A.1 0 4 1 1 2 0 1 0 0 B.0 4 1 1 2 0 1 0 0 0C.2 3 5 5 2 7 0 2 2 4D.4 2 2 0 7 2 5 5 3 2解析:解析:InputBox 函数将会返回用户在输入对话框中输

    41、入的文本,以字符串的形式返回:在第一个For 循环中从前到后依次取出字符串中的每一位数字,然后令对应的数组元素自加 1,其中数组的第一位放的是 0 的个数,所以循环结束后数组中存放的是各个数字出现的个数。23.窗体上有 Command1、Command2 两个命令按钮。现编写以下程序: Option Base 0 Dim a()As Integer,m As Integer Private Sub Command1_Click() m=InputBox(“请输入一个正整数“) ReDim a(m) End Sub Private Sub Command2 Click() m=InputBox(

    42、“请输入一个正整数“) ReDim a(m)End Sub 运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则数组 a 中元素的个数是(分数:2.00)A.5B.6 C.10D.11解析:解析:本题考查的考点是有关动态数组的。动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用 Dim 或 Public 声明一个没有下标的数组(括号不能省略),然后在过程中随时用 ReDim 语句可以重定义变量作为下标的数组,重定义后原数组的所有元素值被清空。本题中由于数组下标从 0 开始,所以单击 Command1

    43、后输入 10,数组被重定义成了 11 个元素;然后单击 Command2 输入 5,数组又被重定义成了 6 个元素,所以最后数组中有 6 个元素。24.在窗体上画一个名为 Command1 的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim M(10)As Integer For k=1 To 10 M(k)=12-k Next k x=8 Print M(2+M(x) End Sub 运行程序,单击命令按钮,在窗体上显示的是(分数:2.00)A.6 B.5C.7D.8解析:解析:本题考查的考点是有关数组的。本题只需要清楚知道最终输出的是什么就可以

    44、了,由于 x 被赋值为 8,所以 M(x)也就是 M(8),其值为 4:将 4 代换 M(x),可以知道最终输出的是 M(2+4)也就是 M(6),所以最终输出结果为 6。25.在窗体上画一个命令按钮和一个标签,其名称分别为 Command1 和 Label1,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(10) For i=6 To 10 arr(i)=i-5 Next i Label1Caption=arr(0)+arr(arr(10)arr(6) End Sub 运行程序,单击命令按钮,则在标签中显示的是(分数:2.00)A.0 B.1

    45、C.2D.3解析:解析:在本题的循环中分别将 arr(6)到 arr(10)的数组元素赋值为 15,而 arr(0)到 arr(5)的数组元素没有被赋值,将保留默认初值 0,即最后标签上显示的是 arr(0)+arr(5)=0。26.在窗体上画一个名称为 Text1 的文本框,并编写如下程序: Option Base1 Private Sub Form Click() Dim arr Dim Start As Integer,Finish As Integer Sum As Integer arr=Array(12,4,8,16) Start=LBound(arr) Finish=UBound

    46、(arr) Sum=0 For i=Start To Finish Sum=Sum+arr(i) Next i c=SumFinish Text1Text=c End Sub 运行程序,单击窗体,则在文本框中显示的是(分数:2.00)A.40B.10 C.12D.16解析:解析:本题中变量 Stan 存放的是数组的下界,Finish 存放数组的上界,因此 For 循环将遍历整个数组;在每次循环中将数组元素累加到累加和变量 Sum 中,循环结束后用累加和变量除以数组上界,由于数组下界从 0 开始,即求出数组平均值。27.以下过程的功能是从数组中寻找最大值: Pfivate Sub FindMax

    47、(a() As Integer,ByRef Max As Integer) Dim S As Integer,f As Integer:Dim i As Integer s=LBound(a):f=UBound(a) Max=a(s) For i=S To f Ifa(i)Max Then Max=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是(分数:2.00)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a 是数组,m 是 Integer 类型变量B.For 循环次数等于 a 数组的元素数C.过程末尾应该增加一条返回最大值的语句 FindMax=

    48、Max D.参数 Max 用于存放找到的最大值解析:解析:本题中定义了一个子过程 FindMax,第一个形参是一个数组,第二个形参是一个整型值,所以调用此过程的实参也应该是一个数组和一个整型变量:在过程中遍历整个数组,首先让数组的第一个元素为最大值,然后依次用数组元素和 Max 进行比较,若其比 Max 大则令其成为新的最大值,所以 For 循环次数等于 a 数组的元素数,参数 Max 用于存放找到的最大值;子过程没有返回值,也无需增加一条返回最大值的语句 FindMax=Max。28.窗体上有一个名称为 Command1 的命令按钮,并有如下程序代码: Option Base1 Privat

    49、e Sub Command1_Click() Dim a(3,3) For i=l To 3 For i=l To 3 Ifi1 And1 Then a(i,j)=a(a(i-1,j-1),a(i,j-1)+1 Else a(i,j)=i*j End If Next Next Print a(2,2);a(3,3) End Sub 运行程序,单击命令按钮,窗体上显示的是(分数:2.00)A.1 3B.2 1C.2 2D.3 3 解析:解析:本题是一个二维数组的赋值问题,要判断清哪一个数组元素的值被赋值成了多少。首先确定a(1,1)=1,a(1,2)=2,a(1,3)=3,a(2,1)=2,a(3,1)=3;然后按照公式计算其余的元素。29.窗体上有一个名称为 Command1 的命令按钮,其单击事件过程如下: Option Base1 Private Sub Command1_Click() Dim a(4,4)As Integer For i=1 To 4 Forj=1 To 4 a(i,j)=Int(Rnd 宰 100) Next Next x=a(1,1)y=a(1,1) For i=1


    注意事项

    本文(【计算机类职业资格】国家二级VB机试(数组)模拟试卷4及答案解析.doc)为本站会员(orderah291)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开