程序设计第四章_第1页
程序设计第四章_第2页
程序设计第四章_第3页
程序设计第四章_第4页
程序设计第四章_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VisualBasic语言程序设计第四章VisualBasic程序设计基础1第四章VisualBasic程序设计基础

4.1数据类型4.2常量和变量4.3变量的作用域4.4常用内部函数4.5字符处理与子符串函数4.6运算符与表达式24.1数据类型4.1.1基本数据类型4.1.2用户自定义数据类型4.1.3枚举类型34.1.1基本数据类型1.数值型数据Numeric)3.逻辑型数据(Boolean)4.字符型数据(string)5.对象(Object)类型的数据6.变体(Variant)数据类型2.日期型数据(Date)451.字符串型数据(string)字符型数据:是指一切可打印的字符和字符串,它是用双引号括起来的一串字符。一个西文字符占一个字节,一个汉字或全角字符占两个字节。两种类型字符串:变长字符串和定长字符串。变长字符串的长度不确定,可以是0~231个范围内的字符,定长字符串长度一定,可以是0~231个范围内的字符。例如:“goodmorning,everyone!!!”6

注意:

1)空字符串:用“”表示,空格串:用“”表示在字符串中必须用两个连续的双引号来表示字符串有一个双引号。例如:abc"计算机"abc,

//在VB中表示为:"abc""计算机""abc"。72.数值型数据(Numeric)有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。数值型数据整型数浮点数整数(Integer)长整数(Long),单精度浮点数(Single)双精度浮点数(Double)。8整型数

1、整数(Integer):整数是不带小数点和指数符号的数。1)存储:在机器内部以2字节二进制码形式表示。2)表示:±n[%]

,其中%为整数的类型符,可以省略。如:-123%、123%都表示整数。范围:-215~215-1(-32768~32767)超过范围,程序运行时就会因为溢出产生中断。92、长整数(Long)1)存储:用4字节二进制数存储,可以表示更大的整数2)表示:±n&,其中&为长整数的类型符。例如:-1234&、987654&3)范围:-231~231-1(-2147483648~2147483647)103、浮点数浮点数也称为实型数或实数,由符号、指数和尾数组成,其指数部分分别用“E”(或“e”)和“D”(或“d”)表示。例如:12.345、-123!、-123E5、0.123E-312.345#、-123D5、0.123D-3#浮点数表示数的范围大,但运算速度慢,且有误差。单精度浮点数(Single)双精度浮点数(Double),浮点数114、货币型(Currency)货币型:属于定点实数或整数,用于计算货币的数量用8位字节存储小数点前有15位,小数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“@”。如:123.45@、123@。125、变体(Variant)数据类型变体型数据:是所有未声明的变量的默认数据类型Variant型变量可以存储数值型、字符型、日期型、对象型等数据,而不必进行数据类型转换,VB会自动完成任何必要的转换。例如:DimValue‘变量Value被声明为Variant型Value=”18”

‘变量Value的值为字符串”18”Value=Value-15

‘变量Value的值为数值3Value=”U”&Value‘变量Value的值为字符串”U3”13字节型数据用1个字节的无符号二进制数存储取值范围为0~255。1)字节型(Byte)5.其他数据类型142)逻辑型数据(Boolean)逻辑型数据只有两个值:真(True)和假(False)用2字节二进制数存储,经常用来表示逻辑判断的结果。当把数值型数据转换为逻辑型数据时,0会转换为Flase,其它非0值转换为True。反之,当把逻辑型数据转换为数值型时,Flase转换为0,True转换为-1。15日期型数据按IEEE64位浮点数值存储,表示的日期从公元100年1月1日~9999年12月31日,时间范围为0:00:00~23:59:59。任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号“#”括起来,如#January15,2002#,#1985-10-19:45:00PM#都是合法的日期型数据。3)日期型数据(Date)164)对象(Object)类型的数据对象类型的数据主要是以变量形式存在的,Object变量通过4字节来存储,该地址可以引用应用程序中的对象。利用Set语句,声明为Object的变量可以被赋值并被任何对象所引用。175)Decimal数据类型Decimal变量存储12个字节无符号的整型形式,并除以一个10的幂数,称为变比因子。该数据类型只能在变体类型中使用。18VisualBasic的标准数据类型数据类型关键字类型符前缀所占字节数范

围字节型Byte无byt10~255逻辑型Boolean无bln2True与False整型Integer%int2-32768~32767长整型Long&lng4-2147483648~2147483647单精度型Single!sng4负数:-3.402823E38~-1.401298E-45正数:1.401298E-45~3.402823E38双精度型Double#dbl8负数:-1.79769313486232D308~-4.94065645841247D-324正数:4.94065645841247D-324~1.79769313486232D308货币型Currency@cur8-922337203685477.5808~922337203685477.5907日期型Date(time)无dtm801,01,100~12,31,9999字符型String$str与字符串长度有关0~65535个字符对象型Objiect无obj4任何对象引用变体型Variant无vnt根据分配确定19

4.1.2用户自定义数据类型Type数据类型名数据类型元素名As类型名……EndType其格式如下:其中,数据类型名为自定义数据类型名,数据类型元素名为自定义数据类型中的一个成员,类型名为上述基本类型名或自定义数据类型名。20TypeClient_RecordcltNameasString*16cltPasswordasString*8cltDepositasCurrencyEndType

注意:(1)记录类型中的元素类型可以是变长字符串,也可以是定长字符串。

例:定义一个有关职工信息的记录类型:21定长字符串使用形式为:

变量名AsString*常数

其中“常数”是字符个数,指明定长字符串的长度。

2)记录类型必须在标准模块或窗体模块的声明部分定义。在标准模块中定义时,关键字Type前可以有Public或者Private。默认为全局变量(Public)。在窗体模块定义时在关键字Type前必须加上Private关键字。22TypeClient_RecordcltNameasString*16cltPasswordasString*8cltDepositasCurrencyEndTypeDimaAsClient_RecordPrivateSubForm_Click()a.cltName="yangyang"a.cltPassword="123"a.cltDeposit=10000Printa.cltName,a.cltPassword,a.cltDepositEndSub234.1.3枚举类型当一个变量只有几种可能的值时,可以使用枚举的方法将变量的值一一列出来,变量的值就只限制在列出的几种值中。采用这样的方法定义的变量类型称为枚举类型。枚举声明:通过在标准模块或公用类模块中的声明部分中声明[Private|Public]Enum类型名称成员名[=常数表达式]……EndEnum24例如:

PublicEnumDaysSundayMondayTuesdayWednesdayThursdayFridaySaturdayEndEnum25引用枚举中单个常量时,应使用下面格式:

枚举名.成员名

例如:DimmyDayAsDaysPrivateSubForm_DblClick()myDay=sundayPrintmyDayEndSub264.2.1常量:在执行程序时,常量的值保持不变1.文字常量:分为字符串和数值根据使用的数据类型,文字常量分为:字符串常量、数值常量、布尔常量、日期常量。4.2变量与常量(1)字符串常量:可以是除“”和回车符以外的任何ASCII字符。长度不能超过65535个字符(定长字符串)或约21亿个字符(变长字符串)。例如:“$25,000.00”“”“”27(2)数值常量整型数:有三种表示方式1)十进制整型数:取值范围取值范围-32768~327672)十六进制整型数:以&H开头取值范围&h0~&hFFFF3)八进制整型数:以&O(&)开头取值范围:&O0~&O177777长整型数1)十进制长整型数2)十六进制长整型数3)八进制长整型数货币型数浮点数28注意:在默认情况下,VB判断常量类型时选择需要内存容量最小的表示方法。如:3.01被认为是属于single型。可以通过加类型说明符强制说明类型:如:3.01@,3.01#,3.01!292.符号常量(1)系统内部定义的常量系统常量是由VB提供的并能够识别的、具有专用名称和作用的常量。VisualBasic6.0提供的系统常量有:颜色常量、窗体常量、绘图常量、图形常量、键码常量等32类近千个常量分类:30(2)用户定义的符号常量[Public|Private]Const<符号常量名>[As<数据类型>]=<表达式>[,常量名=表达式]…如:ConstMaxchars=254,Maxbue=Maxchars+1注意事项:1)在声明符号常量时,可以在常量名后面加上类型说明符如:ConstONE&=12)在程序中引用符号常量时,通常省略类型说明符。31

4.2.2变量1.变量的命名规则(1)VB变量名只能用字母、数字和下划线组成,变量名中不能包含小数点。变量:程序运行过程中其值可以改变的量称为变量变量的形式:属性变量和内存变量。(2)VB变量名的第一个字符必须是字母,最后一个字符可以是类型说明符,且组成变量名的字符数不得超过255个字符。32(3)不得使用VB的保留名或保留名后加上类型说明符来作为变量名。如Dim、For、Select等;(4)变量名在同一个范围内必须是唯一的。(5)不区分大小写字母,如:XYZ、Xyz、xyz都是相同的变量名(6)为了增加程序的可读性,一般在变量名前加上一个表示该变量数据类型的前缀。strstring、最大值、lngX_Y、count是正确命名的变量名3a、x-y、Byte、k2是一些不正确命名的变量名。332.变量的类型和定义(1)用类型说明符表示变量将类型说明符放在变量名的尾部,可以表示不同的变量,如%表示整型、&表示长整型、!表示单精度型、#表示双精度型、@表示货币型,$表示字符串型。例如:strName$dblNum%curWage@34例1:使用Dim定义自动变量

DimVarAsintegerDimNamevarASStringDimMyNameAsString*10DimVar1,Var2AsDouble(2)在定义变量时指定其类型[Dim|Private|Static|Public|Redim}<变量名1>[As<类型>][,<变量名2>[As<类型2>]]…35例2:用Static关键字定义静态变量StaticNumberAsIntegerStaticVar1AsString注意:静态变量每次引用时,值会继续保留。自动变量每次引用时,值会重新设置。(数值变量重新设为0,字符串变量设为空)36例3:用Public在标准模块中定义全局变量或数组。

PublicSumAsdouble(3)用DefType语句定义格式:DefType字母范围表示以字母范围打头的变量类型为Type所定义的类型。37注意事项:1)Def是保留字,Type是类型标志,可以是Int,Lng,Sng,Dbl,Cur,Str,Bool,Data,Obj,Var。2)字母范围格式:“字母—字母”例如:DefDblL-P

表示以L,m,n,o,p字母开头的变量名为double型。3)DefType语句通常放在模块的开头。4)当模块中的变量全部使用整型数时,可以定义为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论