VB教程-第三章-VB语言程序设计基础.ppt
计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计第三章第三章VB语言程序语言程序设计基础设计基础 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 本章将对Visual Basic 6.0中文版的语言作一个简单的介绍。与传统的Basic语言相比,Visual Basic继承了 Basic语言的简单、易学、易用等特点,同时作为一种现代编程语言,它支持面向对象的程序设计思想,并在其智能编辑器的支持下,实现了可视化(Visual)编程。本章要点本章要点 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计本章主要内容本章主要内容3.1 编码规则编码规则3.2 数制及数据类型数制及数据类型3.3 常量和变量常量和变量3.4 运算符和表达式运算符和表达式3.5 常用内部函数常用内部函数3.6 基本语句基本语句3.7 数组及应用数组及应用 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 VBVB对用户程序代码中关键字的首字母总被转换成对用户程序代码中关键字的首字母总被转换成大写字母大写字母,其余字母一律转换为小写字母。提高了程序,其余字母一律转换为小写字母。提高了程序的可读性。的可读性。VBVB将关键字中每个单词的首字母自动转换成大写将关键字中每个单词的首字母自动转换成大写字母字母。对于用户自定义的变量名、过程名、函数名,对于用户自定义的变量名、过程名、函数名,VBVB以第一次定义的为准以第一次定义的为准,以后输入的自动转换成首次的形,以后输入的自动转换成首次的形式。式。1 1、在、在VBVB代码中,字母不区分大小写代码中,字母不区分大小写3.1 编码规则编码规则 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计2 2、语句书写自由、语句书写自由 VB VB 在同一行上可以书写一条语句或多条语句。如果多条语在同一行上可以书写一条语句或多条语句。如果多条语句写在一行上,语句间用冒号句写在一行上,语句间用冒号“:”隔开。例如:隔开。例如:Form1.width=300Form1.width=300:Form1.caption=Form1.caption=您好您好:Temp=Form1.widthTemp=Form1.width为了方便阅读,最好一行写一条语句。为了方便阅读,最好一行写一条语句。一条语句如果在一行内写不下,一条语句如果在一行内写不下,VBVB允许将单行语句分若干行允许将单行语句分若干行书写,在行后加入续行符(一个空格后面跟一个下划线书写,在行后加入续行符(一个空格后面跟一个下划线“_”“_”。)。)将长语句分成多行。将长语句分成多行。Addresses=“Addresses=“天津市河北工业大学天津市河北工业大学”&_ ”&_ “现代化教学中心现代化教学中心”&_ ”&_ “计算机技术基础教研室计算机技术基础教研室”原则上,续行符应加在运算符的前后,续行符不应将变量名原则上,续行符应加在运算符的前后,续行符不应将变量名和属性名分隔在两行上。和属性名分隔在两行上。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计注注释释可可以以和和语语句句在在同同一一行行,并并写写在在语语句句的的后后面面,也也可可占占据据一一整行。例如:整行。例如:这是从屏幕左边这是从屏幕左边开始的注释。开始的注释。Text1.Text=“Hi!”Text1.Text=“Hi!”在文本框中放欢迎词。在文本框中放欢迎词。3 3、在、在VBVB中可以使用注释中可以使用注释注释有三种情况:注释有三种情况:用用RemRem开头引导注释行。开头引导注释行。用撇号用撇号“”“”开始引导语句后的注释。开始引导语句后的注释。使使用用“设设置置/取取消消注注释释块块”命命令令将将若若干干语语句句行行或或文文字字设设置置/取消为注释块。取消为注释块。注意注意:在同一行内,续行符之后不能加注释。在同一行内,续行符之后不能加注释。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计规定:规定:组成标识符字符有:组成标识符字符有:A AZ Z、a az z、0 09 9或下划线或下划线_ _。标标识识符符必必须须是是以以字字母母或或下下划划线线开开始始,后后跟跟字字母母、数数字或下划线组成的字符串。字或下划线组成的字符串。标识符不能分行书写。标识符不能分行书写。4 4、VBVB中的标识符中的标识符例如:以下是例如:以下是Visual Basic 6.0Visual Basic 6.0中合法的标识符中合法的标识符DimDim MyStringMyString As StringAs String ConstConst PiPi=3.1415926535897932=3.1415926535897932 Public FunctionPublic Function getValuegetValue()()As Integer As Integer 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计3.2.13.2.1数制数制 十进制十进制 八进制八进制 十六进制十六进制 9&O11&H9 15&O17&HF 16&O20&H10 20&O24&H14 255&O377&HFF数制 主要数制:十进制数,是VB中的默认数制辅助数制:八进制数(&O)和十六进制数(&H),个别情况使用,如屏幕和颜色的设置。3.2 数制及数据类型数制及数据类型 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计3.2.2 3.2.2 数据类型数据类型 Visual BasicVisual Basic提供了许多基本数据提供了许多基本数据类型,如:类型,如:Integer(Integer(整型整型),),StringString(字符字符型)型),BooleanBoolean(逻辑型)逻辑型),CurrencyCurrency(货货币型)等,每种数据类型占用一定的内存,币型)等,每种数据类型占用一定的内存,允许存储一定范围的值。允许存储一定范围的值。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计数据数据类型类型标准数据类型标准数据类型自定义数据类型自定义数据类型数值型数值型(numeric)日期型(日期型(Date)逻辑型(逻辑型(Boolean)字符型(字符型(String)对象型(对象型(Object)变体型(变体型(Variant)整型(整型(Integer)长整型(长整型(Long)货币型(货币型(Curency)字节型(字节型(Byte)浮点型浮点型单精度(单精度(Single)双精度(双精度(Double)计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 数值(数值(NumericeNumerice)数据类型数据类型有整型有整型(IntergerInterger)长整型长整型(LongLong)单精度单精度型型(SingleSingle)双精度型双精度型(DoubleDouble)货币型货币型(CurrencyCurrency)字节型字节型(ByteByte)整型(整型(IntergerInterger)和长整型(和长整型(LongLong)用于保存整数用于保存整数 可以是正整数、负整数或者可以是正整数、负整数或者0 0。整型数用两个字节存储,表示数的范围为:整型数用两个字节存储,表示数的范围为:-32768-32768+32767+32767 长长整整型型数数用用4 4个个字字节节存存储储,表表示示数数的的范范围围为为:-2147483648-2147483648+2147483647+2147483647例如:例如:123123、-123-123、+123+123、123%123%均表示整数,而均表示整数,而123.0123.0就不是整数。就不是整数。123&123&、1234567&1234567&均表示长整数。均表示长整数。123,456 123,456则是非法数。则是非法数。1 1、标准数据类型、标准数据类型 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 单精度型(单精度型(SingleSingle)用来表示带有小数部分的实数用来表示带有小数部分的实数4 4个字节存储。单精度浮点数最多有个字节存储。单精度浮点数最多有7 7位有效数字,位有效数字,单精度浮点数有多种表示形式:单精度浮点数有多种表示形式:n.n (n.n (小数小数形式形式)n!(n!(整数加单精度类型符整数加单精度类型符)nEnEm(m(指数形式指数形式)n.n.nEnE m(m(指数形式指数形式)例如:例如:123.45123.45、0.123450.12345E+3E+3、123.45123.45!都是同值的单精度数。都是同值的单精度数。如果某个数的有效数字位数超过如果某个数的有效数字位数超过7 7位,当把它赋给一个单精度位,当把它赋给一个单精度变量时,超出的部分会自动四舍五入。变量时,超出的部分会自动四舍五入。例例如如:把把213456.2567213456.2567赋赋给给单单精精度度变变量量aaaa,在在内内存存中中aaaa的的值值为为213456.3213456.3。双精度型(双精度型(DoubleDouble)用用8 8个字节存储。个字节存储。科学记数法格式科学记数法格式 :aDaD c c或或 adad c c例如例如314.159265358979314.159265358979D-2D-2表示表示3.141592653589793.14159265358979。双精度浮点数最多可有双精度浮点数最多可有1515位有效数字。位有效数字。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 货币型(货币型(CurrencyCurrency)是一种专门为处理货币而设计的数是一种专门为处理货币而设计的数据类型,是一种特殊的小数。据类型,是一种特殊的小数。保留小数点右边保留小数点右边4 4位和小数点左边位和小数点左边1515位。位。用用8 8个字节存储个字节存储 如果变量已定义为货币型,且赋值的小数点后超过如果变量已定义为货币型,且赋值的小数点后超过4 4位,位,那么超过的部分自动四舍五入。那么超过的部分自动四舍五入。例如,将例如,将3.121253.12125赋给货币型变量赋给货币型变量aaaa,在内存中在内存中aaaa的实际的实际值是值是3.12133.1213。字节型(字节型(ByteByte)用来存储二进制数。用来存储二进制数。如果变量包含二进制数,则将它声明为如果变量包含二进制数,则将它声明为 Byte Byte 数据类型。数据类型。Byte Byte 是从是从 0-255 0-255 的无符号类型,不能表示负数。的无符号类型,不能表示负数。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 日期(日期(DataData)数据类型数据类型 用用8 8个字节的浮点数存储,表示从公元个字节的浮点数存储,表示从公元100100年年1 1月月1 1日到日到公元公元99999999年年1212月月3131日的日期,时间范围则从日的日期,时间范围则从0 0点点0 0分分0 0秒到秒到2323点点5959分分5959秒即秒即0 0:0000:00002323:5959:5959。表示方法有两种:一种。表示方法有两种:一种是以是以“#”括起来的字面上被认为是日期和时间的字符;另一括起来的字面上被认为是日期和时间的字符;另一种是以数字序列表示。例如:种是以数字序列表示。例如:#03/10/2000#03/10/2000#、#2000-03-10#2000-03-10#、#March 1March 1,2000#2000#、#2000-3-15 13#2000-3-15 13:3030:15#15#。以数字序列表示时,小数点左边的数字代表日期以数字序列表示时,小数点左边的数字代表日期(Date)Date),小数点右边的数字代表时间(小数点右边的数字代表时间(TimeTime)。其中,其中,0 0为午夜为午夜0 0点、点、0.50.5为中午为中午1212点;负数代表点;负数代表18991899年年1212月月3131日之前的日期和时间。日之前的日期和时间。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 逻辑(逻辑(BooleanBoolean)数据类型数据类型 逻辑数据类型用于逻辑判断逻辑数据类型用于逻辑判断,只有两个值:真只有两个值:真(True)True)、假假(False)False)若变量的值是若变量的值是“true/false”true/false”、“yes/no”“yes/no”、“on/off”“on/off”信息,则可将它声明为信息,则可将它声明为Boolean Boolean 类型。类型。缺省值:缺省值:FalseFalse 逻辑数据转换成整型数据时,真逻辑数据转换成整型数据时,真 转换为转换为-1-1,假转换为,假转换为0 0;其他类型数据转换为逻辑数据时,非;其他类型数据转换为逻辑数据时,非0 0数转换为数转换为 真,真,0 0转转换为换为 假。假。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 字符(字符(StringString)数据类型数据类型 是一组由计算机字符组成的序列,每个字符都以是一组由计算机字符组成的序列,每个字符都以ASCIIASCII编码表示。用一个字节表示。在编码表示。用一个字节表示。在VBVB中,字符串要用中,字符串要用双引号括起来。双引号括起来。例如:例如:“Visual BasicVisual Basic”、“中国天津中国天津”、“123.456123.456”有两种字符串:变长字符串和定长字符串。变长字有两种字符串:变长字符串和定长字符串。变长字符串的最大长度为符串的最大长度为2 23131-1-1个字符;定长字符串的最大长度为个字符;定长字符串的最大长度为6553565535个字符个字符 。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 对象(对象(ObjectObject)数据类型数据类型 用用4 4个字节来存储,该个字节来存储,该3232位地址可以引用应用程序中的对象。位地址可以引用应用程序中的对象。变体(变体(VariantVariant)数据类型数据类型 变体型数据是一种可以随时改变数据类型的数据。如:变体型数据是一种可以随时改变数据类型的数据。如:Dim Dim SomeValueSomeValue As Variant As Variant 定义定义SomeValueSomeValue为变体型变量为变体型变量SomeValueSomeValue=“17”=“17”SomeValueSomeValue包含包含“17”“17”(双字(双字符符 的串)的串)SomeValueSomeValue=SomeValue SomeValue-15 -15 现在现在 SomeValue SomeValue 包含数值包含数值 2 2SomeValueSomeValue=U&=U&SomeValueSomeValue现在现在 SomeValue SomeValue 包含包含 U2U2 (双字符的串)双字符的串)计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计形式:形式:Type Type 自定义类型名自定义类型名 元素名元素名(下标下标)As As 类型名类型名 元素名元素名(下标下标)As As 类型名类型名 End TypeEnd Type其中:元素名其中:元素名 表示自定义类型中的一个成员表示自定义类型中的一个成员 下下 标标 表示该成员是一个数组表示该成员是一个数组 类型名类型名 该成员的标准数据类型该成员的标准数据类型例如例如:定义班级中学生的基本情况的数据类型如下:定义班级中学生的基本情况的数据类型如下:Type Students 声名声名Students是自定义类型名是自定义类型名 Name As String*8 Name是是Students类型中的成员之一类型中的成员之一 Age As Integer Age是是Students类型中的成员之一类型中的成员之一 A Address As String*20 0 Address是是Students类型中的成员之一类型中的成员之一 End Type2 2、自定义类型、自定义类型 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计声明变量:声明变量:Dim Student1 As StudentsDim Student1 As Students要表示要表示Student1Student1变量中的某个元素,可使用下列方式:变量中的某个元素,可使用下列方式:变量名变量名.元素名元素名例如:例如:Student1.Name=Student1.Name=李萍李萍 Student1.Age=19Student1.Age=19使用自定义类型应注意的问题:使用自定义类型应注意的问题:自定义类型必须在标准模块(自定义类型必须在标准模块(.BasBas)中定义,默认是中定义,默认是PublicPublic。自自定定义义类类型型中中的的元元素素类类型型是是字字符符串串型型时时,该该字字符符串串必必须须是是定定长字符串。长字符串。要要分分清清自自定定义义类类型型名名和和具具有有该该类类型型的的变变量量名名。前前者者表表示示的的是是一一种种数数据据类类型型,如如同同IntegerInteger、SingleSingle等等一一样样;后后者者是是一一个个具具有有某种类型的变量,某种类型的变量,VBVB根据变量的类型分配必要的存储空间。根据变量的类型分配必要的存储空间。VBVB中标准数据类型表见课本中标准数据类型表见课本P36P36页页 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计常量常量 普通常量普通常量 符号常量符号常量数值常量数值常量字符串常量字符串常量逻辑常量逻辑常量日期常量日期常量3.3.1 常量常量在程序运行过程中,其值始终保持不变的量称为常量在程序运行过程中,其值始终保持不变的量称为常量1 1、普通常量:、普通常量:数值常量:数值常量:字节型、整型、长整型、定点及浮点常量。字节型、整型、长整型、定点及浮点常量。字节型、整型、长整型都是整型常量,例如:字节型、整型、长整型都是整型常量,例如:5050、480085480085、-123-123、&O123O123、&H14&H14等。等。定点常数是带小数点的正数或负数,如:定点常数是带小数点的正数或负数,如:3.124363.12436、123.123123.123、-0.456-0.456等。等。3.3 常量和变量常量和变量 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 浮浮点点常常数数又又分分为为单单精精度度浮浮点点常常数数和和双双精精度度浮浮点点常常数数,他他们们都都由由尾尾符符、尾尾数数、指指数数符符号号和和指指数数四四部部分分组组成成,其其中中尾尾符符代表了浮点数的正负,指数是整数。代表了浮点数的正负,指数是整数。例例如如:-3.7856-3.7856E-2E-2、78D378D3所所表表示示的的值值分分别别为为-0.037856-0.037856和和7800078000。字符串常量:字符串常量:是用双引号括起来的一串字符,每个字符占是用双引号括起来的一串字符,每个字符占用一个字节,如果是汉字,占用两个字节,但在用一个字节,如果是汉字,占用两个字节,但在VBVB中汉字被认为中汉字被认为是一个字符。是一个字符。“abcdabcd”长度为长度为4 4的字符串的字符串 “VB5.0VB5.0中文版中文版”长度为长度为8 8的字符串的字符串 逻辑常量:逻辑常量:逻辑真逻辑真 TrueTrue、逻辑假逻辑假 FalseFalse 日期常量日期常量#January 1January 1,2000#2000#、#5/12/98#5/12/98#、#1999-6-30#1999-6-30#、#99-9-10 8#99-9-10 8:3030:00#00#都是正确的日期常量。都是正确的日期常量。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计功能:功能:设置符号常量为表达式的值。设置符号常量为表达式的值。举例:举例:下面的语句分别定义了四个符号常量。下面的语句分别定义了四个符号常量。Const Const NAME As StringNAME As String=“=“LiLinLiLin“定定 义义 NAMENAME是是 符符 号号 常常 量量,其其 值值 是是 字字 符符 串串“LiLinLiLin“Const NUM As Integer=4450 Const NUM As Integer=4450 定义定义NUMNUM是符号常量,其值是整型数是符号常量,其值是整型数44504450 const const 符号常量名符号常量名 As As 类型类型=表达式表达式 ,符号常量名,符号常量名=表达式表达式 2 2符号常量符号常量(用户声明常量)(用户声明常量)用用户户声声明明常常量量是是用用一一个个符符号号名名来来代代替替数数值值或或字字符符串串,称称为为符符号常量。号常量。命名规则:命名规则:符号名必须是以字母开头,由字母、数字、下符号名必须是以字母开头,由字母、数字、下 划线组成的长度不大于划线组成的长度不大于4040的字符串。格式:的字符串。格式:计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 Const Pi=3.14159 定义PI是符号常量,其值是单精度数3.4159 Const MAX As Integer=&O155 定义MAX是符号常量,其值是八进制数155 使用符号常量的规则:符号常量不能修改,也不能对符号常量赋新值。符号常量名不能是Visual Basic中的保留字,如Case、EndDo、If等。符号常量名必须以字母开头。通常,为了区别于其他变量,符号常量用大写字母表示。符号常量应先定义后使用,在整个模块中只需定义一次。由于VB应用程序的结构层次分全局级、窗口级和模块级,相应地一个符号常量也有不同的作用域。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计1 1 变量和变量名变量和变量名变量是指在程序运行期间其值可以变化的量。命名规则:变量名必须以字母AZ(或a z)开头。构成变量名的字符串由英文字母、数字、下划线符号组成。变量名中间不允许有空格。Visual Basic的保留字不能作为变量名。在Visual Basic语言中,变量名不区分大小写。如ABC、abc、aBc都认为是一个相同的变量名。为了便于区分,一般变量名首字母用大写字母,其余用小写字母表示,而符号常量全部用大写字母表示。3.3.2 3.3.2 变量变量 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计2 2 变量的声明及类型变量的声明及类型 用Dim关键字声明变量 格式:Dim 变量名 As 类型 其中:As 类型可选项。省略时,变量类型默认为变体类型。用途:在模块过程中或窗体级的通用过程中定义变量。例子:Dim Age As Integer 定义Age为整型变量 Dim StrTemp As String 定义StrTemp为不定长字符型变量 Dim StrName As String*10 定义StrName 为定长字符变量 Dim Number As Single,Count As Single 定义Number和Count都是单精度变量 Dim Number,Count As Single 定义Number为变体变量,Count为单精度变量 从上面的例子可知:字符串变量有定长和不定长两种形式;在一个Dim语句中定义多个变量时类型声明不能共用。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 用Static 关键字声明变量 格式:Static 变量名 As 类型名 用途:在过程中定义静态变量和静态数组。说明:该变量的值在函数或过程执行结束后能保存下来,所以,下一次执行时,该值不再初始化。例子:Private Sub form_Click()Dim A1 As Integer Static A2 As Integer A1=A1+1 A2=A2+1 End Sub 该过程中A1和A2定义为不同类型的整型变量。A1的值每调用一次过程就自动加1,过程调用一结束,其值就变为0。A2的值每调用一次过程也自动加1,过程调用结束时,A2的值等于调用该过程的次数。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 Public关键字声明变量用途:在全局模块中使用,定义的变量是全局变量,作用域 为整个应用程序。声明的方式:单击“Project”菜单上的“Add Module”选项,添加一个新模块文件或打开现有的模块文件。用Public 语句定义变量,格式为:Public 变量名 As 类型名例子:Public PI As Single Public AA As Integer 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 用类型说明符直接声明变量用类型说明符直接声明变量 格式:格式:变量名变量名+类型说明符类型说明符 类型说明符放有:类型说明符放有:%表示整型表示整型&表示长整型表示长整型!表示单精度型表示单精度型#表示双精度型表示双精度型 表示货币型表示货币型 表示字符型表示字符型例如:例如:NameName 定义字符型变量定义字符型变量 PricePrice!定义单精度型变量定义单精度型变量 Age%Age%定义整型变量定义整型变量 隐式声明变量隐式声明变量在在VBVB中中,对对未未进进行行声声明明就就直直接接使使用用的的变变量量叫叫做做隐隐式式声声明明,其其类型为类型为VariantVariant类型。应避免使用。类型。应避免使用。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计3 3 变量的作用域变量的作用域 局部变量局部变量 用用DimDim语句定义,只能在本过程中使用,其他过程不可访问。语句定义,只能在本过程中使用,其他过程不可访问。随过程的调用分配存储单元,进行变量的初始化,一旦过程随过程的调用分配存储单元,进行变量的初始化,一旦过程结束,变量的内容自动消失,并释放所占用的存储单元。结束,变量的内容自动消失,并释放所占用的存储单元。不同的过程中可使用相同的变量名。不同的过程中可使用相同的变量名。窗体窗体/模块级变量模块级变量 用用DimDim语句或语句或PrivatePrivate语句,在语句,在“通用声明通用声明”段中定义。放在段中定义。放在一个窗体一个窗体/模块的任何过程外,可被本窗体模块的任何过程外,可被本窗体/模块的任何过程访问。模块的任何过程访问。全局变量全局变量 用用PublicPublic语句声明,在语句声明,在“通用声明通用声明”段中定义,放在标准模段中定义,放在标准模块的任何过程或函数外,可被应用程序的任何过程或函数访问。块的任何过程或函数外,可被应用程序的任何过程或函数访问。其值在整个应用程序中始终不会消失和重新初始化,只有在其值在整个应用程序中始终不会消失和重新初始化,只有在整个程序结束时,才会释放。整个程序结束时,才会释放。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计 静态变量静态变量 用用StaticStatic语句定义的局部变量,在程序运行过程中该类变量语句定义的局部变量,在程序运行过程中该类变量的值可保留。的值可保留。每次调用过程时,用每次调用过程时,用StaticStatic定义的静态变量保持原来的值,定义的静态变量保持原来的值,而用而用DimDim定义的变量要重新初始化。定义的变量要重新初始化。声明变量时作用域的规则:声明变量时作用域的规则:在窗体、模块中声明的变量是模块级的,对整个模块都有效。在窗体、模块中声明的变量是模块级的,对整个模块都有效。在过程内用在过程内用DimDim语句声明的变量只在过程内有效。语句声明的变量只在过程内有效。用用PublicPublic语句声明的变量是程序级的,在整个程序中起作用。语句声明的变量是程序级的,在整个程序中起作用。用用StaticStatic语语句句声声明明的的变变量量是是静静态态变变量量,即即使使在在过过程程结结束束后后也也一直保存着,一直保存着,VBVB在任何时候都不会去初始化静态变量。在任何时候都不会去初始化静态变量。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计过程局部变量过程局部变量函数局部变量函数局部变量过程局部变量过程局部变量函数局部变量函数局部变量模块变量模块变量窗体变量窗体变量全局变量全局变量 变量作用域的关系变量作用域的关系 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计3.3 运算符和表达式运算符和表达式 运算符是代表运算符是代表Visual BasicVisual Basic某种运算功能的符某种运算功能的符号。号。Visual BasicVisual Basic程序会按运算符的含义和运算规程序会按运算符的含义和运算规则执行实际的运算操作。则执行实际的运算操作。Visual BasicVisual Basic中的运算符中的运算符包括:包括:算术算术运算符运算符 关系运算符关系运算符 逻辑运算符逻辑运算符 字符串字符串运算符运算符 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计1 算术运算符算术运算符运算符运算符功能功能优先级优先级运算符运算符功能功能优先级优先级指数指数1整除整除4负号负号2Mod取余取余5 乘乘3加加6除除3减减6功能:功能:对诸如整型数、长整型数、单精度浮点数、双精度浮点数及货币型数对诸如整型数、长整型数、单精度浮点数、双精度浮点数及货币型数进行操作。进行操作。计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计说明:说明:算术运算符中,除负号算术运算符中,除负号“-”是单目运算符外,其余都是单目运算符外,其余都是双目运算符。是双目运算符。、的概念和代数中的概念相同。的概念和代数中的概念相同。除法运算有两种:除法运算有两种:/一般除法,运算结果一般为单精度数。如果操作数有一般除法,运算结果一般为单精度数。如果操作数有一个为双精度数,则结果为双精度数。如:一个为双精度数,则结果为双精度数。如:7/3=2.33333333333 整除,整数除法,结果为整数。如:整除,整数除法,结果为整数。如:73=2 Mod运算符是求两数相除后的余数。例如:运算符是求两数相除后的余数。例如:23 Mod 7 结果为结果为28.6 Mod 3 结果为结果为0 11.4 Mod 5.2 结果为结果为1 算术运算符两边的操作数应为数值型。若是数字字符或算术运算符两边的操作数应为数值型。若是数字字符或逻辑型,则自动转换为数值型再运算。逻辑型,则自动转换为数值型再运算。先按四舍五入的原则对小数点后部分先按四舍五入的原则对小数点后部分进行处理,然后运算进行处理,然后运算 计算机软件技术基础计算机软件技术基础 Visual Basic Visual Basic Visual Basic Visual Basic 程序设计程序设计程序设计程序设计2 关系运算符关系运算符运算符运算符功功 能能例例 子子结结 果