《第四章数据类型运算符》由会员分享,可在线阅读,更多相关《第四章数据类型运算符(29页珍藏版)》请在金锄头文库上搜索。
1、 一、VB数据类型数据类型n在程序运行过程中,其值不能被改变的量称为常量。在在程序运行过程中,其值不能被改变的量称为常量。在VB中有三中有三类常量:类常量:普通常量、符号常量、系统常量。普通常量、符号常量、系统常量。普通常量普通常量1整型常量整型常量(1)整型()整型(Integer):表示):表示-32768至至32767之间的整数之间的整数例如:例如:-10、&HA、&12分别表示十、十六、八进制的分别表示十、十六、八进制的10(2)长整型()长整型(Long):):表示表示-2,147,483,648至至2,147,483,647之间的整数之间的整数例如:长整型常数的书写:例如:长整型常
2、数的书写:23&第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 一、 VB数据类型数据类型普通常量普通常量2实数实数(1)单精度实型()单精度实型(Single):有效数字为:有效数字为7位位(2)双精度实型()双精度实型(Double):有效数字为:有效数字为15位位常量的表示:常量的表示:1)十进制小数形式。)十进制小数形式。它是由正负号(它是由正负号(+,-)、数字()、数字(09)和小数点()和小数点(.)或类型符号(或类型符号(单精度单精度!、!、双精度双精度#)组成,即)组成,即n.n,n!或!或n#
3、,其中,其中n是是09的数字。的数字。例如例如0.123、.123、123.0、123!、!、123#等等2)指数形式。)指数形式。nEm或或n.nEm,nDm或或n.nDm例:例:1.25E+3和和1.25D+3相当于相当于1250.0第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 一、 VB数据类型数据类型普通常量普通常量3字符串常量字符串常量在在VB中字符串常量是用双引号中字符串常量是用双引号“”括起的一串字符,可以是所有西括起的一串字符,可以是所有西文字符和汉字、标点符号等;例如文字符和汉字、标点符号等;
4、例如ABC,123,0,VB程序设计程序设计等。等。说明:说明:(1)表示空字符串,而表示空字符串,而表示有一个空格的字符串;表示有一个空格的字符串;(2)若字符串中有双引号,例如)若字符串中有双引号,例如ABDXYZ,则用连续两个双引号表示,即:,则用连续两个双引号表示,即:ABDXYZ“4.布尔数据类型布尔数据类型(逻辑(逻辑(Boolean)只有两个值只有两个值True,或,或False。将逻辑数据转换成整型时:。将逻辑数据转换成整型时:True为为-1,False为为0;其它数据转换成逻辑数据时:非;其它数据转换成逻辑数据时:非0为为True,0为为False。第四章第四章第四章第四章
5、VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 一、 VB数据类型数据类型普通常量普通常量5日期常量日期常量日期(日期(Date)型数据按)型数据按8字节的浮点数来存储,表示日期范围从公元字节的浮点数来存储,表示日期范围从公元100年年1月月1日日9999年年12月月31日,而时间范围从日,而时间范围从0:00:0023:59:59。一种在字面上可被认作日期和时间的字符,只要用号码符一种在字面上可被认作日期和时间的字符,只要用号码符“#”括起括起来,都可以作为日期型数值常量。来,都可以作为日期型数值常量。例:例:#09/02/99#、#
6、January4,1989#,#2002-5-414:30:00PM#都是合法都是合法的日期型常量。的日期型常量。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 一、 VB数据类型数据类型符号常量符号常量在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。VB中使用关键字中使用关键字Const声明符号常量。其格式如下:声
7、明符号常量。其格式如下:Const常量名常量名As类型类型=常数表达式常数表达式或:或:Const类型符号类型符号=常数表达式常数表达式例如:例如:ConstPIAsDouble=3.1415926535等价于:等价于:ConstPI#=3.1415926535第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 一、 VB数据类型数据类型系统常量系统常量VB系统提供的应用程序和控件的系统定义常数。系统提供的应用程序和控件的系统定义常数。它们存放于系统的对它们存放于系统的对象库中,在象库中,在“对象浏览器对象浏览器”中
8、的中的VisualBasic(VB)和和VisualBasicforapplications(VBA)对象库中列举了)对象库中列举了VisualBasic的常数的常数 。例如,要将文本框例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句:的前景颜色设置为红色,可以使用下面的语句:Text1.ForeColor=vbRed这里的这里的vbRed就是系统常量。这比直接使用就是系统常量。这比直接使用16进制数来设置要直观得多进制数来设置要直观得多。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 一、 V
9、B数据类型数据类型n在程序运行过程中,其值能被改变的量称为在程序运行过程中,其值能被改变的量称为变量变量。变量声明变量声明用用Dim语句显式声明变量语句显式声明变量形式:形式:Dim变量名变量名AS类型类型或或Dim变量名变量名类型符类型符例:例:DimabAsinteger,sumAssingle等价于等价于Dimab%,sum!隐式声明隐式声明VB允许允许不声明变量而直接使用不声明变量而直接使用,系统临时为新变量分配存储空间并使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是这就是隐式声明。所有隐式声明的变量都是Variant数据类型数据类型。VisualBa
10、sic根据程序中赋予变量的值来自动调整变量的类型。根据程序中赋予变量的值来自动调整变量的类型。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 二、 运算符和表达式运算符和表达式1.算术运算符算术运算符例:例:5+2*10mod109/3+22第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 二、 运算符和表达
11、式运算符和表达式2.字符串运算符字符串运算符字符串运算符有:字符串运算符有:、+功能是字符串连接。功能是字符串连接。例如:例如:ABCD+EFGHI结果为:结果为:ABCDEFGHI“VB”&“程序设计教程程序设计教程”结果为:结果为:VB程序设计教程程序设计教程说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:它们区别是:+(连接运算)(连接运算):两个操作数均应为字符串类型;:两个操作数均应为字符串类型;&(连接运算)(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,:两个操作数既可为字符型也可
12、为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。系统自动先将其转换为数字字符,然后进行连接操作。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 二、 运算符和表达式运算符和表达式2.字符串运算符字符串运算符例如:例如:100+123结果为结果为223100+123结果为结果为100123Abc+123出错出错100&123结果为结果为100123100&123结果为结果为100123Abc&123结果为结果为Abc123Abc&123结果为结果为Abc123 注意:注意:使用运算符使用运算
13、符“&”时,时,变量与运算符变量与运算符“&”之间应加一个空格之间应加一个空格。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 二、 运算符和表达式运算符和表达式3.关系运算符关系运算符比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系关系成立,结果为成立,结果为True,若关系不成立,结果为若关系不成立,结果为False。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和
14、表达式运算符运算符含义含义优先级优先级实例实例结果结果 小于小于所有关系运算所有关系运算优先级相同。优先级相同。低于算术运算低于算术运算的加的加“+ +”,减减“- -”运算,运算,高于逻辑非高于逻辑非“NotNot”运算。运算。15+102015+1020FalseFalse=小于或等于小于或等于10=2010 大于大于10201020FalseFalse=大于或等于大于或等于This=ThatThis=ThatTrueTrue= =等于等于This= ThatThis= ThatFalseFalse不等于不等于ThisThatThisThatTrueTrueLikeLike字符串匹配字符串
15、匹配ThisLikeisThisLikeisTrueTrueIsIs对象比较对象比较 二、 运算符和表达式运算符和表达式3.关系运算符关系运算符关系运算的规则如下:关系运算的规则如下:(1)当两个操作式均为数值型,按数值大小比较。)当两个操作式均为数值型,按数值大小比较。(2)字符串比较)字符串比较,则按字符的则按字符的ASCII码值从左到右一一比较码值从左到右一一比较,直到出现不同的直到出现不同的字符为止。字符为止。例:例:ABCDEABRA结果为结果为False (3)数值型与可转换为数值型的数据比较,)数值型与可转换为数值型的数据比较,如:如:29189,按数值比较,结果为,按数值比较,
16、结果为False。(4)数值型与不能转换成数值型的字符型比较,)数值型与不能转换成数值型的字符型比较,如:如:77sdcd,不能比较,系统出错。,不能比较,系统出错。(5)“Like”运算符是运算符是VB6.0新增加的。新增加的。其使用格式为:其使用格式为:str1Likestr2第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 二、 运算符和表达式运算符和表达式4.逻辑运算符逻辑运算符逻辑运算符:逻辑运算符:Not,And,Or,Xor等。等。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算
17、符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 二、 运算符和表达式运算符和表达式4.逻辑运算符逻辑运算符说说明:明:(1)逻辑运算符的优先级不相同,)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低于关系(逻辑非)最高,但它低于关系运算。运算。(2)VB中常用的逻辑运算符是中常用的逻辑运算符是Not、And和和Or。它们用于将多个关系表。它们用于将多个关系表达式进行逻辑判断。达式进行逻辑判断。例如:例如:数学上表示某个数在某个区域时用表达式:数学上表示某个数在某个区域时用表达式:10X=10AndX20用人单位招聘秘书:年龄小于用人单位招聘秘书:年龄小于40岁,女性,学历专
18、科或本科岁,女性,学历专科或本科第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式年龄年龄=0(3)要注意函数的值域。要注意函数的值域。如:如:exp(23773)的值就超出实数在计算机中的表示范围的值就超出实数在计算机中的表示范围第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 三、VB的内部函数的内部函数1、数学函数、数学函数常用的数学函数常用的数学函数Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Rnd(N
19、)Sgn(N)说明:说明:(1)在三角函数中的自变量是以弧度为单位。在三角函数中的自变量是以弧度为单位。如:如:sin30VB表示:表示:sin(3.14159/180*30)(2)Rnd函数返回函数返回01(包括(包括0和不包括和不包括1)之间的双精度随机数。)之间的双精度随机数。若要产生若要产生1-100的随机整数:的随机整数:Int(Rnd*100)+1提问:怎样产生提问:怎样产生N,M区间的随机数?区间的随机数?第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式Int(M-N+1)*Rnd+N) 三、VB的内
20、部函数的内部函数2、转换函数、转换函数(1)要区别两个取整函数)要区别两个取整函数int()和和fix()Fix(N)为截断取整,即去掉小数后的数。为截断取整,即去掉小数后的数。Int(N)不大于不大于N的最大整数。的最大整数。N0与与int(N)相同,当相同,当N0时,时,int(N)与与fix(N)-1相等。相等。例如:例如:Fix(9.59)=9,Int(9.59)=9Fix(-9.59)=-9,Int(-9.59)=-10思考:如何实现四舍五入取整?思考:如何实现四舍五入取整?(2)Asc(Abcd)值为:值为:65(只取首字母的(只取首字母的Ascii值)值)(3)Val(abc12
21、3)值为:值为:0,Val(1.2sa10)值为值为1.2注意:注意:Val()函数只将最前面的数字字符转换为数值。函数只将最前面的数字字符转换为数值。第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 三、VB的内部函数的内部函数3、字符串操作函数、字符串操作函数说明:说明: 如果返回是字符型,则函数后有如果返回是字符型,则函数后有“$”字符。当然一般也可以不写,习字符。当然一般也可以不写,习惯都写上。惯都写上。例如:例如:len(Thisisabook!)15Left$(ABCDEFG,3)ABCRight(AB
22、CDEFG,3)“EFGMid$(ABCDEFG,2,3)BCD“Ucase(ABcd)ABCDLcase(ABcd)abcdTrim(Abcd)ABcdString(5,A)AAAAAInStr(2,“ABCDEFGEF”,“EF”)5(第一次出现的位置)(第一次出现的位置)第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式 三、VB的内部函数的内部函数4、日期、时间函数、日期、时间函数主要有:主要有:Time()、Date()、Now()、Year()、Month()、Day()5、格式输出函数、格式输出函数 使
23、用格式: Format$(表达式(表达式,“格式字符串格式字符串”) 功能:按用户指定格式返回表达式,功能:按用户指定格式返回表达式,常常用在常常用在print方法中。方法中。使用形式:使用形式:printFormat$(表达式(表达式,“格式字符串格式字符串”)表达式:可以是数值、日期或字符串型表达式。表达式:可以是数值、日期或字符串型表达式。格式字符串:表示输出表达式时采用的输出格式。不同数据类型所采用的格式字符串:表示输出表达式时采用的输出格式。不同数据类型所采用的格式字符串是不同的。如:格式字符串是不同的。如:第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表
24、达式数据类型、运算符和表达式数据类型、运算符和表达式表表1:数值格式说明字符:数值格式说明字符第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式字符字符作用作用#数字。不在输出串前、后补数字。不在输出串前、后补00数字。在输出串前、后补数字。在输出串前、后补0.小数点小数点,千位千位分隔符分隔符%百位比符号百位比符号$美元符号美元符号+-正、负号正、负号E+E-指数符号指数符号PrintFormat(34.56,#.000)结果为:结果为:34.560PrintFormat(0.3456,#.000%)结果为:结果为
25、:34.560%表表2:常用日期和时间格式符:常用日期和时间格式符第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式符号符号作用作用D显示日期显示日期(1-31),个位前不加个位前不加0Dd显示日期显示日期(01-31),个位前加个位前加0Ddd显示星期缩写显示星期缩写(sun-sat)Dddd显示星期全名显示星期全名(sunday-saturday)ddddd显示完整日期显示完整日期(年年,月月,日日),缺省缺省mm/dd/yyW星期为数字星期为数字(1-7,1为星期日为星期日)Ww一年中的星期数一年中的星期数(1
26、-53)M显示月份显示月份(1-12),个位前不加个位前不加0Mm显示月份显示月份(01-12),个位前加个位前加0表表2:常用日期和时间格式符:常用日期和时间格式符第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式符号符号作用作用Mmm显示月份缩写显示月份缩写(Jan-Dec)mmmm显示月份全名显示月份全名(January-December)Y显示一年中的天显示一年中的天(1-365)Yy两位数显示年份两位数显示年份(00-99)Yyyy四位数显示年份四位数显示年份(00-99)Q季度数季度数(1-4)H显示小时
27、显示小时(0-23),个位前不加个位前不加0Hh显示小时显示小时(00-23),个位前加个位前加0m在在H后显示分后显示分(0-59),个位前不加个位前不加0mm在在H后显示分后显示分(00-59),个位前加个位前加0表表2:常用日期和时间格式符:常用日期和时间格式符第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式符号符号作用作用S显示秒显示秒(0-59),个位前不加个位前不加0Ss显示秒显示秒(00-59),个位前加个位前加0ttt显示完整时间显示完整时间(时时,分分,秒秒),缺省缺省hh/mm/ssAm/Pma
28、m/pm12小时的时钟,小时的时钟,中午前中午前Am或或am,中午后中午后Pm或或pmA/Pa/p12小时的时钟,小时的时钟,中午前中午前A或或a,中午后中午后P或或p表表3:常用字符串格式符及其举例:常用字符串格式符及其举例第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式符符号号作作用用字符串表达式字符串表达式格式化字符串格式化字符串结果结果强迫以小写显示强迫以小写显示HELLO“强迫以大写显示强迫以大写显示Hello“”HELLO实际字符位数小于实际字符位数小于符号位数,字符前符号位数,字符前加空格加空格ABC
29、D“”_ABCD&实际字符位数小于实际字符位数小于符号位数,字符前符号位数,字符前不加空格不加空格ABCD“&”ABCD第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式Private Sub Form_Click()Dim MyTime As Date, MyDate As DateForm1.FontSize = 12MyDate = #11/16/2006#MyTime = #6:11:32 PM#Print Tab(2); Format(MyDate, m/d/yy)Print Tab(2); Format(
30、MyDate, mmmm-yy)Print Tab(2); Format(MyTime, h-m-s AM/PM)Print Tab(2); Format(MyTime, hh:mm:ss A/P)Print Tab(2); Format(Date, dddd,mmmmm,dd,yyyy)Print Tab(2); Format(Now, yyyy年年m月月dd hh:mm)Print Tab(2); FormatDateTime(Now)End Sub 三、VB的内部函数的内部函数6、Shell函数函数能在能在DOS下或下或Windows下运行的应用程序,也可以在下运行的应用程序,也可以在VB中调用。中调用。形式形式:Shell(命令字符串命令字符串,窗口类型窗口类型)如:如:i=Shell(c:windowscalc.exe)第四章第四章第四章第四章VBVB数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式数据类型、运算符和表达式