第 2章 数据与表达式本章将介绍在编写代码时用到的一些最基础的知识,包括 VB的基本字符集和词汇集,VB的基本数据类型,常量与变量,运算符与表达式及常用内部函数 。
退出
2.1 VB的基本字符集和词汇集
2.2 VB的基本数据类型
2.3 常量与变量
2.4 运算符与表达式
2.5 常用内部函数
2.1 VB的基本字符集和词汇集
2.1.1 字符集
2.1.2 词汇集
1.关键字关键字又称保留字,是在语法上有固定意义的字母组合 。 主要包括:命令名,函数名,数据类型名,
运算符,VB系统提供的标准过程等 。
2.标识符标识符是用户自己定义的名字,包括自定义常量名,变量名,控件名,自定义的过程名和函数名等 。
用户通过标识符对相应的对象进行操作 。
2.2 VB的基本数据类型数据是信息的物理表示形式,是程序处理的对象 。
在 VB中,对不同类型的数据有不同的操作方式和不同的取值范围 。 在程序设计中,要随时注意所用数据的类型 。 VB的数据类型有系统定义和自定义两种,系统定义的数据类型称为标准类型,自定义数据类型是由若干标准类型组合成的某种结构 。 表 2-1列出了 VB中的标准数据类型 。
2.2.1 字符串型 ( String)
字符串包括除双引号和回车以外可打印的所有字符,双引号作为字符串的定界符号 。
例如,"1234"和 "张 三 "都是字符型 。 注意字符串中空格是有效字符 。
2.2.2 数值型
VB中的数值型数据分为整型和实型两大类。
1.整型整型数是不带小数点和指数符号的数。包括整型、
长整型和字节型整数。
( 1) 整型 ( Integer,类型符 %)
整型数用两个字节存储,取值范围是 -32768到
+32767。
例如,15,-345,654%都是整数型 。 而 45678%
则会发生溢出错误 。
( 2) 长整型 ( Long,类型符 &)
长整型用 4个字节存储,取值范围是 -2147483648
到 +2147483647。
例如,123456,45678&都是长整数型 。
( 3) 字节型 ( Byte)
用一个字节存储,取值范围是 0到 255。
2.实型实型数据主要分为单精度,双精度和货币型 3种 。
( 1) 单精度浮点数 ( Single,类型符 !)
单精度数用 4个字节存储,有 7位有效数字,取值范围 1.401298E-45<|x|<3.402823E+38。
例如,3.14!,2.718282。
( 3) 货币型 ( Currency,类型符 @)
货币型数据主要用来表示货币值,用 8个字节存储,
货币型是定点数,精确到小数点后面第 4位,第五位四舍五入 。 整数部分最多 15位 。
例如,3.56@,65.123456@都是货币型 。
2.2.3 逻辑型 ( Boolean)
逻辑型数据只有两个:逻辑真 True和逻辑假 False,
用 2个字节存储 。 当把逻辑值转化为数值型时,False
为 0,True为 -1。
2.2.4 日期型 ( Date)
日期型数据用 8个字节来存储,日期范围从公元
100年 1月 1日到 9999年 12月 31日,可以用 #括起来放置日期和时间,允许用各种表示日期和时间的格式 。
日期可以用,/”,“,,,,-”分隔开,可以是年,
月,日,也可以是月,日,年的顺序 。 时间必须用
,:,分隔,顺序是:时,分,秒 。
例如,#1999-08-11 10,25,00 pm#,#08/23/99#,
#03-25-75 20,30,00#,#98,7,18#等都是有效的日期型数据。在 VB中会自动转换成 mm/dd/yy(月 /日 /年)
的形式。
2.2.5 变体型( Variant)
变体型也称为可变类型,它是一种特殊的数据类型。它的类型可以是前面叙述的数值型、日期型、字符型等,完全取决于程序的需要。从而增加了 VB数据处理的灵活性。
2.2.6 自定义类型在 VB中可以用系统提供的标准类型定义变量,它们都是计算机处理的基本数据项。但在实际工作中,
常见的并不是孤立的数据项,而是由两个或两个以上的基本项组成的组合项。例如,学生对象由学号、姓名、性别与语文、英语、数学,…,平均分数等基本项组合成组合项。用这些组合项来描述相应对象的若干属性,这些描述相同对象的组合项的集合形成了记录。在 VB中使用用户定义数据类型定义记录结构。
自定义类型由 Type语句来实现:
格式,Type 自定义类型名元素名 1 As 类型名元素名 2 As 类型名
……
元素名 n As 类型名
End Type
例如:
Type stutype
xm As String*4
xh As Integer
csrq As Date
sx As Single
yw As Single
yy As Single
endtype
2.3 常量与变量计算机处理数据时,常用的数据形式有两种,一是常量,二是变量 。
2.3.1 常量在程序执行的过程中保持不变的数据称为常量 。
在 VB中,常量分为两种,文字常量和符号常量 。 符号常量又分为用户自定义和系统定义两种 。
1.文字常量文字常量直接出现在代码中,也称为字面常量或直接常量,文字常量的表示形式决定它的类型和值。
例如:
字符型,"I am a student" 放在一对引号当中。
数值型,3.14159,56,8.432E-15
日期型,#3 jan,98# 放在一对 #当中。
逻辑型,True,False
2.符号常量符号常量就是用标识符来表示一个常量,例如:
我们把 3.14定义为 pi,在程序代码中,我们就可以在使用圆周率的地方使用 pi。使用符号常量的好处主要在于,当我们要修改该常量时,只需要修改定义该常量的一个语句即可。
定义常量的方法如下:格式,const 常量名 [as类型 ]=表达式说明:常量名的命名规则与标识符相同。 [as类型 ]
用以说明常量的数据类型。
除了用户定义的常量外,在 VB中,系统定义了一系列常量,可与应用程序的对象、方法或属性一起使用,使程序易于阅读和编写。系统常量的使用方法和自定义常量的使用方法相同。
例如,form1.Windowstate=vbMinimized 意义为将窗口最小化。
其中 vbMinimized就是一个系统定义的常量,值为
1。和 form1.Windowstate=1相比较,
form1.Windowstate=vbMinimized更明确地表达了语句的功能。
系统定义的常量在对象库中,可以在对象浏览器中通过不同的对象库查找它们的符号及取值。如图 2-1
所示。
2.3.2 变量在程序执行过程中,其值可以改变的量称为变量 。
1.变量的说明使用变量前,应首先定义所用到的变量 ( 包括变量名和类型 ),使系统分配相应的内存空间,并确定该空间可存储的数据类型 。 所有变量都具有名字和类型 。 在 VB中可以用类型说明语句或隐式说明来定义变量 。
( 1) 类型说明语句格式:说明符 变量名 [As 类型 ]
说明符是说明语句的关键字,它可以是 Dim,
Private,Public,Static。
本章主要介绍 Dim语句 。
例如:
Dim a as integer
Dim b as long
Dim c as single
上面的 3个语句可以写为:
Dim a as integer,b as long,c as single
也可以用类型符来定义变量,例如上面语句写成:
Dim a%,b&,c! 作用是一样的 。
缺省 [As类型 ]为可变类型 。
另外,若把多个变量都定义成同一类型,例如:
把 X,Y,Z都定义成双精度型,必须写成,Dim X as
double,Y as double,Zas double
如果写成,Dim x,y,z as double
则 x,y定义成可变类型,z定义成双精度型 。
对于字符型变量,VB中分为定长和变长两种 。 例如:
Dim Name as string,Id as string*10
说明,Dim语句定义的变量其作用范围由 Dim语句所在的位置决定 。 Dim语句出现在窗体代码的声明部分时,则窗体以及窗体中各控件的事件过程都可以使用这些变量 。 这种变量称为窗体级变量;在过程内部用 Dim语句声明的变量,只在该过程内有效 。 这种变量称为局部变量 。 关于变量的作用域,8.4节详细阐述 。
( 2) 隐式说明
VB中使用未加说明的变量时,系统默认为可变类型 ( Variant),这种方式称为隐式说明 。 建议初学者养成对变量显示说明的习惯,以避免一些不必要的错误 。
2.可变类型变量 Variant
当说明语句中,使用类型关键字 Variant定义类型,
或仅定义变量而不作类型声明 ( 或变量名不带类型符 ),则该变量称为可变类型变量 。
3.自定义类型变量在 Visual Basic6.0 中允许用户自己定义变量类型,
在定义,自定义类型变量,前要先定义数据类型
2.4 运算符与表达式
2.4.1 算术运算符算术运算符用来连接数值型数据进行算术运算,
VB提供了 7种算术运算符,如表 2-2所示 。
2.4.2 字符串运算符字符串只有连接运算,在 VB中可以用,+”或,&”。
建议尽量使用,&”,使程序看起来更明了 。 使用,&”
运算符时应注意前后加空格,否则 VB会当作长整数型的类型符来处理 。
注意,+”和,&”的区别 。 当两个被连接的数据都是字符型时,它们的作用相同 。 当数字型和字符型连接时,,&”把数据都转化成字符型然后连接;,+”把数据都转化成数字型然后连接 。 例如 。
"ABC"+"DEF"其值为 "ABCDEF"。
"姓名," & "张三 " 其值为,"姓名:张三 "。
23 & "7" 其值为,"237"。
23+"7" 其值为,30。
而 23+"7abc"则会出现类型不匹配的错误。
2.4.3 关系运算符关系运算符用作两个数值或字符串的比较,返回值是逻辑值 True或 False。表 2-3列出了 VB中的关系运算符及使用示例。
2.4.4 逻辑运算符逻辑运算符对逻辑量进行逻辑运算,除 Not外都是对两个逻辑量运算 。 结果为逻辑值 。 表 2-4列出了 VB
中的逻辑运算符 。
2.4.5 表达式
1.表达式的组成表达式由常量,变量,函数,运算符以及圆括号,
( ),按照一定的规则组成,不管表达式的形式如何,
都会计算出一个结果,该结果的类型由参与运算的数据和运算符决定 。
2.表达式的书写规则
( 1)表达式中的每个字符没有高低、大小的区别。
( 2)只能使用圆括号,可以多重使用,圆括号必须成对出现。
( 3) VB表达式中的乘号,*”不能省略。
( 4)能用内部函数的地方尽量使用内部函数。
例如:数学式 写成 VB表达式为:
( -b+sqr( b^2-4*a*c)) /( 2*a)
a
acbb
2
42
3.关系表达式和逻辑表达式当使用关系运算符或逻辑运算符时,表达式又称为关系表达式或逻辑表达式。
关系运算一般表示一个简单的条件。
例如,age>20,score>80,x+y>z等。
逻辑表达式表示较复杂的条件。
例如:数学中的 0<x<5,写成 VB表达式应为 0<x
And x<5。
4.结果类型算术表达式中,不同类型的数据计算时结果转化成精度高的类型。
关系表达式和逻辑表达式的结果是逻辑值,True、
False。
5.优先级圆括号 >算术运算符 >关系运算符 >逻辑运算符。
2.5 常用内部函数
VB提供了大量的内部函数供用户调用 。 本节将分类介绍一些常用的内部函数 。
函数的一般调用格式:
格式:函数名 ( [参数表 ])
说明:参数表可以有一个参数或逗号隔开的多个参数,多数参数都可以使用表达式 。 函数一般作为表达式的组成部分调用 。
2.5.1 数学函数
VB提供了大量的数学函数。常用数学函数有三角函数、算术平方根函数、对数函数、指数函数及绝对值函数等。
2.5.2 转换函数转换函数用于各种类型数据之间的转换 。
2.5.3 字符串函数
VB具有很强的字符串处理能力 。
2.5.4 日期与时间函数日期与时间函数提供时间和日期信息 。