资源描述
,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,Master title style,1,Visual Basic,语言程序设计,第四章,Visual Basic,程序设计基础,2,第四章,Visual Basic,程序设计基础,4.1 数据类型,4.2 常量和变量,4.3 变量的作用域,4.4 常用内部函数,4.5 字符处理与子符串函数,4.6 运算符与表达式,3,4.1 数据类型,4.1.1 基本数据类型,4.1.2 用户自定义数据类型,4.1.3 枚举类型,4,4.1.1 基本数据类型,1数值型数据,Numeric),3逻辑型数据(,Boolean),4字符型数据(,string),5对象(,Object),类型的数据,6变体(,Variant),数据类型,2日期型数据(,Date),5,6,1.字符串型数据(,string),字符型数据:是指一切可打印的字符和字符串,它是用双引号括起来的一串字符。,一个西文字符占一个字节,,一个汉字或全角字符占两个字节。,两种类型字符串:变长字符串和定长字符串。,变长字符串的长度不确定,可以是0,2,31,个范围内的字符,,定长字符串长度一定,可以是02,31,个范围内的字符。,例如:“,good morning,every one!”,7,注意:,1,)空字符串:用“”表示,,空格串 :,用,“”表示,在字符串中必须用两个连续的双引号来表示字符串 有一个 双引号。,例如:,abc,计算机,abc,,/,在,VB,中表示为:,abc,计算机,abc。,8,2数值型数据(,Numeric),有时也把货币型数据(,Currency),和字节型数据(,Byte),划归数值型数据。,数值型数据,整型数,浮点数,整数(,Integer),长整数(,Long),,单精度浮点数(,Single),双精度浮点数(,Double)。,9,整型数,1、整数(,Integer),:,整数是不带小数点和指数符号的数。,1,)存储:,在机器内部以2字节二进制码形式表示。,2,)表示:,n%,,其中%为整数的类型符,可以省略。,如:-123%、123%都表示整数。,范围:,2,15,2,15,1,(,32768,32767,),超过范围,程序运行时就会因为溢出产生中断。,10,2、长整数(,Long),1,)存储:用4字节二进制数存储,可以表示更大的整数,2,)表示:,n&,,其中&为长整数的类型符。,例如:-1234&、987654&,3,)范围:,2,31,2,31,1,(21474836482147483647),11,3,、浮点数,浮点数也称为实型数或实数,由符号、指数和尾数组成,,其指数部分分别用“,E”(,或“,e”),和“,D”(,或“,d”),表示。,例如:,12.345,、,-123!,、,-123E5,、,0.123E-3,12.345#,、,-123D5,、,0.123D-3#,浮点数表示数的范围大,但运算速度慢,且有误差。,单精度浮点数(,Single),双精度浮点数(,Double),,浮点数,12,4,、货币型(,Currency),货币型:属于定点实数或整数,,用于计算货币的数量,用8位字节存储小数点前有15位,小数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“”,。,如:,123.45,、,123,。,13,5,、变体(,Variant),数据类型,变体型数据:是所有未声明的变量的默认数据类型,Variant,型变量可以存储数值型、字符型、日期型、对象型等数据,而不必进行数据类型转换,,VB,会自动完成任何必要的转换。,例如:,Dim Value,变量,Value,被声明为,Variant,型,Value=”18”,变量,Value,的值为字符串”,18”,Value=Value-15,变量,Value,的值为数值,3,Value=”U”&Value,变量,Value,的值为字符串”,U3”,14,字节型数据用1个字节的无符号二进制数存储,取值范围为0255。,1),字节型(,Byte),5.其他数据类型,15,2),逻辑型数据(,Boolean),逻辑型数据只有两个值:真(,True),和假(,False),用2字节二进制数存储,经常用来表示逻辑判断的结果。,当把数值型数据转换为逻辑型数据时,0会转换为,Flase,,其它非0值转换为,True。,反之,当把逻辑型数据转换为数值型时,,Flase,转换为0,,True,转换为-1。,16,日期型数据按,IEEE 64,位浮点数值存储,表示的日期从公元100年1月1日9999年12月31日,时间范围为0:00:0023:59:59。,任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号“#”括起来,如#,January 15,2002#,#1985-10-1 9:45:00 PM#,都是合法的日期型数据。,3),日期型数据(,Date),17,4)对象(,Object),类型的数据,对象类型的数据主要是以变量形式存在的,,Object,变量通过,4,字节来存储,该地址可以引用应用程序中的对象。,利用,Set,语句,声明为,Object,的变量可以被赋值并被任何对象所引用。,18,5),Decimal,数据类型,Decimal,变量存储12个字节无符号的整型形式,并除以,一个10的幂数,称为变比因子。该数据类型只能在变体,类型中使用。,19,Visual Basic,的标准数据类型,数据类型,关键字,类型符,前缀,所占字节数,范,围,字节型,Byte,无,byt,1,0255,逻辑型,Boolean,无,bln,2,True,与,False,整型,Integer,%,int,2,-3276832767,长整型,Long,&,lng,4,-21474836482147483647,单精度型,Single,!,sng,4,负数:,-3.402823,E38-1.401298E-45,正数:,1.401298,E-453.402823E38,双精度型,Double,#,dbl,8,负数:,-1.79769313486232,D308,-4.94065645841247D-324,正数:,4.94065645841247,D-324,1.79769313486232D308,货币型,Currency,cur,8,-922337203685477.5808,922337203685477.5907,日期型,Date(time),无,dtm,8,01,01,10012,31,9999,字符型,String,$,str,与字符串长度有关,065535,个字符,对象型,Objiect,无,obj,4,任何对象引用,变体型,Variant,无,vnt,根据分配确定,20,4.1.2 用户自定义数据类型,Type,数据类型名,数据类型元素名,As,类型名,End Type,其格式如下:,其中,数据类型名为自定义数据类型名,,数据类型元素名为自定义数据类型中的一个成员,,类型名为上述基本类型名或自定义数据类型名。,21,Type Client_Record,cltName as String*16,cltPassword as String*8,cltDeposit as Currency,End Type,注意:,(1)记录类型中的元素类型可以是变长字符串,也可 以是定长字符串。,例:定义一个有关职工信息的记录类型:,22,定长字符串使用形式为:,变量名,As String*,常数,其中“常数”是字符个数,指明定长字符串的长度。,2)记录类型必须在标准模块或窗体模块的声明部分定义。,在标准模块中定义时,关键字,Type,前可以有,Public,或者,Private。,默认为全局变量(,Public)。,在窗体模块定义时在关键字,Type,前必须加上,Private,关键字。,Type,Client_Record,cltName as String*16,cltPassword as String*8,cltDeposit as Currency,End Type,Dim,a,As,Client_Record,Private Sub Form_Click(),a.cltName=yangyang,a.cltPassword=123,a.cltDeposit=10000,Print a.cltName,a.cltPassword,a.cltDeposit,End Sub,24,4.1.3枚举类型,当一个变量只有几种可能的值时,可以使用枚举的方法将变量的值一一列出来,变量的值就只限制在列出的几种值中。采用这样的方法定义的变量类型称为枚举类型。,枚举声明:通过在,标准模块,或,公用类模块中的声明部分,中声明,Private|Public Enum,类型名称,成员名 =常数表达式,End Enum,25,例如:,Public Enum Days,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,End Enum,26,引用枚举中单个常量时,应使用下面格式:,枚举名.成员名,例如:,Dim,myDay,As,Days,Private Sub Form_DblClick(),myDay=sunday,Print myDay,End Sub,27,4.2.1 常量:,在执行程序时,常量的值保持不变,1文字常量:分为字符串和数值,根据使用的数据类型,文字常量分为:字符串常量、数值常量、布尔常量、日期常量。,4.2 变量与常量,(,1,)字符串常量:,可以是除“”和回车符以外的任何,ASCII,字符。长度不能超过65535个字符(定长字符串)或约21亿个字符(变长字符串)。,例如:,“$25,000.00”,“”“”,28,(2)数值常量,整型数:有三种表示方式,1,)十进制整型数:取值范围,取值范围 -3276832767,2),十六进制整型数:以&,H,开头,取值范围&,h0&hFFFF,3),八进制整型数:以&,O(&),开头,取值范围:&,O0&O177777,长整型数,1)十进制长整型数,2)十六进制长整型数,3)八进制长整型数,货币型数,浮点数,29,注意:在默认情况下,,VB,判断常量类型时选择需要内存容量最小的表示方法。,如:3.01被认为是属于,single,型。,可以通过加类型说明符强制说明类型:,如:,3.01,3.01,3.01!,30,2符号常量,(1)系统内部定义的常量,系统常量是由,VB,提供的并能够识别的、具有专用名称和作用的常量。,Visual Basic 6.0,提供的系统常量有:颜色常量、窗体常量、绘图常量、图形常量、键码常量等,32,类近千个常量,分类:,31,(2)用户定义的符号常量,Public|Private Const ,As,=,常量名表达式,如:,Const Maxchars=254,Maxbue=Maxchars+1,注意事项:,1)在声明符号常量时,可以在常量名后面加上类型说明符,如:,Const ONE&=1,2),在程序中引用符号常量时,通常省略类型说明符。,32,4.2.2 变量,1变量的命名规则,(1),VB,变量名只能用字母、数字和下划线组成,变量名中不能包含小数点。,变量:程序运行过程中其值可以改变的量称为变量,变量的形式:属性变量和内存变量。,(2),VB,变量名的第一个字符必须是字母,最后一个字符可以是类型说明符,且组成变量名的字符数不得超过255个字符。,33,(3)不得使用,VB,的保留名或保留名后加上类型说明符来作为变量名。,如,Dim,、,For,、,Select,等;,(4)变量名在同一个范围内必须是唯一的。,(,5,)不区分大小写字母,如:,XYZ,、,Xy
展开阅读全文