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

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

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

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

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

    1、国家二级 VB 机试(数组)模拟试卷 5 及答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.窗体上有名称为 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 Print Sum End Sub 运行程序,单击命令按钮时,窗体上显示的是(分数:2.00)A

    2、.44B.46C.50D.522.窗体上有一个名称为 Command1 的命令按钮,有程序如下: Option Base1 Private Sub Command1_Click() Dim a(10)As Integer 第 1 个 For For i=l To 10 a(i)=Int(Rnd*100+100) Print a(i);Next x=a(i):y=x 第 2 个 For For i=1 To 10 Ifxa(i)Then Y=a(i) s=s+a(i) Next Print x,y,s End Sub 关于上述程序的叙述中,正确的是(分数:2.00)A.程序运行出错,第 1 个

    3、For 循环之后的 x=a(i)赋值语句错B.程序正常运行,x 是 10 个随机数中的最大值C.程序正常运行,s 是 10 个随机数的和D.程序正常运行,10 个随机数的范围是 100-2003.在窗体上画一个文本框,其名称为 Text1,然后编写如下程序: Option Base1 Pdvme Sub Form_Click() Dim Arr(10)As Integer For i=6 To 10 An(i)=i-3 Next i Text1Text=Str(Arr(6)+Arr(Arr(6)+Arr(10) End Sub 程序运行后,单击窗体,在文本框中显示的内容是(分数:2.00)A.

    4、7B.8C.9D.104.假定有如下程序: Private Sub Form Click() Dim a(4)As Integer,b(4)As Integer For k=0 To 2 a(k+1)=Val(InputBox(“请输入一个整数:“) b(3-k)=a(k+1) Next k Print b(k) End Sub 运行程序,单击窗体,依次输入 3、6、9,输出结果为(分数:2.00)A.3B.6C.9D.15.阅读程序: Option Base1 Private Sub Form Click() Dim a(3,3)As Integer For i=1 To 3 Forj=1

    5、To 3 a(i,j)=_ Print a(i,j); Nextj Print Next i End Sub 运行上面的程序,单击窗体,输出结果如下: 1 4 7 2 5 8 3 6 9 则在横线处应填入的内容为(分数:2.00)A.i+jB.i*jC.(i-1)*3+jD.i+(j-1)*36.阅读程序: Option Base1 Sub P(b() As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Form Click() Dim a(4)As Integer For i=1 To 4 a(i)=i+4 Next i

    6、P a For i=1 To 4 Print a(i) Next i End Sub 运行上面的程序,单击窗体,输出结果为(分数:2.00)A.2 4 6 8B.5 6 7 8C.10 12 14 16D.4 8 12 167.在窗体上画一个命令按钮,然后编写如下程序: Option Base1 Privme Sub Command1_Click() Dim Arr(10)As Integer For i=1 To 10 Arr(i)=11-i Next i x=InputBox(“输入一个整数(310)“) PrintAn(2+Arr(x) End Sub 程序运行后,单击命令按钮,在输入对

    7、话框中输入 7,则输出结果为(分数:2.00)A.3B.4C.5D.68.设有下面程序代码: Private Sub Command1_Click() Dim a As Variant a=Array(22,43,23,56,87,45,67,12,98,98,56,34,23,75,64) m=a(0)n=m For k=1 To UBound(a) Ifa(k)mThen n=m:m=a(k) Elselfa(k)n And a(k)“Then subf s1,s2 s2=s2 temp End Sub 程序运行后,单击命令按钮 Command1,且输入“abcdef”,则输出结果为(分数

    8、:2.00)A.afbecdB.cdbeafC.fedcbaD.adbecf27.以下关于函数过程的叙述中,正确的是(分数:2.00)A.函数过程形参的类型与函数返回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型28.在 VB 中,函数过程与子程序过程的区别之一是(分数:2.00)A.函数过程必须有参数,而子程序过程可以没有B.函数过程的参数传递只采用值传递,而子程序过程只采用地址传递C.在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能D.函数过程

    9、有返回值,而子程序过程没有29.在窗体上画一个命令按钮(名称为 Command1),并编写如下代码: Function Fun1(ByVal a As Integer, Private Sub Command1_Click() b As Integer)As Integer Dim x As Integer Dim t As Integer x=10 t=a-b:b=t+a:Fun1=t+b Print Funl(Funl(x,(Funl(x,x-1),x-1) End Function End Sub 程序运行后,单击命令按钮,输出结果是(分数:2.00)A.10B.0C.11D.2130.

    10、有下面程序代码: Private Sub Command1_Click() Dim aAs String a=“COMPUTER”n=search(a,“T“):Print IIf(n=0,“未找到“,n) End Sub Private Function search(str As String,ch As String)As Integer For k=1 To Len(str) c=Mid(str,k,1) Ifc=ch Then search=k:Exit Function End If Next k search=0 End Function 程序运行后,单击命令按钮 Command

    11、1,输出结果是(分数:2.00)A.0B.8C.6D.未找到国家二级 VB 机试(数组)模拟试卷 5 答案解析(总分:60.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.窗体上有名称为 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 Print Sum End Sub 运

    12、行程序,单击命令按钮时,窗体上显示的是(分数:2.00)A.44B.46C.50D.52 解析:解析:本题中使用了一个循环为 b 数组进行赋值,每个元素的值是对应 a 数组元素的值加上下标的值。因此 b 数组中的元素为(3、6、10、7、14、12),然后累加和为 52。2.窗体上有一个名称为 Command1 的命令按钮,有程序如下: Option Base1 Private Sub Command1_Click() Dim a(10)As Integer 第 1 个 For For i=l To 10 a(i)=Int(Rnd*100+100) Print a(i);Next x=a(i)

    13、:y=x 第 2 个 For For i=1 To 10 Ifxa(i)Then Y=a(i) s=s+a(i) Next Print x,y,s End Sub 关于上述程序的叙述中,正确的是(分数:2.00)A.程序运行出错,第 1 个 For 循环之后的 x=a(i)赋值语句错 B.程序正常运行,x 是 10 个随机数中的最大值C.程序正常运行,s 是 10 个随机数的和D.程序正常运行,10 个随机数的范围是 100-200解析:解析:随机数函数 Rnd 的功能是用于产生一个小于 1 大于或等于 0 的随机数,本题中产生的整数的范围是 100-199:在第一个循环结束后,循环变量 i

    14、的值为不满足循环条件的值 11,在紧随其后的 x=a(i)语句将会执行出错,因为出现了数组越界。3.在窗体上画一个文本框,其名称为 Text1,然后编写如下程序: Option Base1 Pdvme Sub Form_Click() Dim Arr(10)As Integer For i=6 To 10 An(i)=i-3 Next i Text1Text=Str(Arr(6)+Arr(Arr(6)+Arr(10) End Sub 程序运行后,单击窗体,在文本框中显示的内容是(分数:2.00)A.7B.8C.9D.10 解析:解析:本题中在循环中为数组部分元素赋值,把 Arr(6)Arr(1

    15、0)分别赋值为 37,其余的数组元素保持默认值 0;最终输出的是 Arr(6)+Arr(Arr(6)+Arr(10)即 Arr(6)+Arr(10)=10。4.假定有如下程序: Private Sub Form Click() Dim a(4)As Integer,b(4)As Integer For k=0 To 2 a(k+1)=Val(InputBox(“请输入一个整数:“) b(3-k)=a(k+1) Next k Print b(k) End Sub 运行程序,单击窗体,依次输入 3、6、9,输出结果为(分数:2.00)A.3 B.6C.9D.1解析:解析:本题在循环中输入数据,当第

    16、一次输入 3 的时候 a(1)=3,b(3)=a(1)=3;当第二次输入 6 的时候 a(2)=6,b(2)=a(2)=6:当第三次输入 9 的时候 a(3)=6,b(1)=a(3)=9,跳出循环后 k 的值为 3,将输出 b(3)的值。5.阅读程序: Option Base1 Private Sub Form Click() Dim a(3,3)As Integer For i=1 To 3 Forj=1 To 3 a(i,j)=_ Print a(i,j); Nextj Print Next i End Sub 运行上面的程序,单击窗体,输出结果如下: 1 4 7 2 5 8 3 6 9

    17、则在横线处应填入的内容为(分数:2.00)A.i+jB.i*jC.(i-1)*3+jD.i+(j-1)*3 解析:解析:本题中使用二重循环为数组赋值,分许输出的结果,每个元素和行号和列号的关系可以看出,每个元素的值应该等于 i+(i-1)*3。6.阅读程序: Option Base1 Sub P(b() As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Form Click() Dim a(4)As Integer For i=1 To 4 a(i)=i+4 Next i P a For i=1 To 4 Print a(

    18、i) Next i End Sub 运行上面的程序,单击窗体,输出结果为(分数:2.00)A.2 4 6 8 B.5 6 7 8C.10 12 14 16D.4 8 12 16解析:解析:本题中的过程 P 的功能是为形参数组 b 进行赋值,数组作为参数时采用的是地址传递,所以对形参的改变将会影响实参,也就是在窗体的单击事件中,首先在一个循环中为数组 a 赋值,然后调用了P 过程重新为 a 赋值覆盖掉原来的值。7.在窗体上画一个命令按钮,然后编写如下程序: Option Base1 Privme Sub Command1_Click() Dim Arr(10)As Integer For i=1

    19、 To 10 Arr(i)=11-i Next i x=InputBox(“输入一个整数(310)“) PrintAn(2+Arr(x) End Sub 程序运行后,单击命令按钮,在输入对话框中输入 7,则输出结果为(分数:2.00)A.3B.4C.5 D.6解析:解析:本题是一个简单的数组操作,首先在一个循环中为数组元素赋值,然后输出指定的数组元素值。最终输出的是 Arr(2+Arr(7)=Arr(6)=5。8.设有下面程序代码: Private Sub Command1_Click() Dim a As Variant a=Array(22,43,23,56,87,45,67,12,98,

    20、98,56,34,23,75,64) m=a(0)n=m For k=1 To UBound(a) Ifa(k)mThen n=m:m=a(k) Elselfa(k)n And a(k)“Then subf s1,s2 s2=s2 temp End Sub 程序运行后,单击命令按钮 Command1,且输入“abcdef”,则输出结果为(分数:2.00)A.afbecdB.cdbeafC.fedcba D.adbecf解析:解析:本题中的子过程 subf 会进行递归调用,只要在参数 s1 中取出的字符不是空字符串就进行递归,直到 i 的值超过 s1 的长度才停止,然后进行回归操作,相当于每一次

    21、向 s2 中连接的字符都是最后取出的 s1 中的字符,最终实现字符串的逆序操作。27.以下关于函数过程的叙述中,正确的是(分数:2.00)A.函数过程形参的类型与函数返回值的类型没有关系 B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型解析:解析:本题考查的考点是有关函数过程的。函数过程可以返回一个函数值,但这个函数值的类型和参数类型没有任何关系:如果不指明参数的类型,则默认参数为变体型:数组作为函数参数时只能通过传地址的方式来调用。28.在 VB 中,函数过程与子程序过程的区别

    22、之一是(分数:2.00)A.函数过程必须有参数,而子程序过程可以没有B.函数过程的参数传递只采用值传递,而子程序过程只采用地址传递C.在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能D.函数过程有返回值,而子程序过程没有 解析:解析:函数过程和 Sub 子过程一样,也可以有参数也可以没有参数;参数传递也可以使用地址传递也可以使用值传递;都是在代码中进行调用,只是函数过程必须有一个返回值,子过程没有。29.在窗体上画一个命令按钮(名称为 Command1),并编写如下代码: Function Fun1(ByVal a As Integer, Private Sub Command1

    23、_Click() b As Integer)As Integer Dim x As Integer Dim t As Integer x=10 t=a-b:b=t+a:Fun1=t+b Print Funl(Funl(x,(Funl(x,x-1),x-1) End Function End Sub 程序运行后,单击命令按钮,输出结果是(分数:2.00)A.10B.0 C.11D.21解析:解析:本题考查的考点是有关过程调用的。对于这种复杂的函数调用,一定要搞清楚调用的顺序以及参数传递的是值还是地址。根据过程调用的原则,首先调用最内层的 Funl(x,x1),其结果为 12,x的值不变仍为 10

    24、;然后调用:Funl(x,12),其结果为 6,x 的值也不变为 10;最后调用 Funl(6,x-1),其结果为 0,x 的值也不变为 10。本题中的传址调用是没有作用的,因为表达式是不能传地址的。30.有下面程序代码: Private Sub Command1_Click() Dim aAs String a=“COMPUTER”n=search(a,“T“):Print IIf(n=0,“未找到“,n) End Sub Private Function search(str As String,ch As String)As Integer For k=1 To Len(str) c=Mid(str,k,1) Ifc=ch Then search=k:Exit Function End If Next k search=0 End Function 程序运行后,单击命令按钮 Command1,输出结果是(分数:2.00)A.0B.8C.6 D.未找到解析:解析:本题中 search 函数的参数是两个字符串,在函数内进行循环,依次取出第一个参数的第 k位和第二个参数进行比较,如果相等则返回 k 的值,实际上就是查找第二个参数在第一个参数中出现的位置。


    注意事项

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




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

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

    收起
    展开