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

    【计算机类职业资格】二级VISUAL+BASIC-104及答案解析.doc

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

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

    【计算机类职业资格】二级VISUAL+BASIC-104及答案解析.doc

    1、二级 VISUAL+BASIC-104及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.以下关于 VB特点的叙述中,错误的是_。(分数:2.50)A.VB采用事件驱动的编程机制B.VB程序能够以解释方式运行C.VB程序能够以编译方式运行D.VB程序总是从 Form Load事件过程开始执行2.如果把程序的启动对象设置为 Sub Main,则 Sub Main过程_。(分数:2.50)A.只能写在 Forml窗体中代码的最前面B.可以写在 Form1窗体中代码的任何位置C.只能写在某个标准模块的代码中D.可以写在任何窗体或标准模块的代码中3.

    2、设窗体上有 3个图像框:Image1、Image2、Image3,并有下面的程序代码: Private Sub Form_Load() Image1.Picture=LoadPicture(“LEAF.bmp“) Image2.Picture=LoadPieture(“OPEN.bmp“) Image3.Visible=False End Sub Private Sub Image1_Click() Image2.Picture=Image1.Picture End Sub Private Sub Image2_Click() Image3.Picture=Image2.Picture Ima

    3、ge2.Picture=Image1.Picture Image1.Picture=Image3.Picture End Sub 在程序运行期间单击 Image2,则在窗体上看到的结果是_。(分数:2.50)A.在 Image3中显示 Image2中的图片B.Image1、Image2 中原有图片被交换了C.Image1、Image2 中都是原来 Imege1中的图片D.Image1、Image2 中都是原来 Imege2中的图片4.以下过程定义中正确的过程首行是_。(分数:2.50)A.Private Sub Proc(Optional a as Integer,b as Integer)B

    4、.Private Sub Proc(a as Integer)as IntegerC.Private Sub Proc(a()As Integer)D.Private Sub Proc(ByVal a()As Integer)5.以下过程的功能是从数组中寻找最大值: Private Sub FindMax(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 If a(i)Max Then M

    5、ax=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是_。(分数:2.50)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a是数组,m 是 Integer类型变量B.For循环次数等于 a数组的元素数C.过程末尾应该增加一条返回最大值的语句 FindMax=MaxD.参数 Max用于存放找到的最大值6.设有如下 Command1按钮的单击事件过程及 fun过程: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“请输入一个整数“) fun(x) End Sub Private

    6、Sub fun(x As Integer) If x Mod 2=0 Then fun(x/2) Print x; End Sub 执行上述程序,输入 6,结果是_。(分数:2.50)A.3 6B.6 3C.6D.程序死循环7.窗体上有一个名称为 Command1的命令按钮,并有如下程序代码: Option Base 1 Private Sub Command1_Click() Dim a(4,4)As Integer Dim b As Integer Dim i As Integer,j As Integer For i=1 To 4 For j=1 To 4 a(i,j)=i+j Next

    7、 j Next i Call f(a,b) Print b End Sub Private Sub f(x()As Integer, ByRef y As Integer) y=0 For i=1 To 4 y=y+x(i,i) Next End Sub 运行程序,单击命令按钮后,窗体上显示的是_。(分数:2.50)A.0B.2C.8D.208.设子程序过程定义的首部为: Public Sub S(X As Integer,Y As Single) 则以下正确的调用形式为_。(分数:2.50)A.Call S 5,4.8B.Call Sub(5,4.8)C.Sub 5,4.8D.S 5,4.8

    8、9.阅读程序: Option Base 1 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(i) Next i End Sub 运行上面的程序,单击窗体,输出结果为_。(分数:2.50)A.2468B.5678C.10121416D.481210.设有以下过程: Private Sub proc(x As Integer, Opti

    9、onal y As Integer) Print x,y End Sub 针对此过程,下面正确的过程调用语句是_。(分数:2.50)A.Call proc(a!,23)B.Call proc x%,12C.proc b%D.x=proc(12)11.以下说法中正确的是_。(分数:2.50)A.事件过程也是过程,只能由其他过程调用B.事件过程的过程名是由程序设计者命名的C.事件过程通常放在标准模块中D.事件过程是用来处理由用户操作或系统激发的事件的代码12.设窗体名称为 frm1。以下叙述中正确的是_。(分数:2.50)A.运行程序时,能够加载窗体的事件过程是 frm1_LoadB.运行程序时,

    10、能够加载窗体的事件过程是 Form1_LoadC.程序运行中用语句 frm1.Name=“New“可以更改窗体名称D.程序运行中用语句 frm1.Caption=“新标题“可以改变窗体的标题13.窗体上有一个名称为 Command1的命令按钮,一个名称为 Text1的文本框。编写如下程序: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“输入数据“) Text1=Str(x+fun(x)+fun(x) End Sub Private Function fun(ByRef n As Integer) If n Mod 3

    11、=0 Then n=n+n Else n=n*n End If fun=n End Function 对于上述程序,以下叙述中错误的是_。(分数:2.50)A.语句 fun=n有错,因为 n是整型,fun 没有定义类型B.运行程序,输入值为 5时,文本框中显示 655C.运行程序,输入值为 6时,文本框中显示 42D.ByRef表示参数按址传递14.在窗体上画一个命令按钮和一个文本框,其名称分别为 Command1和 Text1,然后编写如下程序: Function Fun(x As Integer, y As Integer)As Integer Fun=IIf(xy,x,y) End Fu

    12、nction Private Sub Form_Load() Command1.Default=True End Sub Private Sub Command1_Click() Dim a As Integer, b As Integer a=20 b=12 Text1.Text=Str(Fun(a,b) End Sub 程序运行后,按 Enter键,文本框中显示的内容为_。(分数:2.50)A.12B.20C.24D.4015.以下关于函数过程的叙述中,正确的是_。(分数:2.50)A.函数过程形参的类型与函数返回值的类型没有关系B.在函数过程中,过程的返回值可以有多个C.当数组作为函数过

    13、程的参数时,既能以传值方式传递,也能以传址方式传递D.如果不指明函数过程参数的类型,则该参数没有数据类型16.下面是求最大公约数的函数的首部: Function gcd(ByVal x As Integer, ByVal y As Integer)As Integer 若要输出 8、12、16 这 3个数的最大公约数,下面正确的语句是_。(分数:2.50)A.Print gcd(8,12),gcd(12,16),gcd(16,8)B.Print gcd(8,12,16)C.Print gcd(8),gcd(12),ged(16)D.Print god(8,gcd(12,16)17.求 1!+2

    14、!+10!的程序如下: Private Function s(x As Integer) f=1 For i=1 To x f=f*i Next s=f End Function Private Sub Command1_Click() Dim i As Integer Dim y As Long For i=1 To 10 _ Next Print y End Sub 为实现功能要求,程序的横线处应该填入的内容是_。(分数:2.50)A.Call s(i)B.Call sC.y=y+s(i)D.y=y+s18.假定有以下通用过程: Function Fun(n As Integer)As I

    15、nteger x=n*n Fun=x-11 End Function 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程。 Private Sub Command1_Click() Dim i As Integer For i=1 To 2 y=Fun(i) Print y; Next i End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是_。(分数:2.50)A.1 3B.10 8C.-10 -7D.0 519.在窗体上画一个命令按钮(名称为 Command1),并编写如下代码: Function Fun1(ByVal a As Integer, b As

    16、Integer)As Integer Dim t As Integer t=a-b b=t+a Fun1=t+b End Function Private Sub Command1_Click() Dim x As Integer x=10 Print Fun1(Fun1(x,(Fun1(x,x-1),x-1) End Sub 程序运行后,单击命令按钮,输出结果是_。(分数:2.50)A.10BOC.11D.2120.窗体上有一个名称为 Command1的命令按钮,其单击事件过程及相关的函数过程如下: Private Sub Command1_Click() Dim i As Integer

    17、For i=1 To 500 If P(i) Then s=s+1 Next Print s End Sub Private Function p(x As Integer)As Boolean If x Mod 70 Then p=True Else p=False End If End Function 关于上述程序,以下叙述中正确的是_。(分数:2.50)A.程序功能是统计 1500 范围内能被 7整除的整数个数B.Command1_Click事件过程中 If语句的条件表达式不完整C.Function过程定义有误,函数过程 p的名称与该过程中的变量名 p相同D.函数过程 p的返回值为 B

    18、oolean类型21.窗体上有一个名称为 Command1的命令按钮,其单击事件过程及相关的代码如下: Private Sub Command1_Click() Dim x As Integer, y As Integer x=Val(InputBox(“输入整数“) y=Val(InputBox(“输入整数“) Print str(fun(x,y)+x+y) End Sub Private Function fun(ByRef m As Integer, ByVal n As Integer) m=m*m n=n+n fun=m+n End Function 运行程序,单击命令按钮时,出现输

    19、入对话框,分别输入 3、5,则窗体上显示的是_。(分数:2.50)A.27B.28C.33D.3822.某人编写了下面的程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a=InputBox(“请输入整数“) b=InputBox(“请输入整数“) pro a pro b Call pro(a+b) End Sub Private Sub pro(n As Integer) While(n0) Print n Mod 10; n=n/10 Wend Print End Sub 此程序功能是:输入 2个正整数,反序输出

    20、这 2个数的每一位数字,再反序输出这 2个数之和的每一位数字。例如:若输入 123和 234,则应该输出: 3 2 1 4 3 2 7 5 3 但调试时发现只输出了前 2行(即 2个数的反序),而未输出第 3行(即 2个数之和的反序),程序需要修改。下面的修改方案中正确的是_。(分数:2.50)A.把过程 pro的形式参数 n As Integer改为 ByVal n As IntegerB.把 Call pro(a+b)改为 pro a+bC.把 n=n/10改为 n=n/10D.在 pro b语句之后增加语句 c%=a+b,再把 Call pro(a+b)改为 pro c23.命令按钮 C

    21、ommand1的单击事件过程如下: Private Sub Command1_Click() x=10 Print f(x) End Sub Private Function f(y As Integer) f=y*y End Function 运行上述程序,如下叙述中正确的是_。(分数:2.50)A.程序运行出错,x 变量的类型与函数参数的类型不符B.在窗体上显示 100C.函数定义错,函数名 f不能又作为变量名D.在窗体上显示 1024.编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x=InputBo

    22、x(“输入第一个数“) y=InputBox(“输入第二个数“) Call f(x,y) Print x,y End Sub Sub f(a AS Integer, ByVal b As Integer) a=a*2 x=a+b b=b+100 End Sub 程序运行后,单击命令按钮 Command1,并输入数值 10和 15,则输出结果为_。(分数:2.50)A.10 115B.20 115C.35 15D.20 1525.窗体上有一个名称为 Command1的命令按钮,并有如下程序代码: Private Sub Command1_Click() Static a a=1: b=2: c=

    23、3 Call f(a,b,C) Print a;b;C End Sub Sub f(ByVal x,ByRef y, z) x=x+1 y=y+1 z=z+1 End Sub 运行程序,单击命令按钮,窗体上显示的是_。(分数:2.50)A.1 3 3B.1 3 4C.2 3 3D.2 3 426.以下关于过程的叙述中,错误的是_。(分数:2.50)A.在 Sub过程中不能再定义 Sub过程B.事件过程也是 Sub过程C.过程调用语句的形参个数必须与实参个数相同D.函数过程一定有返回值27.窗体上有一个名称为 Command1的命令按钮,其单击事件过程如下: Private Sub Comman

    24、d1_Click() Dim x As Integer, y As Integer Static z As Integer x=3: y=5: z=y Call f(x,y,z) Print x;y;z End Sub Private Sub f(ByVal a As Integer, ByRef b As Integer, c As Integer) a=a+a:b=b+b:c=c+c End Sub 运行程序,单击命令按钮时,3 个标签中显示的内容分别是_。(分数:2.50)A.3 5 5B.3 5 10C.3 10 5D.3 10 1028.设有如下程序: Private Sub sV(

    25、ByVal m As Integer, n As Integer) m=m*2 n=n-5 Print m;n End Sub Private Sub Form_Click() Dim x As Integer, y As Integer x=10 y=15 sV x,y Print x;y End Sub 运行程序,单击窗体,输出结果为_。(分数:2.50)A.20 1010 10B.10 1520 10C.20 1510 15D.20 1020 1029.以下关于过程及过程参数的描述中,错误的是_。(分数:2.50)A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时,使用的

    26、是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中D.窗体(Form)可以作为过程的参数30.以下关于过程及过程参数的描述中,错误的是_。(分数:2.50)A.过程的参数可以是控件名称B.调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)C.只有函数过程能够将过程中处理的信息返回到调用程序中D.窗体可以作为过程的参数31.为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为_。(分数:2.50)A.ValueB.ByValC.ByRefD.Reference32.窗体上有一个名称为 Picture1的图片框控件,一个名称为 Labell的标签控

    27、件,如图所示。 (分数:2.50)A.程序运行时会出错B.单击图片框,在图片框中显示一幅图片C.过程中的 X是控件变量D.单击标签,在标签中显示一串文字33.在窗体上画两个标签和一个命令按钮,其名称分别为 Label1、Label2 和 Command1,然后编写如下程序: Private Sub func(L As Label) L.Caption=“1234“ End Sub Private Sub Form_Load() Label1.Caption=“ABCDE“ Label2.Caption=10 End Sub Private Sub Command1_Click() a=Valf

    28、 Label2.Caption) Call func(Label1) Label2.Caption=a End Sub 程序运行后,单击命令按钮,则在两个标签中显示的内容分别为_。(分数:2.50)A.ABCD和 10B.1234和 100C.ABCD和 100D.1234和 1034.以下关于菜单的叙述中错误的是_。(分数:2.50)A.对于同一窗体中的菜单,各菜单项的名称必须唯一B.对于同一窗体中的菜单,各菜单项的标题必须唯一C.菜单中各菜单项可以是控件数组元素D.弹出式菜单的编辑、定义在菜单编辑器中进行35.按照下表建立菜单: 1 菜单项 Mnu 无 2 菜单项 1 Mnu1 1 3 菜

    29、单项 2 Mnu1 2 4 菜单项 3 Mnu1 3 Private sub mnu1_click(index As integer) select Case index Case 1 Print “选中菜单项 1“ Case 2 If mnu1(2).checked=True Then mnu1(2).checked=False Else mnul(2).Checked=True End If Case 3 Print“选中菜单项 3“ End Select End sub 关于上述程序,以下叙述中错误的是_。(分数:2.50)A.各子菜单项组成一个名称为 mnu1的控件数组B.不论选中菜单

    30、项 1、2 或 3,均执行 mnu1_Click事件过程C.Case 2分支的语句没有必要,因为该菜单项的“复选”属性已被设置D.程序中的 Index是系统自动产生的36.运行程序时弹出的菜单如图所示。关于该菜单,以下叙述中错误的是_。 (分数:2.50)A.菜单中能够显示分隔线是因为该菜单项的标题为“一”B.分隔线对应的菜单项的 Name属性可以为空C.“退出”菜单项的有效性属性被设为 FalseD.使用 PopupMenu方法能够显示如图所示的菜单37.以下打开 Visual Basic菜单编辑器的操作中,错误的是_。(分数:2.50)A.执行“编辑”菜单中的“菜单编辑器”命令B.执行“工

    31、具”菜单中的“菜单编辑器”命令C.单击工具栏中的“菜单编辑器”按钮D.右击窗体,在弹出的快捷菜单中选择“菜单编辑器”命令38.以下说法中正确的是_。(分数:2.50)A.任何时候都可以用 Ctrl+E快捷键打开菜单编辑器B.只有当某个窗体为当前活动窗体时,才能打开菜单编辑器C.只有当代码窗口为当前活动窗口时,才能打开菜单编辑器D.任何时候都可以用标准工具栏的“菜单编辑器”按钮打开菜单编辑器39.如果一个顶级菜单项的访问键为 D,则以下等同于单击该菜单项的操作为_。(分数:2.50)A.按 Ctrl+D键B.按 Alt+D键C.按 D键D.按 Shift+D键40.在菜单编辑器中建立如下图所示的

    32、菜单,并为每个菜单项编写了鼠标单击事件过程。 (分数:2.50)A.针对此菜单进行操作,单击“斜体”菜单项时,将执行它的鼠标单击事件过程B.针对此菜单进行操作,单击“下画线”菜单项时,“”被去掉C.针对此菜单进行操作,单击“退出”菜单项时,不能执行对应的单击事件过程D.针对此菜单进行操作,单击“编辑”菜单项时,打开下拉菜单,但不执行相应的单击事件过程二级 VISUAL+BASIC-104答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.以下关于 VB特点的叙述中,错误的是_。(分数:2.50)A.VB采用事件驱动的编程机制B.VB程序能够以解

    33、释方式运行C.VB程序能够以编译方式运行D.VB程序总是从 Form Load事件过程开始执行 解析:解析 在一般情况下,整个应用程序从设计时的第一个窗体开始执行,需要首先执行的程序代码放在 Form_Load事件过程中。如果需要从其他窗体开始执行应用程序,则可通过“工程”菜单中的“工程属性”命令(“通用”选项卡)指定启动窗体。但是,如果有 Sub Main过程,则可以(注意,是“可以”,而不是“必须”)首先执行 Sub Main过程。2.如果把程序的启动对象设置为 Sub Main,则 Sub Main过程_。(分数:2.50)A.只能写在 Forml窗体中代码的最前面B.可以写在 Form

    34、1窗体中代码的任何位置C.只能写在某个标准模块的代码中 D.可以写在任何窗体或标准模块的代码中解析:解析 在运行窗体程序之前先执行一些操作,此时可以通过在标准模块中创建一个 Sub Main的子过程,不能在窗体模块中创建 Sub Main的子过程,然后在创建的 SubMain过程中编写启动时要执行的代码,每个工程只能有一个 Sub Main的子过程。3.设窗体上有 3个图像框:Image1、Image2、Image3,并有下面的程序代码: Private Sub Form_Load() Image1.Picture=LoadPicture(“LEAF.bmp“) Image2.Picture=

    35、LoadPieture(“OPEN.bmp“) Image3.Visible=False End Sub Private Sub Image1_Click() Image2.Picture=Image1.Picture End Sub Private Sub Image2_Click() Image3.Picture=Image2.Picture Image2.Picture=Image1.Picture Image1.Picture=Image3.Picture End Sub 在程序运行期间单击 Image2,则在窗体上看到的结果是_。(分数:2.50)A.在 Image3中显示 Imag

    36、e2中的图片B.Image1、Image2 中原有图片被交换了 C.Image1、Image2 中都是原来 Imege1中的图片D.Image1、Image2 中都是原来 Imege2中的图片解析:解析 Form_Load 过程执行在图相框里载入相应图片。单击 Image2时,激发 Image2_Click事件,在事件中图片进行了交换。选 B。4.以下过程定义中正确的过程首行是_。(分数:2.50)A.Private Sub Proc(Optional a as Integer,b as Integer)B.Private Sub Proc(a as Integer)as IntegerC.P

    37、rivate Sub Proc(a()As Integer) D.Private Sub Proc(ByVal a()As Integer)解析:解析 A 选项错误原因:Sub 过程的第 1个参数 a用 Optional关键字声明,说明为可选参数,那么后面的参数 b也必须是可选参数,用 Optional声明。 B选项错误原因:Sub 过程无返回值,不用指明返回值数据类型。D 选项错误原因:可以用 ByVal关键字声明变量,不能声明数组。C 选项正确。5.以下过程的功能是从数组中寻找最大值: Private Sub FindMax(a()As Integer,ByRef Max As Integ

    38、er) 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 If a(i)Max Then Max=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是_。(分数:2.50)A.语句 Call FindMax(a,m)可以调用该过程,其中的 a是数组,m 是 Integer类型变量B.For循环次数等于 a数组的元素数C.过程末尾应该增加一条返回最大值的语句 FindMax=Max D.参数 Max用于存放找到的最大值解析:解析 过程定义语句中

    39、第 1个参数是数组,调用是实参应该是一个数组变量或元素,第 2个参数是整型变量。过程中 LBound函数获取了数组下标的下限,UBound 函数获取了数组下标的上限,在 For i=s to f语句的循环中就可以访问数组中的各个元素。本过程是用 Sub定义的过程不需要返回值。程序中找到的最大值由参数 Max返回,因为它是按址传递的参数,它的值会带给实参。因此 C选项的说法错误。6.设有如下 Command1按钮的单击事件过程及 fun过程: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“请输入一个整数“) fun(x

    40、) End Sub Private Sub fun(x As Integer) If x Mod 2=0 Then fun(x/2) Print x; End Sub 执行上述程序,输入 6,结果是_。(分数:2.50)A.3 6 B.6 3C.6D.程序死循环解析:解析 题目中 fun过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用,参数值为6,是偶数所再次调用 fun过程,这次参数为 6/2=3,是奇数,不再调用自身,接着执行下一句输出参数值,即 3,然后返回第一次调用过程中执行下一句输出第一次调用参数值,即 6。因此程序会输出 3 6。7.窗体上有一个名称为 Command1的

    41、命令按钮,并有如下程序代码: Option Base 1 Private Sub Command1_Click() Dim a(4,4)As Integer Dim b As Integer Dim i As Integer,j As Integer For i=1 To 4 For j=1 To 4 a(i,j)=i+j Next j Next i Call f(a,b) Print b End Sub Private Sub f(x()As Integer, ByRef y As Integer) y=0 For i=1 To 4 y=y+x(i,i) Next End Sub 运行程序,

    42、单击命令按钮后,窗体上显示的是_。(分数:2.50)A.0B.2C.8D.20 解析:解析 Command1_Click()事件中通过嵌套循环给数组 a元素赋初值,执行完后 a(1,1)=2,a(2,2)=4,a(3,3)=6,a(4,4)=8;Call f(a,b)语句调用子函数 Sub f(x()As Integer,ByRef y As Integer)。该函数内 For循环把 a数组中一维下标和二维下标相同的元素值相加,值为 20,选 D。8.设子程序过程定义的首部为: Public Sub S(X As Integer,Y As Single) 则以下正确的调用形式为_。(分数:2.

    43、50)A.Call S 5,4.8B.Call Sub(5,4.8)C.Sub 5,4.8D.S 5,4.8 解析:解析 (1)用 Call语句调用 Sub过程。语法:Call 过程名(实参表列),实参的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。(2)把过程名作为一个语句来用。语法:过程名实参 1,实参 2,它与(1)的不同点是去掉了关键字和实参列表的括号。9.阅读程序: Option Base 1 Sub P(b() As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Form_Clic

    44、k() 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(i) Next i End Sub 运行上面的程序,单击窗体,输出结果为_。(分数:2.50)A.2468 B.5678C.10121416D.4812解析:解析 Form_Click 过程中首先对 a数组用 For循环赋值。然后调用过程 P。注意 P参数传递是引用传递,因此数组 a的元素值在执行 P过程后会被改变。之后的 For会输出变量值是过程 P中对数组元素的赋值。选 A。10.设有以下过程: Private Sub proc(x As

    45、 Integer, Optional y As Integer) Print x,y End Sub 针对此过程,下面正确的过程调用语句是_。(分数:2.50)A.Call proc(a!,23)B.Call proc x%,12C.proc b% D.x=proc(12)解析:解析 (1)用 Call语句调用 Sub过程:语法:Call 过程名(实参表列),实参的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。(2)把过程名作为一个语句来用:语法:过程名实参 1,实参 2,它与(1)的不同点是:去掉了关键字和实参列表的括号。根据题意,选项 C正确。11.以下说法

    46、中正确的是_。(分数:2.50)A.事件过程也是过程,只能由其他过程调用B.事件过程的过程名是由程序设计者命名的C.事件过程通常放在标准模块中D.事件过程是用来处理由用户操作或系统激发的事件的代码 解析:解析 事件过程也是过程,其他过程或系统都可以调用它。故 A选项错误。 事件过程的过程名是由系统命名的。故 B选项错误。 通常事件过程放在窗体模块中。故 C选项错误。 事件过程是用来处理由用户操作或系统激发的事件的代码。只有当用户或系统触发事件后,才执行相应的事件过程。故 D选项正确。12.设窗体名称为 frm1。以下叙述中正确的是_。(分数:2.50)A.运行程序时,能够加载窗体的事件过程是

    47、frm1_LoadB.运行程序时,能够加载窗体的事件过程是 Form1_LoadC.程序运行中用语句 frm1.Name=“New“可以更改窗体名称D.程序运行中用语句 frm1.Caption=“新标题“可以改变窗体的标题 解析:解析 一个控件的事件过程由控件的实际名字(Name 属性)、下画线和事件名称组成,而窗体事件过程由“Form”、下画线和事件名组成。因此,不管窗体名称是什么,窗体加载事件过程总是Form_Load。窗体的名称即 Name属性在程序运行时不可以更改,窗体的标题即 Caption属性则可以在程序运行时更改。13.窗体上有一个名称为 Command1的命令按钮,一个名称为

    48、 Text1的文本框。编写如下程序: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“输入数据“) Text1=Str(x+fun(x)+fun(x) End Sub Private Function fun(ByRef n As Integer) If n Mod 3=0 Then n=n+n Else n=n*n End If fun=n End Function 对于上述程序,以下叙述中错误的是_。(分数:2.50)A.语句 fun=n有错,因为 n是整型,fun 没有定义类型 B.运行程序,输入值为 5时,文本框中显示 655C.运行程序,输入值为 6时,文本框中显示 42D.ByRef表示参数按址传递解析:解析 过程 fun的功能是将传入的值运算后返回,当传入数值为 3的整数倍时返回该值的 2倍,否则返回该值的平方。过程 fun的参数指定为 ByRef方式,即按址传递,因此会影响实参的值。Str 函数是将数值转换为字符串。过程 fun定义时没有指明返回类型,因此默认为 Variant类型,它可以表示任何值,因此 A选项的说法不正确。14.在窗体上画一个命令按钮和一个文本框,其名称分别为 Command1和 Text1


    注意事项

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




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

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

    收起
    展开