(26)在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1、Text2的文 本框,然后编写如下事件过程:
PrivateSubCommand1_Click()
n=Text1.Text
Select Case n
Case 1 To 20
x=lO
Case 2,4,6
x=20
Case Is<lO
x=30
Case 10
x=40
End Select
Text2.Text=x
End Sub
程序运行后,如果在文本框Textl中输入10,然后单击命令按钮,则在Text2中显示的内容是_________。
A)10 B)20 C)30 D)40
答案:A
评析:Select Case执行时,首先计算Select Case语句中的测试表达式的值,然后从第一个Case开始找满足该值的Case语句,遇到第一个表达式列表值与测试表达式相匹配的Case语句,则执行其后的语句序列,然后跳出Select Case结构。而本题第一个语句就满足条件,所以执行第一条语句,结果为x=lO:
(27)设有以下循环结构
Do
循环体
Loop Willle<条件>
则以下叙述中错误的是__________。
A)若"条件"是一个为0的常数,则一次也不执行循环体
B)"条件"可以是关系表达式、逻辑表达式或常数
C)循环体中可以使用Exit Do语句
D)如果"条件"总是为True,、则不停地执行循环体
答案:A
评析:Do...Loop While循环是先执行一次循环体,再判断条件是否为True,如为True,则继续执行循环体,如为False,则结束。所以如果条件是一个为O的常数,即条件为False,则执行一次循环体后退出。
(28)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim num As Integer
num=l
Do Until num>6
Print num;
num=num+2.4
Loop
End Sub
程序运行后,单击命令按钮,则窗体上显示的内容是________。
A)13.45.8 B)1 3 5 C)1 4 7 D)无数据输出
答案:B
评析:Do Until...Loop循环采用的是先判断循环条件后执行循环体的做法。而用Until关键字表示兰§循环条件为False时执行循环体,直到条件为True时终止循环。
代码中,rlunl是整型数据,循环体共被执行3次。循环体第三次被执行后,num的值为7,故循环终止。
(29)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_click()
Dim a As Integer,s As Integer
a=8
s=l
Do
s=s+a
a=a-1
Loop While a<=0
Print s:a
End Sub
程序运行后,单击命令按钮,则窗体上显示的内容是________。
A)7 9 B)340 C)9 7 D)死循环
答案:C
评析:Do...Loop While循环采用的是先执行循环体再判断条件的做法。所以代码先执行了一次循环体,使得s=9,a=7,再判断条件a<=0为假,则终止循环。
(30)在窗体上画一个名称为Text1的文本框,并编写如下程序:
Private Sub Form_Load()
Show
Textl.Text=""
Textl.SetFocus
End Sub
Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)
Print"程序"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)
Prim"VisualBasic":
End Sub
程序运行后,如果按"A"键,然后单击窗体,则在窗体上显示的内容是_______。
A)Visual Basic B)程序设计
C)A程序设计 D)Visual Basic程序设计
答案:D
评析:因为程序一运行,文本框Textl获得焦点,按下"A"键后,执行Textl_KeyDown事件,在窗体上显示"Visual Basic";这时再单击窗体,则触发Form_MouseUp事件,在窗体上显示"程序设计"。
(31)设有如下程序:
Private Sub Command1_Click()
Dim sum As Double,x As Double
sum=O
n=O
For i=l TO 5
X=n/i
N=n+1
sum=sum+x
Next
End Sub
该程序通过For循环计算一个表达式的值,这个表达式是________。
A)1+1/2+2/3+3/4+4/5 B)1+l/2+2/3+3/4
C)1/2+2/3+3/4+4/5 D)1+1/2+1/3+1/4+1/5
答案:C
评析:本题考查循环语句,其过程如下:
i=l时,x=0/l=0,n=0+l=l,sum=0+0;
i=2时,x=l/2,n=l+l=2,sum=0+1/2;
i=3时,x=2/3,n=2+1=3,sum=0+l/2+2/3;
i=4时,x=3/4,n=3+1=4,sum=0+1/2+2/3+3/4;
i=5时,x=4/5,n=4+1=5,sum=0+1/2+2/3+3/4+4/5。
(32)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码:
Option Base 1
Private Sub Command1_Click()
D=0
c=10
x=Array(1 0,1 2,2 1,32,24)
For i=l TO 5
If x(i)>c Then
d=d+x(i)
C=X(i)
Else
d=d-c
End If
Next I
Print d
End Sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为________。
A)89 B)99 C)23 D)77
答案:C
评析:本题的循环过程如下:
i=l时,x(1)=10,d=-10,c=10;
i=2时,x(2)=12,d=2,c=12;
i=3时,x(31=2l,d=23,c=21;
i=4时,x(41=32,d=55,c=32;
i=5时,x(5)=24,d=23,c=32;
(33)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For n=l TO 20
If n Mod 3<>0 Then m=m+n\3
Next n
Print n
End Sub
程序运行后,如果单击命令按钮,则窗体上显示的内容是________。
A)15 B)18 C)21 D)24
答案:C
评析:本题考查的是For...Next循环语句。For...Next循环执行时,先将初始值赋给循环变量,判断是否超过终值,若未超过则执行循环体,遇到Next语句后,循环变量增加一个步长(默认值为1),再判断是否超过终值,若未超过则继续执行循环体,如此重复直到循环变量超过终值,退出循环。本题中的循环变量为n,步长为l,当n=20时,再执行Nextn,则n=21,此时n大于终值20,退出循环。
(34)以下有关数组定义的语句序列中,错误的是________。
A)Static arrl(3)
artl(1)=100+
arrl(2)="Hello"
arrl(3)=123.45
B)Dim arr2()As Integer
Dim size As Integer
Private Sub COmlTland2_Click()
size=InputBox("输入:")
ReDimarr2(size)
……
EndSub
C)0ptionBase l
Private sub command3_Click()
Dim arr3(3)As Integer
End Sub
D)Dim n As Integer
Private Sub Comllland4_Click()
Dim arr4(n)As Integer
……
End Sub
答案:D
评析:在数组定义中,定义的数组元素个数不能是变量。而选项D中的n是一个变量。
(35)在窗体上画两个滚动条,名称分别为Hscrolll、Hscroll2;六个标签,名称分别为,Labell、Label2、Label3、Label4、Label5、Label6,其中标签Label4~Label6分别显示"A"、"B"、"A*B"等文字信息,标签Labell、Label2分别显示其右侧的滚动条的数值, Label3显示A*B的计算结果。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮"计算"时,对标签Labell、Label2中显示的两个值求积,并将结果显示在Label3中。以下不能实现上述功能的事件过程________。
A)Private Sub Command1_Click()
Label3.Caption=Str(Val(Labell.Caption)。Val(Label2,Caption))
End Sub
B)Private Sub Command1_Click(、
Label3.Caption=HScroll 1.Value*HScroll2.Value
End Sub
C)Private Sub Command1_Click(1
Label3.Caption=HScroll l*HScroll2
End Sub
D)Private Sub Command1_Click(1
Label3.Caption=HScroll 1.Text*HScroll2.Text
End Sub
答案:D
评析:HScroll控件缺省属性为Value,即HScrolll与HScrolll.Value相等,而其属性中没有Text属性。
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【l】~【15】序号的横线上,答在试卷上不得分。
(1) 算法的基本特征是可行性、确定性、 【l】 和拥有足够的情报。
答案:【1】有穷性
评析:算法是指解题方案的准确而完整的描述。它有4个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。
(2) 顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。
答案:【2】相邻
评析:常用的存储表示方法有4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。
(3) Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向 【3】 的设 计方法。
答案:【3】数据结构
评析:结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),面向数据结构的Jackson方法(JSD-Jackson system development method)和面向数据结构的结构化数据系统开发方法(DSSD-Data structured system development method)。
(4) 数据库设计分为以下6个设计阶段:需求分析阶段、 【4】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
答案:【4】概念设计阶段或数据库概念设计阶段
评析:数据库设计乡沩以下6个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。
(5) 数据库保护分为:安全性控制、 【5】 、并发性控制和数据的恢复。
答案:【5】完全性控制
评析:考查考生对数据库基本知识的了解。
安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。
(6)下列表达式有错误,正确的写法应该是 【6】 。
[(a+B)+c]/80-5÷(d+e)
答案:【6】(a+b+c)/80-5/(d+e)
评析:在VisualBasic中:
"÷"不是合法的运算符;
括号不区分大、中、小括号,一律用小括号嵌套;
除号有两个:"/",表示一般意义的除;"\"表示整除。
(7)在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程:
Private Sub Form Click()
Text1.Text="VB程序设计"
End Sub
Private Sub Text1_Change()
Picture 1.Print J-1VB programming"
End Sub
程序运行后,单击窗体,则在文本框中显示的内容是 【7】 ,而在图片框中显示的内容是 【8】 。
答案:【7】VB程序设计
【8】VB programming
评析:文本框内容是因窗体的Click事件而改变,而PictureBox内容是因文本框内容的改变而改变的。
(8)控件数组的名字由 【9】 属性指定,而数组中的每个元素由 【10】 属性指定。
答案:【9】Name
【10】Index
评析:返回或设置唯一的标识控件数组中一个控件的编号。仅当控件是控件数组的元素时是有效的。
语法:
object[(number)].Index。
(9)在窗体上画两个文本框,其名称分别为Textl和Text2,然后编写如下事件过程:
Private Sub Form_Load()
Show
Textl.Text=""
Text2.Text=""
Text2.SetFocus
End Sub
Private Sub Text2,_KeyDown(KeyCode As Integer,Shift As Integer)
Textl.Text=Textl.Text+Chr(KeyCode-4)
End Sub
程序运行后,如果在Text2文本框中输入"efghi",则Text1文本框中的内容为 【11】 。
答案:【11】ABCDE
评析:当用户在Text2中输入字符的时候,会触发Text2 KeyDown事件。该事件的处理代码使得Textl的内容为在原内容的基础上追加一个字符。追加的字符的ASCII值比输入的小4。所以当输入efghi的时候,输出为ABCDEa注意不是abcde,因为KeyCode取的是键码,而不是ASCII码,小写字符的键码等于对应大写字符的ASCII码。
(10)当用 【12】 方式打开文件时,如果对文件进行写操作,则写入的数据附加到原来 文件的后面。
答案:【12】Append
评析:打开文件的语句为:
Open pathname For mode[Access access][lock]As[拌]filenumber[Len=reclength] 注:mode必要。关键字,指定文件方式,有Append(追加)、Binary、Input、Output或Random方式。如果未指定方式,则以Random访问方式打开文件。其中Append方式的意思是"追加"。
(11)以下Prime过程,用于判断一个数是否为素数。素数是只能被l和数本身整除的自 然数。一个自然数不是素数,就是合数。用被测试的数除以从2开始到该数本身的数,如果能除尽(余数为O),则为合数;如果都除不尽(余数均不为0),则为素数。请在划线处将下面过程补充完整:
Function Prime(inputvar As Integer)As Integer
Fori=2 TO inputvar-1
If inputvar Mod i= 【13】 Then
GoTo comfinish
End If
Next i
Prime=inputvar
Print"素数"
GoTo 【14】
comfinish:
Prime=inputvar
Print"合数"
finish:
End Function
答案:【13】O
【14】finish
评析:空1:当输入的数inputvar除以从2开始的数为何值时,能确定该数为合数。显示,如果都能除尽,则为合数,故此处应当填入0。
空2:程序已做完素数或合数的判断,应当转向结束分支:finish。
(12)在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:
Function M(x As Integer,y As Integer)
M=IIf(x>y,x,y)
End Function
Private Sub Command1_Click()
Dim a As Integer,b As Integer
a=100
b=200
PrintM(a,B)
End Sub
程序运行后,单击命令按钮,输出结果为 【15】 。
答案:【15】200
评析:该题主要考察自定义函数调用和IIf函数的使用。
IIf函数格式为IIf(expr,truepart,falsepart)
根据表达式的值,来返回两部分中的其中一个。
题目中调用M()时,x<y所以返回值为y,即200。


