visual basic程序设计基础第05章.ppt
-
资源ID:67254457
资源大小:258KB
全文页数:63页
- 资源格式: PPT
下载积分:16金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
visual basic程序设计基础第05章.ppt
第第5章章 数数 据据 5.1 数据的类型数据的类型5.2 变量与常量变量与常量5.3 运算符和表达式运算符和表达式5.4 常用内部函数常用内部函数5.1 数据的类型数据的类型5.1.1 数据的基本类型1字符串型字符串由一连串的字符组成,一个字字符串由一连串的字符组成,一个字符串的前后必须用符串的前后必须用 括起来,且必须是英括起来,且必须是英文状态的双引号,如文状态的双引号,如深圳职业技术学院深圳职业技术学院、Hellow、306。2数值型Visual Basic在表示数值型数据方面,在表示数值型数据方面,以不违背数学的习惯为原则,大部分的表以不违背数学的习惯为原则,大部分的表示跟数学的惯例相同,只是根据精度、存示跟数学的惯例相同,只是根据精度、存储空间的不同要求划分成以下几种不同的储空间的不同要求划分成以下几种不同的类型。类型。(1)整数类型)整数类型(2)长整类型)长整类型(3)单精度类型)单精度类型(4)双精度类型)双精度类型 3日期型用来表示某一天的日期值。日期型数用来表示某一天的日期值。日期型数必须写在两个必须写在两个“#”号之间,如号之间,如#03/08/23#,#December25,2001 10:25AM#。4布尔型5货币型6字节型7变体(Variant)型5.1.2 用户定义的数据类型以上介绍的各种数据类型由系统设定,以上介绍的各种数据类型由系统设定,包括数据类型的名称(如包括数据类型的名称(如Integer、String等)、声明符、所占内存等不允许用户更等)、声明符、所占内存等不允许用户更改,称之为基本数据类型,是改,称之为基本数据类型,是Visual Basic 6.0中数据结构的基本单元。中数据结构的基本单元。1记录类型的定义使用关键字使用关键字“Type”定义记录类型,定义记录类型,方法如下:方法如下:Private|PublicType 数据类型名数据类型名 As As As End Type其中的其中的为基本数据类型,为基本数据类型,如如Integer、String,定义记录类型其实质,定义记录类型其实质就是定义一组简单变量集,再用一个名称就是定义一组简单变量集,再用一个名称表示(数据类型名),这种方法在某表示(数据类型名),这种方法在某些语言中(如些语言中(如C语言)被称为结构定义。语言)被称为结构定义。其中域名的引用与控件对象的属性一样,其中域名的引用与控件对象的属性一样,表示为:表示为:.实际中使用记录类型数据时须分步实际中使用记录类型数据时须分步进行。进行。第一步:定义数据类型,第一步:定义数据类型,第二步:定义变量,第二步:定义变量,第三步:引用变量的域名。第三步:引用变量的域名。2枚举类型使用关键字使用关键字Enum来定义枚举类来定义枚举类型,方法如下:型,方法如下:Enum 数据类型名数据类型名 =End Enum其中的整型常数表达式可缺省,缺其中的整型常数表达式可缺省,缺省时,第一个域名取值从省时,第一个域名取值从0开始,其余开始,其余域名依次取域名依次取1,2,3,枚举类型其,枚举类型其实质就是定义一组符号常量集,并用一实质就是定义一组符号常量集,并用一个名称表示该集合。个名称表示该集合。5.2 变量与常量程序中处理的数据必须首先存程序中处理的数据必须首先存放在存储介质中,即占据一定的存储放在存储介质中,即占据一定的存储单位。给每一个存储单位指定特定的单位。给每一个存储单位指定特定的名字,通过引用存储单位的名字来操名字,通过引用存储单位的名字来操作其中的数据,这些存储单位及其名作其中的数据,这些存储单位及其名字通常称为变量或者常量。字通常称为变量或者常量。5.2.1 变量变量是指存储器中有着特定名称的存变量是指存储器中有着特定名称的存储单位,其特点就是存放在其中的数据值储单位,其特点就是存放在其中的数据值可任意改变。可任意改变。变量的作用其实类似于日常生活中使变量的作用其实类似于日常生活中使用的各种储值卡,如电话用的各种储值卡,如电话IC卡、银行卡等,卡、银行卡等,在程序中调用变量名时就是引用变量中存在程序中调用变量名时就是引用变量中存储的值。储的值。5.2.2 变量的命名规则所谓变量名,就是存储单位的名称,所谓变量名,就是存储单位的名称,由用户任意指定。用户给变量取名时必须由用户任意指定。用户给变量取名时必须遵循一定的规则,这就是变量的命名规则,遵循一定的规则,这就是变量的命名规则,有以下几条。有以下几条。(1)变量名只能由西文字母、汉字、)变量名只能由西文字母、汉字、数字及下划线组成。数字及下划线组成。(2)变量名必须以西文字母或汉字)变量名必须以西文字母或汉字开头,最后一个符号可以是类型说明符。开头,最后一个符号可以是类型说明符。(3)变量名长度可达)变量名长度可达255个字符,有个字符,有效字符为效字符为40个。个。(4)变量名不能为)变量名不能为Visual Basic中的中的保留字。保留字。5.2.3 变量的声明变量的声明是指在使用变量之前对变变量的声明是指在使用变量之前对变量的名称及其类型加以定义。量的名称及其类型加以定义。1基本类型的变量声明语句在在Visual Basic中,变量的声明语句有中,变量的声明语句有Dim、Static、Redim、Private以及以及Public。不同的声明语句用于声明不同作用范围的不同的声明语句用于声明不同作用范围的变量。变量。要点提示:要点提示:(1)Dim语句一般放在程序的最前语句一般放在程序的最前面,也可放在程序的其他位置。不能在面,也可放在程序的其他位置。不能在Dim语句中给变量赋值,如语句中给变量赋值,如 Dim var1=123 是错误的。是错误的。(2)在)在Dim语句中可使用类型声明语句中可使用类型声明符,各类型的声明符见表符,各类型的声明符见表5-1,列举如下:,列举如下:整型整型&长整型长整型!单精度浮点型单精度浮点型#双精度浮点型双精度浮点型 货币型货币型$字符串型字符串型其他类型无类型声明符。其他类型无类型声明符。(2)Static语句:语句:Static也是用于在也是用于在过程中定义变量,但其定义的变量称为静过程中定义变量,但其定义的变量称为静态变量。与态变量。与Dim语句的主要区别在于:当语句的主要区别在于:当重复运行包含重复运行包含Dim 或或Static语句的程序时,语句的程序时,每次执行每次执行Dim语句,其所定义的变量都被语句,其所定义的变量都被重新设置(清空或置零),而每次执行重新设置(清空或置零),而每次执行static语句时,其所定义的变量保留上次的语句时,其所定义的变量保留上次的结果。下面以实例来说明二者的区别。结果。下面以实例来说明二者的区别。(3)DefType语句:语句:DefType语句用语句用来指定一定字母范围内的变量,其中来指定一定字母范围内的变量,其中Def为保留字,为保留字,Type为类型标志,各种类型标为类型标志,各种类型标志为:志为:Int整型整型 Lng长整型长整型 Sng单精度型单精度型 Dbl双精度型双精度型 Cur货币型货币型 Str字符串型字符串型 Byte字节型字节型 Bool布尔型布尔型 Date日期型日期型 Obj对象型对象型 Var变体型变体型具体用法如下:具体用法如下:DefInt b-h 定义凡以字母定义凡以字母b,c,d,e,f,g,h开头的变量名均为整型开头的变量名均为整型DefDbl t-x 定义凡以字母定义凡以字母t,u,v,w,x开头的变量名均为双精度型开头的变量名均为双精度型2记录类型变量的声明记录类型变量的声明例例5.3 记录型数据的定义和使用。记录型数据的定义和使用。操作步骤如下。操作步骤如下。(1)首先在通用对象的声明区内用)首先在通用对象的声明区内用TypeEnd Type定义类型名,定义了名为定义类型名,定义了名为Student的类型。的类型。(2)在窗体的单击事件中用)在窗体的单击事件中用Dim语语句声明变量句声明变量someone,类型为,类型为Student。(3)最后引用变量的域名,)最后引用变量的域名,someone.name、someone.age等。等。3强制变量声明设置关于变量的声明需要说明:关于变量的声明需要说明:是否所是否所有的变量都需要声明;有的变量都需要声明;何时不需声明,何时不需声明,何时必须声明。在何时必须声明。在Visual Basic中集中了编中集中了编译型语言和解释型语言两种对变量声明的译型语言和解释型语言两种对变量声明的限制,编程者可通过设置来选择是否要求限制,编程者可通过设置来选择是否要求强制检查变量类型。强制检查变量类型。在简单的程序中,为了方便起见,编在简单的程序中,为了方便起见,编程者一般习惯于选择不强制要求声明变量,程者一般习惯于选择不强制要求声明变量,即变量不声明直接使用,在这种情况下变即变量不声明直接使用,在这种情况下变量的类型取决于所赋值的类型,如下代码量的类型取决于所赋值的类型,如下代码中,在没有声明变量中,在没有声明变量x的情况下,的情况下,x的类型的类型会发生变化。会发生变化。Private Sub Form_Click()x=3 x的类型为整型的类型为整型 x=a x的类型为字符型的类型为字符型 End Sub虽然不声明变量而直接使用似乎虽然不声明变量而直接使用似乎很方便,但是在较复杂的程序里,这样很方便,但是在较复杂的程序里,这样做是危险的。有时给同一个变量赋予了做是危险的。有时给同一个变量赋予了不同的类型,会导致程序出现错误的结不同的类型,会导致程序出现错误的结果,所以在复杂的程序中最好是选择强果,所以在复杂的程序中最好是选择强制要求变量声明。制要求变量声明。例例5.4 如图如图5-6、图、图5-7所示均为所示均为Form_Click()事件,代码完全一样,但运行后结事件,代码完全一样,但运行后结果却不一样。这表明:在图果却不一样。这表明:在图5-6所示的所示的环境下(在窗体声明部分内有环境下(在窗体声明部分内有Option Explicit语句),变量必须声明才可使语句),变量必须声明才可使用,而在图用,而在图5-7所示的环境下变量不须所示的环境下变量不须声明也可使用。声明也可使用。4变量的作用域变量的作用域是以程序代码范围来划变量的作用域是以程序代码范围来划分的,在弄清变量作用域之前首先须弄清分的,在弄清变量作用域之前首先须弄清代码范围的划分。代码范围的划分。(1)代码范围:按由小到大的顺序)代码范围:按由小到大的顺序可将代码范围分为:可将代码范围分为:过程范围、模块范围及全局范围。过程范围、模块范围及全局范围。全局范围指整个工程,一个工程可包全局范围指整个工程,一个工程可包含多个模块(有窗体模块、标准模块和类含多个模块(有窗体模块、标准模块和类模块),一个模块可包含多个过程。模块),一个模块可包含多个过程。结论:一个工程可包含多个模块,任结论:一个工程可包含多个模块,任一个模块可包含多个过程。一个模块可包含多个过程。(2)变量的作用域:依据代码的范)变量的作用域:依据代码的范围将变量的作用域分为过程级变量、模块围将变量的作用域分为过程级变量、模块级变量和全局变量级变量和全局变量 过程级变量:在某个过程中定义过程级变量:在某个过程中定义的变量。其特点是只在其定义变量的过程的变量。其特点是只在其定义变量的过程中有效,当过程代码执行完时,变量立即中有效,当过程代码执行完时,变量立即从内存中释放掉。从内存中释放掉。结论:在某个过程中定义的变量只在结论:在某个过程中定义的变量只在该过程中有效。过程变量的意义在于使整该过程中有效。过程变量的意义在于使整个工程在运行过程中不致于有过多的变量个工程在运行过程中不致于有过多的变量占据在内存中而导致一些不必要的麻烦与占据在内存中而导致一些不必要的麻烦与混乱。混乱。模块级变量:在模块的通用对象模块级变量:在模块的通用对象声明区中声明的变量。其特点是在所定义声明区中声明的变量。其特点是在所定义的模块的各个过程中有效,当结束模块的的模块的各个过程中有效,当结束模块的运行后被释放。由运行后被释放。由Dim和和Private在模块的在模块的窗体声明部分进行声明。窗体声明部分进行声明。结论:在窗体声明部分中声明的变量,结论:在窗体声明部分中声明的变量,在模块中的所有过程有效。模块变量的意在模块中的所有过程有效。模块变量的意义在于使模块中的不同过程共享变量值来义在于使模块中的不同过程共享变量值来满足一些实际应用的需要。满足一些实际应用的需要。全局变量:全局变量是指在整个全局变量:全局变量是指在整个工程的任何模块中都有效的变量。只能在工程的任何模块中都有效的变量。只能在标准模块文件(标准模块文件(.bas)的声明部分由)的声明部分由Public或或Global语句进行声明,一般在较语句进行声明,一般在较大的工程项目中采用,本书不作详述。大的工程项目中采用,本书不作详述。5.2.4 变量的赋值1赋值语句赋值语句格式:赋值语句格式:=赋值语句的作用是将表达式的值存入赋值语句的作用是将表达式的值存入到变量中。到变量中。表达式:指由运算符(如表达式:指由运算符(如“+、*、/”等)连接各种运算元素(常量、变量及函等)连接各种运算元素(常量、变量及函数等)组成的有意义的式子。表达式一定数等)组成的有意义的式子。表达式一定有确切值,如有确切值,如3+5、I+1为有意义表达式,为有意义表达式,而而5/0、2*sqr(4)等则是无意义表达式。等则是无意义表达式。下列为各种赋值语句:下列为各种赋值语句:TestDate=#1/1/2002#日期型数的赋值日期型数的赋值A=Visual Basic 字符型数的赋值字符型数的赋值Ib_chang=true 逻辑型数的赋值逻辑型数的赋值x=25&长整型数的赋值长整型数的赋值要点提示:要点提示:赋值语句在形式上与数学中的等赋值语句在形式上与数学中的等式相似,但本质上却完全不同,这一点式相似,但本质上却完全不同,这一点往往给初学者带来一定的麻烦,符号往往给初学者带来一定的麻烦,符号“=”在这里不是在这里不是“等号等号”,而是赋值,而是赋值符。在数学中,类似符。在数学中,类似y=y+5 这样的式这样的式子是错误的,而在计算机程序中是一种子是错误的,而在计算机程序中是一种被广泛使用的赋值形式。被广泛使用的赋值形式。2变量的当前值程序开始执行后,程序中的语句按流程序开始执行后,程序中的语句按流程的规定被逐句执行,各变量中的值将随程的规定被逐句执行,各变量中的值将随着语句的执行发生变化,即在流程的不同着语句的执行发生变化,即在流程的不同点上各变量中的值不同,在某一点上变量点上各变量中的值不同,在某一点上变量中的值称为变量的当前值。中的值称为变量的当前值。5.2.5 常量常量是指在程序的执行过程中不变的常量是指在程序的执行过程中不变的量,分为文字常量和符号常量。量,分为文字常量和符号常量。(1)文字常量:如)文字常量:如123、“Visual Basic”、True、#02/03/2004#等,是一种等,是一种直接用数来表示的常量。符号常量则是用直接用数来表示的常量。符号常量则是用某种符号间接表示的常量。某种符号间接表示的常量。(2)符号常量:与变量类似,符号)符号常量:与变量类似,符号常量也是在存储器中定义存储单位,用来常量也是在存储器中定义存储单位,用来存储数值,所不同的是其值在程序执行过存储数值,所不同的是其值在程序执行过程中不允许改变。符号常量又分为系统常程中不允许改变。符号常量又分为系统常量和用户定义常量。量和用户定义常量。用户自定义常量。用户定义常量用户自定义常量。用户定义常量由由Const语句来定义,如:语句来定义,如:Const pi=3.14159语句功能:在存储器中指定一个存储语句功能:在存储器中指定一个存储单位,命名为单位,命名为pi,其中存储的值为,其中存储的值为3.14159,如图,如图5-15所示。所示。系统预定义常量。系统预定义常量。Visual Basic中中提供了数以百计的系统常量,这些常量的提供了数以百计的系统常量,这些常量的值由系统设置,用户可直接使用。值由系统设置,用户可直接使用。5.3 运算符和表达式5.3.1 运算符所谓运算符是指能够对运算数发生某所谓运算符是指能够对运算数发生某种作用并得到另一结果数的符号,如上述种作用并得到另一结果数的符号,如上述的的“+”、“=”等均为运算符。在等均为运算符。在Visual Basic中运算符分为中运算符分为4种:算术运算符、字种:算术运算符、字符运算符、关系运算符和逻辑运算符。符运算符、关系运算符和逻辑运算符。1算术运算符表表5-2为算术运算符,算术运算符为算术运算符,算术运算符连接的数为数值型数,运算结果也为数连接的数为数值型数,运算结果也为数值型数。值型数。要点提示:要点提示:算术运算符的操作数一般为数值型数,算术运算符的操作数一般为数值型数,如果包含用数字表示的字符型数,则系统如果包含用数字表示的字符型数,则系统自动将其转换为数值型再计算,如自动将其转换为数值型再计算,如“4”+5结果为结果为9,如果包含非数字字符,如果包含非数字字符,如如“a”+5,则是错误的表达式。,则是错误的表达式。2字符运算符表表5-3为字符运算符。字符运算符为字符运算符。字符运算符连接的数为字符型数,运算结果也为字连接的数为字符型数,运算结果也为字符型数。符型数。要点提示:要点提示:&和和+均为字符串连接符,在实际使均为字符串连接符,在实际使用时,字符串的连接多用用时,字符串的连接多用&,主要是因为,主要是因为+有两种功能,而且有两种功能,而且Visual Basic对表达式中对表达式中不同类型的数据有自动转换功能,为了避不同类型的数据有自动转换功能,为了避免出错,最好用免出错,最好用&作字符串连接运算。如作字符串连接运算。如果用果用&连接的数据中有数值型数,则自动连接的数据中有数值型数,则自动转换为字符型。如转换为字符型。如4&5结果为结果为4 5。3关系运算符表表5-4为关系运算符。关系运算符为关系运算符。关系运算符连接的数可为数值型、字符型及日期型连接的数可为数值型、字符型及日期型等多种类型的数,但运算的结果只能是等多种类型的数,但运算的结果只能是逻辑型。逻辑型。4逻辑运算符逻辑运算的对象和结果都是逻辑逻辑运算的对象和结果都是逻辑量量。逻辑运算符有逻辑运算符有Not、And、Or、Xor、Equ和和Imp几种,除几种,除Not为一个为一个运算对象外,其余的都必须有两个运运算对象外,其余的都必须有两个运算对象。算对象。5.3.2 表达式(1)数值表达式:由数值型数和)数值表达式:由数值型数和算术运算符组成的式子,表达式的值为算术运算符组成的式子,表达式的值为数值型数,如数值型数,如100 10 Mod(3*2),结果,结果为:为:4。(2)字符表达式:由字符连接符)字符表达式:由字符连接符和字符型数组成的式子,表达式的值为和字符型数组成的式子,表达式的值为字符型数,如字符型数,如Visual&BASIC&6.0 结果为结果为Visual BASIC 6.0。(3)布尔表达式:包含关系运算符)布尔表达式:包含关系运算符和逻辑运算符的式子,表达式的值为逻辑和逻辑运算符的式子,表达式的值为逻辑型数,如型数,如Not(2030)And(ABC 488)结果为结果为 True。布尔表达式是一种综合型表达式,可布尔表达式是一种综合型表达式,可包含算术运算符、字符连接符、关系运算包含算术运算符、字符连接符、关系运算符及逻辑运算符,运算元素可以为数值型、符及逻辑运算符,运算元素可以为数值型、字符型、日期型和逻辑型,各种运算符的字符型、日期型和逻辑型,各种运算符的运算顺序是:运算顺序是:5.4 常用内部函数在计算机程序语言中,为了免去人们重复编写常用函数程序的麻烦,系统开发者们预先编好了大量的常用函数程序,集成在对应的语言环境中,供用户直接调用,这些函数通常称为系统内部函数。5.4.1 数值型函数表表5-6中为常用的数值型函数,函数中为常用的数值型函数,函数的参数与结果一般都为数值型数。的参数与结果一般都为数值型数。5.4.2 字符串函数表表5-7为字符型函数,参数为字符型,为字符型函数,参数为字符型,函数值大多为字符型,也可能为其他类型。函数值大多为字符型,也可能为其他类型。字符串函数常以符号字符串函数常以符号“$”标识,如标识,如Left()函数可写为函数可写为Left$()。5.4.3 转换函数表表5-8中所示的函数为转换函数,转中所示的函数为转换函数,转换函数是指对参数的类型进行转换的函换函数是指对参数的类型进行转换的函数,如将数值型数转换为字符型数,字数,如将数值型数转换为字符型数,字符型转换为数值型。表中符型转换为数值型。表中x为数值型数,为数值型数,s为字符型数。为字符型数。