·天新网首页·加入收藏·设为首页·网站导航
数码笔记本手机摄像机相机MP3MP4GPS
硬件台式机网络服务器主板CPU硬盘显卡
办公投影打印传真
家电电视影院空调
游戏网游单机动漫
汽车新车购车试驾
下载驱动源码
学院开发设计
考试公务员高考考研
业界互联网通信探索
05年9月等级考试二级VB考前密卷2(十)
http://www.21tx.com 2005年09月02日

  (26)关于KeyPress事件的KeyAscii参数,下列说法正确的是_________。
  A)KeyAscii参数返回用户所按键的ASCII码
  B)KeyAscii参数为字符型
  C)KeyAscii参数与KeyC0de参数返回值一样
  D)KeyAscii参数可以省略
  答案:A
  评析:KeyPress事件的KeyAscii参数返回用户所按键的ASCII码,类型为整型;它与KeyDown、KeyUp事件中的KeyCode参数不同;并且KeyAscii参数不可以省略。
  
  (27)关于顺序文件和随机文件的说法错误的是:_________。
  A)顺序文件中记录的逻辑顺序与存储顺序是一致的
  B)随机文件读写操作比顺序文件灵活
  C)随机文件的结构特点是固定记录长度以及每条记录均有记录号
  D)随机文件的操作与顺序文件相同
  答案:D
  评析:由于随机文件与顺序文件结构不同,因此,它们的操作有很大的区别。
  
  (28)编写如下事件过程:
  Option Base 1
  Private Sub Form_Click()
  Dim a
  a=Array(1,5,"abcde")
  For i=l To 3
  Print a(i);
  Next i
  End Sub
  程序运行后,单击窗体,显示的内容是_________。
  A)1 5 abcde  B)l 5"abcde"  C)出错倩息  D)1
  5
  abcde
  答案:A
  评析:本题定义a是一个变体变量,在程序中用Array函数将一组数赋给了它,这样a成为一个变体数组,变体数组元素的基类型可以不相同。在循环中输出了数组元素的值,由于Print语句中有分号,所以元素挨着输出,并且输出的字符中不带双引号。
  
  (29)在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程和通用过程:
  Private Sub Commandl_Click()
  y=3:x=4
  y=cacl(y,x)
  Print y
  End Sub
  Public Function cacl(X,y)
  cacl=(x^2+Sqr(y))+l
  End Function
  程序运行后,单击命令按钮,在窗体上显示的是________。
  A)ll  B)显示出错信息   C)12   D)13
  答案:C
  评析:本题主要检查虚实结合实现数据传送。实际参数和虚拟参数在本题中都是按地址传送,在cacl函数过程中,访问x就是访问事件过程中的y,访问y就是访问事件过程中的x。在事件过程中首先执行y=3:x=4,接着调用cacl通用过程,在通用函数过程中,计算(X"2+Sqr(y))+l,代入实际值(3^2+Sqr(4))+1=12。
  
  (30)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:
  Option Explicit
  Option Base l
  Dim a()As Integer
  Private Sub Commandl_Click()
  Dim i As Integer,j As Integer
  ReDim a(3,2)
  For i=1 TO 3
  For j=1 To 2
  a(i,j)=I*2+j
  Print"a(";i;",";j;")=";a(i,j);
  Next j
  Print
  Next i
  End Sub
  程序运行后,如果单击命令按钮,则在窗体上输出的内容为________。
  A)a(0,0)=3 a(0,1)=4  B)a(1,1)=2 a(1,2)=3
  a(1,0)=5 a(1,1)=6   a(2,1)=3 a(2,2)=4
  a(2,0)=7 a(2,1)=8   a(3,1)=4 a(3,2)=5
  C)a(1,1)=3 a(1,2)=5  D)a(1,1)=3 a(l,2)=4
  a(2,1)=4 a(2,2)=6   a(2,1)=5 a(2,2)=6
  a(3,1)=5 a(3,2)=7   a(3,1)=7 a(3,2)=8
  答案:D
  评析:本程序声明动态数组a(),在过程中有ReDim a(3,2)指明数组的大小是3行2列,用双层的嵌套循环为数组元素赋值,赋值语句右侧的表达式是I*2+j,表示行号乘以2加上列号的值赋给该行该列的元素。每计算一个,给一个元素赋值,同时输出该元素的值,在输出一行元素时,由于输出项后有分号,因此不换行。每输出一行后执行一次不带参数的Print方法实现换行。输出的时候输出了行号和列号。
  
  (31)在Do Until…Loop循环中,判断循环表达式与结束循环的关系是:_______。
  A)先判断循环表达式,当表达式值为假时结束循环
  B)先判断循环表达式,当表达式值为真时结束循环
  C)先执行循环体,后判断循环表达式,当表达式值为假时结束循环
  D)先执行循环体,后判断循环表达式,当表达式值为真时结束循环
  答案:B
  评析:Do Until…Loop语句的执行过程是:先计算循环表达式,如表达式的值为False,则执行循环体,如果表达式的值为True,则退出循环。
  
  (32)下面关于控件数组与一般控件的叙述中正确的是_________。
  A)控件数组一定由1个以上同类型的控件组成,而一般控件只有一个控件
  B)控件数组的索引值Index为0,而一般控件的Index值为空
  C)控件数组的索引值Index为l,而一般控件的Index值为0
  D)控件数组的建立通过Dim语句声明,而一般控件不需要声明
  答案:B
  评析:控件数组的Index可以为一个大于或等于0的整数,但一定不能为空,而一般控件的Index属性值为空,这是控件数组与一般控件的差别所在。控件数组可以只有一个控件,并且它使用时是不需要声明的。
  
  (33)在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:
  Private Sub Command_Click()
  Open"d:\goods.Txt"For Input As#l
  Do Until EOF(1)
  Line Input#1,1ines
  Loop
  Close#l
  Print lines
  End Sub
  数据文件goods.txt的内容是:
  HIF 003 12 16
  ATC 005 15 18
  程序运行后单击命令按钮,输出结果为________。
  A)18  B)ATC 005 15 18
  C)16  D)空
  答案:B
  评析:Line Input#语句可以读取顺序文件中一行的全部字符,也可以用它整行读取ASCII码文件。本题中是把goods.txt文件中的内容一行行赋值给变量lines,最后赋给该变量的是"ATC 005 15 18",所以文件读取完后,打印出来的就是ATC 005 15 18。
  
  (34)在窗体上画一个名称为Textl的文本框,然后编写如下事件过程:
  Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)
  If Button=2 Then
  Textl.Left=X
  Textl.Top=Y
  End If
  End Sub
  程序运行后在窗体上单击右键,则_________。
  A)文本框的中间移动到鼠标单击处
  B)文本框左上角移动到鼠标单击处
  C)文本框右下角移动到鼠标单击处
  D)无任何反映
  答案:B
  评析:MouseDown事件中,参数Button是用来识别该事件是在按下鼠标的哪个按钮时产生的。其中1表示按下鼠标左键,2表示按下鼠标右键,4表示按下鼠标中间键。而参数中的x,y表示鼠标按下点的坐标。本题中,当鼠标右键按下时,把鼠标按下点的坐标赋值给文本框的左上角,所以文本框的左上角移动到鼠标单击处。
  
  (35)编写如下两个事件过程:
  Pfivme Sub Form Click()
  X=3:y=5
  For k=3 T0 5
  Carl ab(a:=y,b:=x)
  Next k
  Printx,y
  End Sub
  Private Sub ab(a,ByVal b)
  w=a:a=b:b=w
  End Sub
  程序运行后,输出的结果是________。
  A)3  3  B)3  5  C)5  3  D)5  5
  答案:A
  评析:本题中,过程ab中,第一个参数a使用的是默认的传值方式,为ByRef,是按地址传送,参数的值返回:而第二个参数b是使用的ByVal来传送的,是按值传送,参数值不返回。在使用循环语句调用ab时,变量x的值离开ab过程后并不改变,所以打印时x的值为3。而y的值在调用了一次ab后,变为3,此时x、y值都为3,所以无论再调用几次ab,y的值都为3。
  
  二、填空题(每空2分,共30分)
  
  请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
  
  (1) 某二叉树中共有27个结点,其中度为2的结点有10个,则该二叉树中有 【1】 个度为l的结点。
  答案:【1】6
  评析:二叉树的性质3:在任意一棵二叉树中,度为O的结点(即叶子结点)总是比度为2的结点多一个。本题中,度为2的结点数为lO,故度为0的结点数为ll,而该二又树的总结点数为27,所以度为1的结点数为27.10-1 I=6。
  
  (2) 1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种新的  流程图中,完全去掉了带箭头的流程线,全部算法写在一个矩形框内。这种流程图称为 【2】 流程图。
  答案:【2】N-S
  评析:基于可以用顺序结构表示任何复杂算法结构的思想,1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种新的流程图中,完全去掉了带箭头的流程线,全部算法写在一个矩形框内,在该框内还可以包含其他的从属于它的框,或者说由一些基本的框组成一个大的框。这种流程图称为N-S流程图(N和s是两位美国学者的英文姓名的第一个字母)。
  
  (3) 软件复审时,其主要的复审对象是 【3】 。
  答案:【3】软件文档
  评析:在软件生命周期的每个阶段结束时都要进行复审。软件复审时的主要对象是软件文档,而软件结构和程序编码的审查要在软件测试阶段进行,文档标准则是复审时所依据的准则。
  
  (4) 数据处理是指对各种形式的数据进行收集、 【4】 加工和传播等一系列活动的总和。
  答案:【4】存储
  评析:数据库技术是应数据管理任务的需求而产生的。数据处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理是对数据进行分类、组织、编码、存储、检索和维护。
  
  (5) 结构化分析方法用自顶向下、 【5】 的方式分析系统。
  答案:【5】逐步分解
  评析:分析和表达用户的需求,经常采用的方法有结构化分析方法和面向对象的方法。结构化分析方法用自顶向下、逐步分解的方式分析系统。
  
  (6) 列表框的内容存于列表框的 【6】 数组中。
  答案:【6】List
  评析: List属性是用于返回或设置控件的列表部分的项目。列表是一个字符串数组,数组的每一项都是一列表项目。
  
  (7)下列程序共执行了 【7】 次循环,执行完该程序后,输出结果为 【8】 。
  Private Sub Command l click()
  Dim x As Integer,i As Integer,j As Integer
  i=l
  Do
  j=1
  Do
  x=x+j
  j=j+2
  Loop Untilj>3
  i=i+2
  LoopUntili>17
  Print x
  End Sub
  答案:【7】18
  【8】36
  评析:Do…Loop Until语句是先执行循环体,再判断条件。本题中内层D0循环执行了2次,而外层Do循环则要执行9次,故一共执行了18次。而内层循环中,第一次执行循环体时,x=x+l,第二次执行循环体时,x=x+3,即每执行一次外层循环。x就加4,所以最后x的值为4*9=36。
  
  (8)用Dim abc,cba as Integer定义的abc变量类型是  【9】  。
  答案:【9】Variant或变体型
  评析:Variant数据类型(变体型)是所有没被显式声明(用如Dim、Private、Public或Static等语句)为其他类型变量的数据类型。本题中的abc没有被声明为其他数据类型,所以它是Variant型。
  
  (9)下面是一个求两位数的程序,要求每一个两位数的两个数码各不相同,并统计有多少个这样的两位数,显示所有满足条件的两位数。阅读程序,并填空。
  Private Sub Commandl_Click()
  n=0
  For a=  【l0】
  For b=0 To 9
  If a<>b Then
  x=10* a+b
  n=  【ll】
  Print x
  End If
  Next  【12】
  Print:Print"number=",n
  End Sub
  答案:【10】1 To 9
  【11】n+l
  【12】b,a
  评析:因为两个数的十位数不能为零,取值范围为l~9,所以第一空应该填l To 9;n作为计数器,找到一个满足条件的两位数就要加l,故第二空应该填n+l;由题目程序可以看出,有两个For语句而程序中只有一个Next,vB中可以把几个相邻的Next语句写成一行,但必须注意循环变量的顺序,内层循环的写在左边,首先执行,故第三空答案为b,a。
  
  (10)下面程序的功能是:程序从键盘读取40个数保存到数组A中,将一维数组A中各元素 的值移到后一个元素中,而最末一个元素的值移到第一个元素中去。然后,按每行4个数的格式输出。请在画线处填入适当内容,将程序补充完成:
  Option Base 1
  Private Sub Commandl_Click()
  Dim a(40)As Integer
  For i=l TO 40
  a(i)=Val(InputBox("请输入一个整数"))
  Next i
  b=a(40)
  Fori=  【l3】
  a(i+1)=a(i)
  Nexti
  【14】
  For i=1 TO 40
  Print a(i);
  If i  【l5】  4=0 Then Print
  Next i
  End Sub
  答案:【13】39 To l Step.1
  【14】a(1)=b
  【15】Mod
  评析:程序的循环中用InputBox函数给数组元素赋值,退出循环后,将最后一个元素的值保存在变量b中,接着在循环中给数组元素移位,移位是前面一个元素的值移到后面一个元素中,要注意移位只能从后面开始,即第39个元素的值移到第40个元素,第38个元素的值移到第39个元素,而不能从前面开始,从前面开始会用第1个元素的值覆盖后面所有元素。因此,本题第一空应该填39 To l Step-l。当完成前39个元素的移位后,就要把原来第40个元素的值赋值给第一个元素,因此,本题第二空应该填a(1)=b。在循环中除了输出数组元素的值,还要判断是否输出了4个数,因此,本题第三空应该填Mod。

上一篇: 2005年二级公共基础题120道(附答案)
下一篇: 全国计算机等级考试三级网络技术感想

关于我们 | 联系我们 | 加入我们 | 广告服务 | 投诉意见 | 网站导航
Copyright © 2000-2011 21tx.com, All Rights Reserved.
晨新科技 版权所有 Created by TXSite.net