计算机二级(VB)40
(总分100, 做题时间120分钟)
选择题(每小题2分,共70分) 下列各题四个选项中,有一个是正确的,请选择正确答案。
1. 
某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为【  】
A n+l
B n-1
C 2n
D n/2
    分值: 2
答案:A
对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则n1=n2+1。所以该二叉树的叶子结点数等于n+1。
2. 
任何控件都有的属性是(  )。
A  BackColor
B  Caption
C  Name
D  BorderStyle
    分值: 2
答案:C
本题的四个选项中只有选项C)Name属性适用于所有控件,其他 只是适用于部分控件。如:对话框控件就没有BackColor和BorderStyle属性。
3. 
有如下程序:
  Private Sub Commandl_Click( )
    Dim i As Integer
    For i=1 To 2
      DS
    Next i
   End Sub
   Sub DS( )
    Dim x As Integer,m As String
    Static y,n
    X=X + 1
    y=y + 1
    m=m &"*”:n=n&"#"
    Print x,y,m,n
  End Sub
  程序运行后,输出的结果是(    )。
A 1 1 * #
B 1 1 * #
C 1 1 * #
1 1 * # 1 2 * #
D 1 1 * #
1 1 * ##  1 2 * ##
    分值: 2
答案:D
当i=1时,调用函数过程DS,由于y,n为静态变量值保存,执行x =x+1;y=y + 1后x=1,y=1执行m=m &"*":n=n&"#"后,m="*",n ="#";当I=2时同上,只是y=2,n="##"。输出结果如选项D)所示。
4. 
如果在程序中要将c定义为静态变量,且为整型数,则应使用的语句是(  )。
A 视图结构可以使用MODIFY STRUCTURE命令来修改
B 视图不能同数据库表进行联接操作
C 视图不能进行更新操作
D 视图是从一个或多个数据库表中导出的虚拟表
    分值: 2
答案:D
视图是根据表定义的,要依赖数据表而存在,但视图可以同数据表进行联接操作,而且可以用来更新数据。由于视图并不是独立 存在的基本表,它是由基本表派生出来的,因此不能利用MODIFY STRUCTURE命令修改表结构。
5. 
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
    Option Base 1
    Private Sub Command1_Click( )
        Dim a
        a=Array(1,2,3,4,5)
        For i=1 To UBound(a)
            a(i)=a(i)+i-1
        Next
        Print a(3)
    End Sub
    程序运行后,单击命令按钮,则在窗体上显示的内容是(  )。
A 4
B 5
C 6
D 7
    分值: 2
答案:B
6. 
在属性窗口中设置何属性,可以把指定的图形放入当前对象中? 
A 5
B 14
C 8
D  输出项不合法,无正常输出
    分值: 2
答案:A
C++语言中打开文件有两种方式①ifstream fin("test.dar",)②ifstream fin;fin.open("test.dat",);。
7. 
新建一个列表框,要实现对列表项可以复选,应设置的属性是(  )。
A  ScrollBars
B  MultiSelect
C  DataField
D  Stretch
    分值: 2
答案:B
在列表框的属性中,可以通过设置MultiSelect属性来实现是否可以进行列表项的多选,属性值为0,不可以多选列表;属性为1,无需要用Ctrl或者Shift就可进行多选;属性值为2时,要利用Ctrl或者Shift键,所以选项B) 是正确的。而选项A) 是设置滚动条的,与此无关;选项C) DataField是用来设置数据的,也无关;选项D) Strech 不是列表框的属性,所以也不正确。
8. 
在窗体上画一个名称为List1的列表框,为了对列表框中的每个项目都能进行处理,应使用的循环语句为(  )。
A For i=0 To List1.ListCount-1
  ……
  Next
B For i=0 To ListCount-1
   ……
  Next
C  For i=1 To List1.listCount
  ……
  Next
D For i=1 To ListCount
  ……
  Next
    分值: 2
答案:A
9. 
单击一次命令结束后,下列程序的执行结果是(    )。
  Private Sub Commandl_Click( )
   s=Sat(1)+Sat(2)+Sat(3)+Sat(4)
   Print s
  End Sub
  Public Function Sat(N As Integer)
    Static Sum
    For i=1 To N
      Sum=Sum+i
    Next i
    Sat=Sum
  End Function
A (5)
计算机二级vb
B (6)
C (7)
D (11)
    分值: 2
答案:A
此题是根据用户输入计算变量a的值并显示。当输入字符“-”时,第一个If条件不成立,跳过,而第二个If语句条件满足,因此执行a=a-2,使a=- 2。所以选项B)是正确答案。
10. 
执行以下程序段后,变量c$的值为【  】
    a$="Visual Basic Programming"
    b$="Quick"
    c$=b$&UCase(Mid$(a$,7,6))&Right$(a$,12)
A Visual BASIC Programming
B Quick Basic Programming
C QUICK Basic Programming
D Quick BASIC Programming
    分值: 2
答案:D
Mid$(字符串,起始位置[,个数])函数用于取出已有字符串中从指定位置开始的含指定个数字符的字符串;UCase(字符串)函数用于将字符串中小写字母转化为大写字母,原本大写或非字母字符保持不变;Right(字符串,个数)函数用于取出已有字符串右边含指定个数字符的字符串;&是连接运算符,用于连接两个字符串。 题目中表达式UCase(Mid$(a$,7,6))得到的结果是"口BASIC"。函数Rigllt$(字符串,n)表示截取字符串最右边的n个字符,题中Right$(a$,12)的结果
应为"口Programming"。所以3部分字符串通过符号"&"连接,即得结果。
11. 
Sub过程与Function过程最根本的区别是(  )。
A 2,3
B 3,2
C 2,2
D 3,3
    分值: 2
答案:D
本题考查考生对拷贝构造函数的掌握。因为++运算是右结合的, 所以在使用a对b赋值时,b的num变为1而a的num变为2(先赋值再自加)。
12. 
设有如下关系表______。 则下列操作中,正确的是______。
A T=R∩S
B T=R∪S
C T=RхS
D T=R/S
    分值: 2
答案:B
从图中可以看出,关系 T 是关系 R 和关系 S 的简单合并,而合并的符号为∪,所以答案为 T=R∪S。
13. 
用InputBox函数设计的对话框,其功能是(  )。
A 只能接收用户输入的数据,但不会返回任何信息
B 能接收用户输入的数据,并能返回用户输入的信息
C 既能用于接收用户输入的信息,又能用于输出信息
D 专门用于输出信息
    分值: 2
答案:B
InputBox函数能接收用户输入的数据,并能返回用户输入的信息,不能用于输出信息。InputBox函数中的Prompt参数是在 对话框中显示提示信息,这种提示信息是由用户确定的,不能把它当作输出信息的功能。
14. 
通常情况下,垂直滚动条的值是(  )。
A 由下往上递增
B 由上往下递增
C 由左到右递增
D 由右到左递增
    分值: 2
答案:B
一般情况下,垂直滚动条的值由上往下递增,最上端代表最小值,最下端代表最大值;水平滚动条的值从左到右递增,最左端代表最小值,最右端代表最大值。因此选项B)是正确的。
15. 
有如下程序:
  Private Sub Commandl_Click()
   Dim a As Integer
   a=2
   For i=1 To 3
     Print Gad (a)
     Next i
  End Sub
  Function Gad (a As Integer)
   b=0