2007年9月全国计算机等级考试二级VB语言程序设计笔试考试试卷
http://examlink.com/c/html/Computer/dengji/ncre2/vb/test/20070922/17254.html
2007年9月计算机等级考试二级VB试题答案
http://examlink.com/c/html/Computer/dengji/ncre2/vb/test/20070922/17247.html
(34) 下面程序段,运行后的结果是Private Sub Command1_Click()
Dim b%(1 To 4) , i%, t#
For i=1 To 4
b(i) =i
Next i
t=Tof(b() )
Print "t="; t,
End Sub
Function Tof(a() As Integer)
Dim t#, i%
t=1
For i=2 To UBound(A)
t=t * a(i)
Next i
Tof=t
End Function
A) t=18
B) t=24
C) t=30
D) t=32
答案:B
(35) 单击按钮时,以下程序运行后的输出结果是
Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer
x=1: y=2: z=3
Call God(x, x, z)
Print x; x; z
Call God(x, y, y)
Print x; y; y
End Sub
Private Sub God(x As Integer, y As Integer, z As Integer)
x=3 * z + 1
y=2 * z
z=x + y
End Sub
A) 6 6 12
7 11 11
B) 8 5 10
5 11 11
C) 9 6 12
9 10 15
D) 8 10 10
5 9 10
答案:A
填空题:
(1) 在树结构中,树根结点没有 【1】 。
答案:前件
解析: 在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。
(2) Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向 【2】 的设计方法。
答案:数据结构
解析: 结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),面向数据结构的Jackson方法(JSD-Jackson system development method) 和面向数据结构的结构化数据系统开发方法(DSSD-Data structured system development method)。
(3) 面向对象的模型中,最基本的概念是对象和 【3】 。
答案:类
解析: 面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起,可以构成一个类。
(4) 软件设计模块化的目的是 【4】 。
答案:降低复杂性
解析: 模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由此分解来降低复杂性。
(5) 数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【5】 和物理数据模型。
答案:逻辑数据模型
解析:数据模型按不同层次分成概念数据模型、逻辑数据模型和物理数据模型三类。
(6) 在Visual Basic的立即窗口内输入以下语句
X=65
?Chr$(X)
在窗口中显示的结果是 【6】 。
答案:A
解析: Chr$()是求ASCII字符的函数,格式是Chr$(表达式),其中"表达式"应该是合法的ASCII码值,Chr$()函数把"表达式"的值转换为相应的ASCII字符。本题中X=65对应的ASCII码是字符A,所以显示的结果应该是A。
(7) 下列程序是判断一个整数(>=3) 是否为素数,请补充完整。
Dim n As Integer
n=InputBox("请输入一个整数(>=3) ")
k=Int(Sqr(n) )
i=2
swit=0
While i <=k And swit=0
If n Mod i=0 Then
【7】
Else
【8】
End If
Wend
If swit=0 Then
Print n; "是一个素数。"
Else
Print n; "不是一个素数。"
End If
答案:swit=0
swit=1
解析:素数是只能被1和本身整除的正整数,在本题的程序中,swit是一个标志变量,如果"swit=0",则表示n不能被整除;如果能被一个整数整除,则swit变为1;
While循环执行的条件有两个,一个是"I<=k",另一个是"swit=0",必须两个条件同时成立才执行循环,当I>k时,显然不必再检查n是否能被I整除;而如果"swit=1",则表示n已被整除,肯定不是素数,也不必检查了。
只有"I<=k"和"swit=0"两者同时成立时才需要检查"n是否为素数",循环只有一个判断操作,即判断n能否被I整除,如果不能,则I=I+1。以便为下一次判断作准备。
(8) 下面程序是用来打印九九乘法表的,请补充完整。
Dim i As Integer, j As Integer, Str1$
Str1=""
For i=1 To 9
For j=1 To 9
If 【9】 Then
Str1=Str1 + Str$(j) + "×" + Str$(i) + "=" + Str$(Val(i j) )
Else
Str1=Str1 & Chr(13)
【10】
End If
Next j
Next i
Print Str1
答案:j<=i
j>i
解析: (1) Exit语句总是出现在If语句或Select Case语句内部,而If语句或Select Case语句在循环内嵌套,用Exit语句中断循环。函数首先定义了两个Integer型变量i、j,并将空格赋给Str1;第一个For循环的变量I从1到9步长为1,第二个循环的变量i也是从1到9步长为1,循环体为选择结构,它是用来输出i*j的值,所以j的值应该小于此时i的值,那么If的判断语句为j<=i,当满足条件时执行Then后面的语句,即输出i*j的值,如果不满足执行Else后面的语句,并跳出内循环。