《第2章数据类型常量变量及表达式优秀课件.ppt》由会员分享,可在线阅读,更多相关《第2章数据类型常量变量及表达式优秀课件.ppt(70页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章数据类型常量变量及表达式第1页,本讲稿共70页第2页本章主要内容本章主要内容VisualBasic程序的语句和编码规则程序的语句和编码规则数据类型数据类型变量与常量变量与常量常用内部函数常用内部函数运算符和表达式运算符和表达式第2页,本讲稿共70页第3页2.1VisualBasic程序的语句和程序的语句和编码规则编码规则第3页,本讲稿共70页第4页2.1.1基本语句基本语句1.赋值语句赋值语句格式格式1:=X=5格式格式2:=Command1.Caption=“退出退出”2.变量声明语句:变量声明语句:DimxasInteger说明变量说明变量x为整型数为整型数3.注释语句注释语句以单引
2、号(以单引号()开头的文字为注释内容。增加程)开头的文字为注释内容。增加程序的可读性序的可读性第4页,本讲稿共70页第5页结束语句End用来结束程序的运行,并关闭已打开的文件数据输入输出语句 数据输出语句 print 绝对定位输出语句 print tab(n);表达式 相对定位输出语句 print spc(n);表达式第5页,本讲稿共70页第6页2.1.2编码规则编码规则(1)每个语句最多可以包含每个语句最多可以包含255个字符。个字符。(2)一行也可以书写多个语句,语句之间用冒号分隔。一行也可以书写多个语句,语句之间用冒号分隔。x=5:y=6:printx,y,x+y,x*y,x/y(3)不
3、区分大小写字母不区分大小写字母(4)数制系统数制系统十进制(系统默认)、十六进制(十进制(系统默认)、十六进制(&H)、八进制()、八进制(&O)例:例:x=&h8C:y=&o70:?x+y十六进制十六进制8C(十进制(十进制140)、八进制)、八进制70(十进制(十进制56)第6页,本讲稿共70页第7页2.2数据类型数据类型第7页,本讲稿共70页第8页数据是程序的组成部分,也是程序处理的对象,数据是程序的组成部分,也是程序处理的对象,数据类型体现了数据结构的特点。数据类型体现了数据结构的特点。VB的数据类型比较的数据类型比较丰富,主要可以分为两类:基本数据类型和用户自定义丰富,主要可以分为两
4、类:基本数据类型和用户自定义数据类型。数据类型。2.2.1基本数据类型基本数据类型VB6.0提供的基本数据类型主要有:字符型数据、数提供的基本数据类型主要有:字符型数据、数值型数据、货币类型、字节类型、布尔类型、日期类型、值型数据、货币类型、字节类型、布尔类型、日期类型、通用类型、无符号类型、对象类型等九种数据类型。通用类型、无符号类型、对象类型等九种数据类型。第8页,本讲稿共70页第9页VB提供的标准数据类型提供的标准数据类型第9页,本讲稿共70页第10页1.数值型数据数值型数据VisualBasic支持几种数值数据类型支持几种数值数据类型Integer(整型)(整型)Single(单精度浮
5、点型)(单精度浮点型)Long(长整型)(长整型)Double(双精度浮点型)(双精度浮点型)Currency(货币型)(货币型)Byte(字节型)也可用于数值计算。(字节型)也可用于数值计算。说明说明:(1)所有数值变量都可相互赋值。所有数值变量都可相互赋值。(2)在将浮点数赋予整数之前,在将浮点数赋予整数之前,VB将浮点数的小数部分将浮点数的小数部分四舍五入到整数。四舍五入到整数。第10页,本讲稿共70页第11页2.字符(字符(String)数据类型数据类型定定义义-双双引引号号界界定定的的一一个个字字符符序序列列。每每个个ASCII码码字字符符占占1个个字字节节的的存存储储单单元元。每每
6、个个汉汉字字占占2个个字字节节的的存存储单元。储单元。例:例:“hello”“&*%”“”(空字符串)(空字符串)说明:说明:双引号起界定作用,字符串输出时不双引号起界定作用,字符串输出时不显示双引号。显示双引号。串中的字符串中的字符区分大小写。区分大小写。第11页,本讲稿共70页第12页DimSAsStringS=“Database”默认默认String型变量的长度可变型变量的长度可变S=“howdoyouknow”第12页,本讲稿共70页第13页3.布尔(布尔(Boolean)数据类型数据类型若若 变变 量量 的的 值值 只只 是是“true/false”、“yes/no”、“on/off
7、”信信息息,可可将将它它声声明明为为Boolean类类型型。每每个个数数据占据占2个字节的存储单元。个字节的存储单元。逻辑值逻辑值数值数值True-1false0数值数值逻辑值逻辑值非零非零True零零falseBoolean类型变量的缺省值为类型变量的缺省值为False。第13页,本讲稿共70页第14页4.日期(日期(Date)数据类型数据类型用用于于存存储储Date和和Time值值,每每个个数数据据占占8个个字字节节的的存存储储单单元元。如如:以以#括括起起来来的的任任何何在在字字面面上上被被认认作作日日期和时间的字符。期和时间的字符。DimSomeDateAsDateSomeDate=#
8、1980-03-16#SomeDate=#3-6-9313:20#SomeDate=#March2719931:20am#第14页,本讲稿共70页第15页5.对象(对象(Object)数据类型数据类型Object数据可表示应用程序中的对象。每个数据占数据可表示应用程序中的对象。每个数据占4个字个字节的存储单元。对象数据存储的实际内容为该对象的引用地节的存储单元。对象数据存储的实际内容为该对象的引用地址。如:址。如:DimobjDbAsObjectSetobjDb=OpenDatabase(c:Vb5Biblio.mdb)第15页,本讲稿共70页第16页6.变体(变体(Variant)数据类型数
9、据类型Variant是是缺省类型缺省类型,是一种,是一种通用的通用的、可变的可变的数据类型,数据类型,它可以表示上述任何一种数据类型。把数据赋予它可以表示上述任何一种数据类型。把数据赋予Variant变量,则不必在这些数据的类型间进行转换;变量,则不必在这些数据的类型间进行转换;VB会会自动完成任何必要的转换。自动完成任何必要的转换。例如:例如:Dimaasvarianta=“17”变量值为字符串变量值为字符串“17”a=a15变量值为数值变量值为数值2a=“visualbasic6.0”变量值为字符串变量值为字符串第16页,本讲稿共70页第17页*测试数据类型函数测试数据类型函数VB提供一种
10、提供一种VarType函数,用来测定一个函数,用来测定一个Varinat变量的变量的实际数据类型。实际数据类型。VarType函数的值是一个数值,其含义如函数的值是一个数值,其含义如下:下:函数值函数值数值类型数值类型函数值函数值数值类型数值类型0空空1Null2整型整型3长整型长整型4单精度浮点数单精度浮点数5双精度浮点数双精度浮点数6货币型货币型7日期型日期型8字符串字符串第17页,本讲稿共70页第18页DimAAsVariantA为变体型,无赋值为变体型,无赋值B=123456B为长整型,因值超过为长整型,因值超过32767C=9000&C为长整型为长整型D=89.5!D为单精度型为单精
11、度型E=3.14159E未定义,则自动为双精度型未定义,则自动为双精度型F=“abcdefg”F为字符型为字符型G=3000008G为货币型为货币型H=#08152003#H为日期型为日期型PrintA,B,C,DPrintVarType(A),VarType(B),VarType(C),VarType(D)PrintE,F,G,HPrintVarType(E),VarType(F),VarType(G),VarType(H)问题:问题:变量变量B B定义为整型?定义为整型?变量变量E E定义为单精度?定义为单精度?第18页,本讲稿共70页第19页2.3变量与常量变量与常量第19页,本讲稿共7
12、0页第20页在程序中,不同类型的数据既可以以常量的形式在程序中,不同类型的数据既可以以常量的形式出现,也可以以变量的形式出现。常量在程序执行期出现,也可以以变量的形式出现。常量在程序执行期间其值是不能发生变化的,而变量形式的值是可以变间其值是不能发生变化的,而变量形式的值是可以变化的,它代表内存中指定的存储单元。化的,它代表内存中指定的存储单元。第20页,本讲稿共70页第21页2.3.1变量变量变量是指在程序运行中,其值可以发生改变的数据。变量是指在程序运行中,其值可以发生改变的数据。1.变量名的命名变量名的命名以英文字母开头,其后可以是字母、数字和下划线的以英文字母开头,其后可以是字母、数字
13、和下划线的组合,最后一个字符也可以是类型说明符。组合,最后一个字符也可以是类型说明符。中间不能含空格中间不能含空格(或标点符号或标点符号)不得与不得与VisualBasic的保留字相同。的保留字相同。第21页,本讲稿共70页第22页2.变量的声明变量的声明VB中变量都属于一定的数据类型,包括基本数据类中变量都属于一定的数据类型,包括基本数据类型和用户定义数据类型。在型和用户定义数据类型。在VB中,可以用下面几种方式来中,可以用下面几种方式来规定变量的类型:规定变量的类型:(1)用用Dim语句语句DimAs数据类型可以是关键字:数据类型可以是关键字:Integer、Long、Single、Dou
14、ble、String、Byte也可以是类型说明符:也可以是类型说明符:%(整型整型)、&(长整型长整型)、!(单单精度精度)、#(双精度双精度)、$(字符字符)第22页,本讲稿共70页第23页例:例:PrivateSubForm_Click()DimaAsStringDimbAsIntegerDimcAsLonga=“1234567”b=32767c=a+bPrinta,VarType(a)Printb,VarType(b)Printc,VarType(c)EndSub输出:输出:1234567832767212673343变量的说明部分变量的说明部分变量的引用变量的引用第23页,本讲稿共70
15、页第24页变量类型变量类型初始化值初始化值数值型数值型 0变长的字符型变长的字符型空字符串(空字符串(“”)定长的字符型定长的字符型长度为定长的空格字符串长度为定长的空格字符串Variant(变体型变体型)Empty(空值空值)3.变量的初始化变量的初始化第24页,本讲稿共70页第25页例例:下下面面是是一一个个很很简简单单的的程程序序,其其使使用用的的变变量量a,b,Sum都没有事先定义。都没有事先定义。PrivateSubForm_Click()Sum=0a=10:b=20Sum=a+bPrintSum=;SumEndSub第25页,本讲稿共70页第26页2.3.2常量常量VB有两种常量:
16、一种是文字常量,一种是符号常有两种常量:一种是文字常量,一种是符号常量。量。1.文字常量文字常量文字常量分为:数值常量、字符串常量、逻辑文字常量分为:数值常量、字符串常量、逻辑常量、日期常量。常量、日期常量。第26页,本讲稿共70页第27页(1)数值常量数值常量数值常量有:字节型数、整型数、长整型数、定点数数值常量有:字节型数、整型数、长整型数、定点数及浮点数。字节型数、整型数、长整型数都是整型及浮点数。字节型数、整型数、长整型数都是整型量,可以使用三种整型量:十进制整数、十六进制整量,可以使用三种整型量:十进制整数、十六进制整数、八进制整数,只要是在该类型数合法范围之内。数、八进制整数,只要
17、是在该类型数合法范围之内。十进制数按常用的方法来表示,十六进制数前加十进制数按常用的方法来表示,十六进制数前加“&H”,八进制数前加,八进制数前加“&O”。第27页,本讲稿共70页第28页如:如:1200十进制数十进制数1200&H333十六进制数十六进制数333&O555八进制数八进制数555定点数是正数的或负数的带小数点的数,如:定点数是正数的或负数的带小数点的数,如:323.43,-456.78。浮点数分为单精度和双精度数。浮点数由尾浮点数分为单精度和双精度数。浮点数由尾数、指数符号和指数三部分组成。尾数是实数;数、指数符号和指数三部分组成。尾数是实数;指数符号是指数符号是E(单精度单精
18、度)或或D(双精度双精度);指数是整;指数是整数。数。第28页,本讲稿共70页第29页(2)字符串常量字符串常量字符串是双引号括起来的一串字符(也可以是字符串是双引号括起来的一串字符(也可以是汉字)。其长度不超过汉字)。其长度不超过32767个字符(一个汉字占个字符(一个汉字占两个字节)。两个字节)。指数符号指数符号E和和D的含义为:乘上的含义为:乘上10的幂次。的幂次。例如:例如:12.345E-6和和78D3所表示的值分别为所表示的值分别为0.000012345和和78000。定点数和浮点数可以是单精度的,也可以定点数和浮点数可以是单精度的,也可以是双精度的。单精度数保留是双精度的。单精度
19、数保留7位有效数字,双精位有效数字,双精度数保留度数保留15位或者位或者16位有效数字。位有效数字。第29页,本讲稿共70页第30页(3)逻辑常量逻辑常量逻辑常量只有两个:逻辑真逻辑常量只有两个:逻辑真True和逻辑假和逻辑假False。(4)日期常量日期常量格式:格式:#mm-dd-yy#例如:例如:#09-01-06#表示表示2006年年9月月1日日下面是合法的字符串及它的长度:下面是合法的字符串及它的长度:“abcdef”长度为长度为6个字符个字符“VB中文版中文版”长度为长度为5个字符个字符第30页,本讲稿共70页第31页2.4常用内部函数常用内部函数第31页,本讲稿共70页第32页函
20、数是任何一种语言必不可少的部分,函数是任何一种语言必不可少的部分,VB的函数的函数十分丰富,本节分类介绍常用的内部函数。十分丰富,本节分类介绍常用的内部函数。2.6.1函数的基本概念函数的基本概念函数的三要素:函数名、参数、返回值函数的三要素:函数名、参数、返回值函数调用格式:函数调用格式:(参数表参数表)函数分类:内部函数、用户自定义函数函数分类:内部函数、用户自定义函数VB提供了大量的内部函数。在这些函数中,有些提供了大量的内部函数。在这些函数中,有些是通用的,有些与某些操作有关。大体上可分为:数学是通用的,有些与某些操作有关。大体上可分为:数学函数、字符操作函数、日期和时间函数、转换函数
21、等。函数、字符操作函数、日期和时间函数、转换函数等。第32页,本讲稿共70页第33页Abs(x)返回返回x的绝对值的绝对值|x|Sgn(x)返回返回x的符号的符号Int(x)返回不大于返回不大于x的最大整数的最大整数Fix(x)返回返回x的整数部分的整数部分Rount(X,n)根据根据n的值对的值对x的指定位进行四舍五入的指定位进行四舍五入Log(x)返回返回x的自然对数的自然对数lneExp(x)返回以返回以e为底、以为底、以x为指数的值为指数的值exSqr(x)返回返回x的平方根的平方根Sin(x)返回返回x的正弦值的正弦值Cos(x)返回返回x的余弦值的余弦值Tan(x)返回返回x的正切
22、值的正切值Atn(x)返回返回x的反正切值的反正切值Rnd(x)产生一个产生一个01之间的单精度随机数之间的单精度随机数2.6.2数学运算函数数学运算函数可以用下面的公式转换为弧度:可以用下面的公式转换为弧度:1度度1803.14159/180(弧度弧度)第33页,本讲稿共70页第34页2.6.3字符串函数字符串函数String(n,St)返回返回n个个St中的第一个字符(重复)中的第一个字符(重复)Space(n)返回返回n个空格字符个空格字符Str(x)将将x转换成字符串转换成字符串Left(St,n)取取St左边的左边的n个字符个字符Right(St,n)取字符串右边的取字符串右边的n个
23、字符个字符Mid(St,m,n)从第从第m个字符开始取字符串的个字符开始取字符串的n个字符个字符Instr(St1,St2)返回返回St2在在St1中的起始位置中的起始位置Replace(St1,St2,St3)主串主串St1中的中的St2子串被子串被St3子串替换子串替换Ltrim(St)去掉去掉St左边的空格字符左边的空格字符Rtrim(St)去掉去掉St右边的空格字符右边的空格字符Alltrim(St)去掉去掉St左、右两边的空格字符左、右两边的空格字符Len(St)测试测试St的长度的长度第34页,本讲稿共70页第35页2.6.4日期与时间函数日期与时间函数Now()返回系统的当前日期
24、和时间返回系统的当前日期和时间Time()返回系统的当前时间返回系统的当前时间Date()返回系统的当前日期返回系统的当前日期DateSerial(year,month,day)产生日期产生日期DateValue(Now/DateString)产生日期(产生日期(C-D)Day(Now/DateString)计算日期值计算日期值Month(DateString)计算月份值计算月份值MonthName(N/String)返回月份名返回月份名Year(Now/DateString)返回年号返回年号Hour(Now)返回小时(返回小时(023)Minute(Now)返回分钟返回分钟(059)第35页
25、,本讲稿共70页第36页2.6.5格式输出函数格式输出函数格式输出函数可以用于指定各种类型数据的输出格式。格式输出函数可以用于指定各种类型数据的输出格式。调用格式:调用格式:Format(表达式表达式,格式串格式串)例:例:x=0.00567:y=56700Format(x,“#.#”).0057Format(x,“0.00%”)0.57%Format(x,“0.0E+00”)5.7E-3Format(y,“0.0E+00”)5.7E+4 例:例:D1=now(假设当前日期为(假设当前日期为2006年年9月月1日)日)Format(D1,“yyyy-mm-dd”)2006-09-01Forma
26、t(D1,“yyyy/m/dhh:mm”)2006-9-109:20例:例:A1=“Good”:A2=“GoodBye”Format(A1,“&”)Good左对齐左对齐Format(A1,“”)Good右对齐右对齐Format(A2,“&”)GoodBye按实际输出按实际输出Format(A2,“&”)GOODBYE按大写输出按大写输出第36页,本讲稿共70页第37页Hex(x)把一个十进制数转换为十六进制数把一个十进制数转换为十六进制数Oct(x)把一个十进制数转换为八进制数把一个十进制数转换为八进制数Cint(x)把把x的小数部分四舍五入,转化为整数的小数部分四舍五入,转化为整数Ccur(
27、x)把把x的值转换为货币类型值,小数部分保留的值转换为货币类型值,小数部分保留4位且四舍五入位且四舍五入CDbl(x)把把x的值转换为双精度数的值转换为双精度数CLng(x)把把x的小数部分四舍五入转换为长整数型数的小数部分四舍五入转换为长整数型数CSng(x)把把x的值转换为单精度数的值转换为单精度数CVar(x)把把x的值转换为变体类型值的值转换为变体类型值2.6.6转换函数转换函数第37页,本讲稿共70页第38页 Lcase(字符串字符串)大写大写小写小写Ucase(字符串字符串)Chr(x)ASC码码字符字符Asc(字符串字符串)Str(x)数值数值字符串字符串Val(字符串字符串)第
28、38页,本讲稿共70页第39页例例:String1=“热爱大自然热爱大自然”?Mid(String1,Len(String1)-1,2)A)热爱热爱B)爱大爱大C)大自大自D)自然自然例例:表示空格表示空格,输出命令的结果是输出命令的结果是?Len(Ltrim(“ABCD”)A)4B)6C)7D)9例例:ANS=“STUDENT.DBF”MYFILE=Mid(ANS,1,Instr(ANS,“.”)-1)?MYFILEA)STUDENT.DBFB)STUDENTC)STUDENT.ANSD)11第39页,本讲稿共70页第40页例例:A=“is”B=“Thisisabook”?Instr(B,A
29、),Instrrev(B,A)结果:结果:36例:例:A=“湖南师范大学湖南师范大学”:B=“师范师范”:C=“科技科技”:D=“”E=Replace(A,B,C)?E结果:湖南科技大学结果:湖南科技大学结果:湖南大学结果:湖南大学F=Replace(E,C,D)?F例:字符串长度函数例:字符串长度函数Len(Space(3)&Space(2)的值是的值是A)B)C)D)例:表达式例:表达式VAL(“3.141PI”)+“0.5”A)3.141PI0.5B)3.641C)3.1410.5D)出错出错第40页,本讲稿共70页第41页例例:Val(Mid(“P586”,2,1)+Right(Str
30、(Year(Date),2)+3的计算结果是的计算结果是(假设系统日期为假设系统日期为2006年年9月月10日日)A)506B)52006C)509D)出错信息出错信息例例:下列选项中得不到字符型数据的是下列选项中得不到字符型数据的是A)Date()-Year(Date)B)Chr(100)C)Str(123.567)D)Instr(Str(3121),“1”)第41页,本讲稿共70页第42页2.5运算符和表达式运算符和表达式第42页,本讲稿共70页第43页2.5.1运算符运算符 (乘方)(乘方)-(负号)(负号)*(乘)(乘)/(除)(除)(整除)(整除)操作数一般为整型操作数一般为整型Mo
31、dMod(求余)(求余)+(加)(加)-(减)(减)先先后后1.算术运算符算术运算符第43页,本讲稿共70页第44页2.连接运算符连接运算符VisualBasic的连接运算符只有两个:的连接运算符只有两个:“&”和和“+”,其基本,其基本功能都是连接两个字符串。两者的区别是:功能都是连接两个字符串。两者的区别是:(1)“&”用于作强制字符串连接,即两边的表达式无论是字符用于作强制字符串连接,即两边的表达式无论是字符型还是数值型,进行连接操作前,先将两边的表达式都转换成字型还是数值型,进行连接操作前,先将两边的表达式都转换成字符型,然后再连接。符型,然后再连接。(2)“+”可以作为数值连接,即如
32、果被连接的表达式中有一个可以作为数值连接,即如果被连接的表达式中有一个是数字字符串(例如是数字字符串(例如“12.5”),而另一个是数值型则执行数值的加法),而另一个是数值型则执行数值的加法运算。运算。第44页,本讲稿共70页第45页关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,若关系不成立,结果为结果为False。运算符运算符含义含义优先级优先级实例实例结果结果小于小于所有关系运算所有关系运算优先级相同。优先
33、级相同。低于算术运算低于算术运算的加的加“+”,减减“-”运算,运算,高于逻辑非高于逻辑非“Not”运算。运算。15+1020False=小于或等于小于或等于10大于大于1020False=大于或等于大于或等于This=ThatTrue=等于等于This=ThatFalse不等于不等于ThisThatTrueLike字符串匹配字符串匹配ThisLike“*isTrueIs对象比较对象比较3.比较运算符比较运算符第45页,本讲稿共70页第46页4.逻辑运算符逻辑运算符运算符运算符运算符运算符 含义含义含义含义优先级优先级优先级优先级运算规则运算规则运算规则运算规则NotNot取反取反取反取反11
34、AndAnd与与与与22OrOr或或或或33XorXor异或异或异或异或33EqvEqv等价等价等价等价(同或同或同或同或)44ImpImp蕴含蕴含蕴含蕴含55两个操作数全为真,则两个操作数全为真,则两个操作数全为真,则两个操作数全为真,则与运算与运算与运算与运算 表达式为真表达式为真表达式为真表达式为真只要有一个为真,则只要有一个为真,则只要有一个为真,则只要有一个为真,则或运算或运算或运算或运算表达式为表达式为表达式为表达式为真真真真两个操作数,一个为真,另一个为假两个操作数,一个为真,另一个为假两个操作数,一个为真,另一个为假两个操作数,一个为真,另一个为假时,则时,则时,则时,则异或运
35、算异或运算异或运算异或运算表达式为真表达式为真表达式为真表达式为真两个操作数同为真或同为假时,则两个操作数同为真或同为假时,则两个操作数同为真或同为假时,则两个操作数同为真或同为假时,则等价等价等价等价运算运算运算运算表达式为真表达式为真表达式为真表达式为真第一个操作数为假,或第二个操作数为真时,则第一个操作数为假,或第二个操作数为真时,则第一个操作数为假,或第二个操作数为真时,则第一个操作数为假,或第二个操作数为真时,则等价等价等价等价运算运算运算运算表达式为真表达式为真表达式为真表达式为真真求反为假,假求反为真真求反为假,假求反为真真求反为假,假求反为真真求反为假,假求反为真第46页,本讲
36、稿共70页第47页ABNotAAAndBAOrBTTFTTTFFFTFTTFTFFTFF逻辑运算:与、或、非的真值表逻辑运算:与、或、非的真值表第47页,本讲稿共70页第48页ABAXorBAEquBAImpBTTFTTTFTFFFTTFTFFFTT各种运算符之间的运算优先顺序是:各种运算符之间的运算优先顺序是:算术运算算术运算连接运算连接运算比较运算比较运算逻辑运算逻辑运算逻辑运算:异或、等价、蕴含的真值表逻辑运算:异或、等价、蕴含的真值表第48页,本讲稿共70页第49页2.5.2表达式表达式表达式是由常量、变量、函数和运算符按一定的表达式是由常量、变量、函数和运算符按一定的规则连接成的运算
37、式。用圆括号可以改变运算的优先顺规则连接成的运算式。用圆括号可以改变运算的优先顺序。按照运算规则,每个表达式都能产生惟一的运算序。按照运算规则,每个表达式都能产生惟一的运算结果,运算结果的类型由参与运算的数据和运算符共结果,运算结果的类型由参与运算的数据和运算符共同决定。同决定。1.算术表达式算术表达式参加运算的对象均为数值型数据,运算结果是数参加运算的对象均为数值型数据,运算结果是数值型。值型。第49页,本讲稿共70页第50页(1)运算符不能相邻。例)运算符不能相邻。例a+-b是错误的。是错误的。(2)乘号不能省略。例)乘号不能省略。例x乘以乘以y应写成:应写成:x*y(3)括号必须成对出现
38、,均使用圆括号。)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准并排书写,不能出现上下标)表达式从左到右在同一基准并排书写,不能出现上下标(5)要注意各种运算符的优先级别,为保持运算顺序,在写)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号()表达式时需要适当添加括号(),若用到库函数必须按库函要求书写若用到库函数必须按库函要求书写。*表达式的书写中需注意的问题表达式的书写中需注意的问题(b-sqr(b*b-4*a*c)/(2*a)(a+b)/(a-b)第50页,本讲稿共70页第51页表达式表达式4+5*66*7/8Mod442/8=5.256*7=4
39、25*6=30305.25=66Mod4=24+2=6最终表达式的值为最终表达式的值为:6第51页,本讲稿共70页第52页2.字符串表达式字符串表达式例:例:100+123结果为结果为223100+123结果为结果为100123Abc+123结果为结果为Abc123Abc+123出错出错100&123结果为结果为100123100&123结果为结果为100123Abc&123结果为结果为Abc123Abc&123结果为结果为Abc123注意:使用运算符注意:使用运算符“&”时,变量与运算符时,变量与运算符“&”之间应加之间应加一个一个空格空格。这是因为符号。这是因为符号“&”还是长整型的类型定
40、义符,如果变量还是长整型的类型定义符,如果变量与符号与符号“&”接在一起,接在一起,VB系统先把它作为类型定义符处理,因系统先把它作为类型定义符处理,因而就会出现语法错误。而就会出现语法错误。第52页,本讲稿共70页第53页3.比较表达式比较表达式(1)数值比较数值比较对两个数值数据进行比较的惟一标准就是数值的对两个数值数据进行比较的惟一标准就是数值的大小。大小。比较运算比较运算结果结果比较运算比较运算结果结果XYTrueX=YTrueX=YFalseX=YFalseXYTrue例例2-3:数值比较示例。令:数值比较示例。令X=25:Y=18第53页,本讲稿共70页第54页(2)字符串比较字符
41、串比较字符串比较的规则由字符串比较的规则由OptionCompare语句决定语句决定。在声明中使用在声明中使用OptionCompareBinary语句后,字符大小语句后,字符大小按其按其ASCII码的值进行比较。(默认方式)码的值进行比较。(默认方式)在声明中使用在声明中使用OptionCompareText语句后,字符大小按语句后,字符大小按文本方式比较。文本方式比较。ASCII码字符不区分大小写,汉字大小按照拼音码字符不区分大小写,汉字大小按照拼音顺序排列。顺序排列。第54页,本讲稿共70页第55页七位七位七位七位ASCIIASCII编码表编码表编码表编码表b7b6b5b4b3b2b10
42、000000100100011010001010110011110001001101010111100110111101111NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS空格!“#$%&()*+,-/0123456789:;?ABCDEFGHIJKLMNOPQRSTUVWXYZ、abcdefghijklmnopqrstuvwxyz|-DEL000001010011100101110111回车回车换行换行第55页,本讲稿共70页第56页OptionCompareBinaryO
43、ptionCompareText比较运算比较运算结果结果比较运算比较运算结果结果“B”“A”True“B”“A”True“a”=“A”False“a”=“A”True“ABCD”“ABC”True“ABCD”“ABC”True“一一”啊啊”False“一一”啊啊”True“北京北京”“北方北方”False“北京北京”“北方北方”True例例2-4:字符串比较运算示例。字符串比较运算示例。第56页,本讲稿共70页第57页(3)使用使用Like运算符比较运算符比较 比较运算比较运算结果结果“Welcome”Like“?e*”True“B2B”Like“?#?”True“湖南省长沙市湖南省长沙市”L
44、ike“*长沙长沙*”True“H”Like“C-E”False“2Lines”Like“0-3*”TrueLike是一种特殊的比较运算符。在其右面的匹配是一种特殊的比较运算符。在其右面的匹配字符串中可以使用通配符?(单字符)、字符串中可以使用通配符?(单字符)、*(多字符)(多字符)和和#(数字)进行模糊比较,还可以使用(数字)进行模糊比较,还可以使用“”、“!”和和“-”号进行字符集合(英文字母或数字)匹配比较。号进行字符集合(英文字母或数字)匹配比较。第57页,本讲稿共70页第58页4.逻辑表达式逻辑表达式例:设例:设a=3,b=5,则以下表达式值为真的是,则以下表达式值为真的是A)a=
45、bAndb10B)(ab)Or(b0)C)(a0)D)(-3+5a)And(b0)例例:X=5:y=-5 逻辑表达式逻辑表达式结果结果X3AndX8TrueX=8与与Not(X3AndX0XorY0TrueX+Y=0And(x5OrY=0ANDX=500ANDJBGZ=1000例:表示基本工资不足例:表示基本工资不足500或超过或超过1000的表达式:的表达式:JBGZ1000第59页,本讲稿共70页第60页例:表示例:表示40岁以上具有高级职称的女教师的逻辑表达式岁以上具有高级职称的女教师的逻辑表达式年龄年龄=40AND性别性别=“女女”AND(职称职称=“副教授副教授”OR职称职称=“教授
46、教授”)例:下面表达式是的含义是什么?例:下面表达式是的含义是什么?年龄年龄=40AND性别性别=“女女”AND职称职称=“副教授副教授”OR职称职称=“教授教授”表示表示40岁以上的女副教授以及所有的正教授。岁以上的女副教授以及所有的正教授。第60页,本讲稿共70页第61页*日期型表达式日期型表达式日期型数据是一种特殊的数值型数据,只能有下面日期型数据是一种特殊的数值型数据,只能有下面3种情况:种情况:1DateB-DateA例如:例如:#05/08/2002#-#05/01/2002#其结果为数值:其结果为数值:72DateA+N例如:例如:#05/01/2002#+7结果为日期型数据:结
47、果为日期型数据:#05/08/2002#3DateA-N例如:例如:#05/08/2002#-7结果为日期型数据:结果为日期型数据:#05/01/2002#第61页,本讲稿共70页第62页运算符的优先级别运算符的优先级别指数运算指数运算()负数负数()乘、除乘、除(*、/)算术运算符算术运算符整除整除()求模求模(Mod)加、减加、减(+、)字符串连接字符串连接(&)比较运算符比较运算符:优先顺序都相同优先顺序都相同 逻辑运算符逻辑运算符:Not=And=Or、Xor=Eqv=Imp先先先先后后后后第62页,本讲稿共70页第63页,本讲稿共70页第64页1.1.在在在在VisualBasic6
48、.0VisualBasic6.0中,数值中,数值中,数值中,数值1234&1234&的类型是的类型是的类型是的类型是 _。A)A)整型整型整型整型B)B)长整型长整型长整型长整型C)C)字符串型字符串型字符串型字符串型D)D)双精度型双精度型双精度型双精度型2.2.下列可作为下列可作为下列可作为下列可作为VisualBasicVisualBasic的变量名的是的变量名的是的变量名的是的变量名的是 _。A)3*DeltaA)3*DeltaB)PrintCharB)PrintCharC)AbsC)AbsD)ABD)AB3.3.下列可作为下列可作为下列可作为下列可作为VisualBasicVisua
49、lBasic中所允许的形式的数是中所允许的形式的数是中所允许的形式的数是中所允许的形式的数是 _。A)A)25.74B)3.457E-100B)3.457E-100C).368C).368D)1.87E+50D)1.87E+504.4.下列可作为下列可作为下列可作为下列可作为VisualBasicVisualBasic中所允许的形式的数是中所允许的形式的数是中所允许的形式的数是中所允许的形式的数是 _。A)10(1.256)A)10(1.256)B)D32B)D32C)2.5EC)2.5ED)12E3D)12E35.5.下面的数写成普通的十进制数是下面的数写成普通的十进制数是下面的数写成普通的
50、十进制数是下面的数写成普通的十进制数是8.6787E+8_8.6787E+8_。A)86787000A)86787000B)867870000B)867870000C)8678700C)8678700D)8678700000D)8678700000第64页,本讲稿共70页第65页6.6.在在在在VisualBasicVisualBasic中,声明全局变量所使用的关键字是中,声明全局变量所使用的关键字是中,声明全局变量所使用的关键字是中,声明全局变量所使用的关键字是 _。A)DimA)DimB)PublicB)PublicC)StaticC)StaticD)AutoD)Auto7.7.在标准模块