国家二级(VB)机试模拟试卷342附答案解析

国家二级(VB)机试模拟试卷342

选择题

1.下列有关数据库的描述,正确的是( )。(B)

A. 数据库设计是指设计数据库管理系统

B. 数据库技术的根本目标是要解决数据共享的问题

C. 数据库是一个独立的系统,不需要操作系统的支持

D. 数据库系统中,数据的物理结构必须与逻辑结构一致

解析:数据库设计的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。

2.窗体上有一个名称为Combol的组合框,要求在其编辑区输入文本并按回车键后,编辑区中的文本被添加到列表中。下面能实现这一功能的是( )。(A)

A. Private Sub Combol_KeyDown(KeyCode As Integer,Shift As Integer)

If KeyCode=13 Then

Combol.Addltem Cornbol.Text

End If

End Sub

B. Private Sub Combol_KeyDown(KeyCode As Integer,Shift As Integer)

If KeyCode=13 Then

Combol.AddItem Text1.Text.

End If

End Sub

C. Private Sub Combol_Click()

Combol.AddItem Combol.Text

End Sub

D. Private Sub Combol_Click()

Combol.AddItem Text1.Text

End Sub

解析:在组合框中的输入的文本保存在它的Text属性中,根据程序要求,只要判断按下了回车键后,使用组合框的AddItem方法把Text中的字符添加到列表中即可。选项C和D没有判断是否按下回车键,所以排除。而选项B中使用AddItem方法添加的是Text1.Text的值,不是组合框Combol的Text值,所以也不对。

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

A. 在通用过程中,多个形式参数之间可以用逗号作为分隔符

B. 在Print方法中,多个输出项之间可以用逗号作为分隔符

C. 在Dim语句中,所定义的多个变量可以用逗号作为分隔符

D. 当一行中有多个语句时,可以用逗号作为分隔符

解析:一般情况下,输入程序时要求一行只写一条语句。但语句行较短时也可以将多个语句书写在同一行中,这时,语句之间使用冒号分隔。故D选项错误。

4.下列哪一条不属于数据库设计的任务?( )(A)

A. 设计数据库应用结构

B. 设计数据库概论结构

C. 设计数据库逻辑结构

D. 设计数据库物理结构

解析:数据库设计工作量大而且过程复杂,既是一项数据库工程也是一项庞大的软件工程。考虑数据库及其应用系统开发全过程,将数据库设计分为以下6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。

5.下列二叉树描述中,正确的是( )。(B)

A. 任何一棵二叉树必须有一个度为2的结点

B. 二叉树的度可以小于2

C. 非空二叉树有0个或1个根结点

D. 至少有2个根结点

解析:二叉树是由n≥0个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。二叉树可以是空集合,根可以有空的左子树或空的右子树。二叉树不是树的特殊情况,它们是两个概念。

二叉树具有如下两个特点:①非空二叉树只有一个根结点。②每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。

6.算法的时间复杂度是指( )。(D)

A. 算法的长度

B. 执行算法所需要的时间

C. 算法中的指令条数

D. 算法执行过程中所需要的基本运算次数

解析:算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。

7.窗体上命令按钮的事件过程如下:

Private Sub Command1_Click()

A=\(B)

A. 269834

B. 269834

C. 158

D. 程序运行出错

解析:本题考查字符串运算符。“+”操作与字符串运算时为字符串连接运算符。字符串的输出是不加双引号的,但在程序中表示字符串要加上双引号。

8.在窗体上有一个名为Commandl的命令按钮,并有如下事件过程:

Private Sub Command l_Click( )

a$=“Swallows Mod Genulled”

b$=Right(a$,8):c$=Mid(a$,1,8)

MsgBox a$,,b$,c$,1

End Sub

程序执行时,单击命令按钮,则在弹出的消息框的标题栏中显示的是( )。(C)

A. Swallows Mod Genulled

B. Genulled

C. Swallows

D. 1

解析:考查MsgBox过程的。MsgBox为提示框,在MsgBox过程中,第1个参数是提示信息,第2个参数是按钮和图表的类型,若省略的话要有逗号占位,第3个参数是对话框的标题。因此标题为变量b中的内容。

9.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是(  )。(D)

A. 1∶1联系

B. 1∶m联系

C. m∶1联系

D. m∶n联系

解析:因为一个教师可讲授多门课程,而一门课程又能由多个老师讲授,所以它们之间是多对多的关系,可以表示为m∶n。

10.在窗体上画一个命令按钮(其Name属性为

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

运行上面的程序,单击命令按钮,其输出结果是( )。(D)

A. 4321

B. 12

C. 34

D. 1234

解析:本题考查累加运算。s为求和项,a(i)*j为每一项,i的变化为4到1,i的变化为10的倍数。因此求和s为:4*1+3*10+2*100+1*1000,结果为1234。

11.下面程序计算并输出的是(  )。

Private Sub Command1_Click()

  a=10

  s=0

  Do

    s=s+a*a*a

    a=a-1

  Loop Until a<=0

  Print s

End Sub(A)

A. 13+23+33+…+103的值

B. 10!+…+3!+2!+1!的值

C. (1+2+3+…+10)3的值

D. 10个103的和

解析:在Do循环语句中程序大致执行过程如下:s=10^3, a=9;s=10^3+9^3,a=8;s=10^+9^3+8^3,a=7;…,依此类推,因此正确的答案为A。

12.下面程序计算并输出的是( )。

Private Sub Command1_Click()

Num=10

Sum=0

Do

Sum=Sum+Num*Num*Num

Num=Num.1

Loop Unti1 Num<=0

Print Sum

End Sub(A)

A. 13+23+33…+103的值

B. 10!+…+3!+2!+1!的值

C. (1+2+3+…+10)3的值

D. 10个103的和

解析:对于Do型循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体;如果是后判断条件,则无论条件是什么,至少执行一次循环体。在Until循环中条件为False时执行循环体,条件为True时退出循环;在While循环中条件为True时执行循环体,条件为False时退出循环。本题是一个比较简单的Do循环,计算从1到10的立方和。

13.设窗体上有一个通用对话框控件CD1,希望在执行下面程序时,打开如图所示的文件对话框:

Private Sub Command1_Click()

CD1.DialogTitle=\(C)

A. 把CD1.Action=1改为CD1.Action=2

B. 把\

C. 在语句CD1.Action=1的前面添加:CD1.FilterIndex=3

D. 把CD1.FileName=\

解析:在通用对话框控件中,Filter属性指定了在对话框中显示的文件类型,该属性可以设置多个文件类型,每种文件类型由文件描述和文件通配符与扩展名组成,并由“|”隔开。FilterIndex属性用来指定默认的过滤器,Filter属性中设置了多个过滤器后,每个过滤器的对应的值按从左到右顺序是l、2…,FilterIndex属性默认为1,即第一个过滤器,因此程序中会显示c:\下的所有文件。应该在通话框打开之前(CD1.Action=1之前)添加CD1.FilterIndex=3,即使默认过滤器为第3个过滤器。

14.以下关于键盘事件的叙述中,错误的是(  )。(D)

A. 按下键盘按键既能触发KeyPress事件,也能触发KeyDown事件

B. KeyDown、KeyUp事件过程中,大、小写字母被视作相同的字符

C. KeyDown、KeyUp事件能够识别Shift、Alt、Ctrl等键

D. KeyCode是KeyPress事件的参数

解析:当用户按下键盘上的任意键时,会触发当前拥有焦点对象的KeyDown事件,用户松开键盘上任意键时,就会触发KeyUp事件。当用户按下又松开键盘上任意键时,触发KeyPress事件。故A选项正确。

KeyDown事件和KeyUp事件均向事件过程返回两个参数KeyCode和Shift。KeyCode参数返回所按键对应的ASCII字符代码的整型数值或键代码常数,大小写字符被看作是相同字符,返回同一个KeyCode值。故B选项正确。

Shift参数用于判断用户是否按下Shift、Ctrl和Alt键,若用户按下了对应的键,Shift参数会返回不同的值。根据以上KeyDown和KeyUp事件能识别Shift、Ctrl和Alt键。故C选项正确。

KeyPress事件只有一个参数KeyAscii,它可以返回按键对应的Ascii值,大小写字母Ascii值不同。KeyCode不是KeyPress事件的参数。故D选项错误。

15.确定图片框Picture1在窗体上位置的属性是( )。(B)

A. Width和Height

B. Left和Top

C. Width和Top

D. Height和Left

解析:确定图片框在窗体上位置的属性是Left和Top它们使用的是相对坐标,以窗体为参考点。

16.一名演员可以出演多部电影,则实体演员和电影之间的联系是J( )。(A)

A. 多对多

B. 一对一

C. 多对一

D. 一对多

解析:实体集之间通过联系来建立联接关系分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。由于一名演员可以出演多部电影,而一部电影必定有多个演员参演,则实体演员和电影之间的联系属于多对多。故选A选项。

17.以下关于菜单的叙述中,错误的是( )。(B)

A. 当窗体为活动窗体时,用Ctrl+E键可以打开菜单编辑器

B. 把菜单项的Enabled属性设置为False,则可删除该菜单项

C. 弹出式菜单在菜单编辑器中设计

D. 程序运行时,利用控件数组可以实现菜单项的增加或减少

解析:当菜单项的Enabed属性值设置为False时,菜单项只是变为无效项,不可用,不会删除该菜单项。故B选项错误。

18.对于文本框Text1,能够获得按键的ASCII码值的事件过程是(B)

A. Text1_KeyUp

B. Text1_KeyPress

C. Text1_Click

D. Text1_Change

解析:KeyPress事件:用户按下并且释放一个会产生ASCII码的键时被触发。此事件只对会产生ACSII码的按键有反应,包括数字、大小写的字母、Enter、Backspace、Esc、Tab等,对于如方向键这样的不会产生ASCII码的按键,KeyPress事件就不会被触发。

19.窗体上有一个名称为Command1的命令按钮,编写如下事件过程:

Private Sub Command1_Click()

i = 0

Do While i < 6

For j = 1 To i

n = n + 1

Next

i = i + 1

Loop

Print n

End Sub

运行程序,单击命令按钮时,窗体上显示的是(B)

A. 10

B. 15

C. 16

D. 21

解析:For循环中n从1累加到i。Do While 循环由循环变量i控制一共执行6次。选B)。

20.在窗体上画一个文本框,其名称为Text1,然后编写以下程序:

Private Sub Form_Load()

Show

Text1.Text = \(C)

A. 把输入到文本框中的字母转换为小写显示

B. 把从键盘上输入的字符在文本框中原样显示

C. 把输入到文本框中的字母转换为大写显示

D. 把输入到文本框中的字符转换为其ASCII码显示

解析:Chr() 是把ASCII码转换为对应的字符。UCase转换成大写。Asc求字符串表达式的第一个字符的ASCII 编码。答案选C)。

21.假定在窗体上添加了一个通用对话框控件,其名称为CD1,并有如下程序段:

CD1. ShowOpen

CD1.DefaultExt = \(B)

A. file1.doc

B. file1.txt

C. c:\\file1.txt

D. c:\\file1.doc

解析:FileTitle属性用来指定文件对话框中所选择的文件名 (不包括路径)。该属性与FileName属性的区别是:FileName属性用来指定完整的路径,如\

22.在窗体上没有进行任何属性设置,然后编写如下事件过程,则程序运行结果是( )。

Private Sub Form_Load()

For i=1 To 10

sum=sum+i

Next i

Print”Sum=”:sum

End Sub(D)

A. 在窗体E输出55

B. 在窗体上输出sum=55

C. 出错

D. 窗体上不输出

解析:本题考查Load事件运行。当装入窗体事件触发时,通常用于对属性和变量初始化,一般不使用Print方法,若想Print方法在ForTn Load事件过程中起作用,必须设置窗体的AutoRedraw为True,否则Print方法不起作用。

23.设窗体上有一个Picture1图片框,要求在图片框中的指定位置(坐标为(500,300))输出\(A)

A. Private Sub Form_Click()

Picture1.CurrentX = 500

Picture1.CurrentY = 300

Picture1.Print \

B. Private Sub Form_Click()

Picture1.Left = 500

Picture1.Top = 300

Picture1.Print \

C. Private Sub Form_Click()

Picture1.CurrentX = 500

Picture1.CurrentY = 300

Print \

D. Private Sub Form_Click()

Picture1.Left = 500

Picture1.Top = 300

Print \

解析:VB中,窗体和图片框具有CurrentX、CurrentY属性,经常用这两个属性来设置当前绘图点。VB中在图片框特定位置显示文本:

24.下列程序运行后,输出结果为( )。

Sub abcd(ByVal n As Integer)

n=n+5

End Sub

Private Sub Form_Click()

n%=3

Call abcd(n%)

Print n%

End Sub(A)

A. 3

B. 4

C. 5

D. 8

解析:本题考查子过程的调用时的参数变化。Byval是传值调用的关键字,传值调用的时候形参的改变不会影响到实参。

25.窗体上有一个名称为Cbl的组合框,程序运行后,为了输出选中的列表项,应使用的语句是( )。(B)

A. Print Cbl.Selected

B. Print Cbl.List(Cbl.ListIndex)

C. Print Cbl.Selected.Text

D. Print Cbl.List(Listlndex)

解析:组合框的属性ListIndex返回当前所选项目的索引号,List(Index)属性返回指定索引号的列表项内容,因此返回当前选定的列表项应该用Cb1.List(Cb1,Listlndex)。

26.设x的初始值为1,并有下面程序片段:

While x < 10

x = x + 1

Wend

下面与上述程序片段产生结果不同的是(C)

A. Do While x < 10

x = x + 1

Loop

B. Do

x = x + 1

Loop While x < 10

C. Do

x = x + 1

Loop Until x > 10

D. Do Until x >= 10

x = x + 1

解析:题目中的程序是先检验x<10为真时,再执行x = x + 1,退出循环后x=10;而A、B和D项与题目中的程序一样,退出循环后,x为10,故A、B和D项正确;C项退出循环后,x为11,故C项错误。

27.在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是(  )。(A)

A. Private Sub Text1_Change()

Label1.Caption=Str(Len(Text1.Text))

End Sub

B. Private Sub Text1_Click()

Label1.Caption=Str(Len(Text1.Text))

End Sub

C. Private Sub Text1_Change()

Label1.Caption=Text1.Text

End Sub

D. Private Sub Label1_Change()

Label1.Caption=Str(Len(Text1.Text))

End Sub

解析:根据题意可知,在文本框中输入字符这个动作使标签上显示的内容发生变化,说明是文本框触发了某事件,排除D选项;文本框中每输入一个字符,标签中立即就会发生变化,故是Change事件,排除B选项;标签中显示的是文本框中字符的个数,不是输入的内容,排除C选项。故A选项正确。

28.对于循环队列,下列叙述中正确的是(  )。(D)

A. 队头指针是固定不变的

B. 队头指针一定大于队尾指针

C. 队头指针一定小于队尾指针

D. 队头指针可以大于队尾指针,也可以小于队尾指针

解析:循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。

29.在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码:

Private X As Integer

Private Sub Command1_Click()

   X=5: Y=3

   Call proc(X, Y)

   Label1.Caption=X

   Label2.Caption=Y

End Sub

Private Sub proc(a As Integer, ByVal b As Integer)

   X=a * a

   Y=b+b

End Sub

程序运行后,单击命令按钮,则两个标签中显示的内容分别是(  )。(A)

A. 25和3

B. 5和3

C. 25和6

D. 5和6

解析:

30.以下关于键盘事件的叙述中,错误的是(  )。(D)

A. 按下键盘按键既能触发KeyPress事件,也能触发KeyDown事件

B. KeyDown、KeyUp事件过程中,大、小写字母被视作相同的字符

C. KeyDown、KeyUp事件能够识别Shift、Alt、Ctrl等键

D. KeyCode是KeyPress事件的参数

解析:当用户按下键盘上的任意键时,会触发当前拥有焦点对象的KeyDown事件,用户松开键盘上任意键时,就会触发KeyUp事件。当用户按下又松开键盘上任意键时,触发KeyPress事件。故A选项正确。

KeyDown事件和KeyUp事件均向事件过程返回两个参数KeyCode和Shift。KeyCode参数返回所按键对应的ASCII字符代码的整型数值或键代码常数,大小写字符被看作是相同字符,返回同一个KeyCode值。故B选项正确。

Shift参数用于判断用户是否按下Shift、Ctrl和Alt键,若用户按下了对应的键,Shift参数会返回不同的值。根据以上KeyDown和KeyUp事件能识别Shift、Ctrl和Alt键。故C选项正确。

KeyPress事件只有一个参数KeyAscii,它可以返回按键对应的Ascii值,大小写字母Ascii值不同。KeyCode不是KeyPress事件的参数。故D选项错误。

31.在窗体上画一个名称为Command1的命令按钮,编写如下事件过程:

Private Sub Command1_Click()

  n=0

  For i=0 To 10

    X=2 * i-1

    If X Mod 3=0 Then n=n+1

  Next i

  Print n

End Sub

运行程序,单击命令按钮,则窗体上显示的是(  )。(B)

A. 1

B. 3

C. 5

D. 7

解析:Mod是取模运算符,即求运算两数相除的余数。每次循环中X的值分别是-1,1,3,5,7,9,11,13,15,17,19,其中与3求模为0的数有3、9、15共3个,因此n=n+1会执行3次,最终n=3。

32.窗体上有一个名称为Command1的命令按钮,其单击事件过程如下:

Private Sub Command1_Click()

Dim x As Integer, y As Integer

Static z As Integer

x = 3: y = 5: z = y

Call f(x, y, z)

Print x; y; z

End Sub

Private Sub f(ByVal a As Integer, ByRef b As Integer, c As Integer)

a = a + a: b = b + b: c = c + c

End Sub

运行程序,单击命令按钮时,3个标签中显示的内容分别是(D)

A. 3 5 5

B. 3 5 10

C. 3 10 5

D. 3 10 10

解析:f(ByVal a As Integer, ByRef b As Integer, c As Integer)函数中a是值传递,b地址传递,c缺省为地址传递。值传递使用两个存储单元,地址传递使用同一个存储单元,会改变变量的值。选D)。

33.窗体上有一个名称为Command1的命令按钮,其事件过程如下:

Private Sub Command1_Click()

  x=\(D)

A. 信息框的标题是Basic

B. 信息框中的提示信息是Programming

C. c的值是函数的返回值

D. MsgBox的使用格式有错

解析:

34.下列有关文件的叙述中,正确的是(  )。(C)

A. 以Output方式打开一个不存在的文件时,系统将显示出错信息

B. 以Append方式打开的文件,既可以进行读操作,也可以进行写操作

C. 在随机文件中,每个记录的长度是固定的

D. 无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的

解析:A选项错误原因:当以Output方式打开一个不存在的顺序文件时,Open语句会首先创建该文件,然后再打开它,系统不会出错。

B选项错误原因:以Append方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进行读操作。

D选项错误原因:VB中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。

C选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故C选项正确。

35.结构化程序设计的基本原则不包括(  )。(A)

A. 多态性

B. 自顶向下

C. 模块化

D. 逐步求精

解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A

36.在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,把文本框的Text属性设置为空白,然后编写如下事件过程:

Private Sub Command1_Click()

    a=InputBox(\(C)

A. 579

B. 123

C. 456123

D. 456

解析:默认情况下,InputBox的返回值是一个字符串,因此程序中a=\

37.有如下程序代码:

Private Sub Form_Click()

n = 0

k = 1

While n <= 2

n = n + 1

k = k + n * (n + 1)

Wend

Print n; k

End Sub

运行程序,单击窗体,输出结果是(C)

A. 0 1

B. 3 13

C. 3 21

D. 3 7

解析:题中循环条件判断4次,循环体执行3次,第一次循环结果n = 1,k = 3;第二次循环结果n = 2,k = 9;第三次循环结果n =3,k = 21。故正确答案为选项C。

38.为了对多个控件执行操作,必须选中这些控件。下列不能选中多个控件的操作是(  )。(A)

A. 按住Alt键,不要松开,然后单击每个要选中的控件

B. 按住Shift键,不要松开,然后单击每个要选中的控件

C. 按住Ctrl键,不要松开,然后单击每个要选中的控件

D. 拖动鼠标画出一个虚线矩形,使所选中的控件位于这个矩形内

解析:按住Alt键只能选中单个控件,不能同时选中多个控件。故选A。

39.在设计窗体时双击窗体的任何地方,可以打开的窗口是( )。(A)

A. 代码窗口

B. 属性窗口

C. 工程资源管理器窗口

D. 工具箱窗口

解析:设计窗体时双击窗体的任何地方,默认打开的是代码窗口。故选A。

40.软件详细设计产生的图如下:

(C)

A. N-S图

B. PAD图

C. 程序流程图

D. E-R图

解析:N-s图提出了用方框图来代替传统的程序流程图,所以A不对。PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以B不对。E-R图是数据库中的用于表示E-R模型的图示工具,所以D不对。根据图中所示表示方法是进行软件详细设计时使用的程序流程图。

基本操作题

请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。

41.在名称为Form1的窗体上画一个名称为CD1的通用对话框,通过属性窗口设置CD1的初始路径为C:\,默认的文件名为None,标题为“保存等级考试”,如图2所示。

[操作步骤]

步骤1:新建一个“标准。EXE”工程,选择[工程]→[部件]命令,在弹出的“部件”对话框的列表中选中“MicroSoft Common DiMog Control6.0”项目,单击“确定”按钮。

步骤2:在窗体Form1上画一个通用对话框,其相关属性设置如表12—7所示。

[*]

步骤3:编写Form1的Iroad事件,加入下面的代码:

CD1.ShowSave

步骤4:按要求将文件保存至考生文件夹中。

解析:通用对话框的InitDir属性用于为打开或另存为对话指定初始的目录,如果此属性没有指定,则使用当前目录。

通用对话框的初始路径由InitDir属性设置,默认文件名由FileName属性设置,标题由DialogTitle属性设置。

42.在名称为Form1的窗体上设计一个菜单。要求在窗体上添加名为menu0,标题为“菜单命令”的主菜单,再添加两个名称分别为“menu1”、“menu2”,标题分别为“不可用菜单项”、“上一菜单项可用”的子菜单,并且使程序运行时,menu1子菜单不可用,menu2子菜单已经选中(运行时的效果如图3所示)。

[操作步骤]

步骤1:新建一个“标准EXE”工程,打开VB菜单设计器设计菜单,各菜单项及属性设置如表12—8所示。

[*]

步骤2:打开代码编辑窗口,编写“上一菜单项可用”命令的Click事件过程。

参考代码:

Private Sub menu2_Click()

menu1.Enabled=True

End Sub

步骤3:按要求将文件保存至考生文件夹中。

解析:①VB中的菜单是通过菜单编辑器来设计的。菜单编辑器中的基本设置项有:“标题”项,对应出现在菜单中的显示内容;“名称”项,系统识别菜单项的唯一关键字(不能重复);“索引”项,用于设置菜单数组中各元素的索引号;“快捷键”项,是一个下拉列表框,用于设置菜单项的快捷键;“帮助上下文”项,设置当鼠标移动到某菜单项上按<Fl>键时显示的帮助信息在帮助文件中的对应位置;Visible(可见)项,用于设置控件或菜单项在程序运行时是否可见,值为True表示可见,值为False表示不可见;Enabled(有效)项,用于设置控件或菜单项在程序运行时是否有效,值为True时表示有效,值为False时表示无效(显示为灰色)。通过编辑按钮区的七个按钮可对菜单进行添加、插入、删除、提升(设置为上一级菜单)、缩进(设置为下一级菜单)、上移、下移等操作。

②文本框的Text属性用于设置或返回其显示的文本内容。

本题原程序设计思路:在“上一菜单项可用”命令的单击事件过程中,通过语句设置“不可用菜单项”命令的Enabled属性值为True。

简单应用题

43.(1)在考生文件夹下有一个工程文件sjt3.vbp,运行情况如图3-113所示。程序的功能是计算表达式的值:z=(x一2)!+(x-3)!+(x-4)!+…+(x—N)!

其中的N和x值通过键盘分别输入到两个文本框Text1、Text2中。单击名称为Commandl、标题为“计算”的命令按钮,则计算表达式的值,并将计算结果显示在名称为Label1的标签中。

在窗体文件中已经给出了全部控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确内容。

要求:程序调试通过后,必须按照如图3.113所示输入N=5,x=12,然后计算z的值,并将计算结果显示在标签Labell中,否则没有成绩。

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

(2)在考生文件夹下有一个工程文件sjl4.vbp。窗体上有名称为Labell的标签和名称为Timerl的计时器控件。该程序的功能是在名称为Labell的标签中循环显示不同的字符串。程序开始运行,在标签中显示“第一项”(如图3.114所示),且每隔1秒钟依次显示“第二项”、“第三项”、“第四项”,如此循环。在给出的窗体文件中已经有了全部控件和程序,但程序不完整,要求去掉程序中的注释符,把程序中的?改为正确的内容。

第1小题

【操作步骤】

步骤1:打开考生文件夹中的本题工程文件sjt3.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。

参考代码:

tmp=1

tmp=temp*i

xn=tmp

z=z+xn(t)

步骤2:按键运行程序,在第一个文本框中输入5,第二个文本框中输入12,然后单击“计算”按钮。

步骤3:按要求将文件保存至考生文件夹中。

第2小题

【操作步骤】

步骤1:打开考生文件夹中的本题工程文件sjt4.vbp,在代码编辑窗口,去掉程序中的注释符“’”,将问号“?”改为正确的内容。

参考代码:

arr=Array(“第一项”,“第二项”,“第三项”,“第四项”)

Static i As Integer

Labell.Caption=arr(i)

i=0

步骤2:按要求将文件保存至考生文件夹中。

解析:

综合应用题

44.在窗体上建立三个菜单(名称分别为Read、Calc和Save,标题分别为“读入数据”、“计算并输出”和“存盘”),然后再添加一个文本框,名称为Text1,MultiLine属性设置为。True,ScrollBars属性设置为2(如图所示)。程序运行后,如果执行“读入数据”命令,则读入考生文件夹下datainl.txt文件中的100个整数,放入一个数组中,数组的下界为1;如果单击“计算并输出”按钮,则把该数组中下标为偶数的元素在文本框中显示出来,求出它们的和,并把所求得的和在窗体上显示出来;如果单击“存盘”按钮,则把所求得的和存入考生文件夹下的dataout.txt文件中。

【操作步骤】

步骤1:打开本题工程文件,利用菜单设计器,按表中的设置建立菜单项,在窗体Form1中绘制一个文本框,其相关属性及其值见表4.19和表4.20。

[*]

步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。

参考答案

需要考生编写的内容

Dim sum As Integer

’考生编写程序结束

’需要考生编写的内容

Private Sub Calc Click()

Text1.Text=\

解析:根据题意在“读入数据”命令的Click事件过程中,通过调用ReadData过程将数据从datainl.txt文件读入到数组Arr(窗体变量)中;在“计算并输出”命令的Click事件过程中,在For循环语句(循环变量i的初值为2,终值为100,步长为2)中依次将数组Arr中下标为偶数的元素显示在文本框中,并将其值累加到变量sum;在“存盘”命令的Click事件过程中,通过调用WriteData过程将sum的值写入数据文件dataout.txt中。

资源下载《国家二级(VB)机试模拟试卷342附答案解析.doc》 文档下载价格为20下载币,请先
将本套试题Word文档或文章下载到电脑,方便收藏和打印
资源下载
《国家二级(VB)机试模拟试卷342附答案解析.doc》
试题含答案和解析word文档下载价格:20 下载币
《国家二级(VB)机试模拟试卷342附答案解析.doc》
试题含答案和解析word文档VIP优惠:免费
将本套试题Word文档或文章下载到电脑,方便收藏和打印
0

评论0

没有账号? 注册  忘记密码?