【考试大论坛】-全国计算机二级VB要点总结(共五篇)

时间:2019-05-12 13:36:52下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《【考试大论坛】-全国计算机二级VB要点总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《【考试大论坛】-全国计算机二级VB要点总结》。

第一篇:【考试大论坛】-全国计算机二级VB要点总结

VB程序设计的初步知识

1.VB的概述

VB是一种可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言。特点:▲ 可视化编程

▲ 面向对象程序设计 ▲ 结构化的程序设计语言 ▲ 事件驱动编程机制 ▲ 访问数据库 2.VB的程序开发环境

(1)窗口设计器窗口。简称,窗体

(2)工程资源管理器窗口

▲ 工程文件和工程文件组

工程文件的扩展名是vbp,每个工程对应一个工程文件。▲ 窗体文件

扩展名是frm,每一个窗体对应一个窗体文件,一个应用程序可以有多个窗体。▲ 标准模块文件

扩展名bas,不属于任何一个窗体。▲ 类模块文件

(3)属性窗口和工具箱窗口 3.VB常用对象及操作

(1)对象事件的名称Name是由VB预定的,不可以由编程者设定。

可以在运行期间改变窗体的Name属性的值。(?)(2)控件

4.VB应用程序通常有3类模块组成,即窗体模块、标准模块和类模块。VB应用程序以解释和编译方式执行。

5.VB中的变量和常量(1)常量

▲ 文字常量:字符串和数值常量 ▲ 符号常量

格式:Const 变量名=表达式(2)变量

▲ 命名规则:名字只能由字母、数字和下划线组成。

第一个字符必须是英文字母,最后一个字符可以是类型说明符。

▲变量的类型和定义

①类型说明符放在变量名的尾部。A#b(错)%:整型 &:长整型!:单精度型 #:双精度型 $:字符串型 ②在定义变量时指定类型。

格式:Declare 变量名 as 类型

Declare 可以是 Dim、Static、Public或Private(3)变量的作用域

变量分为:局部变量、模块变量和全局变量

① 局部变量

在事件过程或通用过程内定义的变量叫局部变量。② 模块变量

窗体变量可用于窗体内的所有过程.当同一个窗体内的不同过程使用相同的变量时,必须定义窗体层变量,在使用窗体层变量前,必须先声明。

③ 全局变量

全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。用Public 声明。

1.VB常用内部函数

⑴ 转换函数

◐ 取整函数Int和fix ◐ 数值转换函数 ◐ 类型转换函数 ◐ 格式转换函数

⑵数学函数 ◐ 三角函数

◐ 绝对值函数(Abs)◐ 符号函数(Sgn)◐平方根函数(Sqr)

◐ 指数和对数函数(Exp和Log)

⑶随机数函数

◐ 随机数函数(Rnd)◐ Randomize语句 ⑷ 时间函数

2.VB字符串处理

◐左、中、右部截取 Left(字符串,n)Mid(字符串,n)Right(字符串,n)◐字符串长度测量函数 Len(字符串)◐Strings函数 Strings(n,ASCII码)Strings(n,字符串)

◐查找某个字符串函数 InStr(首字符位置,字符串1,字符串2[,n] ◐字母大小转换函数 Ucase(字符串)Lcase(字符串)◐插入字符串语句 Mid(字符串,位置)=字符串 ◐SetFocus语句

8.VB运算符与表达式(1)算术运算符

◐求模运算 Mod求余.◐算术运算符优先级 ^>>& 如:7^2 Mod 5^23=1(1)关系运算符和逻辑运算符(2)表达式的执行顺序

▴ 关系运算(=,>,<,<>,≦,≧)

▴ 最后进行逻辑运算,顺序为: Not→And→Or→Xor→Eqv

如:表达式: Not a<=c Or 4*c=b^2 And b<>a+c的值是(Flase)a=2,b=3,c=4

9.VB常用标准控件(1).标签

●Alignment 确认标签中标题放置的位置,可设置0、1、2,作用分别为标题设置在左、右、中。

●AutoSize 标题自动调整标签的大小,可设置为True和False.●Borderstyle 设置标签的边框,可设置为0和1,0表示为无边框。●Enabled 用于确定一个窗体或控件能否对用户产生的事件作出反应。●BackStyle 设置标签是否覆盖背景,0表示为透明,1表示标签覆盖背景。●WordWrap 决定标签的标题文本能否自动换行。

●其他:Height、Left、Top、Visible、Width等等。

(2)文本框

属性:

●MaxLength 设置文本框中输入的最大字符数。

●MultiLine 设置是否允许多行显示。

●Passwordchar 用于口令输入。

●Scrollbars 用来设置文本框中的滚动条。

事件:

◎ Change 事件 当用户输入新信息或把Text属性设置为新值从而改变文本框的属性时,将可触发此事件。

◎ GotFocus事件 当文本框有输入焦点时,键盘上输入的字符都将在文本框中显示出来,只有当一个文本框被激活并且可见性为TRUE是才能收到焦点。

◎ Setfocus 事件 该方法可以把输入的光标(焦点)移到指定的文本框中。

格式: [对象.] Setfocus

(3)图形控件

图片框和图像框:

▲ CurrentX和CurrentY属性 ▲ Picture属性

▲ Stretch属性

用于自动调整图像框中图形内容的大小。

▲ 区别:① 图片框是“容器”控件,可作为父控件,而图像框不能。③ 图片框可接受文本和图片,图像框不能。④ 图像框占用内存少,显示速度快。⑤ 图片框更灵活,且适用于动态环境。▲ 运行期间装入图片

格式:[对象.] Picture=LoadPicture(”文件名”)

直线和形状:

△ BorderColor属性 △ Borderstyle

1—实线

2—虚线

3—点线

4—点划线

△ BackStyle 设置标签是否覆盖背景,0表示为透明,1表示标签覆盖背景。

△ Shape 属性

0—矩形 1—正方形 2—椭圆形 3—圆形 4—四角圆化的矩形 △ BorderWidth 指定线宽或界宽

(3)复选框和单选按钮

Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width

单选按钮:Value=True,表示选择了该单选按钮.Value=False, 表示没有选择该单选按钮.复选框:Value=0,表示没有选择该复选框。

Value=1,表示选择该复选框。

Value=2,表示该复选框被禁用。

(6)列表框和组合框

列表框方法:AddItem 添加文本内容到列表框中。

Clear

清除列表框中所有内容。

RemoveItem 删除列表框中指定的项目。组合框(ComboBox):AddItem、Clear、RemoveItem同样适用。

Style是组合框的一个重要属性,其值可取0、1、2,决定组合框的3个类型。

注意: 属性ListIndex和 ListCout的区别 108(7)

滚动条 属性:

除Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width外,还有以下属性: ▴ Max和Min ▴ LargeChange和SmallChange ▴ Value 表示滚动框在滚动条的位置。

事件:主要有Scroll和Change.当在滚动条内拖动滚动框时会触发Scroll事件,而改变滚动框的位置时会触发Change事件。

(8)

计时器

可以用Enabled和Name属性,其最重要的是Interval属性,取值范围0~65535.(9)框架

(10)焦点与Tab顺序

◐设置焦点

格式: [对象.] Setfocus ◐ Tab顺序

Tab顺序是在按Tab键时焦点在控件间移动的顺序。影响Tab顺序的属性是TabIndex。

数据输入输出

1.数据的输出方法: ⑴ print方法

与print方法有关的函数:tab(n)函数 【print tab(24);800】

spc(n)函数

【print “china”;spc(4);”中国” 】用于跳出n个空格输出

tab函数从第一列开始计数,n是绝对偏移量。spc(n)函数则是从前面的输出内容开始计数,n是相对偏移量。⑵ 格式输出()

#:表示数字,不补零

0:表示数字,在数字的前或后补零.:指定小数点的位置,:指定千分分隔符的位置

如:print format$(12345.6,”####,#.##”)12,345.(3)msgbox函数

信息框→ 返回值→标题 2.数据输出方法(1)inputbox方法

Inputbox函数的返回值默认为字符串。如:a=inputbox(“Enter an integer”)b= inputbox(“Enter an integer”)

text1.text=b+a

如果在输入对话框中输入8和10,则文本框中显示的内容为108

VB的控制结构

1.循环控制结构(1)For循环控制结构

使用Exit for 语句,可以在循环变量到达终值前就退出循环。(2)当循环结构

While 条件 [语句块] Wend(3)Do循环结构

Do While……Loop

Do ……loop While(4)多分支控制结构

测试表达式=????→Select case 测试表达式(5)IIf函数

A=IIf(条件,true部分,false部分)

数组与过程

1.默认数组

默认数组就是数据类型为Variant的数组。

Static A(4)即为定义了四个默认数组。2.动态数组

▴ 用变量作为下标定位的数组时动态数组

▴ 用数值常量或符号常量作为下标定维的数组是静态数组。

动态数组定义分两步:首先在窗体层、标准模块或过程中用DIM或Public声明一个没有下标的数组,然后再过程中在用ReDimd定义。3.数组的清除和重定义 Erase 数组名

Erase用于动态数组中,将删除整个数组结构并释放数组所占用的内存,即动态数组以后就

不复存在。用于静态数组中只是内容清空,数组依然存在。4.数组元素的输入及输出

输入:一般通过For循环和Inputbox函数输出

如: Option base 1 Dim s()as string Sub Form_Click()

Redim s(4)as string For i= 1 to 4 Temp$=Inputbox(“Enter Name”)S(i)= Temp$

Next i End Sub 输出:用Print方法结合For循环实现

Option base 1 Dim s(4,4)as Integer For i= 1 to 4 For j= 1 to 4 Print s(i,j);“ ” ;

Next j Next i

5.控件数组

控件数组是一组相同类型的控件组成,这些控件有一个相同的控件名称,具有相同的属性设置,所有元素的Name属性相同,但Index属性不同。6.Sub过程

● 通用过程:多个事件过程需要使用同一个程序代码,他可以单独建立,供事件过程或其他过程调用。

● 事件过程:当发生某个事件时,对事件作出响应的程序段。函数过程的返回值只能有一个。

调用Sub过程:① Call语句调用过程。

如:Call Tryout(a,b)② 把过程名作为一个语句使用。

如:Try out a,b 去掉call关键字,去掉“实际参数”括号。

7.通用sub过程和事件过程

◐重点◐难点◐

事件过程是一种特殊的sub过程,他附加在窗体和控件上。窗体的事件过程不能由用户任意定义,而是由系统指定。通常是在事件过程中调用通用过程,同时事件过程也可以被其他过程调用。

通用过程可以放在标准模块中,也可以放在窗体模块中,而事件过程只能放在窗体模块中,不同模块中的过程可以互相调用。

8.Function过程 ◐重点◐难点◐

Sub过程不直接返回值,可以作为单独的基本语句使用,而Function过程要返回一个值,通常出现在表达式中。

9.过程中的参数 ⑴ 形参与实参

形参:在Sub过程、Function过程的定义中出现的变量名。

实参:在调用Sub过程、Function过程中传送给Sub过程、Function过程的常数、变量、表达式或数组。

⑵传送方式:按位置传送和指名传送

▼ 按位置传送(常考)

实际参数的次序必须和形式参数的次序相匹配 例如:

Private sub proc1(a as integer, b as string, optional x as boolean)„„„ End sub 正确调用此过程的语句是:proc1 5,”asd”

call proc1(5,”asd”,FALSE)▼ 指名传送(3)引用

参数通过地址和传值两种方式传送,其中传送地址称为引用。通过关键字ByRef实现。默认情况下,变量都是通过引用传送给Sub过程、Function过程的。例如: Sub tryout(x as integer, y as integer)

X=x+100

Y=y*6

Print “x=”;x, ”y=”;y End sub Sub form_click()

Dim a as integer,b as integer

A=10;b=20 Tryout a,b

Print “a=”;a, ”b=”;b End sub 运行后输出结果为: x=110

y=120

A=110

b=120

(4)传值

由于通用过程没有访问实参的原始地址,因而不会改变原来变量的值,所用的变化都是在变量的副本上进行的。传值方式通过关键字ByVal实现。例如:

Sub tryout(ByVal x as integer, ByVal y as integer)

X=x+100

Y=y*6

Print “x=”;x, ”y=”;y End sub Sub form_click()

Dim a as integer,b as integer

A=10;b=20 Tryout a,b

Print “a=”;a, ”b=”;b End sub 运行后输出结果为: x=110

y=120

A=10

b=20 函数过程形参的类型与函数返回值的类型没有关系。

键盘与鼠标事件

1.键盘事件 ⑴KeyPress事件

当压下键盘上的某个键时,将发生KeyPress事件。该事件可以用于各控件。比如用在文本框上的格式:Private Sub Text-KeyPress(KeyAscii as integer)

KeyPress事件带有一个参数,参数有两种形式,第一种形式:Index As Integer,只用在控件数组。第二种形式是:KeyAscii As integer,用于单个控件。

KeyPress事件用于识别按键的Ascii码,捕捉击键动作,KeyAscii参数不能省略。

控件的键盘事件优先于窗体的键盘事件 ⑵KeyDown和KeyUP事件

KeyDown和KeyUP事件返回的是键盘的直接状态。

KeyPress事件返回的是Ascii码。当按键“A”时,KeyDown事件所得到的Keycode码与键“a”的相同。2.鼠标事件

可视化程序设计

1.当窗体为活动窗体时,可以使用“工具”菜单中的“菜单编辑器”打开菜单编辑器。2.弹出式菜单:建立弹出式菜单首先用菜单编辑器建立菜单,然后用PopupMenu方法弹出显示。

各级菜单中的所有菜单项的名称必须唯一。

3.通用对话框: 对话框的类型可以通过Action属性设置,也可以用相应的方法设置。可以通过DialogTitle属性设置有实际意义的标题。

通用对话框,Action=1 打开文件;

=2 保存文件

方法:showopen;showsave 4.文件对话框: 格式:【窗体】对话框名,Fliter=描述符1|过滤器1| 描述符2|过滤器2|„

FliterIndex 用来指定默认的过滤器。

文件类型 5.多重窗体程序设计

Show方法:用来将指定的窗体装入内存并显示该窗体。

6.VB工程中,可以作为启动对象的程序是Sub main 过程或任何窗体。

一个工程中可以包括多个窗体文件。

数据文件

1基本文件操作语句与函数

⑴ 打开文件 ◐重点◐难点◐

格式:Open文件名【for 方式】 as #文件号

如果省略【for 方式】,则打开文件的存取方式是随机存取方式。方式指文件的输出方式,可以是Output(顺序输出)以写的方式打开、input(顺序输入)、append(添加)。

使用open语句打开文件时,如果为输入input打开的文件不存在,则产生“文件未找到”的错误;如果为Output(顺序输出)、append(添加)访问方式打开的文件不存在,则建立相应的文件。(2)关闭文件(3)EOF函数

用来测试文件的结束状态。利用EOF函数,可以避免在文件输入时出现“输入超出尾”错误。

DO While Not EOF 2.顺序文件与随机文件 ⑴ 顺序文件写操作 Print #文件号,表达式 Write #文件号, 表达式(2)顺序文件读操作 Input #文件号,变量表

(3)随机文件的打开与读写操作

随机文件的记录是定长记录。在用open语言打开文件时必须指定记录的长度。

打开随机文件: Open”文件名” for random As #文件号

对文件的操作既可以读也可以写。

第二篇:全国计算机二级VB笔试试题总结

2002年4月二级VB笔试试题

一、选择题1~35题每题2分,共70分。

下列各题A)、B)、C)、D)四个选项中,只有一个选择是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

1.下列不能打开属性窗口的操作是()。

A)执行“视图”菜单中的“属性窗口”命令

B)按F4键

C)按Ctrl+T

D)单击工具栏上的“属性窗口”按钮。

2.下列可以打开立即窗口的操作是()。

A)Ctrl+D

B)Ctrl+E

C)Ctrl+F

D)Ctrl+G 3.InputBox函数返回值的类型为()。

A)数值 B)字符串 C)变体 D)数值或字符串(视输入的数据而定)

4.可以同时删除字符串前导和尾部空白的函数是()。

A)Ltrim

B)Rtrim

C)Trim

D)Mid 5.表达式4+5 6 * 7 / 8 Mod 9 的值是()。

A)4

B)5

C)6

D)7 6.如果在立即窗口中执行以下操作:

a=8

是回车键,下同)

b=9

print a>b

则输出结果是()。

A)-1

B)0

C)False

D)True 7.以下语句的输出结果是()。

Print Format $(32548.5,“000,000.00”)

A)32548.5

B)32,548.5 C)032,548.50

D)32,548.50 8.执行以下程序段后,变量c$的值为()。

a$=“Visual Basic Programing” b$=“Quick”

c$=b$ & UCase(Mid$(a$,7,6))& Right $(a$,11)

A)Visual BASIC Programing B)Quick Basic Programing C)QUICK Basic Programing

D)Quick BASIC Programing

9.为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令按钮的一个属性设置为True,这个属性是()。

A)Value

B)Default C)Cancel

D)Enabled 10.为了把焦点移到某个指定的控件,所使用的方法是()。

A)SetFocus

B)Visible C)Refresh

D)GetFocus 11.设a=6,则执行 x=IIf(a>5,-1,0)后,x 的值为()。

A)5 B)6 C)0

D)-1

12.执行下面的程序段后,x 的值为()。

x=5

For i=1 To 20 Step 2 x=x+i5 Next i A)21

B)22 C)23

D)24

13.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()For i=1 To 4 x=4

For j =1 To 3  x=3

For k=1 To 2 x=x+6 Next k Next j Next i Print x End Sub

程序运行后,单击命令按钮,输出结果是()。

A)7 B)15 C)157 D)538

14.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()x=0

Do Until x=-1

a = InputBox(“请输入A的值”)a = Val(a)

b = InputBox(“请输入B的值”)b = Val(b)

x = InputBox(“请输入x的值”)x = Val(x)a = a+b+x Loop Print a End Sub

程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为()。

A)2 B)3

C)14

D)15

15.在窗体(Name属性为Form1)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:

Private Sub Command1_Click()a=Text1.Text+Text2.Text Print a End Sub

Private Sub Form_Load()Text1.Text=”“ Text2.Text=”“ End sub

程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为()。

A)444 B)321123 C)123

321 D)132231 16.阅读下面的程序段:

For i=1 To 3 For j=1 To i For k=j To 3 a=a+1 Next k Next j Next i

执行上面的三重循环后,a 的值为()。

A)3 B)9 C)14

D)21

17.在窗体上画一个文本框(其中Name属性为Text1),然后编写如下事件过程:

Private Sub Form_Load()Text1.Text=”“ Text1.SetFocus For i=1 To 10 Sum=Sum+i Next i

Text1.Text=Sum End Sub

上述程序的运行结果是()。

A)在文本框Text1中输出55 B)在文本框Text1中输出0 C)出错

D)在文本框Text1中输出不定值

18.在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下事件过程: Private Sub Command1_Click()x=0

Do While x<50 x=(x+2)*(x+3)n=n+1 Loop

Text1.Text=Str(n)Text2.Text=Str(x)End Sub

程序运行后,单击命令按钮,在两个文本框中显示的值分别为()。

A)1和0 B)2和72 C)3和50

D)4和168 19.用下面语句定义的数组的元素个数是()。

Dim A(-3 To 5)As Integer

A)6 B)7 C)8

D)9 20.以下程序的输出结果是()。

Option Base 1

Private Sub Command1_Click()Dim a(10),p(3)As Integer k=5 For i=1 To 10 a(i)=i Next i

For i=1 To 3 p(i)=a(i*i)Next i

For i=1 To 3 k=k+p(i)*2 Next i Print k End sub

A)33 B)28 C)35 D)37

21.在窗体上画一个命令按钮,然后编写如下事件过程:

Option Base 1

Private Sub Commandl_Click()Dim a

a = Array(1,2,3,4)j = 1

For i = 4 To Step-1 s = s + a(i)*j j =j*10 Next i Print s End Sub

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

A)4321 B)12 C)3D)1234

22.在窗体上画一个命令按钮(其Name属性为Commandl),然后编写如下代码:

Option Base 1

Private Sub Commandl_Click()Dim a(4,4)For i =1 To 4 For j =1 To 4 a(i,j)=(i-1)*3+j Next j Next i

For i =3 To 4 For j =3 To 4 Print a(j,i);Next j Print Next i End Sub

程序运行后,单击命令按钮,其输出结果为()。

A)6 9

B)7 10

7&n

bsp;10 11

C)8 11

D)9 12 12

23.假定有如下的Sub过程:

Sub S(x As Single,y As Single)

t = x x =t/y

y =t Mod y End Sub

在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Commandl_Click()Dim a As Single Dim b As Single a =5 b =4 S a,b Print a,b End Sub

程序运行后,单击命令按钮,输出结果为()。

A)5 4 B)1 1 C)1.25 4

D)1.25 1 24.阅读程序:

Function F(a As Integer)b = 0 Static c b = b+1 c = c+1 F = a+b+c End Function

Private Sub Commandl_Click()Dim a As Integer a =2

For i =1 To 3 Print F(a)Next i End Sub

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

A)4 B)4

C)4

D)4

7

25.阅读程序:

Sub subP(b()As Integer)For i =1 To 4 b(i)=2*i Next i End Sub

Private Sub Commandl_Click()Dim a(1 To 4)As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 subP a()For i =1 To 4 Print a(i)Next i End Sub

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

A)2 B)5

C)10 D)出错

26.下列不能打开菜单编辑器的操作是()。

A)按Ctrl+E B)单击工具栏中的“菜单编辑器”按钮

C)执行“工具”菜单中的“菜单编辑器”命令 D)按Shift + Alt + M

27.假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为()。

A)MenuItem.Enabled=False B)MenuItem.Enabled=True C)MenuItem.Visible=True

D)MenuItem.Visible=False

28.在程序运行期间,如果拖动滚动条上的滚动块,则触发的滚动条事件是()。

A)Move B)Change C)Scroll

D)GetFocus

29.假定窗体上有一个标签,名为Labell,为了使该标签透明并且没有边框,则正确的属性设置为()。

A)Label1.BackStyle=0

Label1.Borderstyle=0

B)Label1.BackStyle=1

Label1.Borderstyle=1

C)Label1.BackStyle=True

Label1.BorderStyle=True

D)Label1.BackStyle=False

Label1.Borderstyle=False

30.在窗体上画一个列表框和一个文本框,然后编写如下两个事件过程:

Private Sub Form_Load()List1.AddItem”357“ List1.AddItem”246“ List1.AddItem”123“ Listl.AddItem”456“ Text1.Text=”“ End Sub

Private Sub List1_ DblClick()a =List1.Text

Print a+Text1.Text End Sub

程序运行后,在文本框中输入“789”(见图附录-1),然后双击列表框中的“456”,则输出结果为()。

图附录-1

A)1245

B)456789

C)789456

D)0

31.为了暂时关闭计时器,应把该计时器的某个属性设置为False,这个属性是()。

A)Visible

B)Timer

C)Enabled

D)Interval

32.为了把一个记录型变量的内容写入文件中指定的位置,所使用的语句的格式为()。

A)Get文件号,记录号,变量名

B)Get文件号,变量名,记录号

C)Put文件号,变量名,记录号

D)Put文件号,记录号,变量名

33.对窗体编写如下事件过程:

Private Sub Form _MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button =2 Then Print ”AAAAA“ End If End Sub

Private Sub Form _ MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Print ”BB BBB“ End Sub

程序运行后,如果右击鼠标,则输出结果为()。

A)AAAAA B)BBBBB

BBBBB

C)AAAAA D)BBBBB

AAAAA

34.为了在运行时能显示窗体左上角的控制框(系统菜单),必须()。

A)把窗体的Contro1Box属性设置为False,其他属性任意

B)把窗体的ControlBox属性设置为True,并且把Boder Style属性设置为1-5

C)把窗体的ControlBox属性设置为False,同时把BoderStyle属性调协为非0值

D)把窗体的ControlBox属性设置为True,同时把BoderStyle属性设置为0值

35.对窗体编写如下代码:

Option Base 1 Private Sub Form_KeyPress(KeyAscii As Integer)a = Array(237,126,87,48,498)m1 = a(1)m2 = 1

If KeyAscii = 13 Then For i =2 To 5 If a(i)>ml Then m1 =a(i)m2 =i End If Next i End If Print m1 Print m2 End Sub

程序运行后,按回车键,输出结果为()。

A)48

B)237

C)498

D)498

二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡[1]~[15]序号的横线上,答在试卷上不得分。

1.设有如下的Visual Basic表达式: 5 * x^2 – 3 * x – 2 * Sin(a)/3 它相当于代数式 [1]。

2.执行下面的程序段后,s的值为 [2]。

s = 5

For i = 2.6 To 4.9 Step 0.6 s = s+1 Next i

3.表达式Fix(-32.68)+Int(-23.02)的值为 [3]。

4.为了在运行时把图形文件picfile.jpg装入图片框Picture1,所使用的语句为 [4]。

5.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()a = InputBox(”请输入一个整数“)b = InputBox(”请输入一个整数“)Print a + b End Sub

程序运行后,单击命令按钮,在输入对话框中分别输入321和456,输出结果为 [5]。

6.执行下面的程序段后,b的值为 [6]。

a=300 b=20 a=a+b b=a-b a=a-b

7.以下程序段的输出结果是 [7]。num=0 &nb sp;

While num<=2 num=num+1 Print num Wend

8.在窗体画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()Dim a(1 To 10)Dim p(1 To 3)k=5

For i=1 To 10 a(i)=i Next i

For i=1 To 3 p(i)=a(i*i)Next i

For i=1 To 3 k=k+p(i)*2 Next i Print k End Sub

程序运行后,单击命令按钮,输出结果是 [8]。

9.下面的程序用“冒泡”法将数组a中的10个整数按升序排列,请在 [9]、处将程序补充完整。

Option Base 1

Private Sub Command1_Click()Dim a

a=Array(678,45,324,528,439,387,87,875,273,823)For i= [9] For j= [10]

If a(i)[11] a(j)Then a1=a(i)a(i)=a(j)a(j)=a1 End If Next j Next i

For i=1 To 10 Print a(i)Next i End Sub

10.在窗体上画一个命令按钮,然后编写如下过程:

Function fun(ByVal num As Long)As Long

[10]、[11] Dim k As Long k=1

num=Abs(num)Do While num k=k*(num Mod 10)num=num10 Loop fun=k

End Function

Private Sub Command1_Click()Dim n As Long Dim r As Long

n=InputBox(”请输入一个数“)n=CLng(n)r=fun(n)Print r End Sub

程序运行后,单击命令按钮,在输入对话框中输入234,输出结果为 [12]。

11.如果要将某个菜单项设计为分隔线,则该菜单项的标题应设置为 [13]。

12.假定建立了一个工程,该工程包括两个窗体,其名称(Name属性)分别为Form1和Form2,启动窗体为Form1。在Form1上画一个命令按钮Command1,程序运行后,要求当单击该命令按钮时,Form1窗体消失,显示窗体Form2,请在 [14] 和 [15] 处将程序补充完整。

Private Sub Command1_Click();[14] Form1 Form2.[15] End Sub

2002年9月二级VB笔试试题

一、选择题(每题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)在设计阶段,当双击窗体上的某个控件时,所打开的窗口是()。

A)工程资源管理器窗口

B)工具箱窗口

C)代码窗口

D)属性窗口

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

A)窗体的Name属性指定窗体的名称,用来标识一个窗体

B)窗体的Name属性的值是显示在窗体标题栏中的文本

C)可以在运行期间改变对象的Name属性的值

D)对象的Name属性值可以为空

(3)刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是()。

A)单选按钮

B)图片框

C)通用对话框

D)文本框

(4)设有如下变量声明

Dim TestDate As Date

为变量TestDate正确赋值的表达方式是()。

A)TextDate=#1/1/200

2# B)TestDate=#“1/1/2002”#

C)TextDate=date(“1/1/2002”)

D)TestDate=Format(“m/d/yy”,“1/1/2002”)

(5)设有如下声明:

Dim X As Integer

如果Sgn(X)的值为-1,则X的值是()。

A)整数

B)大于0的整数

C)等于0的整数

D)小于0的数

(6)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:

Private Sub Command1_Click()

Static X As Integer

Static Y As Integer

Cls

Y=1

Y=Y+5

X=5+X

Print X,Y

End Sub

程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为()。

A)15 16

B)15 6

C)15 1D)5 6

(7)设a=3,b=5,则以下表达式值为真的是()。

A)a>=b And b>10

B)(a>b)Or(b>0)

C)(a<0)Eqv(b>0)

D)(-3+5>a)And(b>0)

(8)设有语句

x=InputBox(“输入数值”,“0”,“示例”)

程序运行后,如果从键盘上输入数值10并按回车键,则下列叙述中正确的是()。

A)变量X的值是数值10

B)在InputBox对话框标题栏中显示的是“示例”

C)0是默认值

D)变量X的值是字符串“10”

(9)从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是()。

A)Left

B)Mid

C)String

D)Instr

(10)设a=“Visual Basic”,下面使b=“Basic”的语句是()。

A)b=Left(a,8,12)

B)b=Mid(a,8,5)

C)b=Rigth(a,5,5)

D)b=Left(a,8,5)

(11)以下能够触发文本框Change事件的操作是()。

A)文本框失去焦点

B)文本框获得焦点

C)设置文本框的焦点

D)改变文本框的内容

(12)在窗体上有一个文本框控件,名称为TxtTime:一个计时器控件,名称为Timerl,要求每一秒钟在文本框中显示一次当前的时间。程序为:

Private Sub Timer1_()

TxtTime.text=Time

End Sub

在下划线上应填入的内容是()。

A)Enabled

B)Visible

C)Interval

D)Timer

(13)在窗体上画两个单选按钮,名称分别为Option1、Option2,标题分别为“宋体”和“黑体”;一个复选框,名称为Check1,标题为“粗体”;一个文本框,名称为Text1,Text属性为“改变文字字体”。要求程序运行时,“宋体”单选按钮和“粗体”复选框被选中(窗体外观如下图),则能够实现上述要求的语句序列是()。

A)Option1.value=True

B)Option1.Value=True

Check1.Value=False

Check1.Value=True

C)Option2.Value=False D)Option1.Value=True

Check1.Value=True

Check1.Value=1

(14)为了在按下Esc键时执行某个命令按钮的Click事件过程,需要把该命令按钮的一个属性设置为True,这个属性是()。

A)Value

B)Default

C)Cancel

D)Enabled

(15)在窗体上画一个命令按钮,名称为Command1。然后编写如下程序:

Private Sub Command1_Click()

For I=1 To 4

For J=0 To 1

Print Chr$(65+I);

Next J

Print

Next I

End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是()。

A)BB

B)A

C)B

D)AA

CC

BB

CC

BBB

DDDD

CCC

DDD

CCCC

EEEEE

DDDD

EEEE

DDDDD

(16)图像框有一个属性,可以自动调整图形的大小,以适应图像框的尺寸,这个属性是()。

A)Autosize

B)Stretch

C)AutoRedraw

D)Appearance

(17)在窗体上画两个名称分别为Text1、Texte2的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim x As Integer,n As Integer

x=1

n=0

Do While x<20

x=x*3

n=n+1

Loop

Text1.Text=Str(x)

Text2.Text=Str(n)

End Sub

程序运行后,单击命令按钮,在两个文本框中显示的值分别是()。

A)15和1

B)27和C)195和3

D)600和4

(18)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim i As Integer,n As Integer

For I=0 To 50

i=i+3

n=n+1

If i>10 Then xit for

Next

Text1.Text=Str(n)

End Sub

程序运行后,单击命令按钮,在文本框中显示的值是()。

A)B)3

D)4

D)5

(19)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim array1(10,10)As Integer

Dim i,j As Integer

For i=1 To 3

For j=2 To 4

array1(i,j)=i+j

Next j

Next I

Text1.Text=array1(2,3)+array1(3,4)

End Sub

程序运行后,单击命令按钮,在文本框中显示的值是()。

A)12

B)13

C)1D)15

(20)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

Private Sub Command1_Click()

Dim i As Integer,j As Integer

Dim a(10,10)As Integer

For i=1 To 3

For j=1 To 3

a(i,j)=(i-1)*3+j

Print a(i,j);

Next j

Print

Next j

End Sub

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

A)123 B)234 C)147 D)123

246

345

258

456

369 456

369

789

(21)设有如下程序:

Option Base 0

Private Sub Form_Click()

Dim a

Dim i As Integer

a=Array(1,2,3,4,5,6,7,8,9)

For i=0 To 3

Print a(5-i);

Next

End Sub

程序运行后,单击窗体,则在窗体上显示的是()。

A)4 3 2 1 B)5 4 3 2 C)6 5 4 3 D)7 6 5 4

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

A)在窗体的Form_Load事件过程中定义的变量是全局变量

B)局部变量的作用域可以超出所定义的过程

C)在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程

D)在调用过程时,所有局部变量被系统初始化为0或空字符串

(23)在窗体上画一个命令按钮,名称为Command1。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程F1。在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则返回0。能够正确实现上述功能的代码是()。

A)Private Sub Command1_Click()

x=InputBox(“请输入整数”)

a=F1(Val(x))

Print a

End Sub

Function F1(ByRef b As Integer)

If b Mod 2=0 Then

Return 0

Else

Return 1

End If

End Function

B)Private Sub Command1_Click()

x=InputBox(“请输入整数”)

a=F1(Val(x))

Print a

End Sub

Function F1(ByRef b As Integer)

If b Mod 2=0 Then

F1=0

Else

F1=1

End If

End Function

C)Private Sub Command1_Click()

x=InputBox(“请输入整数”)

F1(Val(x))

Print a

End Sub

Function F1(ByRef b As Integer)

If b Mod 2=0 Then

F1=1

Else

F1=0

End If

End Function

D)Private Sub Command1_Click()

x=InputBox(“请输入整数”)

F1(Val(x))

Print a

End Sub

Function F1(ByRef b As Integer)

If b Mod 2=0 Then

Return 0

Else

Return 1

End If

End Function

(24)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:

Private Sub Command1_Click()

Dim x,y,z As Integer

x=5

y=7

z=0

Text1.text=“”

Call P1(x,y,z)

Text1.Text=Str(x)

End Sub

Sub P1(ByVal a As Integer,ByVal b As Integer,c As Integer)

c=a+b

End Sub

程序运行后,如果单击命令按钮,则在文本框中显示的内容是()。

A)0

B)12

C)Str(z)

D)没有显示

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

A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型

B)Sub过程中不能嵌套定义Sub过程

C)Sub过程中可以嵌套调用Sub过程

D)事件过程可以像通用过程一样由用户定义过程名

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

A)在KeyUp和KeyDown事件过程中,从键盘上输入A或a被视作相同的字母(即具有相同的KeyCode)

B)在KeyUp和KeyDown事件过程中,将键盘上的“1”和右侧小键盘上的“1”视作不同的数字(具有不同的KeyCode)

C)KeyPress事件中不能识别键盘上某个键的按下与释放

D)KeyPress事件中可以识别键盘上某个键的按下与释放

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

A)在同一窗体的菜单项中,不允许出现标题相同的菜单项

B)在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键

C)程序运行过程中,可以重新设置菜单的Visible属性

D)弹出式菜单也在菜单编辑器中定义

(28)设在菜单编辑器中定义了一个菜单项,名为menu1。为了在运行时隐藏该菜单项,应使用的语句是()。

A)menu1.Enabled=True B)Munu1.Enabled=False

C)Menu1.Visible=True D)Menu1.Visible=False

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

A)在程序运行时,通用对话框控件是不可见的

B)在同一个程序中,用不同的方法(如ShowOpen或ShowSave等)打开的通用对话框具有不同的作用

C)调用通用对话框控件的ShowOpen方法,可以直接打开在该通用对话框中指定的文件

D)调用通用对话框控件的ShowColor方法,可以打开颜色对话框

(30)在用通用对话框控件建立“打开”或“保存”文件对话框时,如果需要指定文件列表框所列出的文件类型是文本文件(即.txt文件),则正确的描述格式是()。

A)“text(.txt)|(*.txt)” B)“文本文件(.txt)|(.txt)”

C)“text(.txt)||(*.txt)” D)“text(.txt)(*.txt)”

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

A)一个工程中只能有一个Sub Main过程

B)窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体

C)窗体的Hide方法和Unload方法的作用完全相同

D)若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体

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

A)一个工程中可以包含多个窗体文件

B)在一个窗体文件中用Private定义的通用过程能被其他窗体调用

C)在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件

D)全局变量必须在标准模块中定义

(33)设在工程中有一个标准模块,其中定义了如下记录类型

Type Books

Name As String *10

TelNum As String *20

End Type

在窗体上画一个名为Command1的命令按钮。要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条记录。下列能够完成该操作的事件过程是()。

A)Private Sub Command1_Click()

Dim B As Books

Open “c: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 “c: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 “c: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 “c:Person.txt”For Input As #1

Name=InputBox(“输入姓名”)

TelNum=InputBox(“输入电话号码”)

Print #1,Name,TelNum

Close #1

End Sub

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

A)一个记录中所包含的各个元素的数据类型必须相同

B)随机文件中每个记录的长度是固定的

C)Open命令的作用是打开一个已经存在的文件

D)使用Input #语句可以从随机文件中读取数据

(35)目录列表框的Path属性的作用是()。

A)显示当前驱动器或指定驱动器上的目录结构

B)显示当前驱动器或指定驱动器上的某目录下的文件名

C)显示根目录下的文件名

D)显示该路径下的文件

二、填空题(每空2分,共40分)

请将每空的正确答案写在答题卡(1)至(15)的横线上,答在试卷上不得分。

(1)在窗体上画两个标签,其名称分别为Label1和Label2,Caption属性分别为“数值”及空白;然后画一个名称为Hscoll1的水平滚动条,其Min的值为0,Max的值为100。程序运行后,如果单击滚动条两端的箭头,则在标签Lable2中显示滚动条的值,如图所示。请在 [1] 和 [2] 处填入适当的内容,将程序补充完整。

Private Sub HScroll1_ [1]()

Labl2.Caption=HScroll1.[2]

End Sub

(2)在窗体上画一个名称为Command1、标题为“计算”的命令按钮;画两个文本框,名称分别为Text1和Text2;然后画4个标签,名称分别为Label1、Label2、Label3和Label4,标题分别为“操作数1”、“操作数2”、“运算结果”和空白;再建立一个含有4个单选按纽的控件数组,名称为Option1,标题分别为“+”、“-”、“*”和“/”。程序运行后,在Text1、Text2中输入两个数值,选中一个单选按钮后单击命令按钮,相应的计算结果显示在Label4,程序运行情况如图所示。请在 [3]、[4] 和 [5] 处填入适当的内容,将程序补充完整。

Private Sub Command1_Click()

For i=0 To 3

If [3] =True then

opt=Option1(i).Caption

End If

Next

Select Case [4]

Case”+”

Result=Val(Text1.Text)+Val(Text2.Text)

Case”-”

Result=Val(Text1.Text)-Val(Text2.Text)

Case”*”

Result=Val(Text.Text)*Val(Text2.Text)

Case”/”

Result=Val(Text1.Text)/Val(Text2.Text)

End Select

[5] =Result

End Sub

(3)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框。程序运行后,Command1为禁用(灰色)。当向文框中输入任何字符时,命令按钮Command1变为可用。请在 [6] 处填入适当的内容,将程序补充完整。

Private Sub Form_Load()

Command1.Enabled=False

End Sub

Private Sub Text1_ [6]()

Command1.Enabled=True

End Sub

(4)在菜单编辑器中建立了一个菜单,名为pmenu,用下面的语句可以把它作为弹出式菜单弹出,请填空。

Form1.[7] Pmenu

(5)以下程序的功能是:从键盘上输入若干个学生的考试分数,当输入负数时结束输入,然后输出其中的最高分数和最低分数。请在 [8] 和 [9] 处填入适当的内容,将程序补充完整。

Private Sub Form_Click()

Dim x As Single,amax As Single,amin As Single

x=InputBox(“Enter a score”)

amax=x

amin=x

Do While [8]

If x>amax Then

Amax=x

End If

If [9]Then

Amin=x

End If

x=InputBox(“Enter a score”)

Loop

Print”Max=”;amax,”Min=”;amin

End Sub

(6)在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程:

Private Sub Form_Load()

Text1.Text=”计算机”

End Sub

Private Sub Text1_Change()

Picture1.Print“等级考试”

End Sub

程序运行后,在文本框中显示的内容是 [10],而在图片框中显示的内容是 [11]。

(7)在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:

Function M(x As Integer,y As Integer)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

Print M(a,b)

End Sub

程序运行后,单击命令按钮,输出结果为 [12]。

(8)为了改变计时器控件的时间间隔,应该修改该控件的 [13] 属性。

(9)在窗体上画一个名称为Lable1的标签和一个名称为List1的列表框。程序运行后,在列表框中添加若干列表项。当双击列表框中的某个项目时,在标签Label1中显示所选中的项目,如图所示。请在 [14] 和 [15] 处填入适当的内容将程序补充完整。

Private Sub Form_load()

List1.AddItem”北京”

List1.AddItem”上海”

List1.AddItem”湖北”

End Sub

Private Sub [14]()

Label1.Caption= [15]

End Sub

2003年4月二级VB笔试试题

一、选择题((1)一(20)每小题2分,(21)一(30)每小题3分,共30题,70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。

(1)以下不能在”工程资源管理器“窗口中列出的文件类型是()。

A).bas

B).res

C).fnn

D).ocx

(2)以下关于窗体的描述中,错误的是()。

A)执行UnloadFoMl语句后,窗体Fonnl消失,但仍在内存中

B)窗体的Ioad事件在加载窗体时发生

C)当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止

D)窗体的Height、width属性用于设置窗体的高和宽

(3)下列可作为V2sualBasic变量名的是()。

A)A#A

B)4A

C)?xY

D)constA(4)设有如下的记录类型

Type Student

numberAs string

name As String

age As Integer

End Type

则正确引用该记录类型变量的代码是()。

A)Student.name=”张红“

B)Dim As Student

s.name=”张红“ C)Dim s As Type Student

D)Dim s As Type

S.name=”张红“

s.Dame=”张红“

(5)函数String(n,”str“)的功能是()。

A)把数值型数据转换为字符串 B)返回由n个字符组成的字符串

C)从字符串中取出n个字符

D)从字符串中第n个字符的位置开始取子字符串

(6)将数学表达式Cos2(a+b)+5e2写成Visual Basic的表达式,其正确的形式是()。

A)Cos(a+b)A2十5。exp(2)

B)Cos^2(a+b)+5*exp(2)C)Cos(a+b)^2十5*ln(2)

D)Cos^2(a+b)+5*ln(2)

(7)在窗体上画一个命令按钮,名称为Commandl。单击命令按钮时,执行如下事件过程:

PrlVate Sub Commandl_C1ick()

a$=”software and hardware“

b$=Right(a$,8)

c$=Mid(a$,1,8)

Msgbox a$,b$,c$,1

End Sub

则在弹出的信息框的标题栏中显示的信息是()。

A)softWare and hardware

B)software

C)hardwafe

D)1

(8)执行如下语句:

a=inutBox(”Today“,”TomorroW,“Yesterday”,,“Day before yesterday”,5)

将显示一个输入对话框,在对话框的输入区中显示的信息是()。

A)Today

B)Tomorrow

C)Yesterday

D)Day before yesterday

(9)表示滚动条控件取值范围最大值的属性是()。

A)Max

B)LargeChange

C)Value

D)Max-Min

(10)在窗体上画一个名称为Listl的列表框,一个名称为Labell的标签。列表框中显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。下列能正确实现上述功能的程序是

A)Private Sub listl_Click()B)Private Sub Listl_C1ick()

Labell.Caption=list1.listlndex Labell.Nanle=Listl.listindex

End Sub .End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是()。A)空白

B)错误提示

C)北京

D)上海

(15)假定有以下函数过程:

Function Fun(S As String)As String

Dim s1 As String

For i=1 To Len(S)

s1=UCase(Mid(S,i,1))十s1

Next i

Fun=s1

End Function

在窗体上画一个命令按钮,然后编写如下事件过程:

Prlvate Sub Commmldl_Click()

Dim Str1 As String,Str2 As String

Strl=inputbox(“请输入一个字符串”)

Str2=Fun(Strl)

Print Str2

End Sub

程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为()。

A)abcdefg

B)ABCDEFG

C)gfedcba

D)GFEDCBA

(16)设有语句

open “c:Test.Dat” For OutPut As#1

则以下错误的叙述是()。

A)该语句打开C盘根目录下一个己存在的文件Test.Dat B)该语句在C盘根目录下建立一个名为Test.Dat的文件

C)该语句建立的文件的文件号为1 D)执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息

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

A)用Shell函数可以调用能够在Windows下运行的应用程序

B)用Shell函数可以调用可执行文件,也可以调用VisualBasic的内部函数

C)调用Shell函数的格式应为:<变量名>=Shell(……)

D)用Shell函数不能执行DoS命令

(18)以下关于过程及过程参数的描述中,错误的是()。

A)过程的参数可以是控件名称 B)用数组作为过程的参数时,使用的是“传地址”方式

C)只有函数过程能够将过程中处理的信息传回到调用的程序中

D)窗体可以作为过程的参数

(19)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:

Private Sub Txta_KeyPress(keyascii as integer)

End Sub

若焦点位于文本框中,则能够触发KeyPress事件的操作是()。

A)单击鼠标

B)双击文本框

C)鼠标滑过文本框

D)按下键盘上的某个键

(20)目录列表框的Path属性的作用是()。

A)显示当前驱动器或指定驱动器上的路径

B)显示当前驱动器或指定驱动器上的某目录下的文件名

D)显示根目录下的文件名

D)只显示当前路径下的文件

(21)假定有如下事件过程:

PriVate Sub Form_MouseDown(button As Integer,Shift As Integer, x As Single,Y As

Single)

If Button=2 then

PopupMenu popForm

End if

End Sub

则以下描述中错误的是()。

A)该过程的功能是弹出一个菜单

B)popForm 是在菜单编辑器中定义的弹出式菜单的名称

C)参数X、Y指明鼠标的当前位置

D)Button=2 表示按下的是鼠标左键

(22)以下能够正确计算n!的程序是()。

A)Private Sub Commandl_ClicK()

n=5:x=1

Do

X=x*1

i=i十1

Loop While i<n

Print x

End Sub B)Private Sub Commandl_Click()

n=5: x=1:i=1

Do

X=X*1

i=i十1

Loop While i<n

Print x

End Sub C)Private Sub Commandl_Click()

n=5:x=1:i=1

Do

X=X*1

i=i十1

Loop while i<=n

Print x

End Sub D)Private Sub Commandl_C1ick()

n=5:x=1:i=1

Do

X=X*l

i=i十1

loop While i>n

Print x

End Sub

(23)在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为Labell、Label2的标签,然后编写如下程序代码:

Private x As Integer

Private Sub Commandl-Click()

X=5:Y=3

Call proc(x,Y)

Labell.Caption=X

Label2.Caption=Y

End Sub

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

x=a* a

Y=b十b

End Sub

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

A)5和3

B)25和3

C)25和6

D)5和6

(24)在窗体上画一个名称为Commandl的命令按钮,一个名称为Labell的标签,然后编写如下事件过程:

Private Sub Commandl_C1ick()

S=0

For i=1 T0 15

x=2*i一1

1f x Mod 3=0 Then s=s十1

Nexti

Labell.Caption=s

End Sub

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

A)1

B)5

C)27

D)45

(25)在窗体上画一个名称为Commandl的命令按钮和三个名称分别为Labell、Label2、Label3的标签,然后编写如下代码:

Private x As Integer

Private Sub Command1_C1ick()

Static y As Integer

Dimz As Integer

n=10

z=n十z

y=y十z

X=X十Z

Labell.Caption=x

Label2.Caption=y

Label3.Caption=z

End Sub

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

A)10 10 10

B)30 30 30

C)30 30 10

D)10 30 30(26)设在窗体上有一个名称为Commandl的命令按钮,并有以下事件过程:

PriVate Sub Commandl_C1ick()

Static b As Variant

b=Array(1,3,5,7,9)

End Sub

此过程的功能是把数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功能,省略号处的程序段应该是()。

A)For i=0 To 5-1\2

tmp=b(i)

b(i)=b(5-i-1)

b(5-i-1)=tmp

Next B)for i=0 To 5

tmp=b(i)

b(i)=b(5-i-1)

b(5-i-1)=tmp

Next C)For i=0 T0 5\2

tmp=b(i)

b(i)=b(5-i-1)

b(5-i-1);tmp

Next D)For i=1 T0 5\2

tmp=b(i)

b(i)=b(5一i一1)

b(5-i-1)=tmp

Next

(27)在窗体上画一个名称为Drivel的驱动器列表框,一个名称为Dirl的目录列表框,一个名称为Filel的文件列表框,两个名称分别为Labell、Label2,标题分别为空白和“共有文件”的标签。编写程序,使得驱动器打开一个保存文件的通用对话框。该窗口的标题为“Save”,缺省文件名为“SaveFile”,在“文件类型”栏中显示*.txt。则能够满足上述要求的程序是()。

A)Private Sub Command_C1ick()

Commondialogl.FileName=“Savefile”

Commondialogl.filter=“All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc”

CommonDialogl.Filterindex=2

CommonDialogl.Dial0g.title=“Save”

CommonDialogl.Action=2

End Sub B)Private Sub Commandl-Click()

CommonDialogl.FileName=“SaveFile”

CommonDiaLogl.Filter=“A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc”

C0mmonDialogl.FilterIndex=1

CommonDialogl.DialogTitle=“Save”

CommonDialogl.Action=2

End Sub C)Private Sub Cmmandl_C1ick()

COmmonDialogl.FileName=“Save”

CommonDialogl.FiLter=“A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”

CommonDialogl.Filterindex=2

C0mmonDialogl.DialogTitle=“SaveFile”

CommonDialogl.Action=2

End Sub D)Private Sub Commandl_C1ick()

CommonDialogl.FileName=“SaveFile”

CommonDialogl.Filter=“All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”

CommonDialogl.FilterIndex=1

CommonDialogl.DialogTitle=“Save”

CommonDialogl.Action=1

End Sub

二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡[1]一[15序号的横线上,答在试卷上不得分。

(1)visual Basic中有一种控件组合了文本框和列表框的特性,这种控件是________

(2)Visual Basic提供的对数据文件的三种访问方式为随机访问方式_____和二进制访问方式。

(3)执行下面的程序段后,变量S的值为_______。

S=5

For i =2.6 To 4.9 Step 0.6

S=S十1

Next i

(4)为了在运行时把d:pic文件夹下的图形文件a.jpg装入图片框Picturel,所使用的语句为_______。

(5)计时器控件能有规律的以一定时间间隔触发_______事件,并执行该事件过程中的程序代码。

(6)以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的 数并求出它们的和。请填空。

Private Sub Commandl_C1ick()

Fori=1To 20

x=Int(____________*200+100)

If_______[7] =0 Then

Print x

S=S十 _________ [83

End If

Next i

Print “Sum=”:S

End Sub

(7)设有如下程序

Private Sub Form_Click()

Dim a AS Integer,b As integer

a=20:b=50R>

p2a,b

p3a,b

Print“a=”;a,“b=”;b

End Sub

Sub pl(x As Integer,ByVal y As Integer)

x=x十10.

v=v十20

End Sub

Sub p2(byVal x As Integer, y As Integer)

x=x十10

y=y十20

End Sub

Sub p3(ByValx As Integer, ByVal y As Integer)

x=x十10

y=y十20

End Sub

该程序运行后,单击窗体,则在窗体上显示的内容是:a=______和b=______。

(8)在窗体上画一个名称为Commandl的命令按钮,编写如下事件过程

Private Sub Commandl_C1icK()

Dim As String

a=_____[11]

For i =1 To 5

Print Space(6-i);Mid$3(a,6-i,2*i-1)

Nexti

End Sub

程序运行后,单击命令按钮,要求窗体上显示的输出结果为

456

34567

2345678

123456789

请填空。

(9)在窗体上画一个名称为Combo1的组合框,画两个名称分别Label1和Label2及Caption属性分别为“城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII码为13)时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在Label2中给出提示“已成功添加输入项”如图所示; 如果存在,则在Label2中给出提示“输入项已在组合框中”。请在[12>、[13]和[14]处将程序补充完整。

Private Sub Combol_________<12>(KeyAscii As integer)

1f KeyAscii=13 Then

Fori=0 To Combo1.listCount-1

1f Combo1.Text=______ [13] Ihen

Label2.Caption=“输入项己在组合框中”

ExIt Sub

End lf

Next i

Label2.Caption=“已成功添加输入项”

Combo1.______ [14] CombO1.Text

End lf

End Sub

(10)设有如下程序

Private sub search(a()As variant,ByVal key As Variant,index%)

Dim I%

ForI=LBound(a)To UBound(a)

If key=a(I)Then

index=I

Exit Sub

End If

Next I

Index=-1

End Sub

Private Sub Form_Load()

Show

Dtm b()As Variant

Dim n As Integer

b=Array(1,3,5,7,9,11,13,15)

Call search(b,11,n)

Printt n

End Sub

程序运行后,输出结果是________。

2003年9月二级VB笔试试题

(考试时间90分钟,满分100分)

一、选择题((1)~(20)每小题2分,(21)~(30)每小题3分,共70分)

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

A)Visual Basic 是事件驱动型可视化编程工具

B)Visual Basic应用程序不具有明显的开始和结束语句

C)Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性

D)Visual Basic中控件的某些属性只能在运行时设置

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

A)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件

B)以.BAS为扩展名的文件是标准模块文件

C)窗体文件包含该窗体及其控件的属性

D)一个工程中可以含有多个标准模块文件

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

A)双击鼠标可以触发DblClick事件

B)窗体或控件的事件的名称可以由编程人员确定

C)移动鼠标时,会触发MouseMove事件

D)控件的名称可以由编程人员设定

(4)以下不属于Visual Basic系统的文件类型是()。

A).frm

B).bat

C).vbg

D).vbp

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

A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件

B)保存Visual Basic程序时,应分别保存窗体文件及工程文件

C)Visual Basic应用程序只能以解释方式执行

D)事件可以由用户引发,也可以由系统引发

(6)以下能正确定义数据类型TelBook的代码是()。

A)Type TelBook

B)Type TelBook

Name As String*10

Name As String*10

TelNum As Integer

TelNum As Integer

End Type

End TelBook

C)Type TelBook

D)Typedef TelBook

Name String*10

Name String*10

TelNum Integer

TelNum Integer

End Type TelBook

End Type

(7)以下声明语句中错误的是()。

A)Const var1=123

B)Dim var2 = 'ABC'

C)DefInt a-z

D)Static var3 As Integer

(8)设窗体上有一个列表框控件List1,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是()。

A)List1.List

B)List1.ListIndex

C)List1.Index

D)List1.Text

(9)程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是()。

A)MouseDown B)MouseUp

C)Load

D)Click

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

A)True

B)False

C)

1D)出错信息

(11)如果要改变窗体的标题,则需要设置的属性是()。

A)Caption

B)Name

C)BackColor D)BorderStyle

(12)以下能判断是否到达文件尾的函数是()。

A)BOF

B)LOC

C)LOF

D)EOF

(13)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是()。

A)如果工程中含有Sub Main过程,则程序一定首先执行该过程

B)不能把标准模块设置为启动模块

C)用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体

D)任何时刻最多只有一个窗体是活动窗体

(14)窗体的MouseDown事件过程

Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

有4个参数,关于这些参数,正确的描述是()。

A)通过Button参数判定当前按下的是哪一个鼠标键

B)Shift参数只能用来确定是否按下Shift键

C)Shift参数只能用来确定是否按下Alt和Ctrl键

D)参数x,y用来设置鼠标当前位置的坐标

(15)设组合框Combo1中有3个项目,则以下能删除最后一项的语句是()。

A)Combo1.RemoveItem Text

B)Combo1.RemoveItem 2

C)Combo1.RemoveItem 3

D)Combo1.RemoveItem Combo1.Listcount

(16)以下关于焦点的叙述中,错误的是()。

A)如果文本框的TabStop属性为False,则不能接收从键盘上输入的数据

B)当文本框失去焦点时,触发LostFocus事件

C)当文本框的Enabled属性为False时,其Tab顺序不起作用

D)可以用TabIndex属性改变Tab顺序

(17)如果要在菜单中添加一个分隔线,则应将其Caption属性设置为()。

A)=

B)*

C)&

D)-

(18)执行语句Open “Tel.dat” For Random As #1 Len = 50后,对文件Tel.dat中的数据能够执行的操作是()。

A)只能写,不能读

B)只能读,不能写

C)既可以读,也可以写

D)不能读,不能写

(19)在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1、Text2的文本框,然后编写如下事件过程:

Private Sub Command1_Click()

n = Text1.Text

Select Case n

Case 1 To 20

x = 10

Case 2, 4, 6

x = 20

Case Is < 10

x = 30

Case 10

x = 40

End Select

Text2.Text = x

End Sub

程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,则在Text2中显示的内容是()。

A)10

B)20

C)30

D)40

(20)设有以下循环结构

Do

循环体

Loop While <条件>

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

A)若“条件”是一个为0的常数,则一次也不执行循环体

B)“条件”可以是关系表达式、逻辑表达式或常数

C)循环体中可以使用Exit Do语句

D)如果“条件”总是为True,则不停地执行循环体

(21)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim num As Integer

num = 1

Do Until num > 6

Print num;

num = num + 2.4

Loop

End Sub

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

A)1 3.4 5.8

B)1 3 5

C)1 4 7

D)无数据输出

(22)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim a As Integer, s As Integer

a = 8

s = 1

Do

s = s + a

a = a-1

Loop While a <= 0

Print s;a

End Sub

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

A)7 9

B)34 0

C)9 7

D)死循环

(23)设有如下通用过程:

Public Function f(x As Integer)

Dim y As Integer

x = 20

y = 2

f = x * y

End Function

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

Private Sub Command1_Click()

Static x As Integer

x = 10

y=5

y = f(x)

Print x;y

End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是()。

A)10 5

B)20 5

C)20 40

D)10 40

(24)设有如下通用过程:

Public Sub Fun(a(), ByVal x As Integer)

For i = 1 To 5

x = x + a(i)

Next

End Sub

在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:

Private Sub Command1_Click()

Dim arr(5)As Variant

For i = 1 To 5

arr(i)= i

Next

n = 10

Call Fun(arr(), n)

Text1.Text = n

End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是()。

A)10

B)1C)25

D)24

(25)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码:

Option Base 1

Private Sub Command1_Click()

d = 0

c = 10

x = Array(10, 12, 21, 32, 24)

For i = 1 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)2D)77

(26)在窗体上画两个滚动条,名称分别为Hscroll1、Hscroll2;六个标签,名称分别为Label1、Label2、Label3、Label4、Label5、Label6,其中标签Label 4~ Label6分别显示“A”、“B”、“A*B”等文字信息,标签Label1、Label2分别显示其右侧的滚动条的数值,Label3 显示A*B的计算结果。如图所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮“计算”时,对标签Label1、Label2中显示的两个值求积,并将结果显示在Label3中。以下不能实现上述功能的事件过程是()。

A)Private Sub Command1_Click()

Label3.Caption = Str(Val(Label1.Caption)*Val(Label2.Caption))

End Sub

B)Private Sub Command1_Click()

Label3.Caption = HScroll1.Value * HScroll2.Value

End Sub

C)Private Sub Command1_Click()

Label3.Caption = HScroll1 * HScroll2

End Sub

D)Private Sub Command1_Click()

Label3.Caption = HScroll1.Text * HScroll2.Text

End Sub

(27)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

For n = 1 To 20

If n Mod 3 <> 0 Then m = m + n 3

Next n

Print n

End Sub

程序运行后,如果单击命令按钮,则窗体上显示的内容是()。

A)15

B)18

C)D)24

(28)在窗体上画一个名称为Text1的文本框,并编写如下程序:

Private Sub Form_Load()Show Text1.Text = “" Text1.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)Print ”Visual Basic“;End Sub 程序运行后,如果按”A“键,然后单击窗体,则在窗体上显示的内容是(A)Visual Basic

B)程序设计

C)A程序设计

D)Visual Basic程序设计

(29)设有如下程序:

Private Sub Command1_Click()Dim sum As Double, x As Double sum = 0 n = 0 For i = 1 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+1/2+2/3+3/4 C)1/2+2/3+3/4+4/

5D)1+1/2+1/3+1/4+1/5

(30)以下有关数组定义的语句序列中,错误的是()。

A)Static arr1(3)

arr1(1)= 100

arr1(2)= ”Hello“

arr1(3)= 123.45 B)Dim arr2()As Integer

Dim size As Integer

Private Sub Command2_Click()

size = InputBox(”输入:“)

ReDim arr2(size)......

End Sub。)

C)Option Base 1

Private Sub Command3_Click()

Dim arr3(3)As Integer

......

End Sub

D)Dim n As Integer

Private Sub Command4_Click()

Dim arr4(n)As Integer

......

End Sub

二、填空题(每空2分,共30分)

(1)执行下面的程序段后,i的值为 〖1〗,s的值为 〖2〗。

s = 2

For i = 3.2 To 4.9 Step 0.8

s = s + 1

Next i

(2)把窗体的KeyPreview属性设置为True,然后编写如下两个事件过程:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

Print Chr(KeyCode)

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Print Chr(KeyAscii)

End Sub

程序运行后,如果直接按键盘上的”A“键(即不按住Shift键),则在窗体上输出的字符分别是 〖3〗 和 〖4〗。

(3)在窗体上画一个标签(名称为Label1)和一个计时器(名称为Timer1),然后编写如下几个事件过程:

Private Sub Form_Load()

Timer1.Enabled = False

Timer1.Interval = 〖5〗

End Sub

Private Sub Form_Click()

Timer1.Enabled = 〖6〗

End Sub

Private Sub Timer1_Timer()

Label1.Caption = 〖7〗

End Sub

程序运行后,单击窗体,将在标签中显示当前时间,每隔1秒钟变换一次(见图)。请填空。

——————————————————————

14:54:41

——————————————————————

(4)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程:

Private Sub Command1_Click()

S$ = InputBox(”请输入一个字符串“)

Text1.Text = S$

End Sub

Private Sub Text1_Change()

Label1.Caption = UCase(Mid(Text1.Text, 7))

End Sub

程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串”VisualBasic“,则在标签中显示的内容是 〖8〗。

(5)在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为List1、Command1和Label1,通过属性窗口把列表框中的项目设置为:”第一个项目“、”第二个项目“、”第三个项目“、”第四个项目“。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示(选择”第三个项目“的情况)。下面是实现上述功能的程序,请填空。

Private Sub Command1_Click()

If List1.ListIndex >= 〖9〗 Then

List1.RemoveItem 〖10〗

Label1.Caption = 〖11〗

Else

MsgBox ”请选择要删除的项目“

End If

End Sub

—————————————————————

第一个项目

第二个项目 COMMAND1

第三个项目 3

—————————————————————

(6)设有程序:

Option Base 1

Private Sub Command1_Click()

Dim arr1, Max as Integer

arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43)

(资料来源:东方教育网 http://www.xiexiebang.com)

〖12〗 = arr1(1)

For i = 1 To 8

If arr1(i)> Max Then 〖13〗

Next i

Print ”最大值是: “;Max

End Sub

以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。请填空。

(7)以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框Text1中显示出来。请填空。

Private Sub Command1_Click()

Dim inData As String

Text1.Text = ”“

Open ”.smtext1.txt“ 〖14〗 As #1

Do While 〖15〗

Input #1, inData

Text1.Text = Text1.Text & inData

Loop

Close #1

End Sub

04年4月全国计算机等级考试二级VB笔试试卷

一、选择题((1)—(20)每小题2分,(21)—(30)每小题3分,共70分)

下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Move 500,500

End Sub

程序运行后,单击命令按钮,执行的操作为()。

A)命令按钮移动到距窗体左边界、上边界各500的位置

B)窗体移动到距屏幕左边界、上边界各500的位置

C)命令按钮向左、上方向各移动500

D)窗体向左、上方向各移动500

(2)在窗体上有若干控件,其中有一个名称为Text1的文本框。影响Text1的Tab顺序的属性是()。

A)TabStop

B)Enabled

C)Visible

D)TabIndex

(3)以下定义数组或给数组元素赋值的语句中,正确的是()。

(4)在窗体上画一个名称为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

(5)以下Case语句中错误的是()。

A)Case 0 To 10

B)Case Is>10

C)Case Is>10 And Is<50

D)Case 3,5,Is>10

(6)以下关于图片框控件的说法中,错误的是()。

A)可以通过Print方法在图片框中输出文本

B)清空图片框控件中图形的方法之一是加载一个空图形

C)图片框控件可以作为容器使用

D)用Stretch属性可以自动调整图片框中图形的大小

(7)执行语句s=Len(Mid(”VisualBasic“,1,6))后,s的值是()。

A)Visual

B)Basic

C)6

D)11

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

A)下拉式菜单和弹出式菜单都用菜单编辑器建立

B)在多窗体程序中,每个窗体都可以建立自己的菜单系统

C)除分隔线外,所有菜单项都能接收Click事件

D)如果把一个菜单项的Enabled属性设置为False,则该菜单项不可见

(9)在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:

Private Sub Command1_Click()

a = 12345

Print Format$(a, ”000.00“)

End Sub

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

A)123.45

B)12345.00

C)12345

D)00123.45

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

A)一个工程可以包括多种类型的文件

B)Visual Basic应用程序既能以编译方式执行,也能以解释方式执行

C)程序运行后,在内存中只能驻留一个窗体

D)对于事件驱动型应用程序,每次运行时的执行顺序可以不一样

(11)以下关于函数过程的叙述中,正确的是()。

A)函数过程形参的类型与函数返回值的类型没有关系

B)在函数过程中,过程的返回值可以有多个

C)当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递

D)如果不指明函数过程参数的类型,则该参数没有数据类型

(12)以下关于变量作用域的叙述中,正确的是()。

A)窗体中凡被声明为Private的变量只能在某个指定的过程中使用

B)全局变量必须在标准模块中声明

C)模块级变量只能用Private关键字声明

D)Static类型变量的作用域是它所在的窗体或模块文件

(13)确定一个控件在窗体上的位置的属性是()。

A)Width和Height

B)Width或Height

C)Top和Left

D)Top或Left

(14)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程

Private Sub Command1_Click()

Text1.Text = ”Visual“

Me.Text1 = ”Basic“

Text1 = ”Program“

End Sub

程序运行后,如果单击命令按钮,则在文本框中显示的是()。

A)Visual

B)Basic

C)Program

D)出错

(15)以下关系表达式中,其值为False的是()。

A)”ABC“>”AbC“

B)”the“<>”they“

C)”VISUAL“=UCase(”Visual“)

D)”Integer“>”Int“

(16)语句Print 5/4*65 Mod 2的输出结果是()。

A)0

B)1

C)2

D)3

(17)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1Label1和Command1,然后编写如下两个事件过程:()。

Private Sub Command1_Click()

strText = InputBox(”请输入“)

Text1.Text = strText

End Sub

Private Sub Text1_Change()

Label1.Caption = Right(Trim(Text1.Text), 3)

End Sub A)空

B)abcdef C)abc D)def

(18)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

x =-5

If Sgn(x)Then

y = Sgn(x ^ 2)

Else

y = Sgn(x)

End If

Print y

End Sub

程序运行后,单击命令按钮,窗体上显示的是()。A)-5 B)25 C)1 D)-1

(19)一个工程中含有窗体Form1、Form2和标准模块Model1,如果在Form1中有语句Pubilc X As Integer,在Model1中有语句Pubilc Y As Integer,则以下叙述中正确的是()。A)变量X、Y的作用域相同

B)Y的作用域是Model1 C)在Form1中可以直接使用X D)在Form2中可以直接使用X和Y

(20)在窗体上画一个名称为Drive1的驱动器列表框,一个名称为Dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,这个事件过程是()。A)Drive1_Change B)Drive1_Click C)Dir1_Click D)Dir1_Change

(21)在窗体上画一个命令按钮(其NAME属性为Command1),然后编写如下代码:

Option Base 1

Private Sub Command1_Click()

Dim a

s = 0

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

(22)在窗体上画一个名称为Text1的文本框,要求文本框只能接收大写字母的输入。以下能实现该操作的事件过程是()。

A)Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii < 65 Or KeyAscii > 90 Then

MsgBox ”请输入大写字母“

KeyAscii = 0

End If

End Sub

B)Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode < 65 Or KeyCode > 90 Then

MsgBox ”请输入大写字母“

KeyCode = 0

End If

End Sub

C)Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Asc(Text1.Text)< 65 Or Asc(Text1.Text)> 90 Then

MsgBox ”请输入大写字母“

End If

End Sub

D)Private Sub Text1_Change()

If Asc(Text1.Text)> 64 And Asc(Text1.Text)< 91 Then

MsgBox ”请输入大写字母“

End If

End Sub

(23)假定在窗体(名称为Form1)的代码窗口中定义如下记录类型:

Private Type animal

AnimalName As String*20

AColor As String*10

End Type

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

Private Sub Command1_Click()

Dim rec As animal

Open ”c:vbTest.dat“ For Random As #1 Len = Len(rec)

rec.animalName = ”Cat“

rec.aColor = ”White“

Put #1, , rec

Close #1

End Sub

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

A)记录类型animal不能在Form1中定义,必须在标准模块中定义 B)如果文件c:vbTest.dat不存在,则Open命令执行失败

C)由于Put命令中没有指明记录号,因此每次都把记录写到文件的末尾 D)语句“Put #1, , rec”将animal类型的两个数据元素写到文件中

(24)在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,然后编写如下事件过程和通用过程:

Private Sub Command1_Click()

n = Val(Text1.Text)

If n2 = n/2 Then

f = f1(n)

Else

f = f2(n)

End If

Print f;n

End Sub

Public Function f1(ByRef x)

x=x*x

f1=x+x

End Function

Public Function f2(ByVal x)

x=x*x

f2=x+x+x

End Function

程序运行后,在文本框中输入6,然后单击命令按钮,窗体上显示的是()。A)72 36 B)108 36 C)72 6 D)108 6

(25)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

c = 1234

c1 = Trim(Str(c))

For i = 1 To 4

Print

Next

End Sub

程序运行后,单击命令按钮,要求在窗体上显示如下内容

123

1234

则在下划线处应填入的内容为()。A)Right(c1,i)B)Left(c1,i)C)Mid(c1,i,1)D)Mid(c1,i,i)

(26)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程:

Private Sub Command1_Click()

n = Val(Text1.Text)

For i = 2 To n

For j = 2 To sqr(i)

If i Mod j = 0 Then Exit For

Next j

If j > Sqr(i)Then Print i

Next i

End Sub

该事件过程的功能是()。A)输出n以内的奇数 B)输出n以内的偶数 C)输出n以内的素数

D)输出n以内能被j整除的数

(27)在以下描述中正确的是()。

A)标准模块中的任何过程都可以在整个工程范围内被调用

B)在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程 C)如果工程中包含Sub Main过程,则程序将首先执行该过程

D)如果工程中不包含Sub Main过程,则程序一定首先执行第一个建立的窗体

(28)在窗体上画一个名称为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:

Private Function f(m As Integer)

If m Mod 2 = 0 Then

f = m

Else

f = 1

End If

End Function

Private Sub Command1_Click()

Dim i As Integer

s = 0

For i = 1 To 5

s = s + f(i)

Next

Print s

End Sub

程序运行后,单击命令按钮,在窗体上显示的是()。A)11 B)10 C)9 D)8

(29)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim array1(10, 10)As Integer

Dim i As Integer, j As Integer

For i = 1 To 3

For j = 2 To 4

array1(i, j)= i + j

Next j

Next i

Text1.Text = array1(2, 3)+ array1(3, 4)

End Sub

程序运行后,单击命令按钮,在文本框中显示的值是()。A)15 B)14 C)13 D)12

(30)在窗体上画四个文本框(如图所示),并用这四个文本框建立一个控件数组,名称为Text1(下标从0开始,自左至右顺序增大),然后编写如下事件过程:

Private Sub Command1_Click()

For Each TextBox In Text1

Text1(i)= Text1(i).Index

i = i + 1

Next

End Sub

程序运行后,单击命令按钮,四个文本框中显示的内容分别为()。A)0 1 2 3 B)1 2 3 4 C)0 1 3 2 D)出错信息

二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

(1)Visual Basic应用程序中标准模块文件的扩展名是【1】。

(2)在菜单编辑器中建立一个菜单,其主菜单项的名称为mnuEdit,Visible属性为False,程序运行后,如果用鼠标右键单击

窗体,则弹出与mnuEdit相应的菜单。以下是实现上述功能的程序,请填空。

Private Sub Form 【2】(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button=2 Then

【3】 mnuEdit

End If

End Sub

(3)为了使计时器控件Timer1每隔0.5秒触发一次Timer事件,应将Timer1控件的【4】属性设置为【5】。

(4)与数学表达式 对应的Visual Basic表达式是【6】。

(5)将C盘根目录下的图形文件moon.jpg装入图片框Picture1的语句是【7】。

(6)在窗体上画一个名称为Text1的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为

Option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示,请填空。

Private Sub Option1_Click(Index As Integer)

Select Case 【8】

Case 0

a = ”宋体“

Case 1

a = ”黑体“

Case 2

a = ”楷体_GB2312“

End Select

text1.【9】 =a

End Sub

(7)在窗体上画两个组合框,其名称分别为Combo1、Combo2,然后画两个标签,名称分别为Label1、Label2,如图所示,程

序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。请填空。

Private Sub Combo1_Click()

Call ShowItem(Combo1, Label1)

End Sub

Private Sub Combo2_Click()

Call ShowItem(Combo2, Label2)

End Sub

Public Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)

【10】.Caption =【11】.Text

End Sub

(8)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

n = 5

f = 1

s = 0

For i = 1 To n

f = f【12】

s = s + f

Next

Print s

End Sub

该事件过程的功能是计算的值。请填空。

(9)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

Option Base 1

Private Sub Command1_Click()

Dim a(10)As Integer

For i = 1 To 10

a(i)= i

Next

Call swap(【13】)

For i = 1 To 10

Print a(i);

Next

End Sub

Sub swap(b()As Integer)

n = 【14】

For i = 1 To n / 2

t = b(i)

b(i)= b(n)

b(n)= t

【15】

Next

End Sub

上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,„„,a(5)与a(6)的值互换。请填空。

04年9月全国计算机等级考试二级VB笔试试卷

一、选择题((1)—(20)每小题2分,(21)—(30)每小题3分,共70分)

(1)设窗体上有一个文本框,名称为text1,程序运行后,要求该文本框不能接受键盘输入,但能输出信息,以下属性设置正确的是:()。A)text1.maxlength=0 B)text1.enabled=flase C)text1.visible=flase D)text1.width=0

(2)以下能在窗体Form1的标题栏中显示“VisualBasic窗体”的语句是()。A)Form1.Name=“VisualBasic窗体” B)Form1.Title=“VisualBasic窗体” C)Form1.Caption=“VisualBasic窗体” D)Form1.Text=“VisualBasic窗体”

(3)在窗体上画一个名称为Text1的文本框,然后画一个名称为HScroll1的滚动条,其Min和Max属性分别为0和100。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值,如图所示:

以下能实现上述操作的程序段是()。A)Private Sub HScroll_Change()Text1.Text=HScroll1.value End Sub B)Private Sub HScroll_Click()Text1.Text=HScroll1.value End Sub C)Private Sub HScroll_Change()Text1.Text=HScroll.Caption D)Private Sub HScroll_Click()Text1.Text=HScroll.Caption End Sub

(4)设菜单中有一个菜单项为”Open“。若要为该菜单命令设计访问键,即按下Alt及字母O时,能够执行”Open“命令,则在菜单编辑器中设置“Open”命令的方式是()。A)把Caption属性设置为&Open B)把Caption属性设置为O&pen C)把Name属性设置为&Open D)把Name属性设置为O&pen

(5)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click()x=InputBox(“Input”)Select Case x Case 1,3 Print “分支 1” Case Is >4 Print “分支 2” Case Else Print “Else 分支 ” End Select End Sub 程序运行后,如果在输入对话框中输入2,则窗体上显示的是()。A)分支1 B)分支2 C)Else分支

D)程序出错

(6)以下关于MsgBox的叙述中,错误的是()。A)MsgBox函数返回一个整数

第三篇:全国计算机二级VB考试上机考点与常用算法

全国计算机二级VB考试上机考点与常用算法

一、上机考点

由于上机考试的方式和主要考点没有很大变化,因此可以通过分析历届上机考题来归纳总结上机考试考核的重点,我们下面来介绍近几年二级Visual Basic上机考试所考知识点的分布情况。

(1)对象及其操作:控件的画法、基本操作及控件值。

(2)数据类型及其运算:涉及到关系运算符、算术运算符、逻辑运算符及常用内部函数等知识点。

(3)数据输入、输出:窗体输出与Print方法,使用InputBox函数。

(4)常用标准控件:文本框、列表框、图形框、复选框、计时器、滚动条等控件的属性、事件和方法。

(5)控制结构:选择结构、For循环控制结构。(6)数组:数组的定义。

(7)菜单与对话框:用菜单编辑器建立菜单。

(8)键盘与鼠标事件过程:键盘的KeyPress事件、鼠标事件。(9)数据文件:顺序文件的读操作、顺序文件的写操作。

二、常用算法

熟练地掌握算法原理、编程思想和代码实现,就能够做到举一反三,轻松备考,顺利过关。

1.累加与连乘

基本思想:设置初值,循环计算。扩展:

(1)计算指定范围内某一个数的倍数之和。(2)计算某范围内所有数的乘积。(3)求某一个数列的和。2.生成N个不同的随机数

基本思想:将生成的数送入一个数组,每生成一个数后与数组中已有的数比较,如相同则丢弃,重新生成可使用语句Exit For。

3.求素数、极值

求素数基本思想:素数的意义;实现方法:双重循环,外循环判断每一个数,内循环判断能否被某数整除。

求极值基本思想:设第一个数为极值数,然后进入循环与其比较,超过则替换。4.排序

(1)选择法:每次先找出最小数所在的F标,排序结束后,交换最小数的位置。(2)冒泡法:两两比较后交换。

(3)合并法:将两个有序的数组合并成一个仃序的数组。两个数组中的数两两比较,小者放入目标数组,直到。个数组为窄。

(4)插入法:每输入或生成一个数马上插入到数组中使其有序。

站长提醒广大考生:下面的138道题目,在二级考试中命中率极高。

一、选择题

(1)下面叙述正确的是(C)A.算法的执行效率与数据的存储结构无关 B.算法的空间复杂度是指算法程序中指令(或语句)的条数 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对

(2)以下数据结构中不属于线性数据结构的是(C)A.队列 B.线性表 C.二叉树 D.栈

(3)在一棵二叉树上第5层的结点数最多是(B)注:由公式2k-1得 A.8 B.16 C.32 D.15(4)下面描述中,符合结构化程序设计风格的是(A)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B.模块只有一个入口,可以有多个出口 C.注重提高程序的执行效率 D.不使用goto语句

(5)下面概念中,不属于面向对象方法的是(D)注:P55-58 A.对象 B.继承 C.类 D.过程调用

(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A.可行性分析 B.需求分析 C.详细设计 D.程序编码(7)在软件开发中,下面任务不属于设计阶段的是(D)A.数据结构设计 B.给出系统模块结构

C.定义模块算法 D.定义需求并建立系统模型(8)数据库系统的核心是(B)A.数据模型 B.数据库管理系统 C.软件工具 D.数据库(9)下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致

(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)注:P108 A.内模式 B.外模式 C.概念模式 D.逻辑模式(11)算法的时间复杂度是指(C)A.执行算法程序所需要的时间 B.算法程序的长度 C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数(12)算法的空间复杂度是指(D)A.算法程序的长度 B.算法程序中的指令条数 C.算法程序所占的存储空间 D.算法执行过程中所需要的存储空间

(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B)注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A.349 B.350 C.255 D.351(14)结构化程序设计主要强调的是(B)A.程序的规模 B.程序的易读性

C.程序的执行效率 D.程序的可移植性

(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)注:即第一个阶段

A.概要设计 B.详细设计 C.可行性分析 D.需求分析

(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A)注:P67 A.控制流 B.加工 C.数据存储 D.源和潭

(17)软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)注:P66 A.阶段性报告 B.需求评审 C.总结 D.都不正确(18)下述关于数据库系统的叙述中正确的是(A)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型的一致 D.数据库系统比文件系统能管理更多的数据

(19)关系表中的每一横行称为一个(A)A.元组 B.字段 C.属性 D.码

(20)数据库设计包括两个方面的设计内容,它们是(A)A.概念设计和逻辑设计 B.模式设计和内模式设计

C.内模式设计和物理设计 D.结构特性设计和行为特性设计(21)下列叙述中正确的是(A)A.线性表是线性结构 B.栈与队列是非线性结构 C.线性链表是非线性结构 D.二叉树是线性结构(22)下列关于栈的叙述中正确的是(D)A.在栈中只能插入数据 B.在栈中只能删除数据 C.栈是先进先出的线性表 D.栈是先进后出的线性表(23)下列关于队列的叙述中正确的是(C)A.在队列中只能插入数据 B.在队列中只能删除数据

C.队列是先进先出的线性表 D.队列是先进后出的线性表

(24)对建立良好的程序设计风格,下面描述正确的是(A)注:P48 A.程序应简单、清晰、可读性好 B.符号名的命名要符合语法 C.充分考虑程序的执行效率 D.程序的注释可有可无(25)下面对对象概念描述错误的是(A)注:P55 A.任何对象都必须有继承性 B.对象是属性和方法的封装体 C.对象间的通讯靠消息传递 D.操作是对象的动态性属性(26)下面不属于软件工程的3个要素的是(D)注:P62 A.工具 B.过程 C.方法 D.环境

(27)程序流程图(PFD)中的箭头代表的是(B)注:P81 A.数据流 B.控制流 C.调用关系 D.组成关系

(28)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(A)A.数据库系统 B.文件系统 C.人工管理 D.数据项管理(29)用树形结构来表示实体之间联系的模型称为(B)A.关系模型 B.层次模型 C.网状模型 D.数据模型(30)关系数据库管理系统能实现的专门关系运算包括(B)A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表

(31)算法一般都可以用哪几种控制结构组合而成(D)注:P3 A.循环、分支、递归 B.顺序、循环、嵌套 C.循环、递归、选择 D.顺序、选择、循环

(32)数据的存储结构是指(B)注:P13,要牢记

A.数据所占的存储空间量 B.数据的逻辑结构在计算机中的表示 C.数据在计算机中的顺序存储方式 D.存储在外存中的数据(33)设有下列二叉树:图见书P46 对此二叉树中序遍历的结果为(B)A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA(34)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)注:P56 A.调用语句 B.命令 C.口令 D.消息

(35)检查软件产品是否符合需求定义的过程称为(A)注:P95 A.确认测试 B.集成测试 C.验证测试 D.验收测试(36)下列工具中属于需求分析常用工具的是(D)注:P67 A.PAD B.PFD C.N-S D.DFD(37)下面不属于软件设计原则的是(C)注:P73 A.抽象 B.模块化 C.自底向上 D.信息隐蔽(38)索引属于(B)A.模式 B.内模式 C.外模式 D.概念模式

(39)在关系数据库中,用来表示实体之间联系的是(D)A.树结构 B.网结构 C.线性表 D.二维表

(40)将E-R图转换到关系模式时,实体与联系都可以表示成(B)A.属性 B.关系 C.键 D.域

(41)在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A.确定性 B.可行性 C.无穷性 D.拥有足够的情报(42)希尔排序法属于哪一种类型的排序法(B)A.交换类排序法 B.插入类排序法 C.选择类排序法 D.建堆排序法(43)在深度为5的满二叉树中,叶子结点的个数为(C)A.32 B.31 C.16 D.15(44)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B)注:要牢记

A.N+1 B.N C.(N+1)/2 D.N/2(45)信息隐蔽的概念与下述哪一种概念直接相关(B)注:P74 A.软件结构定义 B.模块独立性 C.模块类型划分 D.模拟耦合度

(46)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A.模拟现实世界中不同事物之间的联系 B.强调模拟现实世界中的算法而不强调概念 C.使用现实世界的概念抽象地思考问题从而自然地解决问题 D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

(47)在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)注:总体设计也就是概要设计

A.详细设计 B.需求分析 C.总体设计 D.编程调试

(48)软件调试的目的是(B)注:与软件测试要对比着复习A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能(49)按条件f对关系R进行选择,其关系代数表达式为(C)A.R|X|R B.R|X|Rf C.бf(R)D.∏f(R)(50)数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)注:P127,要牢记

A.自顶向下 B.由底向上 C.由内向外 D.由整体到局部(51)在计算机中,算法是指(C)A.查询方法 B.加工方法

C.解题方案的准确而完整的描述 D.排序方法

(52)栈和队列的共同点是(C)注:这一共同点和线性表不一样

A.都是先进后出 B.都是先进先出 C.只允许在端点处插入和删除元素 D.没有共同点

(53)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(A)注:P38,前提要掌握三种遍历的方法 A.cedba B.acbed C.decab D.deabc(54)在下列几种排序方法中,要求内存量最大的是(D)注:要牢记,书中没有提到。

A.插入排序 B.选择排序 C.快速排序 D.归并排序

(55)在设计程序时,应采纳的原则之一是(A)注:和设计风格有关 A.程序结构应有助于读者理解 B.不限制goto语句的使用 C.减少或取消注解行 D.程序越短越好

(56)下列不属于软件调试技术的是(B)注:P98 A.强行排错法 B.集成测试法 C.回溯法 D.原因排除法

(57)下列叙述中,不属于软件需求规格说明书的作用的是(D)注:P71 A.便于用户、开发人员进行理解和交流 B.反映出用户问题的结构,可以作为软件开发工作的基础和依据 C.作为确认测试和验收的依据 D.便于开发人员进行需求分析

(58)在数据流图(DFD)中,带有名字的箭头表示(C)A.控制程序的执行顺序 B.模块之间的调用关系 C.数据的流向 D.程序的组成成分

(59)SQL语言又称为(C)A.结构化定义语言 B.结构化控制语言 C.结构化查询语言 D.结构化操纵语言

(60)视图设计一般有3种设计次序,下列不属于视图设计的是(B)A.自顶向下 B.由外向内 C.由内向外 D.自底向上(61)数据结构中,与所使用的计算机无关的是数据的(C)A.存储结构 B.物理结构 C.逻辑结构 D.物理和存储结构

(62)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是(D)A.ABCED B.DBCEA C.CDABE D.DCBEA(63)线性表的顺序存储结构和线性表的链式存储结构分别是(B)A.顺序存取的存储结构、顺序存取的存储结构 B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构 D.任意存取的存储结构、任意存取的存储结构

(64)在单链表中,增加头结点的目的是(A)A.方便运算的实现 B.使单链表至少有一个结点 C.标识表结点中首结点的位置 D.说明单链表是线性表的链式存储实现

(65)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B)注:P73 A.模块间的关系 B.系统结构部件转换成软件的过程描述 C.软件层次结构 D.软件开发过程

(66)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(B)注:P82 A.PAD图 B.N-S图 C.结构图 D.数据流图

(67)数据处理的最小单位是(C)注:数据项不可再分割 A.数据 B.数据元素 C.数据项 D.数据结构

(68)下列有关数据库的描述,正确的是(C)注:P102 A.数据库是一个DBF文件 B.数据库是一个关系 C.数据库是一个结构化的数据集合 D.数据库是一组文件

(69)单个用户使用的数据视图的描述称为(A)注:P108 A.外模式 B.概念模式 C.内模式 D.存储模式(70)需求分析阶段的任务是确定(D)A.软件开发方法 B.软件开发工具 C.软件开发费用 D.软件系统功能(71)算法分析的目的是(D)注:书中没有总结,但要牢记

A.找出数据结构的合理性 B.找出算法中输入和输出之间的关系 C.分析算法的易懂性和可靠性 D.分析算法的效率以求改进(72)链表不具有的特点是(B)A.不必事先估计存储空间 B.可随机访问任一元素

C.插入删除不需要移动元素 D.所需空间与线性表长度成正比

(73)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是(B)A.堆排序 B.直接插入排序 C.快速排序 D.直接选择排序(74)用链表表示线性表的优点是(A)注:因为不需要移动元素

A.便于插入和删除操作 B.数据元素的物理顺序与逻辑顺序相同 C.花费的存储空间较顺序存储少 D.便于随机存取

(75)下列不属于结构化分析的常用工具的是(D)注:P67 A.数据流图 B.数据字典 C.判定树 D.PAD图

(76)软件开发的结构化生命周期方法将软件生命周期划分成(A)A.定义、开发、运行维护 B.设计阶段、编程阶段、测试阶段 C.总体设计、详细设计、编程调试 D.需求分析、功能定义、系统设计

(77)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是(C)注:P87 A.循环的集合 B.地址的集合 C.路径的集合 D.目标的集合

(78)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有(D)注:数据模型采用关系模型(二维表)A.数据无冗余 B.数据可共享

C.专门的数据管理软件 D.特定的数据模型(79)分布式数据库系统不具有的特点是(B)A.分布式 B.数据冗余

C.数据分布性和逻辑整体性 D.位置透明性和复制透明性

(80)下列说法中,不属于数据模型所描述的内容的是(C)注:P110 A.数据结构 B.数据操作 C.数据查询 D.数据约束

(81)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成(C)A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构(82)下列叙述中,错误的是(B)A.数据的存储结构与数据处理的效率密切相关 B.数据的存储结构与数据处理的效率无关 C.数据的存储结构在计算机中所占的空间不一定是连续的 D.一种数据的逻辑结构可以有多种存储结构

(83)线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是(D)A.每个元素都有一个直接前件和直接后件 B.线性表中至少要有一个元素 C.表中诸元素的排列顺序必须是由小到大或由大到 D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件

(84)线性表若采用链式存储结构时,要求内存中可用存储单元的地址(D)A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续不连续都可以(85)栈通常采用的两种存储结构是(A)A.顺序存储结构和链式存储结构 B.散列方式和索引方式 C.链表存储结构和数组 D.线性存储结构和非线性存储结构(86)下列数据结构中,按先进后出原则组织数据的是(B)A.线性链表 B.栈 C.循环链表 D.顺序表(87)树是结点的集合,它的根结点数目是(C)A.有且只有1 B.1或多于1 C.0或1 D.至少2(88)具有3个结点的二叉树有(D)A.2种形态 B.4种形态 C.7种形态 D.5种形态(89)设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(B)A.12 B.13 C.14 D.15(90)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的(C)A.安全性 B.一致性 C.可理解性 D.合理性(91)为了提高测试的效率,应该(D)注:P85 A.随机选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划 D.集中对付那些错误群集的程序(92)软件生命周期中所花费用最多的阶段是(D)A.详细设计 B.软件编码 C.软件测试 D.软件维护

二、填空题

(1)算法的复杂度主要包括______复杂度和空间复杂度。答:时间(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。答:存储结构#物理结构

(3)若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。答:黑盒

(4)如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体“工人”与实体“设备”之间存在______联系。答:一对多#1:N#1:n(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和______。答:投影(6)在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。答:中序

(7)结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。答:模块化

(8)软件的调试方法主要有:强行排错法、______和原因排除法。答:回溯法(9)数据库系统的三级模式分别为______模式、内部级模式与外部级模式。答:概念#概念级

(10)数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。答:数据存储(11)设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。答:250(12)在最坏情况下,冒泡排序的时间复杂度为______。答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)(13)面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。答:实体

(14)软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。答:需求获取(15)______是数据库应用的核心。答:数据库设计

(16)数据结构包括数据的______结构和数据的存储结构。答:逻辑

(17)软件工程研究的内容主要包括:______技术和软件工程管理。答:软件开发 注:P64(18)与结构化需求分析方法相对应的是______方法。答:结构化设计

(19)关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。答:参照完整性

(20)数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。答:概念 注:P110(21)栈的基本运算有三种:入栈、退栈和______。答:读栈顶元素#读栈顶的元素#读出栈顶元素

(22)在面向对象方法中,信息隐蔽是通过对象的______性来实现的。答:封装(23)数据流的类型有______和事务型。答:变换型 注:P77(24)数据库系统中实现各种数据管理功能的核心软件称为______。答:数据库管理系统#DBMS 注:要牢记,重要

(25)关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。答:查询 注:要牢记

(26)实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 ______。答:空间复杂度和时间复杂度(27)数据结构包括数据的逻辑结构、数据的 ______以及对数据的操作运算。答:存储结构 注:P7(28)一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的______。答:可重用性

(29)面向对象的模型中,最基本的概念是对象和 ______。答:类

(30)软件维护活动包括以下几类:改正性维护、适应性维护、______维护和预防性维护。答:完善性 注:要牢记,书中没有提到

(31)算法的基本特征是可行性、确定性、______和拥有足够的情报。答:有穷性

(32)顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中。答:相邻

(33)Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向______的设计方法。答:数据结构 注:P67(34)数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。答:概念设计阶段#数据库概念设计阶段

(35)数据库保护分为:安全性控制、______、并发性控制和数据的恢复。答:完整性控制 注:要牢记(36)测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。答:调试

(37)在最坏情况下,堆排序需要比较的次数为______。答:O(nlog2n)(38)若串s=“Program”,则其子串的数目是______。答:29(39)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于______的联系。答:1对多#1:N(40)数据库管理系统常见的数据模型有层次模型、网状模型和______三种。答:关系模型

(41)数据的逻辑结构有线性结构和_______两大类。答非线性结构

(42)数据结构分为逻辑结构与存储结构,线性链表属于_______。答:存储结构(43)数据的基本单位是_______。答:元素

(44)长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为______。答:n/2(45)当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为______。答:上溢

(46)在面向对象方法中,类之间共享属性和操作的机制称为_______。答:继承

第四篇:计算机VB二级公共基础知识总结

数据结构的基础知识

数据结构的定义:指数据对象及其相关关系和构造方法。

结构是指结点之间的关系,数据结构就是在结点的优先集合和关系的有限集合。

数据结构的逻辑结构是指结点和结点间的相互关系。

数据结构在计算机的存储内容,一般包括结点的值和结点间的关系,数据结构的存储形式就是数据的存储结构。

数据结构按逻辑关系的不同分为线形结构和非线性结构两大类,非线性又分为树形结构和图结构,树形结构又分为树结构和二叉树结构。2 线性表

线性表是最简单、最常用的一种数据结构,它是由相同类型的结点组成的有限序列。线性表最重要的性质是线性表中结点的相对位置是确定的。

线性表常用的运算有4种:查找运算、插入运算、删除运算和其他运算。

线性表的存储方式主要有:

1)顺序存储:能直接访问线性表中的任意一个结点。2)链接存储:用单链表存储线性表。3 栈和队列的含义

栈是只允许在同一端进行插入和删除运算的线性表。

队列是只允许在一端进行插入运算,另一端进行删除运算的线性表。4 数组和字符串的特点 数组是最常用的数据结构之一,一般用于描述顺序存储的线性表。数组有固定个数的元素组成,全部元素的类型相同,元素按照顺序存储。每个元素对应一个下标,数组元素按数组名和元素的下标引用,引用数组元素的下标个数称为数组的维数。最常用的是二维数组。5 树的基本概念、存储结构和遍历

树是一种多分支、多层次的数据结构,有一组结点组成。树是由一个结点或多个结点组成的有限集T,满足以下两个条件: 1)有一个特定的结点,称为根结点

2)其余的结点分成m个互不相交的有限集T0等,每个集合都是根结点的子树。

树的定义是递归的,即一棵树是由子树组成,子树由更小的子树构成。树的存储结构:树是非线性的结构,有多种实用的存储结构,最常用的是标准存储形式和带逆存储形式。

树的遍历方法有4种:树的前序遍历、树的后序遍历、树的层次遍历、访问树中所有的叶子特点。6 二叉树的基本概念及遍历

二叉树是一个有限的结点集合,该集合或者为空,或者有一个结点及其两棵树不相交的左右二叉子树组成。

二叉树的遍历:前序遍历,中序遍历、后序遍历。7二叉查找树

查找树便于链接存储,还能实现快速查找。或者为空,或者满足以下3个条件:A 该树根结点的左子树非空,其左子树所有结点的键值都小于该树根结点的键值。B该树根结点的右子树非空,其右子树所有结点的键值都大于该树根结点的键值C该树的根结点的左子树和右子树均为查找树。8 关于排序与查找,散列表

对于有N个结点的线性表,将结点中某些数据项的值按递增或递减的次序,重新排列线性表结点的过程,称为排序。

查找就是在案某种数据结构形式存储的数据集合中,找出满足指定条件的结点。

散列表又称杂凑表是一种非常实用的查找技术。由于查找码与结点在数据结构中的位置不存在确定关系,查找只能通过对查找码与结点的关键码的反复比较来实现。第二章 程序设计基础知识 1程序设计的方法与风格

程序设计的方法主要是结构化程序的设计,集体有面向数据流的方法和面向数据结构的方法。数据结构既影响程序处理的结构又影响程序处理的过程。

程序设计风格主要是指面向过程的程序设计和面向对象的程序设计。面向过程的程序设计主要是指根据事物本身的逻辑过程进行编程的一种方法,而面向对象的主要是强调程序的功能模块化,同时引入了继承、多态的概念,使程序易于编写和维护,最适合规模较大的软件。2 结构化的程序设计

结构化的程序(SP)设计采取自顶向下逐步求精的设计方法和单入口单出口的控制结构。其设计方法符合抽象和分解的原则。其控制结构使程序的静态结构和动态结构执行过程一致。3面向对象的设计方法及相关概念

面向对象方法是一种支持模块化设计和软件重用的编程方法。它把程序设计的主要活动集中在建立对象和对象之间的联系上,其基本思想是封装性和可扩展性。以软件设计的对象为基础。

对象:在计算机系统中,指一组属性以及这组属性上的专用操作的封装体。一个对象通常可由对象名,属性和操作3个部分组成。封装:是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。其目的是使对象的使用者和生产者分离,使对象的定义和实现分开。

属性:对象的特性,是对象外观及行为的特征。

方法:对象所具有的功能。每一个对象的属性,只能通过特定的操作来存取或者修改,这种特定的操作就是方法。

继承:在某个类的层次关联中,不同的类共享属性和操作的一种机制。一个子类可以只有唯一的一个父亲,被称为单一继承,一个子类也可以由多个父亲,从多个父亲中继承特性,叫多重继承。

多态性:指同一个操作作用于不同对象可以有不同的解释,产生不同的执行结果。

动态绑定:在运行过程中,当一个对象发送信息请求服务时,要根据接收对象的具体情况将请求的操作与实现方法连接。

第三章 软件工程基础知识 1软件生存周期各阶段的任务

软件生存周期指软件定义、软件开发和软件维护等阶段组成的全过程。

A定义阶段;确定系统的逻辑模型,产生有需求规格说明书

B开发阶段:软件设计、编码和测试3部分。软件设计分为概要设计和详细设计。编码是用某种程序语言为每个模块编写程序,产生的文档有程序清单。软件测试的任务是发现软件中的错误加以纠正。C维护阶段:适应外界环境的变化,或扩充其功能,改善其质量,产生的文档有维护计划和维护报告。2 软件设计的原则

1)抽象原则;抽象的最低层次就是实现该软件的源程序代码。过程抽象和数据抽象是常有的两种抽象手段。2)模块化原则:

3)信息隐蔽原则:对提高软件的可修改性、可测试性和可移植性有重要作用。4)模块独立的原则 3软件测试

软件测试的目的是尽可能多的发现软件产品中的错误和缺陷。白盒测试主要检查程序中的逻辑通路

黑盒测试主要检查程序的功能是否符合规格说明书的要求。大多的软件生产者使用Alpha测试和Beta测试,后者的开发者通常不在场。4软件开发工具和环境 软件工具是指用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。大多包括检测机制。

软件开发环境则把一组相关的工具集成在环境中,提供数据集成、控制集成和界面集成等机制。第四章 数据库的基础知识 1数据库

数据库:是存储在一起的相关数据的集合,能为各种用户共享,具有最下冗余度,数据间的联系密切,由较高的程序与数据独立性。数据库管理系统:指位于用户和操作系统之间的一层数据管理软件,为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新及各种数据控制。它是DBS的核心部分。

数据库系统:是实现有组织地,动态的存储大量关联数据,方便多用户访问的计算机软、硬资源组成的系统,即采用了数据库技术的计算机系统。2 数据模型

常有的数据模型有两种:一种是独立于任何计算机系统的模型,完全不涉及信息在计算机系统中的表示,称为“概念数据模型”。最著名的模型是“实体联系E-R模型”。另一种数据模型直接面向数据库的逻辑数据结构,被称为“基本数据模型”。

基本数据模型主要有层次、网状、关系三种模型。层次模型时用树型结构来表示实体类型及实体间联系的数据模型。网状模型用丛结构表示,关系模型用表格结构表示实体集,用键表示实体间的联系。网状模型采用有向图,层次模型采用树,关系模型采用二维表。在搜索数据时,层次模型采用单向搜索法,网状模型采用可从任一结点开始且沿任何路径搜索,关系模型则是通过对关系进行运算实现的。3 关系代数

关系数据库的数据与更新操作必须遵循实体完整性规则、引用完整性原则、用户定义完整性原则。

关系代数是以集合代数为基础发展起来的,以关系为运算对象的一组高级运算的集合。

关系代数的5种基本操作;并、差、笛卡儿积、投影和选择。关系代数的4种组合操作;交、联接、自然联接和除法。

4在数据库中,用概念模式描述全部数据的整体逻辑结构,负责物理结构与逻辑结构的定义和修改的人员是数据库管理员。数据库管理系统提供的数据定义语言的功能是描述数据库的结构,为用户建立数据库提供手段。在人事管理系统中,规定工程师的基本工资和奖金不能超过1500元,这样的数据完整性约束条件称之为用户定义完整性。在关系数据库的逻辑设计阶段,需将E-R模型转换为关系数据模型。

第五篇:全国计算机等级考试二级VB考点分析之过程

全国计算机等级考试二级VB考点分析之过程

6.1 Sub过程

考点1 建立Sub过程

通用Sub过程的结构与前面多次见过的事件过程的结构类似。一般格式如下:

[Static][Private][Public]Sub过程名[(参数列表)] 语句块

[Exit Sub] [语句块] End Sub

说明:

(1)Sub过程以Sub开头,以End Sub结束,在Sub和End Sub之间是描述过程操作的语句块,称为“过程体”或“子程序体”。

(2)End Sub标志着Sub过程的结束。

(3)Sub过程不能嵌套。

考点2 调用Sub过程

调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。

Sub过程的调用有两种方式:一种是把过程的名字放在一个Call语句中,一种是把过程名作为一个语句来使用。

(1)用Call语句调用Sub过程。

格式:Call过程名[(实际参数)]。

(2)把过程名作为一个语句来使用。

在调用Sub过程时,如果省略关键字Call,就成为调用Sub过程的第2种方式。与

第1种方式相比,它有两点不同:

(1)去掉关键字Call。

(2)去掉“实际参数”的括号。考点3 通用过程与事件过程

控件事件过程的一般格式为:

[Private | Public] Sub控件名_事件名(参数表)语句组

End Sub

窗体事件过程的一般格式为:

[Private][Public] Sub Form_事件名(参数表)语句组

End Sub

通用过程可以放在标准模块中,也可以放在窗体模块中,而事件过程只能放在窗体模块中,不同模块k中的过程(包括事件过程和通用过程)可以互相调用。当过程名唯一时,可以直接通过过程名调用;如果两个或两个以上的标准模块中含有相同的过程名,则在调用时必须用模块名限定,其一般格式为:

模块名.过程名(参数表)

一般来说,通用过程(包括Sub过程、Function过程)之间、事件过程之间、通用过程与事件过程之间,都可以互相调用。

6.2 建Function过程

考点4 建立Function过程

Function过程定义的格式如下:

[Static][Private][Public]Function过程名[(参数表列)][As类型] [语句块] [过程名=表达式] [Exit Function] [语句块] End Function

说明:

(1)Function过程以Function开头,以End Function结束,在两者之间是描述过程操作的语句块。

(2)调用Sub过程相当于执行一个语句,不直接返回值;而调用Function过程要返回一个值,因此可以像内部函数一样在表达式中使用。

考点5 调用Function过程

Function过程的调用比较简单,因为可以像使用Visual Basic内部函数一样来调用Function过程。实际上,由于Function过程能返回一个值,因此完全可以把它看成是一个函数,它与内部函数(如Sqr,Str$,Chr$等)没有什么区别,只不过内部函数由语句系统提供,而Function过程由用户自己定义。

6.3 参数传送

在Visual Basic中,通常把形式参数叫做“参数”,而把实际参数叫做“自变量”。

考点6 形参与实参

形参是在Sub,Function过程的定义中出现的变量名,实参则是在调用Sub或Function过程时传送给Sub或Function过程的常数、变量、表达式或数组。在Visual Basic中,可以通过两种方式传送参数,即按位置传送和指名传送。

考点7 引用

Visual Basic中,参数通过两种方式传送,即传地址和传值,其中传地址习惯上称为引用。在默认情况下,变量(简单变量、数组或数组元素以及记录)都是通过“引用”传送给Sub或Function过程的。在这种情况下可以通过改变过程中相应的参数来改变变量成值,这意着,当通过引用来传送实参时,可以改变传送给过程的变量的值。

考点8 传值

传值就是通过值传送实际参数,即传送实参的值而不是传送它的地址。在这种情况下,系统扭需要传送的变量复制到一个临时的单元中,然后把该临时单元的地址传送给被调用的通用过程。由于通过过程没有访问变量(实参)的原始地址,因此不会改变原来变量的值,所有的变化都是在变量的副本上进行的。

考点9 数组参数的传送

Visual Basic允许把数组作为实参传送到过程中。用数组作为过程的参数时,应在数组名的后面加上一对括号,以免与普通变量相混淆。除遵循参数传送的一般规则外,还应注意以下两点:

(l)为了把一个数组的全部元素传递给一个过程,应将数组名分别放入实参表和形参表中,并略去数组的上下界,但括号不能省略。

(2)如果不需要把整个数组传递给通用过程,可以只传递指定的单个元素,这需要在数组名后面的括号中定上指定的元素下标。

6.4 可选参数和可变参数

Visual Basic 6.0提供了十分灵活和安全的参数传送方式,允许使用可选参数和可变参数。在调用一个过程时,可以向过程传送可选的参数或者任意数量的参数。

考点10 可选参数

在调用一个过程时,有时并不是每次都要传递所有的参数。有些参数的存在是为了提供某项功能,但这项功能不是每次调用该过程时都需要的或者在调用这个过程时,某个参数在绝大部分时间内都使用同一个值,对于其他的值只有在特殊的情况下才使用。

使用可选参数时还应注意两点:

(1)如果某个参数被指定为可选参数,那么它后面的参数必须都是可选的。

(2)Optional关键字可以和ByVal关键字一起使用。

考点11 可变参数

在使用可变参数时应注意以下5点:

(1)ParamArray关键字只能用于参数列表中的最后一个参数。

(2)用ParamArray关键字声明的参数数组只能是Variant类型。

(3)ParamArray关键字不能和ByVal关键字,ByRef关键字以及Optional关键字一起使用。

(4)如果使用ParamArray关键字声明可变个数参数,那么其他的参数都不能被声明为可选的。

(5)用ParamArray关键字声明的参数数组,无论是否使用了Option Basel语句,它的下界总是0。

6.5 对象参数

考点12 对象参数

和传统的程序设计语言不同,Visual Basic允许用对象作为参数,即窗体或控件作为通用过程的参数。在有些情况下,这可以简化程序设计,提高效率。实际上,在Visual Basic中还可以向过程传送对象,包括窗体和控件。

对象作为参数与用其他数据类型作为参数的过程没有什么区别,其格式为:

Sub过程名(形式参数表)语句块

[Exit Sub] …

End Sub

“形式参数表”中的形参的类型通常为Control或Form注意,在调用含有对象的过程时,对象只能通过传地址方式传送。因此在定义过程时,不能在其参数前加关键字ByVal。

6.6 局部内存分配

考点13 局部内存分配

有时候,在过程结束时,可能不希望失去保存在局部变量中的值。如果把变量声明为全局变量或模块级变量,则可解决这个问题。但如果声明的变量只在一个过程中使用,则这种方法并不好。为此,Visual Basic提供了一个Static语句,其格式为:

Static变量表

其中“变量表”的格式如下:

变量[()][As类型][,变量[()][As类型]]…

可以看出,Static语句的格式与Dim语句完全一样,但Static语句只能出现在事件过程、Sub过程或Function过程中。在过程中的Static变量只有局部的作用域,即只在本过程中可见,但可以和模块级变量一样,即使过程结束后,其值仍能保留。

在程序设计过程中,Static语句常用于以下两种情况:

(1)记录一个事件被触发的次数,即程序运行时事件发生的次数。

(2)用于开关切换,即原来为开,将其改为关,反之亦然。

6.7 Shell函数

考点14 shell函数

在Visual Basic中不但可以调用通用过程,而且可以调用各种应用程序。也就是说,凡是能在Windows下运行的应用程序,基本上都可以在Visual Basic中调用。这一功能通过Shell函数来实现。

Shell函数的格式如下:

Shell(命令字符串[,窗口类型])

其中“命令字符串”是要执行的应用程序的文件名(包括路径),它必须是可执行文件,其扩展名为.COM,.EXE,.BAT或.PIF,其他文件不能用Shell函数执行。

下载【考试大论坛】-全国计算机二级VB要点总结(共五篇)word格式文档
下载【考试大论坛】-全国计算机二级VB要点总结(共五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐