一起答

2012年3月全国计算机等级考试二级Visual Basic笔试试卷【答案+解析版】

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 设窗体上有text1文本框和Command1命令按钮,并有以下程序:

    Private Sub Command1_Click()

       Temp$=””

       For k=1 to len(text1)

           Ch$=mid(text1,k,1)

           If not found(temp,ch)then

               Temp=temp&【13】

           End If

       Next k

       Text1=【14】

    End Sub

    Private function found(str as string,ch as string)as Boolean

       For k=1 to len(str)

           If ch=mid(str,k,1)then

               Found=【15】

               Exit function

       Next k

       Found=false

    End function

    运行时,在文本框中输入 若干英文字母,然后单击命令按钮,则可以删去文本框中所有重复的字母,例如,若文本框中原有字符串为“abcddbbc”则单击命令按钮后文本框中字符串为“abcd”,其中函数found的功能是判断字符串str中是否有字符ch,若有,函数返回true,否则返回false。请填空

  2. 窗体上有list1、list2两个列表框,程序运行时,在两个列表框中分别选中1个项目,如图a所示,单击名称为Command1的“交换”按钮,则把选中的项目互换,互换后的位置不限。如图b所示。下面的程序可实现这一功能,请填空。

    Private Sub Command1_Click()

       If list1.text=””or list2.text””then

           Msgbox”请选择交换的物品!”

       Else

           List1.additem list2.text

           List2.removeitem【11】

           【12】

           List1.removeitem list1.listindex

       End If

    End Sub

  3. 设窗体上有一个名称为label1的标签,程序运行时,单击鼠标左键,再移动鼠标,鼠标的位置坐标会实时地显示在label1标签中,单击鼠标右键则停止实时显示,并将标签中内容清除,下面的程序可实现这一功能,请填空。

    Dim down as Boolean

    Private Sub form_mousedown(button as integer,shIft as integer,X as single, Y as single)

       Select Case【8】

       Case 1

           Down=true

       Case2

           Down=false

       End select

    End Sub

    Private Sub form. mousemove(button as integer,shIft as integer,X as single, Y as single)

       If 【9】then

           【10】=”X-” & X & ” Y-” & Y

       Else

            Label1.caption=””

       End If

    End Sub

  4. 常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于【5】。

  5. 在将E-R图转换到关系模式时,实体和联系都可以表示成【4】

  6. 下面的事件过程执行时,可以把TXET1文本框中的内容写到文件“file1.txt”中去。请填空。

    Prvate Sub Command1_Click()

       Open “file1.txt”for【6】as#1

       Print【7】,text1.txt

       Close #1

    End Sub

  7. 数据库管理系统提供的数据语言中,负责数据的增、删、改和咨询的是【3】

  8. 设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。现经过一系列入队与退队运算后,front=16,rear=15。则循环队列中有【2】个元素。

  9. 在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为【1】

  10. 设有打开文件的语句如下:

    Open “test.dat” for random as #1

    要求把变量a中的数据保存到该文件中,应该使用的语句是

    • A)input #1,a
    • B)write #1,a
    • C)put #1,.a
    • D)get #1,.a
  11. 在窗体上面两个名称分别为text1、text2的文本框,一个名称为label1的标签,窗体外观如图a所示,要求当改变任一个文本框的内容,就会将该文本框的内容显示在标签中,如图b所示。实现上述功能的程序如下:

    Private Sub text1_change()

       call show text(text1)

    End Sub

    Private Sub text2_change()

       call showtext(text2)

    End Sub

    Private Sub show text(t as textbox)

       label1.caption =”文本框中的内容是:”& T.text

    End Sub

    关于上述程序,以下叙述中错误的是

    • A)showtext 过程的参数类型可以是control
    • B)showtext 过程的参数类型可以是variant
    • C)两个过程调用语句有错,应分别改为call show text(text1.text)、call showtext(text2.text)
    • D)showtext过程中的T是控件变量
  12. 有如下程序:

    Private type stu

       X as string

       Y as integer

    End type

    Private Sub Command1_Click()

       Dim a as stu

    • a.x=”ABCD”
    • a.Y=12345    print a
    • End Sub    程序运行时出现错误,错误的原因是
    • A)Type定义语句没有放在标准模块中
    • B)变量声明语句有错
    • C)赋值语句不对
    • D)输出语句print不对
  13. 以下关于弹出式菜单的叙述中,错误的是

    • A)一个窗体只能有一个弹出式菜单
    • B)弹出式菜单在菜单编辑器中建立
    • C)弹出式菜单的菜单名(主菜单项)的“可见”属性通常设置为false
    • D)弹出式菜单通过窗体的popupmenu方法显示
  14. 使用驱动器列表框drive1、目录列表框dir1、文件列表框file1时,需要设置控件的同步,以下能够正确设置两个控件同步的命令是

    • A)dir1.path=drive1.path
    • B)file1.path=dir1.path
    • C)file1.path=drive1.path
    • D)drive1.drive=dir1.path
  15. 要求产生10个随机整数,存放在数组Arr中,从键盘输入要删除的数组元素的下标,将该元素中的数据删除,后面元素中的数据依次前移,并显示删除后剩余的数据,现有如下程序:

    Option base 1

    Private Sub Command1_Click()

       Dim arr(10)as integer

       For i=1 to 10            ‘循环1

    • Arr(i)=int(rnd*100)    Print arr(i);    Next    X=inputbox(“输入1-10的一个整数:”)
    • For i=x+1 to 10           ‘循环2
    • Arr(i-1)=arr(i)    Next
    • For i=1 to 10             ‘循环3    Print arr(i);    Next
    • End Sub    程序运行后发现显示的结果不正确,应该进行的修改是
    • A)产生随机数时不使用int函数
    • B)循环2的初始值应为i-x
    • C)数组定义改为Dim a(11)as integer
    • D)循环3的循环终值应改为9
  16. 有如下程序:

    Option base 1

    Private Sub Command1_Click

       Dim arr(10)

    • Arr=Array(10,35,28,90,54,68,72,90)
    • For Each a In arr
    • If a>50 then    Sum=sum+a
    • End If    Next a
    • End Sub    运行上述程序时出现错误,错误之处是
    • A)数组定义语句不对,应改为Dim arr
    • B)没有指明For 循环的终值
    • C)应在For语句之前增加sum=0
    • D)Next a 应改为next
  17. 在窗体上画两个名称分别为Text1、Text2的文本框,Text属性为“database”。如图所示。

    现有如下事件过程:

    Private Sub text1_change()

       Text2.text=mid(text1,1,5)

    End Sub

    运行程序,在文本框text1中原有字符之前输入a,text2中显示的是

    • A)dataA
    • B)DataB
    • C)aDate
    • D)aBase
  18. 设程序中有如下数组定义和过程调用语句:

    Dim a(10) as integer

    ……

    Call p(a)

    如下过程定义中,正确的是

    • 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)
  19. 若要获得组合框中输入的数据,可使用的属性是

    • A)listindex
    • B)caption
    • C)text
    • D)list
  20. 窗体上有一个名称为commondialog1的通用对话框,一个名称为Command1的命令按钮,并有如下事件过程:

    Private Sub Command1_Click()

       Commondialog1.defauhext=”doc”

       Commondialog1.filcname=”vb.txt”

       Commondialog1.filter=”Alt(*.*)”|*.*|word|*.doc|”

       Commondialog1.filerindex=1

       Commondialog1.showsave

    End Sub

    运行上述程序,如下叙述中正确的是

    • A)打开的对话框中文件“保存类型”框中显示“All(*.*)”
    • B)实现保存文件的操作,文件名是VB.Txt
    • C)defauext属性五filename属性所指明的文件类型不一致,程序出错
    • D)对话框的filter属性没有指出txt类型,程序运行出错
  21. 以下关于多窗体的叙述中,正确的是

    • A)任何时刻,只有一个当前窗体
    • B)向一个工程添加多个窗体,存盘后生成一个窗体文件
    • C)打开一个窗体时,其他窗体自动关闭
    • D)只有第一个建立的窗体才是启动窗体
  22. 以下关于菜单设计的叙述中错误的是

    • A)各菜单项可以构成控件数组
    • B)每个菜单项可以看成是一个控件
    • C)设计菜单时,菜单项的“有效”未选,即,表示该菜单项不显示
    • D)菜单项只响应单击事件
  23. 现有如下一段程序:

    Option base 1

    Private Sub Command1_Click()

       Dim a

    • a=Array(3,5,7,9)    X=1
    • For i=4 to 1 step -1    s=s+a(i)*x    X=x*10    Next    Print s
    • End Sub    执行程序,单击Command1命令按钮,执行上述事件过程中,输出结果是
    • A)9753
    • B)3579
    • C)35
    • D)79
  24. 设有一个命令按钮Command1的事件过程以及一个函数过程,程序如下:

    Private Sub Command1_Click()

       Static x as integer

       X=f(x+5)

       Cls

       Print x

    End Sub

    Private function f(x as integer)as integer

       F=x+x

    End function

    连续单击命令按钮3次,第3次单击命令按钮后,窗体上显示的计算结果是

    • A)10
    • B)30
    • C)60
    • D)70
  25. 设程序中有如下语句:

    x-input box(“输入”,”数据”,100)

    print x

    运行程序,执行上述语句,输入5并单击输入对话框上的“取消”按钮,则窗体上输出

    • A)0
    • B)5
    • C)100
    • D)空白
  26. 设有分段函数:

    以下表示上述分段函数的语句序列中错误的是

    • A)   Select Case x
    • Case is<0    y=5
    • Case is<=5,is>0    y=2*x
    • Case Else    y=x*x+1
    • End Select
    • B)   If x<0 then    y=5
    • Elself x<=5 then    y=2*x
    • Else    y=x*x+1
    • End If
    • C)y=1 If{x<0,5,1 If(x<=5,2*x,x*x+1)}
  27. 现有由多个单选按钮构成的控件数组,用于区别该控件数组中各控件的属性是

    • A)Name
    • B)Index
    • C)Caption
    • D)Value
  28. 设有如下数组声明语句:

    Dim am(-2 To 2,0 To 3)As Integer

    该数组包含的数组元素个数是

    • A)20
    • B)16
    • C)15
    • D)12
  29. 表达式 Int(Rnd(0)*50)) 所产生的随机数范围是

    • A)(0,50)
    • B)(1,50)
    • C)(0,49)
    • D)(1,49)
  30. 设x=5,执行语句Print x=x+10,窗体上显示的是

    • A)15
    • B)5
    • C)True
    • D)False
  31. 下面定义窗体级变量a的语句中错误的是

    • A)Dim a%
    • B)Private a%
    • C)Private a As Integer
    • D)Static a%
  32. 设x是小于10的非负数,对此陈述,以下正确的VB表达式是

    • A)0≤x<10
    • B)0<= x<10
    • C) x >=0 And x<10
    • D)x>=0 Or x<=10
  33. 以下关于窗体的叙述中,错误的是

    • A)窗体的Name属性用于标识一个窗体
    • B)运行程序时,改变窗体大小,能够触发窗体的resize事件
    • C)窗体的Enabled属性为False时,不能响应单击窗体的事件
    • D)程序运行期间,可以改变Name属性值
  34. 以下合法的VB变量名是

    • A)Case
    • B)name10
    • C)t-name
    • D)x*y
  35. 软件设计中不使用的工具是

    • A)系统结构图
    • B)PAD图
    • C)数据流图(DFD图)
    • D)程序流程图
  36. 下面不属于需求分析阶段任务的是

    • A)确定软件系统的功能需求
    • B)确定软件系统的性能需求
    • C)需求规格说明书评审
    • D)制定软件集成测试计划
  37. 在黑盒测试方法中,设计测试用例的主要根据是

    • A)程序内部逻辑
    • B)程序外部功能
    • C)程序数据结构
    • D)程序流程图
  38. 软件生命周期中的活动不包括

    • A)市场调研  
    • B)需求分析  
    • C)软件测试
    • D)软件维护
  39. 有三个关系R、S和T如下:

    则由关系R和S得到关系T的操作是

    • A)自然连接
    • B)并
    • C)交
    • D)差
  40. 在满足实体完整性约束的条件下

    • A)一个关系中应该有一个或多个候选关键字
    • B)一个关系中只能有一个候选关键字
    • C)一个关系中必须有多个候选关键字
    • D)一个关系中可以没有候选关键字
  41. 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是

    • A)外模式
    • B)内模式
    • C)概念模式  
    • D)逻辑模式
  42. 棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为

    • A) 16
    • B) 10
    • C) 6
    • D) 4
  43. 下列叙述中正确的是

    • A)循环队列是队列的一种链式存储结构
    • B)循环队列是队列的一种顺序存储结构
    • C)循环队列是非线性结构
    • D)循环队列是一种逻辑结构
  44. 下列叙述中正确的是

    • A)栈是一种先进先出的线性表
    • B)队列是一种后进先出的线性表
    • C)栈与队列都是非线性结构
    • D)以上三种说法都不对