计算机等级考试二级VISUAL+BASIC机试5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机等级考试二级VISUAL BASIC机试5
(总分:100.00,做题时间:90分钟)
一、选择题
(总题数:40,分数:40.00)
1.软件测试的目的是( )。

A) 评估软件可靠性 B) 发现并改正程序中的错误
C) 改正程序中的错误 D) 发现程序中的错误
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] 软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。

不是为了评估软件或改正错误。

2.能够用于标识对象名称的属性是( )。

A) Name B) Caption C) Value D) Text
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 每个对象都有Name属性,用于识别不同的对象。

故选A。

3.软件生命周期是指( )。

A) 软件产品从提出、实现、使用维护到停止使用退役的过程
B) 软件从需求分析、设计、实现到测试完成的过程
C) 软件的开发过程
D) 软件的运行维护过程
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

4.有如下过程代码:
Sub var_dim()
Static numa As Integer
Dim numb As Integer
numa = numa + 2
numb = numb + 1
print numa ; numb
End Sub
连续3次调用var_dim过程,第3次调用时的输出是( )。

A) 2 1 B) 2 3 C) 6 1 D) 6 3
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] Static声明的变量为静态变量,静态变量在程序运行期间,每次进入过程时都会保留上次的值,而普通变量不会保留。

numa定义为静态变量,因此每次调用都会保留结果,3次调用过程,numa的值为6,numb的值为1。

5.在软件开发中,需求分析阶段产生的主要文档是( )。

A) 软件集成测试计划 B) 软件详细设计说明书
C) 用户手册 D) 软件需求规格说明书
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] 需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。

所以选择D。

6.设有如下通用过程:
Public Function Fun(xStr As String)As String
Dim tStr As String, strL As Integer
tStr = " "
strL = Len (xStr)
i = strL / 2
Do While i < = strL
tStr = tStr & Mid(xStr, i + 1, 1)
i=i+1
Loop
Fun = tStr & tStr
End Function
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。

然后编写如下的事件过程:Private Sub Command1_Click()
Dim S1 As String
S1 = "ABCDEF"
Text1. Text = LCase (Fun(S1))
End Sub
程序运行后,单击命令按钮,文本框中显示的是( )。

A) ABCDEF B) abcdef C) defdef D) defabc
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] 程序中过程Fun的Do循环的功能是从参数字符串中依次取出后半部分的字符组成一个字符串,然后这个字符串再重复一次由函数返回。

函数Len用于返回字符串的长度,过程中字符串的长度做为Do循环的结束条件。

Mid是字符串中部截取函数,用来从指定位置开始截取指定个数的字符。

过程中使用Mid(xStr,i+1,1),通过循环依次取出字符串后半部分的字符。

函数返回的字符串经Lcase函数转换为小写然后显示在文本框中。

程序中做为Fun过程参数的字符串为“ABCDEF”,经处理返回并转为小写后为“defdef”。

7.在窗体上画一个水平滚印条,其属性值满足Min<Max。

程序运行后,如果单击滚动条右端的箭头,则Value 属性值( )。

A) 增加一个SmallChange量 B) 减少一个SmallChange量
C) 增加一个LargeChange量 D) 减少一个LargeChange量
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 当水平滚动条的属性值Min<Max时,如果单击滚动条右端或左端的箭头,Value属性值会增加或减少SmallChange量;如果单击滚动块和右端箭头之间空白的地方时,Value属性值会增加LargeChange量,反之,减少LargeChange量。

本题单击的是滚动条右端的箭头,故Vlaue属性值应该是增加一个SmallChange量。

故选A。

8.在窗体上画两个标签和一个命令按钮,其名称分别为Label1、Label2和Command1,然后编写如下程序:Private Sub func(L As Label)
L. Caption = "1234"
End Sub
Private Sub Form_Load()
Label1. Caption = "ABCDE"
Label2. Caption = 10
End Sub
Private Sub Command1_Click()
a = Val(Label2. Caption)
Call fune(Label1)
Label2. Caption = a
End Sub
程序运行后,单击命令按钮,则在两个标签中显示的内容分别为( )。

A) ABCD和10 B) 1234和100 C) ABCD和100 D) 1234和10
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] 程序运行,窗体加载时设置Label1显示为ABCD,Label2显示为10。

单击命令按钮,执行按钮的单击事件过程,过程中Val函数将Label2的标题字符串转换为数值赋给变量a,此时a的值为10,然后调用fune过程传入Label1为参数,func过程中设置Label1的标题为“1234”,回到按钮单击事件过程,设置Label2的标题为变量a的值,即10。

因此两个标签中显示的内容分别为1234和10。

9.数据库设计中反映用户对数据要求的模式是( )。

A) 内模式 B) 概念模式 C) 外模式 D) 设计模式
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] 数据库系统的三级模式是概念模式、外模式和内模式。

概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。

外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C。

内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。

10.设a=2,b=3,c=4,d=5,下列表达式的值是( )。

a >
b And
c < =
d Or 2 * a > c
A) True B) False C) -1 D) 1
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] 根据运算符的优先级顺序,先计算算术运算符,结果是2>3 And 4<=5 Or 4>4;再计算关系运算符,结果为False And True Or False;And优先级高于Or优先级,先计算And,再计算Or,最后结果是False。

故B选项正确。

11.在窗体上画一个命令按钮(名称为Command1),并编写如下代码:
Function Fun1 (ByVal a As Integer, b As Integer) As Integer
Dim t As Integer
t=a-b
b=t+a
Fun1=t+b
End Function
Private Sub Command1_Click()
Dim x As Integer
x=10
Print Fun1 (Fun1 (x, (Fun1 (x, x-1))), x-1)
End Sub
程序运行后,单击命令按钮,输出结果是( )。

A) 10 B) 0 C) 11 D) 21
(分数:1.00)
A.
B. √
D.
解析:[解析] 本题是过程的嵌套调用,过程嵌套调用时要先计算最内层的过程,然后由里向外执行。

因此Fun1(Fun1(x,(Fun1(x,x-1))),x-1)执行过程如下:
先执行Fun1(x,x-1),由于形参a是按值传递,因此不会影响x的值,x=10,即Fun1(10,9)。

t=1,b=1+10=11,则函数返回值为1+11=12。

再执行Fun1(x,(Fun1(x,x-1))),由于内层过程返回12,因此又可写成Fun1(x,(12)),由于x仍为原值,因此过程即Fun1(10,12)。

t=-2,b=-2+10=8,则函数返回值为-2+8=6。

最后执行Fun1(Fun1(x,(Fun1(x,x-1))),x-1),即Fun1(6,x-1),由于x仍为原值,因此过程即为Fun1(6,9)。

t=-3,b=-3+6=3,则函数返回值为-3+3=0。

12.假定有如下语句:
answer $ =MsgBox("String1", , "String2", "String3", 2)
执行该语句后,将显示一个信息框,单击其中的“确定”按钮,则answer $的值为( )。

A) String1 B) String2 C) String3 D) 1
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] MsgBox函数的作用:在对话框中显示消息,等待用户单击按钮,并返回一整数,告诉用户单击哪一个按钮。

Msgbox函数的格式是:
MsgBox(提示信息[, 按钮样式][, 标题信息][, 帮助文件, 帮助上下文编号])
本题MsgBox函数语句运行后,信息对话框中提示信息是“String1”,标题栏信息是“String2”,对话框出现一个“确定”按钮,单击“确定”按钮返回“确定”按钮对应的一个整数值1,并把1赋给answer变量。

放D选项正确。

13.在窗体上画一个组合框,一个命令按钮和一个文本框,其名称分别为Combo1,Command1和Text1,然后编写如下事件过程:
Private Sub Form_Load()
Combo1. AddItem "AAAAA"
Combo1. AddItem "BBBBB"
Combo1. AddItem "CCCCC"
Combo1. AddItem "DDDDD"
Combo1. AddItem "EEEEE"
End Sub
程序运行后,如果单击命令按钮,则在文本框中显示组合框的项目“CCCCC”。

为了实现该操作,在命令按钮的Click事件过程中应使用的语句为( )。

A) Text1. Text = Combo1. List (2) B) Text1. Text = Combo1. Text
C) Text1. Text = Combo1. List (3) D) Text1. Text = Combo1. ListIndex
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] List属性可以返回组合框中各选项的内容。

用下标区分各选项,第1个选项下标为0,依次类推。

“CCCCC”为组合框中第3个选项,可以用Combo1. List(2)返回选项内容。

故A选项正确,C选项
Text属性返回的是组合框中选中项目的内容;ListIndex属性返回的是选中项目的索引值,即下标。

故B、D选项错误。

14.下列叙述中正确的是( )。

A) 栈是一种先进先出的线性表 B) 队列是一种后进先出的线性表
C) 栈与队列都是非线性结构 D) 以上三种说法都不对
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] 栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。

15.下列打开“代码窗口”的操作中错误的是( )。

A) 按F4键
B) 单击“工程资源管理器”窗口中的“查看代码”按钮
C) 双击已建立好的控件
D) 执行“视图”菜单中的“代码窗口”命令
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 按F4键打开的是“属性窗口”,故A选项错误。

16.以下说法中正确的是( )。

A) 事件过程也是过程,只能由其他过程调用
B) 事件过程的过程名是由程序设计者命名的
C) 事件过程通常放在标准模块中
D) 事件过程是用来处理由用户操作或系统激发的事件的代码
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] 事件过程也是过程,其他过程或系统都可以调用它。

故A选项错误。

事件过程的过程名是由系统命名的。

故B选项错误。

通常事件过程放在窗体模块中。

故C选项错误。

事件过程是用来处理由用户操作或系统激发的事件的代码。

只有当用户或系统触发事件后,才执行相应的事件过程。

故D选项正确。

17.对于列表框控件List1,能够表示当前被选中列表项内容的是( )。

A) List1. Text B) List1. Index C) List1. ListIndex D) List1. List
(分数:1.00)
B.
C.
D.
解析:[解析] Text属性可返回当前被选中列表项的内容,故选A。

Index属性是当有列表框控件数组时,区分各列表框用的;ListIndex属性返回的是被选中的列表项的索引值;List属性设置或返回各列表项的内容。

18.有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是( )。

A) 自然连接 B) 差 C) 交 D) 并
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] 关系T中的元组是R关系中有而S关系中没有的元组的集合,所以进行的是差的运算。

19.关于水平滚动条,如下叙述中错误的是( )。

A) 当滚动框的位置改变时,触发Change事件
B) 当拖动滚动条中的滚动框时,触发Scroll事件
C) LargeChange属性是滚动条的最大值
D) Value是滚动条中滚动框的当前值
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] LargeChange属性值是单击滚动块和左右两端箭头之间空白的地方时,Value增加或减少的量,Small属性值才是滚动条的最大值。

故C选项错误。

20.在窗体上画一个命令按钮,其名称为Command1,然后编写如下代码:
Option Base 1
Private Sub Command1_Click()
Dim a
a = Array(1, 2, 3, 4)
j = 1
For i = 4 To 1 Step - 1
s = s + a(i) * j
j = j * 10
Next i
Print s
End Sub
程序运行后,单击命令按钮,其输出结果是( )。

A) 4321 B) 1234 C) 34 D) 12
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] Array函数用来为数组元素赋值,即把一个数据集读入某个数纰。

其格式为:数组变量名=Array(数组元素值)。

Dim a语句没有变量类型名,则a默认为Variant类型,这里它作为数组变量使用。

现在已知数组a中元素的值依次为1、2、3、4,则For循环中各变量值变化如下:
i=4时,s=s+a(4)*j=0+4*1=4,j=1*10=10
i=3时,s=s+a(3)*j=4+3*10=4+30=34,j=10*10=100
i=2时,s=s+a(2)*j=34+2*100=34+200=234,j=100*10=1000
i=1时,s=s+a(1)*j=234+1*1000=234+1000=1234。

循环结束。

s的值为1234。

21.在窗体上画1个命令按钮,并编写如下事件过程:
Private Sub Command1_Click()
Dim a(3, 3)
For m = 1 To 3
For n = 1 To 3
If n = m Or n = 4 - m Then
a(m, n) = m + n
Else
a(m, n) = 0
End If
Print a(m, n);
Next n
Print
Next m
End Sub
运行程序,单击命令按铡,窗体上显示的内容为( )。

A) 2 0 0
0 4 0
0 0 6
B) 2 0 4
0 4 0
4 0 6
C) 2 3 0
3 4 0
0 0 6
D) 2 0 0
0 4 5
0 5 6
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] 根据For循环中的If语句的条件n=m or n=4-m中的n=m首先可以得出a(1,1)=2,a(2,2)=4,a(3,3)=6,其次根据n=4-m的条件可以得出a(1,3)=4,a(2,2)=4,a(3,1)=4。

而其他的元素值都为0。

因此窗体上输出的三行分别是:2 0 4,0 4 0,4 0 6。

22.层次型、网状型和关系型数据库划分原则是( )。

A) 记录长度 B) 文件的大小
C) 联系的复杂程度 D) 数据之间的联系方式
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] 层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。

23.在窗体上画两个文本框,其名称分别为Text1和Text2,然后编写如下程序:
Private Sub Form_Load()
Show
Text1. Text = " "
Text2. Text = " "
Text1. SetFocus
End Sub
Private Sub Text1 Changed
Text2. Text = Mid ( Text1. Text, 6)
End Sub
程序运行后,如果在文本框Text1中输入ChinaBeijing,则在文本框Text2中显示的内容是( )。

A) ChinaBeijing B) China C) Beijing D) ChinaB
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] 程序运行后,在文本框Text1中输入字符后,触发它的Change事件,通过中部截取函数Mid 把文本框Text1中的内容从第6个字符‘B’开始截取后而的字符,得到“Beijing”字符串,然后把截取的字符串在Text2中显示出来。

故C选项正确。

24.面向对象方法中,继承是指( )。

A) 一组对象所具有的相似性质 B) 一个对象具有另一个对象的性质
C) 各对象之间的共同性质 D) 类之间共享属性和操作的机制
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] 继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。

广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。

25.当文本框中的内容发生改变时所触发的事件是( )。

A) KeyUp B) Change C) LostFocus D) GotFocus
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] 文本框中内容有变化时,触发Change事件。

故B选项正确。

当在文本框中输入数据,松开键盘时触发它的KeyUp事件;文本框失去焦点触发LostFocus事件;获得焦点,触发GotFocus事件;
26.阅读程序:
Private Sub Form_Click()
a=0
For j=1 To 15
a=a+j Mod 3
Next j
Print a
End Sub
程序运行后,单击窗体,输出结果是( )。

A) 105 B) 1 C) 120 D) 15
(分数:1.00)
A.
B.
C.
D. √
解析:[解析] Mod是求模运算符,即求余数,程序中j Mod 3的余数可能值为0,1,2,1到15的整数中,3、6、9、12、15这5个数除3的余数为0,1、4、7、10、13这5个数除3余数为1,2、5、8、11、14这5个数除3余数为2。

因此a的值为1*5+2*5=15,即选择D正确。

27.在标准模块中用Public关键字定义的变量,其作用域为( )。

A) 本模块所有过程 B) 整个工程 C) 所有窗体 D) 所有标准模块
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] 在标准模块中用Public定义的变量是公用的、全局变量,在整个工程中的所有窗口、模块中都能引用,作用域是整个工程。

故B选项正确。

28.为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为( )。

A) Value B) ByVal C) ByRef D) Reference
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] Value是控件的属性名。

用ByVal关键字声明形参表示该参数按值传递。

ByRef是默认的参数类型,表示该参数按地址传递。

没有Reference关键字。

故B选项正确。

29.在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:
Option Base 0
Private Sub Command1_Click()
Dim A1 (4) As Integer, A2 (4) As Integer
For k = 0 To 2
A1 (k+1) = InputBox("请输入一个整数")
A2 (3-k) = A1(k+1)
Next k
Print A2(k)
End Sub
程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出结果为( )。

A) 0 B) 1 C) 2 D) 3
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] 程序运行过程如下:
k=0,输入2,A1(k+1)=A1(0+1)=A1(1)=2,A2(3-k)=A2(3-0)=A2(3)=2
k=1,输入4,A1(k+1)=A1(1+1)=A1(2)=4,A2(3-k)=A2(3-1)=A2(2)=4
k=2,输入6,A1(k+1)=A1(2+1)=A1(3)=6,A2(3-k)=A2(3-2)=A2(1)=6
k=3,For循环结束,输出A2(k)的值即A2(3)的值,即2。

30.设有以下程序:
Private Sub Form_Click()
x =50
For i = 1 To 4
y = InputBox( "请输入一个整数" )
y = Val(y)
lf y Mod 5 = 0 Then
a=a+y
x=y
Else
a=a+x
End If
Next i
Print a
End Sub
程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为( )。

A) 100 B) 50 C) 120 D) 70
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 程序的作用是输入的数如果是5的倍数就累加,如果不是就每次加50或与上次是5的倍数的那个数相累加。

因此最终a的值是15+15+35+35=100。

31.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。

A) 一对一 B) 一对多 C) 多对多 D) 多对一
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] 因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。

32.设有语句:
Open "c: /Test. Dat" For Output As #1
则以下叙述中错误的是( )。

A) 该语句打开C盘根目录下的一个文件Test. Dat,如果该文件不存在则出错
B) 该语句打开C盘根目录下一个名为Test. Dat的文件,如果该文件不存在则创建该文件
C) 该语句打开文件的文件号为1
D) 执行该语句后,就可以通过蹦Print语句向文件Test. Dat中写入信息
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 本题中是用Open语句打开一个顺序文件Test. Dat,并指定一个文件号1。

故C选项正确。

如果Test. Dat文件不存在,则系统自动创建该文件。

故B选项正确,A选项错误。

用For Output模式打开文件,可通过Print #浯句向文件写入信息。

故D选项正确。

33.定时器的Interval属性的值是一个整数,它表示的是( )。

A) 毫秒数 B) 秒数 C) 分钟数 D) 小时数
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] Interval的属性值是以毫秒计,所以是毫秒数。

故选A。

34.设a=10,b=5,c=1,执行语句Print a>b>c后,窗体上显示的是( )。

A) True B) False C) 1 D) 出错
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] 本题中Print语句中的表达式只有“>”运算符,相同优先级,左结合。

先计算a>b,即10>5,值为True,(即-1),再计算-1>1,结果为False。

故B选项正确。

35.下列叙述中正确的是( )。

A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D) 线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性
(分数:1.00)
A.
B. √
C.
D.
解析:[解析] 线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

36.以下叙述中错误的是( )。

A) Visual Basic是事件驱动型可视化编程工具
B) Visual Basic应用程序不具有明显的开始和结束语句
C) Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性
D) Visual Basic中控件的某些属性只能在运行时设置
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] VB工具箱中不是所有的控件都具有宽度和高度属性,比如定时器控件Timer、直线控件Line 就没有。

故C选项错误。

37.在窗体上画一个命令按钮和一个文本框(名称分别为Command1和Text1),并把窗体的KeyPreview属性设置为True,然后编写如下代码:
Dim SaveAll As String
Private Sub Form_Load()
Show
Text1. Text = " "
Text1. SetFocus
End Sub
Private Sub Command1_Click()
Text1. Text = LCase(SaveAll) + SaveAll
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
SaveAll = SaveAll + Chr(KeyAscii)
End Sub
程序运行后,直接用键盘输入:VB,再单击命令按钮,则文本框中显示的内容为( )。

A) vbVB B) 不显示任何信息 C) VB D) 出错
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 窗体的] KeyPreview属性用于设置或获取一个值,该值只是判断按键事件传递到具有焦点
的控件前,窗体是否将接收此事件,该属性设为True时,窗体将会接收按键事件。

因此在文本框中输入“VB”时,会先触发Form_KeyPress()事件,该事件将输入的字符保存到窗体模块变量SaveAll中,然后才会显
示在文本框中。

当单击命令按钮时,Lease函数将变量saveAll中的字符串“VB”转换为小写,为“vb”,然后与原字符串连接,即“vb”+“VB”,显示在文本框中则为“vbVB”。

38.设在工程文件中有一个标准模块,其中定义了如下记录类型:
Type Books
Name As String * 10
TeINum As String * 20
End Type
在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件Person. txt中写入一条Books类型的记录。

下列能够完成该操作的事件过程是( )。

A) Private Sub Command1_Click()
Dim B As Books
Open "Person. txt" For Output As #1
B. Name = InputBox( "输入姓名" )
B. TelNum = InputBox( "输入电话号码" )
Write #1, B. Name, B. TelNum
Close #1
End Sub
B) Private Sub Command1_Click()
Dim B As Books
Open "Person. txt" For Input As #1
B. Name = InputBox( "输入姓名" )
B. TelNum = InputBox( "输入电话号码" )
Print #1, B. Name, B. TelNum
Close #1
End Sub
C) Private Sub Command1_Click()
Dim B As Books
Open "Person. txt" For Output As #1
B. Name = InputBox( "输入姓名" )
B. TelNum = InputBox( "输入电话号码" )
Write #1, B
Close #1
End Sub
D) Private Sub Command1_Click()
Open "Person. txt" For Input As #1
Name = InputBox( "输入姓名" )
TelNum = InputBox( "输入电话号码" )
Print #1, Name, TelNum
Close #1
End Sub
(分数:1.00)
A. √
B.
C.
D.
解析:[解析] 数据文件的写操作分为3步,即打开文件、写入文件和关闭文件。

首先,在顺序文件中打开文件写入数据的打开方式为:Open文件名For Output As#文件号。

因此B、C选项排除,只看A、D选项。

写入顺序文件Print #语句格式为:Print #文件号,变量名,变量名…,Write语句的的格式与Print语句一样:Write #文件号,变量名,变量名。

而记录类型变量不能整体引用,需要指明记录变量中的成员名,格式为:记录变量名. 成员名,Books类型变量B成员Name和TelNum赋值和引用应该是B. Name、B. TelNum,因此A选项正确。

39.为了使文本框只具有垂直滚动条,应先把MultiLine属性设置为True,然后再把ScrollBars属性设置为( )。

A) 0 B) 1 C) 2 D) 3
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] 文本框的ScrollBars属性值:0表示无滚动条,1表示只有水平滚动条,2表示只有垂直滚动条,3表示水平和垂直滚动条都有。

本题文本框只具有垂直滚动条,则ScrollBar属性值就设置为2,故C选项正确。

40.以下叙述中正确的是( )。

A) 在属性窗口只能设置窗体的属性 B) 在属性窗口只能设置控件的属性
C) 在属性窗口可以设置窗体和控件的属性 D) 在属性窗口可以设置任何对象的属性
(分数:1.00)
A.
B.
C. √
D.
解析:[解析] 在属性窗口中只能设置窗体和各种控件的属性,故C选项正确。

二、基本操作题
(总题数:2,分数:18.00)
41.在名称为Form1的窗体上添加一个名称为Shape1的形状控件,要求在属性窗口中将其形状设置为椭圆,其短轴(垂直方向)、长轴(水平方向)的长度分别为800、1600。

把窗体的标题改为“Shape 控件”,窗体上无最大化、最小化按钮。

程序运行后的窗体如图所示。

注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt1. vbp ,窗体文件名保存为sjt1. frm 。

(分数:9.00)
__________________________________________________________________________________________ 正确答案:([解题思路] MaxButton 属性:确定标题栏是否显示最大化按钮,MinButton 属性:确定标题栏是否显示最小化按钮。

[操作步骤]
步骤1:按题目要求添加控件,并设置其属性。

程序中用到的控件及属性见表1。

表1
控件 形状控件 窗体
属性 Name Shape Width Height Caption Max Button Min Button
设置值 Shapel 2 1600 800
Shape 控件 False False 步骤2:调试并运行程序,关闭程序后按题目要求存盘。

)
解析:
42.在名称为Form1的窗体上添加一个名称为HS 的水平滚动条,最大值为100,最小值为1。

再添加一个名称为List1的列表框,在属性窗口中输入列表项的值,分别是1000、1500、2000,如图所示。

请编写适当的程序,使得运行程序时,将水平滚动条的长度改变为所选中列表框中的某一项的值。

要求程序中不得使用变量,每个事件过程中只能写一条语句。

注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjt. vbp ,窗体文件名保存为sjt2. frm 。

(分数:9.00)
__________________________________________________________________________________________ 正确答案:([解题思路] List1 Click 事件过程中,使滚动条的Width 属性值等于列表框的Text 属性值,那么当选择列表框中的某一项,就将水平滚动条的长度改变为所选中的值。

[操作步骤]
步骤1:程序中用到的控件及属性见表2。

表2
控件 滚动条 列表框
属性 Name Max Min Name List
设置值 HS 100 1 List1 1000、1500、2000
步骤2:编写程序代码。

参考答案
Private Sub List1_Click()
HS. Width = List1. Text
End Sub
步骤3:调试并运行程序,关闭程序后按题目要求存盘。

)
解析:
三、简单应用题
(总题数:2,分数:24.00)
43.在考生文件夹中有一个工程文件sjt3. vbp。

运行程序时,先向文本框Text1中输入一个不超过10的正整数,然后选择“N的阶乘”或“(N+2)的阶乘”单选钮,即可进行计算,计算结果在文本框Text2中显示,如图所示。

在给出的窗体文件中已经添加了全部控件,但程序不完整。

要求:去掉程序中的注释符,把程序中的?改为正确的内容。

注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。

(分数:12.00)
__________________________________________________________________________________________ 正确答案:([解题思路] 在单击单选按钮数组事件过程中,首先向文本框Text1中输入一个不超过10的正整数,通过Val函数实现字符向数值的转换,然后选择“N的阶乘”或“(N+2)的阶乘”单选按钮,通过Select Case语句和单选按钮数组的Index属性,确定所调用函数的参数,从而调用Function f1()过程函数进行计算,将计算结果显示在文本框Text2中。

[操作步骤]
步骤1:打开本题工程文件。

步骤2:分析并编写程序代杩。

程序提供代码
Private Sub Option1_Click(Index As Integer)
Dim n As Integer
n = Val(Text1. Text)
' Select Case ?
Case 0
' Text2. Text = f1 (?)
Case 1
' Text2. Text = f1 (?)
End Select
End Sub
Public Function f1 (n As Integer) As Long
Dim x As Long
x=1
'For i=1 To ?
x=x*i
Next
'? = x
End Function
程序结束
参考答案
第1个?处填入:Index
第2个?处填入:n
第3个?处填入:n+2
第4个?处填入:n
第5个?处填入:f1
步骤3:调试并运行程序,关闭程序后按题目要求存盘。

)
解析:
44.在考生文件夹中有一个工程文件sjt4. vbp。

该程序的功能是将文件in4. txt中的文本读出并在文本框Text1中显示。

输入一个英文字母到文本框Text2中,然后单击“统计”命令按钮,统计该字母(大小写被认为是不同的字母)在文本中出现的次数,统计结果在标签Label3中显示。

给出的窗体文件中已经有了全部控件,如图所示。

程序不完整,要求:去掉程序中的注释符,把程序中的?改为正确的内容。

注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。

(分数:12.00)
__________________________________________________________________________________________ 正确答案:([解题思路] 通过文件操作和“&”连接符将文件in4. txt中的文本读出并显示在文本框Text1中,在Command1 Click事件过程中,在文本框Text2中输入一个英文字母,然后单击“统计”命令按钮,统计该字母(大小写被认为是不同的字母)在文本中出现的次数,统计结果显示在标签Label3中。

[操作步骤]
步骤1:打开本题工程文件。

步骤2:分析并编写程序代码。

程序提供代码
Private Sub Form_Load()
Open App. Path & " /in4. txt" For Input As #1
Line Input #1, s
' Text1. Text = ?
Close #1
End Sub
Private Sub Command1_Click()
Dim n As Integer
s = Text1. Text
s1 = RTrim (Text2. Text)
Do
'p = InStr(?)
If p <> 0 Then n=n+1
s = Mid(s, p+1)
' Loop While p ? 0
' Label3. Caption = ?
End Sub
程序结束
参考答案
第1个?处填入:s
第2个?处填入:s,s1
第3个?处填入:<>
第4个?处填入:n
步骤3:调试并运行程序,关闭程序后按题目要求存盘。

)
解析:
四、综合应用题
(总题数:1,分数:18.00)
45.在考生文件夹下有一个工程文件sjt5. vbp,其窗体上有一个名称为Text1的文本框;还有两个名称分别为C1、C2的命令按钮,标题分别为“计算”、“存盘”。

有一个函数过程isprime(a)可以在程序中直接调用,其功能是判断参数a是否为素数,如果是素数,则返回True,否则返回False。

请编写适当的事件过程,使得程序运行时,单击“计算”按钮,找出小于18000的最大素数,并显示在Text1中;单击“存盘”按钮,则将Text1中的计算结果存入考生文件央下的out5. txt文件中。

注意:考生不得修改isprime函数过程和控件的属性,必须把计算结果通过“存盘”按钮存入out5. txt 文件中,否则将没有成绩。

(分数:18.00)
__________________________________________________________________________________________ 正确答案:([解题思路] 函数过程isprime(a)的功能是通过Do While语句、If判断语句和Int函数,判断参数a是否为素数,如果是素数,则函数返回True,否则函数返回False。

在单击“计算”按钮事件过程中,通过For语句和调用函数过程isprime(a),找出小于18000的最大的素数,并将其显示在Text1中;在单击“存盘”按钮事件过程中,通过文件操作把Text1中的计算结果存入考生文件夹下的out5. txt文件中。

[操作步骤]
步骤1:打开本题工程文件。

步骤2:分析并编写程序代码。

程序提供代码
Private Function isprime(a As Integer) As Boolean
Dim flag As Boolean
flag = True
b% = 2
Do While b% < =Int(a/2) And flag
If Int(a/b%) =a/b% Then
flag = False
Else
b% =b% +1
End If
Loop
isprime = flag
End Function
程序结束
参考答案
Private Sub C1_Click()
Dim i As Integer
For i = 17999 To 1 Step - 1
If isprime(i) Then
Text1 = i
Exit For
End If
Next
End Sub
Private Sub C2_Click()。

相关文档
最新文档