2011 年江苏VB考试要求及归纳.doc_第1页
2011 年江苏VB考试要求及归纳.doc_第2页
2011 年江苏VB考试要求及归纳.doc_第3页
2011 年江苏VB考试要求及归纳.doc_第4页
2011 年江苏VB考试要求及归纳.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB二级考试考点Visual Basic考试要求及归纳一 Visual Basic 的基本概念。面向对象设计的基本概念 对象:动作体的逻辑模型称为“对象”。在VB中对象就是可控制的某种东西。 属性:“属性”是用来描述对象的特征。 方法:“方法”是指对象可以进行的动作或行为。 事件:对象可以识别的动作。 事件驱动:就是面向对象的可视化窗口,窗体和事件就是对象,事件驱动就是一切程序由事件触发,这是进行基础编程的基础,就是以事件为基础。例如:红色的气球被我扎破飞走了。对象是气球,属性是红色,方法是飞走,事件是扎破。开发Visual Basic应用程序的一般步骤。窗体名必须以一个字母开头,可以包含数字和下划线,但不能包含空格和标点符号,长度不超过40个字符启动VB,开始新工程创建用户界面加入程序代码保存工程文件运行及调试生成可执行程序打印窗体和代码二 Visual Basic的界面设计创建窗体。 窗体的常用属性属性名分类描述缺省值名称(name)杂项窗体对象的引用名Form1Caption外观窗体标题Form1BackColor外观返回或设置对象中文本和图形的背景色ForeColor外观返回或设置对象中文本和图形的前景色BorderStyle外观返回或设置对象的边框样式2Enabled行为决定对象是否活动TrueVisible行为决定对象是否可见TrueFont字体用于设置文本对象的字体、字型、字号等Moveable位置决定窗体能否被移动TrueLeft位置对象左边界距容器坐标系纵轴的距离Top位置对象上边界距容器坐标系横轴的距离Width位置对象的宽度Height位置对象的高度Picture外观返回或设置对象中的图形 常用的窗体方法:Hide,Move,Print,PrintForm,Refresh,Show,Cls. 常用的窗体事件:Click,Initialize,DblClick,Load,Resize,Activate,Deactivate。 窗体的显示与隐藏、装载与卸载。基本控件的特性及应用:1. 文本框(TextBox)属性 Name(名称):文本框的名称,命名规则同窗体(以下同) Text:文本属性,输入的内容大小不超过64KB。 PasswordChar:口令属性 MaxLength:最大长度属性。缺省为0,表示可以接受人任意个字符。 MultiLine:多行属性。若属性值为True,则可以输入多行文本,反之则不可以。 ScrollBars:滚动条属性。0没有滚动条,1有水平滚动条,2有垂直滚动条,3两者都有。本属性只有在MultiLine属性为True时才有效。 Alignment:对齐属性。缺省为0,左对齐;1是右对齐;2是居中。方法 Refresh:刷新。 SetFocus:设置焦点,文本框具有闪烁的光标。事件 Change:文本框内容发生变化的时候触发本事件。 LostFocus:当光标离开文本框的时候,会引发本事件。 KeyPress:当用户按下某个键时,引发本事件。2. 标签(Lable)属性 Caption:标题属性。文本内容不得超过1024B Alignment:对齐属性。类似于TextBox的属性 AutoSize:大小自适应属性。当取值为True时,可以根据文本自动调整标签大小,反之大小不能改变,超过的文本将被截断。3. 命令按钮(CommmandButton) Cancel:取消属性。当属性值被设置为True时,按【Esc】键等同于单击本按钮。 Default:确定属性。当某个命令的本属性被设为True时,窗体其它按钮的该属性自动被设为False。在程序运行时,当无其它命令按钮获得焦点,按回车键即等同于单击本按钮(一般用于“确定”按钮)。4. 列表框(ListBox)属性 List:表属性。用于保存列表内容实用下来形式访问表列:对象名.List(列表项序号) ListCount:列表项数目 ListIndex:列表项索引。其值为最后选中的列表项序号,如果未选中任何项目,则其值为-1 Text:列表项正文 Columns:列表框显示形式。取值为0时,逐行显示列表项,可能有垂直滚动条;取值大于0时,列表项可占多列显示。 Sorted:排序属性。取值为True时,各项列表将按ASCII代码依次排序;取值为False时,将不排序。 Selected:选择属性。当选中某一项时为True,注意:Selected属性只能在代码中使用。方法AddItem:添加列表项。使用下面的格式来添加:Object.AddItem,插入位置序号。若不指定插入位置,则插入到列表项末尾。 Clear:删除列表所有项目。 RemoveItem:删除列表项。用法:Object.RemoveItem删除项序号。5. 图像控件(Image)和图片框(Picture)图像控件用来显示一个图形。图片框控件的属性比图像控件多得多。图片库控件还可以还可以像窗体一样作为其他控件的容器。图片框控件的方法主要有 Cls和Refresh等。可使用图片框控件的Print方法在图片框显示文本和数据处理结果。6. 选项按钮(OptionButton)、复选框(CheckBox)与框架控件(Frame)复选框的Value属性,有三个取值:0未选中;1选中;2变灰,表示暂时不能访问。7计时器控件(Timer)Interval:时间间隔属性,单位为千分之一秒。Enabled:活动属性,取值为True与False。(其相应的事件仅有Timer。)定制窗体菜单:创建下拉菜单和弹出式菜单。使用菜单编辑器:如果要在菜单的两个命令项之间加一条分隔线,可在标题文本框中键入一个连字符(-)。如果想要通过键盘访问菜单,可在标题名称中某个字母前插入&符号,在运行程序的时候同时按下【Alt】键和该字母键就可以打开该命令菜单。若要在菜单中显示&符号,则应在标题中连续输入两个&符号。VB最多允许创建四级子菜单。具体创建菜单的过程要上机练习!三 Visual Basic语言基础程序代码组织方式:“过程”就是具有特定书写格式、包含若干可被作为一个整体执行的一个代码组。根据执行的方式可分为“事件过程”和“通用过程”。1. 事件过程:事件过程存储在被称为“窗体模块”的文件中(扩展名.frm),而且在缺省的情况下是私有的(Private)。2. 通用过程:可被共享的代码构成的过程称为“通用过程”。在缺省的情况下是“共有的”。“模块”是VB用于不同类型的过程代码组织到一起而提供的一种结构。在VB中有三种类型的模块,即窗体模块、标准模块和类模块。1. 窗体模块:应用程序的每个窗体中都有一个相对应的窗体模块。如果某些通用过程仅供本窗体内的其他过程共享,则它应包含在窗体模块中。2. 标准模块:在应用程序中可被多个窗体共享的代码,应当被组织到“标准模块”中。标准模块的扩展名为.bas程序代码的书写规则:VB程序是按行书写的。一个语句可在一行上,也可以通过在行的末尾加上“续行标志“( _:一个空格加上一个下划线字符),而分写在多行上;另外,也可在一个代码行上写入多个语句,但语句之间需要用冒号“:”分隔。VB中不区分大小写。数制与数据类型数据类型存储大小取值范围Integer(整数) 2B3276832767 Long(长整数) 4B Single(单精度) 4B Double(双精度) 8B Byte(字节型数)1B0255 Boolean(逻辑型数) 2BTrue或False String(字符型) Variant(变体型常量) =16B不同类型常量的表示方法,系统内置常量、用户定义常量的方法。数值常量:VB中允许使用八进制与十六进制数,如:&O137,表示是一个八进制数137,相当于十进制数95。字符常量:字符常量容纳的字符数(长度),最多可达65535个。逻辑型常量:只有两个取值:True或False日期常量符号常量:常量名是一个长度不超过255个字符,只能由字母、数字和下划线组成且首字母必须是字母的字符串。常量名中的字母不区分大小写。如在程序中使用自定义符号常量,则应用Const语句进行说明。形式如下:PublicPrivateConstAs Type= Const Tax As Single=1.05变量 :变量命名;全局变量、局部变量和静态变量的说明;变量作用域。1. 变量名及类型说明变量名的命名规则如下: 由字母、数字和下划线组成,首字母必须是字母; 长度不超过255个字符; 在作用域内必须唯一; 作为变量名的字符串内不得包括点号和用于说明的字符%、&、!、#、$。2. 变量的作用域与变量说明语句变量作用域等级范围局部在过程中说明,仅在说明的它的过程中有效窗体/模块在窗体或模块中说明,在定义该变量的模块或窗体的所有过程内均有效全局(公有)在模块或窗体中说明,在工程内的所有过程中都有效变量说明语句:DimAs,As PublicAs,As PrivateAs,As StaticAs,As其中 Public语句用于说明全局变量,Private语句用于说明窗体/模块级变量,它们都只能用在模块的通用部分;Static用于过程级的静态变量,而Dim语句比较常用。在说明一个变量后,系统会自动赋予一个初始值。数值是0,变长字符串是空串,定长字符串为n个空格。逻辑变量为“False”。说明字符:说明字符示例意义%x%表示x是整型变量&x&表示x是长整型变量!x!表示x是单精度变量#x#表示 x是双精度变量x表示x是货币型变量$x$表示x是字符型常量数组:数组命名及说明;数组类型、数组结构;数组元素;静态数组与动态数组;数组重定义。数组命名数组命名的一般形式如右:数组名(下标1,下标2,),其中下标可以是常量、变量或算术表达式。当下标非整数时,会按照CInt函数的方式将其转化为整数处理。VB规定数组的维数不得超过60。数组说明数组说明语句形式如下:PublicPrivateStaticDim()As,使用不同关键字的说明语句的数组的作用域有所不同语句适用范围Public用于标准模块的声明段,定义全局数组Public和Private用于模块的声明段,定义模块级数组Dim用于过程中,定义局部数组Static用在过程中,定义静态数组数组类型数组结构:二维数组按列存放,三维的的顺序是页,列,行。数组元素的赋值与引用静态数组、动态数组与数组重定义动态数组的命名:PublicPrivateStaticDim(数组名)As数据类型重新定义:ReDimPreserve数组名(维界定义)As数据类型, ReDim语句是一个可执行语句,只能出现在过程当中。注意:重新定义动态数组的时候,不能改变数组的数据类型,除非是变体型所包含的数组。当没有关键字Preserve的时候可以改变动态数组维数和各维的上、下界。有Preserve的时候只能改变最后一维的维上界。运算符与表达式:算术运算、关系运算、逻辑运算与字符运算;各种运算的优先级。算术运算符:VB中有以下几种运算符: 乘方运算符/ 除+加 - 减 整除 Mod 取余运算 * 乘 & 字符串连接运算其运算次序: -(符号)* 和 / (整除) Mod + 和 - &关系运算符运算符=Is功能小于小于等于大于大于等于不等于等于比较连两个对象的引用变量关系表达式A=z/2等关系表达式的运算是采用“按值比较”的方法,即先求出运算符两边的表达式的“值”(若是变量则取当前值),如果两端的值满足关系运算符,则结果为“True”,否则为“False”。字符型运算是按照字符的ASCII代码,自左至右按照“逐个比较,遇大则大,长大短小,完全相同,才是相等”的原则进行的。例如:“aBcd” ”abc” 的运算结果是“False”,因为字母“B”的ASCII代码小于字母“b”。逻辑运算符与表达式Not,And,Or,Xor(a,b中只有一个为真时,才为真)。逻辑表达式四 Visual basic的基本语句。option语句:Option Explicit、Option Base。顺序结构语句。1. 赋值语句: 相同类型数据之间的赋值:赋值语句的一般形式:var= 不同类型数据之间的赋值 如果变量是字符型,而表达式是数值类型(算术表达式),则系统把表达式的值转化为字符型赋给变量。 逻辑型,则所有的非零值,系统都转化为True赋给变量,0则转化为False赋给变量。 把一个逻辑值赋给一个整型变量,True为-1,False为0 逻辑值赋给字符变量,相应的是什么就是什么。如True就是True。 把一个字符赋给一个数值,则出错。 Print方法、Cls方法。分支结构语句:ifThen结构语句和Select Case结构语句。循环结构语句:DoLoop结构语句和ForNext结构语句。五 公共函数算数函数、字符串函数、日期与时间函数、转换函数、用户交互函数,数组函数。六 过程设计 选择与分支:例如求三角形的面积Private Sub Command1_Click() Dim a As Single, b As Single, c As Single, p As Single, s As Single a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If a + b c And a + c b And b + c a Then 数据的合法性判断 p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c) Text4.Text = CStr(s) Else Text4.Text = 数据错误 End IfEnd SubPrivate Sub Command2_Click() Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Sub 循环结构与分支结构Do While e Do Exit Do Exit Do 当条件为真时执行 Loop Loop While eDo Until e Do Exit Do Exit Do 当条件为真时退出 Loop Loop Until e例如求两个数的最大公约数: 基本一:求最大公约数Private Sub Command1_Click() Dim m As Long, n As Long Dim r As Long m=Val(Text1.Text) n = Val(Text2.Text) If m 1 Or n 1 Then Text3.Text = 数据错误 Else Do r = m Mod n m = n n = r Loop Until r = 0 Text3.Text = CStr(m) End IfEnd SubPrivate Sub Command2_Click() Text1.Text = Text2.Text = Text3.Text = Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Sub又有:For-Next 循环结构For v=e1 To e2 Step e3Exit ForNext v例如求十以内的和与累乘积Private Sub Form_click() Dim i As Integer, sum As Integer, fact As Long sum = 0 Print sum=; For i = 1 To 10 sum = sum + 1 If i 10 Then Print i; +; Else Print i; =; End If Next i Print sum fact = 1 Print fact=; For i = 1 To 10 fact = fact * i If i max Then max = compare(i) ElseIf compare(i) min Then min = compare(i) End If Next i Print 最大数是:; max Print 最小数是:; minEnd Sub随机产生20个1-50之间的互不相同的整数,并求出它们的平均值。参考代码如下:Option Base 1Private Sub Command1_Click() Dim A(20) As Integer, K As Integer, J As Integer Dim sum As Integer, Idx As Integer Do While Idx Idx Then Idx = Idx + 1 A(Idx) = K sum = sum + A(Idx) Text1 = Text1 & Str(A(Idx) If Idx Mod 10 = 0 Then Text1 = Text1 & vbCrLf End If Loop Text2 = 平均值为: & sum / 20End SubPrivate Sub Command2_Click() Text1 = Text2 = Text1.SetFocusEnd Sub找出一百以内的所有素数,存放在数组Prime中,并将所找到的素数按每10个形式显示在窗体上。Private Sub Form_Click() Dim prime(50) As Integer, i As Integer Dim k As Integer, m As Integer, j As Integer prime(1) = 2 m = 1 For i = 3 To 99 Step 2 For k = 2 To Sqr(i) If i Mod k = 0 Then Exit For Next k If k Sqr(i) Then m = m + 1 prime(m) = i End If Next i k = 0 For j = 1 To m k = k + 1 Print prime(j); If k Mod 10 = 0 Then Print Next jEnd Sub用选择法对10个数进行排序:Option Base 1Private Sub Command1_Click()Dim sort(10) As Integer, temp As Integer Dim i As Integer, j As Integer Randomize For i = 1 To 10 sort(i) = Int(Rnd * (100 - 1) + 1 Text1 = Text1 & Str(sort(i) Next i For i = 1 To 9 For j = i + 1 To 10 If sort(i) sort(j) Then temp = sort(i) sort(i) = sort(j) sort(j) = temp End If Next j Text2 = Text2 & Str(sort(i) Next i Text2 = Text2 & Str(sort(i)End Sub 直接排序法:代码如下Option ExplicitOption Base 1Private Sub Command1_Click() Dim sort(10) As Integer, temp As Integer Dim i As Integer, j As Integer Dim pointer As Integer Randomize For i = 1 To 10 sort(i) = Int(Rnd * (100 - 1) + 1 Text1 = Text1 & Str(sort(i) Next i For i = 1 To 9 pointer = i For j = i + 1 To 10 If sort(pointer) sort(i) Then pointer = j End If Next j If i pointer Then temp = sort(i) sort(i) = sort(pointer) sort(pointer) = temp End If Text2 = Text2 & Str(sort(i) Next i Text2 = Text2 & Str(sort(i) End SubPrivate Sub Command2_Click() Text1 = Text2 = Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Sub二分查找程序Option ExplicitDim search As VariantPrivate Sub Command1_Click() Dim left As Integer, right As Integer Dim mid As Integer, flg As Boolean Dim find As Integer find = InputBox(输入要查找的数) left = 1: right = UBound(search) flg = False Do While left search(mid) Then left = mid + 1 Else right = mid - 1 End If Loop If flg Then Text2 = 要查找的数 & Str(find) & 在search( & Str(mid) & )中 Else Text2 = Str(find) & 不在数组中 End IfEnd SubPrivate Sub Command2_Click() Text1 = Text2 = End SubPrivate Sub Command3_Click() EndEnd SubPrivate Sub Command4_Click() Dim v As Variant search = Array(12, 17, 23, 28, 39, 41, 46, 57, 61, 78, 83, 85, 89, 93) For Each v In search Text1 = Text1 & Str(v) Next vEnd Sub七 Function和 Sub程例如:找出100以内的所有素数,存放在数组Prime中,并将所找到的素数按照每行10个的形式显示在窗体上。Option ExplicitOption Base 1Private Sub Form_Click() Dim prime() As Integer, I As Integer Dim M As Integer, J As Integer For I = 1 To 100 If sushu(I) Then M = M + 1 ReDim Preserve prime(M) prime(M) = I End If For J = 1 To UBound(prime) Print prime(J); If J Mod 10 = 0 Then Print Next J Next IEnd SubPrivate Function sushu(N As Integer) As Boolean Dim I As Integer sushu = False For I = 2 To Sqr(N) If N Mod I = 0 Then Exit For Next Isushu = TrueEnd Function编写一个求 n!的函数过程Private Function fact(ByVal n As Integer) As Long Dim k As Integer fact = 1 If n = 0 Or n = 1 Then Exit Function Else For k = 1 To n fact = fact * k Next k End IfEnd FunctionPrivate Sub Command1_Click() Dim n As Integer, m As Long n = Val(Text1.Text) m = fact(n) Text2 = mEnd SubPrivate Sub Command2_Click() Text1 = Text2 = Text1.SetFocus End SubPrivate Sub Command3_Click() EndEnd Sub 编写一个找出任一个正整数因子的程序:Private Sub Command1_Click() Dim inta As Integer, st As String inta = Text1.Text Call factor(inta, st) Text2.Text = stEnd SubPrivate Sub factor(ByVal n As Integer, s As String) Dim i As Integer For i = 1 To n - 1 If n Mod i = 0 Then s = s & Str(i) Next iEnd Sub 编写程序,求两个正整数的最大公约数。Option ExplicitPrivate Sub Form_Click() Dim m As Integer, n As Integer, g As Integer n = InputBox(输入N:) m = InputBox(输入M:) g = gcd(n, m) Print n; 和; m; 的最大公约数是:; gEnd SubPrivate Function gcd(ByVal a As Integer, ByVal b As Integer) As IntegerPrivate Function gcd(ByVal a As Integer, ByVal b As Integer) As Integer Dim r As Integer r = a Mod b Do r = a Mod b a = b b = r Loop Until r = 0gcd = aEnd Function Dim r As Integer r = a Mod b Do While r 0 a = b b = r r = a Mod b Loop gcd = bEnd Function 递归过程的使用:例如:还是求n!的程序,使用递归的方法。Private Sub Form_Click() Dim n As Integer, f As Long n = InputBox(输入一个正整数) f = fact(n) Print n; !=; fEnd SubPrivate Function fact(ByVal n As Integer) As Long If n = 0 Or n = 1 Then fact = 1 Else fact = n * fact(n - 1) End IfEnd Function 二次调用例如:求三个数的最小公倍数:Private Sub Command1_Click() Dim a As Integer, b As Integer Dim l As Integer, c As Integer a = Text1 b = Text2 c = Text3 l = lcm(lcm(a, b), c) Text4 = lEnd SubPrivate Function lcm(ByVal x As Integer, ByVal y As Integer) Dim m As Long, flg As Boolean flg = False Do Until flg m = m + x If m Mod y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论