资源描述
VBVB 复习复习一、一、VBVB 的发展历史的发展历史Visual Basic(简称 VB)是在 BASIC 程序设计语言的基础上,吸收面向对象的编程技术发展而成的一门程序设计语言,主要用于开发在 Windows 环境下运行的具有图形用户界面的应用程序。二、二、VBVB 的特点的特点VB 最显著的特点可以概括为可视化可视化和事件驱动事件驱动。可视化特点利用预先建立的控件拖放到窗体上可以很方便地创建程序界面。事件驱动使得对用户界面上的任何操作都会自动转到对相应的代码进行处理,同时也为程序运行过程中各对象之间的关联建立了有效的机制。三、面向对象的程序设计方法三、面向对象的程序设计方法面向过程的程序设计方法设计的特点可以概括为:不但要关心数据,而且要关心数据不但要关心数据,而且要关心数据是如何处理的,即既要告诉程序干什么,又要告诉程序如何进行工作。是如何处理的,即既要告诉程序干什么,又要告诉程序如何进行工作。而面向对象的程序设计方法设计的程序可以概括为:程序=对象+事件(或消息),着眼点是对象,由于对象对数据描述和数据处理进行了封装,因此设计程序时只需要告诉对象干什么,而不必关心它是如何工作的。面向对象的程序设计方法,其基本元素是对象。类类(class)(class)是对相同性质的对象的一种是对相同性质的对象的一种抽象抽象(概念性的概念性的)。而一个对象则是类的一个“实例”(现实存在的)。在 VB 中,系统预先定义了众多的类,如控件工具箱中的命令按钮、文本框、定时器等控件就是 VB 系统预先定义的类,设计程序时可以用它来定义对象,当我们将控件工具箱中某个控件拖放到窗体上时,就相当于用类定义了一个对象。在面向对象的程序设计方法中,一个对象是由一组表示对象状态的数据和一组描述处理对象属性的方法的代码(行为)构成的。这里,每个数据代表一种属性。通常一个对象可以有若干个属性,这些属性的值反映了该对象的状态,VB 为每一个控件(类)都规定了若干属性,比如,命令按钮有显示方式、背景颜色、按钮名称、按钮标题、标题字体、标题字号、按钮大小位置和可见性等属性。处理对象属性的方法的代码用来描述改变对象属性,从而改变对象的状态的处理过程。四、可视化程序设计方法四、可视化程序设计方法用 VB 开发应用程序,包括两部分工作:一是设计图形用户界面;二是编写程序代码。VB 提供了一个“画板”(窗体)也就是用户界面,还提供一个“工具箱”,在“工具箱”中放了许多被称为“控件”的工具,比如有制作按钮的工具,有制作文本框的工具,有显示图形数据的工具等等。可以从工具箱中取出所需工具,拖放到“画板”中适当的位置上,这样就形成了“用户界面”,也就是说,屏幕上的用户界面是用 VB 提供的可视化设计工具“控件”直接“画”出来的,而不是用程序“写”出来的。五、事件驱动的编程机制五、事件驱动的编程机制用 VB 开发的应用程序其工作是通过事件来驱动的。事件:是指作用于某个对象上的事件:是指作用于某个对象上的一种操作或动作一种操作或动作,如运行程序时用鼠标单击窗体上的某个命令按钮时,“单击”(Click)这个动作就是作用在该命令按钮上的一个事件。VB 中的每个对象通常都可以响应多个不同的事件,一个对象可以响应哪些事件 VB 都预先进行了规定。用 VB 开发的应用程序,运行中当作用于某个对象上的事件发生时,要对相应的信息进行处理,使对象产生状态和行为的改变,这种处理和改变的实现要通过编写相应的程序代码段来进行规定,这种针对激活对象的事件编写相应程序代码段的编程机制称为事件驱动的编程机制,在 VB 中这样的代码段称为“事件过程”。“事件过程”是构成一个完整 VB应用程序不可缺少的组成部分,是 VB 应用程序的基本单元。“事件过程”由事件自动调用。六、标准数据类型六、标准数据类型七、常量七、常量在程序运行过程中,其值不能被改变的量称为常量。1、整型常量整型(Integer):表示-32768 至 32767 之间的整数:1012、实型常量:.3、字符串常量在 VB 中字符串常量是用双引号“”括起的一串字符,例如A+B=,GOOD!,123,0,VB 程序设计等。例:“3”+“72”的结果为“372”说明:(1)字符串中的字符可以是所有西文字符和汉字、标点符号等;(2)表示空字符串,而 表示有一个空格的字符串;(3)若字符串中有双引号,例如 ABDXYZ,则用连续两个双引号表示,即:ABDXYZ4、逻辑(Boolean)数据类型条件表达式的值就是逻辑型的,True,或 False八、变量八、变量1.以字母或汉字开头,后可跟字母、数字或下划线组成,长度小于等于 40 个字符;2.不能使用 VB 中的关键字;3.VB 中不区分变量名的大小写.(1)用 Dim 语句显式声明变量dim a,b,c as integer(2)隐式声明Visual Basic 允许用户在编写应用程序时,不声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。4、数组数组:用来存一个序列的同类型的类型数组:用来存一个序列的同类型的类型 如:dim a(1 to 10)as integer 定义了一个 a 整型数组,上标为 1,下标为 10,共有 a(1),a(2),a(3).a(10)10个数组元素可供使用,比使用 A,B,C,D,E.J 十个变量要方便许多。例:I=8,a(i)就是 a(8),a(i-5)就是 a(3)九九 、运算符和表达式、运算符和表达式1、算术运算符例:5+10 mod 10 9/3+2 2 结果是:(请用 VB 的立即窗口验证你的结果,分析运行次序!)2、字符串运算符与字符串表达式 字符串运算符有:、+功能是字符串连接例如:ABCD+EFGHI 结果为:ABCDEFGHI“VB”&“程序设计教程”结果为:VB 程序设计教程说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:+(连接运算):两个操作数均应为字符串类型;&(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为字符,然后进行连接操作。3、关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为 True,若关系不成立,结果为 False。VB 中的关系运算符如下表所示。运算符运算符含义含义优先级优先级实例实例结果结果小于小于所有关系运算优所有关系运算优先级相同。低于先级相同。低于算术运算的算术运算的“+”,“-”,高于逻辑,高于逻辑运算。运算。15+1020False=小于或等于小于或等于10大于大于1020False=大于或等于大于或等于3=1True=等于等于1=2False不等于不等于1111 True 4 逻辑运算符1)Not 条件表达式:取条件表达式逻辑值的相反值即当条件表达式=true 时,Not 条件表达式=false,当条件表达式=false 时,Not 条件表达式=true 2)条件表达式 1 And 条件表达式 2 条件表达式均为 T 结果为 T 3)条件表达式 1 Or 条件表达式 2 条件表达式有一个 T 结果为 T4)逻辑运算符的优先级为 not and or,5)它们用于将多个关系表达式进行逻辑判断。注意:not 是单目运算符(要求一个操作数),and、or 为双目运算符。例如,数学上表示某个数在某个区域时用表达式:10X=10 And X5 or 65 的结果为 TURE(请同学们考虑一下为什么?)12 的结果呢?是 TRUE 还是 FALSE?12 呢?例:请你写出下列逻辑表达式:a,b,c 三边判断能构成什么样的三角形(等边 等腰 普通)三角形的条件:任意两边之和大于第三边 表达式为:_等腰的条件:任意两边之和相等 达式为:_等边的条件:三边相等 达式为:_(3)参与逻辑运算的量一般都应是逻辑型数据,如果参与逻辑运算的两操作数是数值量,则以数值的二进制值逐位进行逻辑运算(0 当 False,1 当 True)。关系表达式与逻辑表达式常常用在条件语句与循环语句中,作为条件控制程序的流程走向。总结:1、优先级:算术运算符=字符运算符关系运算符逻辑运算 2、表达式的书写中需注意的问题(1)运算符不能相邻。例 a+-b 是错误的。(2)乘号不能省略。例 x 乘以 y 应写成:x*y (3)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准并排书写,不能出现上下标 (5)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。如:为:(b-sqr(b*b-4*a*c)/(2*a)aacbb242为:(a+b)/(a-b)baba十、十、函数函数VB 提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。1 1 、常用的数学函数见表所示常用的数学函数见表所示 说明:请注意 Int(x)和 Fix(x)的区别:Int(2.1)=2 Int(2.7)=2 Int(-2.1)=-3-3 Int(-2.7)=-3-3Fix(2.1)=2 Fix(2.7)=2 Fix(-2.1)=-2 Fix(-2.7)=-2总结:当 x 是整数时:Fix(2)=2 Int(2)=2 Fix(-2)=-2 Int(-2)=-2-2 当 x=0 或整数时,Int(x)=Fix(x),当 x0 且不是整数时,Int(x)=Fix(x)-1 三角函数 Sin(X)、Cos(X)、Tan(X)中的自变量是以弧度为单位。如:sin300 :sin(3.14159/180*30)2、常用的转换函数下表所示:说明:用立即方式验证上常用类型转换函数和字符串函数.,例如:字符的 ASCII 码函数:ASC(字符)=ASCII 码 Chr(ASCII 码)=字符例:ASC(“A”)=65 Chr(65)=“A”ASC(“*”)=42 Chr(42)=“a”ASC(“空格”)=32 Chr(32)=“空格”Len(“n83f=_&%GOOD!+f4fY”)=20 个字符 计算字符串的字符个数 Mid(“n83f=_&%GOOD!+f4fY”,10,5)=“GOOD!”提取第 10 个字符开始的 5个字符3、随机函数使用格式:RND 功能:产生一个小于 1 但大于等于 0 的单精度数,参数 N 决定了生成随机整数,可以使用下面的表达式:产生随机整数范围LU:INT(U-L+1)*RND+L)例如:产生1020之间的随机整数,可使用公式:INT(20-10+1)*Rnd+10)。调用 Rnd 函数前,可使用 Randomize 初始化随机数生成器(避免开始使用的随机数都是相同的)。十一、十一、基本语句基本语句说明:(1)VB 代码中不区分字母的大小写。(2)同一行上可以书写多条语句,但语句间要用冒号“:”分隔。(3)注释以 Rem 开头,也可以使用单引号“”,注释内容可直接出现在语句的后面。1、给变量赋值格式:=功能:先计算赋值号右边表达式的值,再将其值勤赋给左边的变量或对象的属性。例如 :dim x as integer dim y,z as string x=34*sqr(4):x=x+1 y=”欢迎使用 VB”:z=y 请同学们思考该程序运行后 x,y,z的值 msgbox(x):msgbox(y):msgbox(z)可以上机验证注意:右边表达式可以是变量、常量、函数调用等特殊的表达式。赋值语句中的“=”不同于数学系中的“等于号”,它是“赋值号”例:A=A+1 ,是表示将 A 单元的值加后以放回到 A 单元;例:a=b=c,是表示将 B=C 的结果送入 A 单元,请你说说 A 是多少 赋值号左侧只能是一个变量,而不能是常数或表达式。例:10=X 是错误的赋值号左侧的变量和右侧的常数或表达式的类型必须保持一致,否则将会出现错误。例:Dim x As IntegerX=“ABC”(错误)注意:变量总是保存最新值,例如:交换两个变量 A B 的值:t=a:a=b:b=t2、InputBox 函数(输入对话框)例 a=val(inputbox(“请输入 a=”)3、msgbox 函数(输出消息框)例 msgbox(5+10 mod 10 9/3+2 2 )msgbox(a):msgbox(b)说明:读程序时同学们可以它来帮助输出变量值或表达式的值4、使用 print 方法在窗体中直接输出字符串或数值表达式的值。步骤:(1)新建一个窗体,在窗体的单击事件中编写如下代码:private sub form1_click()a=10b=3.5print a,2*b,print a*bprint “hello!”print “a=”;10print “欢迎使用”&“VB”end sub(2)运行程序,其结果如图:5、if 语句1)、换行的格式:if 条件表达式 then (到这儿必须换行)语句组 elseif 条件表达式 then (到这儿又必须换行)语句组else (到这儿又必须再换行)语句组 endif 这种格式中 elseif.和 else.部分都可以省略,还可以再镶嵌若干层的 if 语句,但必须以单独占一行的 endif 语句结束。它常用在比较复杂的选择中。2)、不换行的格式:(即:行条件语句格式)if 条件表达式 then 语句组 else 语句组这种格式是 IF 语句最原始的格式了,它可以省略 else.部分,也可以镶嵌,但所有内容必须写在一行中,句末也不需要 endif 语句(也绝不能有,否则就是画蛇添足)。由于全写在一句中,不能写的太长,很乱很难懂,所以,现在这种格式只用在很简单的判断语句中了。注意:格式错误的例子:If x5Then r=2 End if 就是两种格式混用了。要是正确写应该是这样的:If x5 Then r=2 End if 6、for 语句For 语句是循环语句,它的格式是:ForFor 变量变量=初值初值 ToTo 终值终值 StepStep 步长步长 循环体循环体 NextNext 变量变量 例:For i=0 to 999 这里省略 Step 说明步长为 1 msgbox(i)Next i 说明从 0 到 999,循环 1000 次,例:For i=999 to 0 Step-1 msgbox(i)Next i 说明从 999 到 0,以步长为-1,循环 1000 次,例:x=0 FOR j=1TO4 X=X+6 next msgbox(X):msgbox(j)具体执行原理如下第 1 次循环:j=1,x=x+6=0+6=6第 2 次循环:j=2,x=x+6=6+6=12第 3 次循环:j=3,x=x+6=12+6=18第 4 次循环:j=4,x=x+6=18+6=24第 5 次循环:j=5 4,退出循环,注意第 5 次循环没有执行就退出了,此时 j=5输出:24 5 说明 x=24 j=57、do 语句do.loop 也是一种循环 这种循环是根据条件来的,(FOR 循环是根据 初值,终值、步长来循环的)格式:Do while 条件 循环体 Loop说明:do while k=n 的意思是:Kn 的时候就跳出循环 例:下列程序运行后 K 的值是多少?Dim k,n,m As Integer n=10:m=1:k=1 Do While k=n m=m*2 k=k+1 Loop 具体执行原理如下:第 1 次循环:k=110,m=m*2=1*2=2,k=k+1=1+1=2 第 2 次循环:k=210,m=m*2=2*2=4,k=k+1=2+1=3 第 3 次循环:k=310,m=m*2=4*2=8,k=k+1=3+1=4 第 4 次循环:k=410,m=m*2=8*2=16,k=k+1=4+1=5 第 5 次循环:k=510,m=m*2=16*2=32,k=k+1=5+1=6 第 6 次循环:k=610,m=m*2=32*2=64,k=k+1=6+1=7 第 7 次循环:k=710,m=m*2=64*2=128,k=k+1=7+1=8 第 8 次循环:k=810,m=m*2=128*2=256,k=k+1=8+1=9 第 9 次循环:k=910,退出循环 注意第 11 次循环没有执行就退出了例:x=3 for i=1 to 4 if xi then x=x+I next I该程序运行后,X 的值为多少具体执行原理如下:第 1 次循环:i=1,xI 即 31 不成立 第 2 次循环:i=2,xI 即 32 不成立第 3 次循环:i=3,xI 即 33 不成立第 4 次循环:i=4,xI 即 34,退出循环,该程序运行结果 x=7说明:同学们掌握读程序的方法就是演算程序中的变量值,注意变量应取最近的一次值参与当前的运算,如果有规律可循,同学们还可以找出每次循环的规律,以节省演算时间提高读程序的效率。读程序不能急于求成,读熟练了自然速度就加快了,应该从顺序结构开始到循环结构,循序渐进!8、双重循环的使用:1 1、一般结构:(以、一般结构:(以 ForFor 语句为例)语句为例)For 循环变量 A=初值 To 终值 Step 步长For 循环变量 B=初值 To 终值 Step 步长程序段内循环外循环Next 循环变量 BNext 循环变量 A 2 2、双重循环执行实例:、双重循环执行实例:双重循环是如何执行的呢?我们来看下面:实例实例 1 1:For i=1 To 3 Step 1For j=1 To 5 Step 1List1.AddItem Str(i)+*+Str(j)复习列表框List1.AddItem 的作用,Next j Next i 从实际演示可知:当 i=1 时,j=1、2、3、4、5;当 i=2 时,j=1、2、3、4、5;当 i=3 时,j=1、2、3、4、5;规律总结:先外循环,后内循环;内循环完成后,再进入外循环;例如:有个三位数密码以”4”开头,并且它的各位数字的立方和等于该数本身.:参考程序如下 For b=0 to 9 For c=0 to 9 If 400+10b+c=43+b3+c3?Then MsgBox(400+10b+c)Next c Next b
展开阅读全文