《第4章程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第4章程序设计基础.ppt(78页珍藏版)》请在三一办公上搜索。
1、VB程序设计基础,第四章,4.1 数据类型,VB提供的数据类型基本数据类型字符串(String)数值整型数浮点数货币(Currency)变体(Variant),其他数据类型字节(Byte)布尔(Boolean)日期(Date)对象(Object)Decimal,用户定义的数据类型枚举类型,4.1.1 基本数据类型字符串(String),知识点是一个字符序列,有ASCII字符组成(包括标准的和扩展的)在VB中,字符串是放在双引号内的若干个字符,其中长度为0(即不含任何字符)的字符串称为空字符串。“Hello”“We are students”“”空字符串“大家好!”VB中的字符串分为两种:变长字
2、符串和定长字符串变长字符串的长度是不确定的,可以从0231(约21亿)个字符。定长字符串含有确定个数的字符,最大长度不超过216个字符。,基本数据类型数值,整型数,浮点数,数值,长整数(Long),整数(Integer),单精度浮点数(Single),双精度浮点数(Double),整型数:不带小数点和指数符号的数,在机器内部以二进制补码形式表示。,整数(Integer):整数以两个字节(16位)的二进制码表示和参加运算,取值范围:-3276832767,长整数(Long):以带符号的4个字节(32位)二进制数存储,其取值范围为:-2147483648+2147483647,浮点数:也称为实型数
3、或实数,是带有小数部分的数值。由3部分组成:符号、指数、尾数。单精度浮点数用E或e表示:123.45E3(或E+3)相当于123.45103双精度浮点数用D或d表示:123.45678D3(或D+3)相当于123.45678103格式:尾数+指数,单精度浮点数(Single):以四个字节(32位)存储,其中符号占1位,指数占8位,其余23位表示尾数,此外还有一个附加的隐含位。可以精确到7位十进制数。负数取值范围:-3.402823E+38-1.401298E-45正数取值范围:1.401298E-453.402823E+38,双精度浮点数(Double):以8个字节(64位)存储,其中符号占1
4、位,指数占11位,其余52位表示尾数,此外还有一个附加的隐含位。可以精确到15或16位十进制数。,基本数据类型货币,知识点是为表示钱款而设置的。以8个字节(64位)存储,精确到小数点后4位(小数点前有15位),在小数点后4位以后的数字将被舍去。浮点数中的小数是浮动的,即小数点可以出现在数的任何位置,而货币型数据的小数点是固定的,因此称为定点数据类型。,基本数据类型变体(Variant),知识点是一种可变的数据类型,可以表示任何值,包括:数值字符串日期时间等,Variant 型是声明变量时的缺省类型,能够存储所有类型的数据。如果把数据赋予 Variant 变量,则不必在这些数据的类型间进行转换;
5、Visual Basic 会自动完成任何必要的转换。例如:Dim SomeValue SomeValue=17 SomeValue=SomeValue-15 SomeValue=U&SomeValue,基本数据类型其他数据类型-1,字节(Byte)实际上是一种数值类型,以1个字节的无符号二进制数存储,范围:0255布尔(Boolean)是一个逻辑值,用2个字节存储,它只取2种值:True(真)或False(假)日期(Date)日期存储为IEEE64位(8个字节)浮点数值形式,可以表示的日期范围从公元100年1月1日9999年12月31日,而时间从0:00:0023:59:59。任何可辨认的文本
6、日期都可以赋值给日期变量。日期文字必须以符号“#”括起来#January 1,2005#用来表示日期信息,其格式为mm/dd/yyyy,取值范围:1/1/10012/31/9999注意:当前的VB版本中,输出年份时通常只输出后两位,例如“1999”输出时为:“99”。对于2000年以后的年份,其输出为“00”、“01”等。因此,在输出时要作适当处理。,例:Dim d As Date 声明日期型变量D D=#10/5/2002#日期型变量赋值 Print D 输出日期型变量的值,4.1.2 用户定义的数据类型,利用Type语句定义自己的数据类型(又名:记录类型)格式Type 数据类型名数据类型元
7、素名 as 类型名数据类型元素名 as 类型名End Type说明:数据类型名要定义的数据类型的名字,命名规则与变量的命名规则相同数据类型元素名遵守同样的规则,且不能是数组名类型名可以是任何基本数据类型,也可以是用户自定义的类型,用户定义的数据类型举例,Type Date_RecrYear As IntegerrMonth As String*3rDay As IntegerEnd Type,Date_Rec为用户自定义的类型名;由3个元素组成:rYear、Month、rDay。其中rYear和rDay是整型;rMonth是定长字符串,由3个字符组成,如:Jan、Feb、Mar等。,用户定义的
8、数据类型应注意的问题,注意记录类型中的元素可以是变长字符串也可以是定长字符串。当在随机文件中使用时,必须使用定长字符串,一般格式为:String*常数”常数”是字符个数,指定长字符串的长度记录类型的定义必须放在模块(包括标准模块和窗体模块)的声明部分,在使用之前,必须用Type语句加以定义。在一般情况下,记录类型在标准模块中定义,其变量可以出现在工程的任何地方。当在标准模块中定义时,关键字Type前可以有Public(默认)或Private;而如果在窗体模块中定义,则必须在前面加上关键字Private。在记录类型中不能使用动态数组(可以使用静态数组)。在随机文件操作中,记录类型数据有着重要的作
9、用。,4.2 常量和变量,知识点在程序中,不同类型的数据既可以常量的形式出现,也可以变量的形式出现。常量在程序执行期间其值是不发生变化的变量的值是可变的,它代表在内存中指定的存储单元常量分为两种,一种是文字常量,一种是符号常量文字常量字符串常量和数值常量数值常量整型数长整型数货币型数浮点数,4.2.1 常量-常量字符串,知识点字符串常量由字符组成,可以是除双引号和回车符之外的任何字符,其长度不能超过65535个字符(定长字符串)或者231(约21亿)个字符(变长字符串)。“$25,000.00”“I Love U!”,数值常量,浮点数,知识点浮点数,也称为实数,分为单精度浮点数和双精度浮点数。
10、浮点由尾数、指数符号和指数3部分组成,其中,尾数本身也是一个浮点数。指数符号为E(单精度)或D(双精度)。指数是整数,其取值范围见上一节。E或者D的含义为:乘以10的幂次。235.988E-7235.988尾数E指数符号-7幂次0.0000235988,关于数值常量的说明,说明VB在判断常量类型时有时存在多义性。3.01可能是单精度类型,也可能是双精度类型或者货币类型。在默认情况下,VB将选择需要内存容量最小的表示方法,值3.01通常被作为单精度数值处理。为了显式的指明常数的类型,可以在常数后面加上类型说明符号,这些符号分别为:%整型&长整型!单精度浮点数#双精度浮点数货币型$字符串型字节、布
11、尔、日期、对象及变体类型没有类型说明符,符号常量,知识点符号常量用来代替数值和字符串,一般格式为:Const 常量名=表达式,常量名=表达式常量名是一个名字,按变量的构成规则命名,可加类型说明符表达式由文字常量、算术运算符(指数运算符除外)、逻辑运算符组成,也可以使用诸如“Error on input!”之类的字符串,但不能使用字符串连接运算符、变量以及用户定义的函数或内部函数。例如Const MaxChars=254,MaxBue=MaxChars+1,使用符号常量时应注意的问题,在声明符号常量时,可以在常量名后面加上类型说明符号Const ONE&=1,TWO#=1前者声明为长整型常量,需
12、要4个字节;后者声明为双精度常量,需要8个字节。如果不使用类型说明符,则根据表达式的求值结果确定常量类型。字符串表达式总是产生字符串常数;对于数值表达式;则按最简单的类型来表示这个常数例如,如果表达式的值为整数,则该常数被作为整型常数处理。当在程序中引用符号常量时,通常省略类型说明符。略去类型说明符后,常量的类型取决于Const语句中表达式的类型。类型说明符不是符号常量的一部分,定义符号常量后,在定义变量的时候要慎重。,4.2.2 变量,知识点数值存入内存后,必须用某种方式访问他,才能执行指定的操作。在VB中,可以用名字表示内存位置,这样就能访问内存中的数据,一个有名称的内存位置称为变量,和其
13、他语言一样VB也用变量来存储数据值。每个变量都有一个名字和相应的数据类型,通过名字来引用一个变量,而数据类型则决定了该变量的储存方式。命名规则变量的类型和定义记录类型变量,命名规则,变量是一个名字,给变量命名时应遵循以下规则名字只能由字母、数字和下划线组成名字的第一个字母字符必须是英文字母,最后一个字符可以是类型说明符号名字的有效字符为255个不能使用VB的保留字作为变量名,但可以把保留字嵌入变量名中;同时,变量名也不能是末尾带有类型说明符的保留字。在VB中变量名以及过程名、符号常量名、记录类型名、元素名等都称为名字,他们的命名规则都必须遵循上述规则。VB不区分变量名和其他名字中字母的大小写,
14、也就是说,在定义一个变量后,只要字符相同,则不管其大小写是否相同,指的都是这个变量。为了便于阅读,每个单词开头的字母一般用大写,即大小写混合使用组成了变量名(或者其他名字)。习惯上,符号常量一般用大写字母定义。,Print和Print$是非法的。Print_Number是合法的。Hello hello HELLO指的是同一个名字。,变量的类型和定义,知识点任何变量都属于一定的数据类型,包括基本数据类型和用户定义的数据类型。在VB中,可以用下面几种方式来规定一个变量的类型:用类型说明符来标识在定义变量时指定其类型用DefType语句定义,用类型说明符来标识变量,知识点把类型说明符放在变量名的尾部
15、,可以标识不同的变量类型:%表示整型&表示长整型!表示单精度型#表示双精度型表示货币型$表示字符串型例如:Total%Amount#Lname$,在定义变量时指定其类型,格式及说明Declare 变量名 AS 类型Declare 可以是:Dim、Stadic、Redim、Public、PrivateAS是关键字“类型”可以说基本数据类型或用户定义的类型,Dim,由于在标准模块(Module)、窗体模块(Form)、或过程(Procedure)中定义变量或数组当定义的变量有用于窗体时,程序代码窗口中的“对象框”应为“通用”,“过程框”应为“声明”例如Dim varl as Integer 把va
16、rl定义为整型变量Dim total as double 把total定义为双精度变量,用AS String可以定义变长字符串变量,也可以定义定长字符串变量。变长字符串变量的长度取决于赋给它的字符串常量的长度,定长字符串变量的长度通过加上“*数值”来确定。Dim NameVar as string 把NameVar定义为变长字符串变量Dim MyName as String*10 定长字符串变量长度为十个字节可以定义多个变量Dim Varl1 as string,Varl2 as Double当在一个语句中定义多个变量时,每个变量都要用as子句声明其类型,否则该变量被看作是变体类型。当用Sta
17、tic、Redim、Public定义变量时完全一样。,Static,知识点由于在过程中定义静态变量及数组变量与Dim不同,如果用于Static定义了一个变量,则每次引用该变量时,它的值会继续保留。当引用Dim定义的变量时,变量值会被重新设置(数值变量重新设置为0,字符串变量被设置为空)。通常把dim定义的变量称为自动变量,Static定义的变量称为静态变量。实例4-2,变量的有效范围(1)局部变量:在一个过程内部声明的变量 有效范围限于声明它的过程 自动变量:用Dim声明,变量值只在过程执行期间才存在 静态变量:用Static声明,变量值在程序运行期间一直存在 例 4.2 统计单击窗体的次数
18、Private Sub Form_Click()Static intCount As Integer intCount=intCount+1 Print intCount End Sub,单击窗体3 次,将Static改为Dim,(2)模块变量:“通用”声明段用Private或Dim语句声明 可被该模块中的任何过程所访问 例4.3 Private a As Integer,b As Integer 声明模块变量 Private Sub Command1_Click()Dim intTemp As Integer 声明局部变量 a=10:b=20 Print a和b内容交换前:;a;b intT
19、emp=a:a=b:b=intTemp 变量交换 End Sub Private Sub Command2_Click()Print:Print a和b内容交换后:;a;b End Sub,Public,知识点用来在标准模块中定义全局变量和数组例如:Public total as Integer,关于变量定义时应注意的问题,如果一个变量未被显式定义,末尾也没有类型说明符,隐含说明为变体类型变量(Variant)用deftype语句定义的变量只对它所在的模块起作用。类型说明符总是比DefType语句优先起作用在实际应用中,应根据需要设置变量的类型。节省内存空间,提高处理速度用类型说明符定义的变量
20、,在使用时可以省略类型说明符。Dim astr$Astr=“123333”Astr$=“123333”,部分变量存储要求(列表),记录类型变量,记录类型变量的定义与基本数据类型变量的定义没有区别,但必须用“变量.元素”的格式引用记录中的各个成员 Type TypeDemoNum1 as doubleNum2 as IntegerVar1 as Strring*3End Type则可以用下列语句定义TypeDemo的变量:Static abc as typedemo以后即可以使用“变量.元素”的格式引用记录中的成员Abc.num1Abc.num2Abc.Var1,注意:一般情况下,记录类型在标准
21、模块中定义;如果在窗体模块中定义,则必须在“Type”关键字前面加上“Private”。,4.3 变量的作用域,知识点是指变量的作用范围,明确可以在程序的什么地方可以访问该变量根据变量的定义位置和所使用的变量定义语句的不同,VB中的变量可以分为三类:局部变量(Local)、模块变量(Module)、全局变量(Public),其中模块变量包括窗体模块变量和标准模块变量各种变量位于不同的层次,VB应用程序的构成,应用程序(Application),标准模块(Module),窗体模块(Form),通用过程,声明部分,事件过程(Event Procedure),通用过程(Genaral Procedu
22、re),声明部分(Declaration),4.3.1 局部变量(过程变量),知识点在过程(事件过程或通用过程)内定义的变量叫做局部变量其作用区域是它所在的过程局部变量通常用来存放中间结果或用作临时变量某一过程的执行只对该过程内的变量产生作用,对于其他过程中相同名字的局部变量没有任何影响。如果需要,则可以通过“过程名。变量名”的形式分别引用不同过程中相同名字的变量。局部变量通过Dim或Static关键字来定义。Private Sub Command1_Click()Dim a As IntegerStatic b As DoubleEnd Sub,模块变量(窗体变量和标准模块变量),知识点模块
23、变量可用于该模块内的所有过程。当同一模块内的不同过程使用相同的变量时必须定义模块变量。与局部变量不同,在使用模块变量前,必须先声明,也就是说,模块变量不能默认声明。模块变量通过Dim或Private关键字来定义。Private a As IntegerDim b As String,全局变量(全程变量),知识点全局变量可用于工程的每个模块、每个过程。全局变量必须用Public(或Global)语句声明,不能使用Dim声明,更不能使用Private声明全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。,三种变量的作用域,举例,4.3.2 默认声明,知识点对于局部变量来说,可以不用Dim(
24、或Static)定义,在需要时直接给出变量名,变量的类型可以用类型说明符来标识。如果没有类型说明符,VB把该变量指定为变体数据类型。默认声明的变量不需要使用Dim语句,因而比较方便,并能节省代码,但有可能带来麻烦,使程序出现无法预料的结果,而且比较难查出错误。默认了声明只适用于局部变量Private Sub Command1_Click()Answer=111111111111111End Sub,4.4 常用内部函数,知识点VB提供了大量的内部函数。在这些函数中,有些是通用的,有些与某种操作有关。大体上可以分为:转换函数、数学函数、字符串函数、时间/日期函数、随机函数等五类。每个函数都带有一
25、个或几个自变量可以通过立即窗口试验每个函数的操作直接方式在立即窗口中可以输入命令,命令行解释程序对输入的命令进行解释,并立即响应。可以通过执行“视图”菜单中的“立即窗口”命令或CTRL+G打开立即窗口内部函数的执行比较简单,即给出指定的自变量的值函数将返回相应的值。利用内部函数还可以实现一些特殊的操作。“自变量”是数学中的术语,在高级语言中一般称为参数,对于内部函数,本教程称为自变量。对于用户自己编写的过程,一律称为参数。,部分VB内部函数(转换函数),?cdbl(x)12.44568?csng(x)12.44568 x=2.333456789311133466?cdbl(x)2.333456
26、78931113?csng(x)2.333457?cvar(x)?chr(123)2.33345678931113,例x=12.44568?int(x)12?fix(x)12?hex(x)C?oct(x)14y=a?asc(y)97?cint(x)12?ccur(x)12.4457,部分VB内部函数(数学函数),例x=30?sin(x)-.988031624092862?cos(x).154251449887584?tan(x)-6.40533119664628?atn(x)1.53747533091665,y=-2.33?abs(y)2.33?sgn(x)1?sgn(y)-1 m=0?sgn
27、(m)0?sqr(x)5.47722557505166?exp(x)10686474581524.5,部分VB内部函数(日期、时间函数),例x=now()?x2005-3-15 18:32:19?day(x)15?year(x)2005?month(x)3,?weekday(x)2?hour(x)18?minute(x)32?second(x)19,随机数,Rnd(x)产生一个0-1之间的单精度随机数例x=3?rnd(x).7055475?rnd(x).533424?rnd(x).5795186?rnd(x).2895625,?rnd(x).301948?rnd(x).7747401?rnd(
28、x)1.401764E-02?rnd(x).7607236?rnd(x).81449?rnd(x).7090379,关于内部函数的几点说明,Sin、cos、tan自变量是以弧度为单位,返回数值;Atn的自变量是正切值,返回弧度角度值;1度=/180=3.14159/180(弧度)Rnd(x)可以产生随机数,当一个程序重复不断的使用随机数时,同一序列的随机数会反复出现,用Randomize(x)可以消除这种情况。X为整型数,是随机数发生器的种子数,可以省略。,4.5 字符处理与字符串函数,VB的字符处理机制字符串函数VB具有十分丰富的字符处理能力,它提供了字符串变量、字符串数组以及大量的字符串函
29、数,4.5.1 VB的字符处理机制,早期的VB单字节处理机制(ANSI方式,字符代码为ASCII码)英文字符采用一个字节进行编码;中文字符采用两个字节进行编码。VB4.0以后采用新的字符处理机制大字符编码方案(UniCode方式,统一编码方式)把英文字符和中文字符作为一个整体进行统一编码,每个字符均用两个字符进行编码;在这种机制下一个英文字符或一个汉字都看作是一个字符,所占用的存储空间均为两个字节。UniCode方式实现了中英文字符的统一编码;但是给中英文混和字符串处理带来了麻烦。,4.5.2 字符串函数,知识点VB提供了处理字符串的函数,用这些函数可以实现字符串的截取、长度测试、大小写转换、
30、字符匹配等操作;字符串函数一般以类型说明符$结尾,表明函数的返回值为字符串,在VB6.0中$可以省略;为了与早期版本兼容,VB提供了用于处理ANSI格式的函数,这类函数以B结尾。,删除空白字符函数,空白字符包括空格、tab键LTrim$(字符串)去掉“字符串”左边的空白字符RTrim$(字符串)去掉“字符串”右边的空白字符Trim$(字符串)去掉“字符串”两边的空白字符,举例A$=这里没有空格 B$=LTRIM(A)C=RTRIM(A)D=TRIM(A)?B这里没有空格?C 这里没有空格?D这里没有空格,字符串截取函数,来用来截取字符串的一部分,可以从字符串的左部、中部和右部截取。Left$(
31、字符串,n)返回字符串的前N个字符。“字符串”可以是:字符串常量、字符串变量、字符串函数或字符串连接表达式Mid$(字符串,p,n)从第P个字符开始,向后截取N个字符。N可以省略,截取到末尾。Right$(字符串,n)返回字符串的后N个字符。,字符串截取函数(举例),a=123456789print left(a,3)123print mid(a,4,5)45678print mid(a,4)456789print right(a,5)56789,字符串长度测试函数,格式:Len(字符串)Len(变量名)可以测试字符串的长度,也可以测试变量的存储空间。举例a=1234567890Print L
32、en(a)10 a=Len(testvar#)Print a8,a=“程序设计”Print len(a)4,String函数,格式:String$(n.ASCII码)String$(n,字符串)返回由n个指定字符组成的字符串。当为ASCII码时,返回由该ASCII码对应的n个字符;当为字符串时,返回由该字符串第一个字符组成的n个字符的字符串。例Private Sub Command1_Click()A=String(2,NI)Label1.Caption=AEnd Sub,a$=String(5,65)b$=String(4,-h)c$=String(5,abcde)Print a;b;cAA
33、AAA-aaaaa,空格函数,格式:Space$(n)返回n个空格举例a=abc+space(10)+def?aabc def,字符串匹配函数,说明在编写程序时,有时候需要知道是否在文本框中输入了某个字符串。格式Instr(首字符位置,字符串1,字符串2,n)在字符串1中查找字符串2,如果找到了,则返回字符串2的第一个字符在字符串1中的位置。字符串1的第一个字符的位置为1。举例a=这是我的第一个vb程序!x=instr(a,vb)?x 8,字符串匹配函数说明,字符串2的长度必须小于65535个字符首字符位置是可选的。如果含有首字符位置,则从该位置开始查找,否则,从字符串1的起始位置开始查找。首
34、字符位置是一个长整数。函数的最后一个自变量是可选的,它是一个整型数,用来指定字符串比较方式。该自变量的取值可以是0、1、20进行二进制比较,区分字母的大小写1在比较时忽略大小写2基于数据库中包含的信息进行比较(仅用于Microsoft Access),默认为0,即区分大小写。,先从字符串a中找出某个指定字符(本例为空格),再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下:Private Sub Form_Click()Dim a As String,b As String,c As String,n As Integer a=VisualFoxPro 表示空格 n=InStr(a,)
35、查找空格位置 b=Left(a,n-1)取左边部分 c=Mid(a,n+1)取右边部分 Print b 显示左边部分 Print c 显示右边部分 End Sub 程序运行后单击窗体,输出结果是:Visual FoxPro,例4.4 使用字符串函数示例,Instr函数的返回值,字母大小写转换,格式:Ucase$(字符串)小大Lcase(字符串)大小举例a=这是我的第一个vb程序!x=ucase(a)?x这是我的第一个VB程序!,4.6 运算符与表达式,内容简介算术运算符幂运算浮点数除法与整数除法取模运算算术运算符的优先级字符串连接关系运算符与逻辑运算符关系运算符逻辑运算符表达式的执行顺序,VB
36、提供的算术运算符(9个),幂运算举例,?102 100?103 1000?10-2.01?25(1/2)5?8(1/2)2.82842712474619?81/2 4?10(3+1)10000?103+1 1001,浮点数除法(A)与整数除法(B),知识点A执行标准除法操作,结果为浮点数,与数学中的除法一样3/2=1.5B执行整除运算,结果为整型值32=1,整除的操作数一般为整型数,当操作数带有小数时,首先被四舍五入为整型数或长整型数,然后进行整除运算。运算结果被截断为整型数或长整型数,不进行舍入处理。a=104?a 2 b=10/4?b 2.5 c=25.636.78?c 3 d=25.63
37、/6.78?d 3.78023598820059,取模运算,知识点取模运算符Mod用来求余数,结果为第一个操作数整除第二个操作数所得的余数;对于小数运算,先四舍五入取整,再进行取模。举例?7 mod 4 3?21 mod 4 1?25.68 mod 6.99 5?26 mod 7 5,编写的窗体单击事件过程代码如下:Private Sub Form_Click()Dim x As Integer,a As Integer Dim b As Integer,c As Integer x=36 a=Int(x/10)求十位数 b=x Mod 10 求个位数 c=b*10+a 生成新的数 Print
38、 处理后的数:;c End Sub运行程序后单击窗体,输出结果是:处理后的数:63,例4.3 给定一个两位正整数(如36),交换个位数和十位数 的位置,把处理后的数显示在窗体上,Private Sub Form_Click()Dim x As Integer,a As Integer Dim b As Integer,c As Integer x=36 a=x 10 求十位数 b=x 10*a 求个位数 c=b*10+a Print 处理后的数:;cEnd Sub,把上述程序改为以下形式,效果是否一样?,想一想,通常,解决某个问题的程序方法有多种,我们应该从中选择较优的一种方法。,算术运算符的
39、优先级,高 低,括号内运算优先内括号优先于外括号,字符串连接,知识点X$&Y$“+”也可以用作字符串连接符举例Private Sub Command1_Click()a$=这是我的b$=第一个程序!c=a&bLabel1.Caption=cEnd Sub,说明:使用+号,要求连接的两个表达式均为字符串型使用&号,连接的两个表达式可以为任何类型,但结果为字符串型,如“当前日期”
/8/2002#,Public a as string,b as stringPrivate sub form_click()a=“mouse”:b=“down”Print a&“up”&b Print 1234+
40、“5678”Print 1234&5678End sub结果:mouseupdown 6912 12345678,举例:,关系运算符,知识点比较运算符对两个表达式的值进行比较,比较的结果是一个逻辑值(true or false)用关系运算符连接两个算术表达式所组成的式子关系表达式,结果是Boolean型的值(true or false)。VB把任何非0值认为是真(true);但是,一般以-1表示真(true),以0表示假(false).关系运算符可以进行数值的比较,也可以进行字符串的比较,字符串的比较实际上是ASCII码值的比较,按照字母顺序依次比较。,举例?32True?23False?我你
41、True?ABFalse,VB中的关系运算符,Is:判定两个Object类型的变量是否引用同一个对象Like:判定左边的字符串是否与右边的字符串匹配,逻辑运算符,知识点又名布尔运算用逻辑运算符连接两个或多个关系式,组成一个布尔表达式。VB提供6个逻辑运算符Not(非)Not(38)trueAnd(与)(38)and(58)or(53)xor(53)eqv(56)trueImp(蕴含)第一个表达式为True,且第二个表达式为False时,结果为False,逻辑运算真值表,真/True/-1,假/False/0,Not:表达式数为True时,结果为False;反之亦然。例如,Not(4 5),结果为True And:两个表达式均为True时,结果为True 例如,(4 5)And(8 7),结果为False Or:两个表达式均为False时,结果为False 例如,(4 5)Or(8 7),结果为True,表达式的执行顺序,一个表达式可能含有多种运算,计算机按照一定的顺序对表达式求值,一般顺序如下:,函数运算,算术运算,关系运算,逻辑运算,=、=,Not And Or Xor Eqv Imp,高 低,