第2章VISUAL BASIC 的数据类型及运算.docx

上传人:b****1 文档编号:938869 上传时间:2023-04-30 格式:DOCX 页数:42 大小:105.66KB
下载 相关 举报
第2章VISUAL BASIC 的数据类型及运算.docx_第1页
第1页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第2页
第2页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第3页
第3页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第4页
第4页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第5页
第5页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第6页
第6页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第7页
第7页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第8页
第8页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第9页
第9页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第10页
第10页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第11页
第11页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第12页
第12页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第13页
第13页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第14页
第14页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第15页
第15页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第16页
第16页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第17页
第17页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第18页
第18页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第19页
第19页 / 共42页
第2章VISUAL BASIC 的数据类型及运算.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第2章VISUAL BASIC 的数据类型及运算.docx

《第2章VISUAL BASIC 的数据类型及运算.docx》由会员分享,可在线阅读,更多相关《第2章VISUAL BASIC 的数据类型及运算.docx(42页珍藏版)》请在冰点文库上搜索。

第2章VISUAL BASIC 的数据类型及运算.docx

第2章VISUALBASIC的数据类型及运算

第2章VisualBasic的数据类型及运算

VisualBasic应用程序包括两部分内容,即界面和程序代码。

其中程序代码的基本组成单位是语句,而语句是由数据类型、常量、变量、内部函数、运算符和表达式等构成的。

在这一章中将介绍构成VisualBasic应用程序的这些基本元素。

2.1数据类型

计算机对数据进行处理时,需要以不同的形式表示和存储数据,将数据分为不同的种类,也就是把数据分成不同的数据类型。

各种数据类型的取值范围和存储空间都是不一样的。

VB的数据类型比较丰富,主要可以分为两大类:

基本数据类型和用户自定义类型。

2.1.1基本数据类型

数据类型用来规定数据对象所占内存空间的大小以及对象能够参与的运算。

VisualBasic系统定义的基本数据类型主要包括以下几种,如表2.1所示。

表2.1VisualBasic基本数据类型

数据额类型

关键字

类型符

占字节数

范围

数值型

整型

Integer

%

2

-32768~32767

长整型

Long

&

4

-2147483648~2147483647

单精度型

Single

!

4

负数:

-3.402823E38~-1.401298E-45

正数:

1.401298E-45~3.402823E38

双精度型

Double

#

8

负数:

-1.79769313486232E308~

-4.9406564584124E-324

正数:

4.9406564584124E-324~

1.79769313486232E308

货币型

Currency

@

8

-922337203685477.5808

~922337203685477.5807

字节型

Byte

1

0~255

字符型

变长字符串型

String

$

1/每字符

0~65535个字符

定长字符串型

String*Size

$

布尔型

Boolean

2

True与False

日期型

Data

8

1/1/100~12/31/9999

对象型

Object

4

任何对象引用

可变型

Variant

根据需要分配

上述有效范围之一

1数值数据类型

数值型数据用于表示某种数值,分为整型和实型两类,分别用于表示整数和浮点实数。

根据表示数的范围,整型数据可分为整型和长整型,实型数据可分为单精度和双精度数据。

有时把货币型和字节型数据也归为数值型数据。

(1)整型(Integer)和长整型(Long)

整型(Integer)是指不带小数点和指数符号的数,可表示范围在-32768~32767之间的整数,在机器内存中占2个字节存储的整数。

在VB中数尾常加类型符“%”表示Integer的整数,也可省略。

如-34,78%。

长整型(Long)可表示范围在-2147483648~2147483647之间的整数,在机器内占4个字节存储。

在VB中数尾常加类型符“&”表示Long的整数。

如:

-123&、12345678均表示长整型数。

注意:

369、-369、+369均表示整数,而369.0就不是整数;12345678均表示长整数,而123,456则是非法数,因为其中出现逗号。

整型数的运算速度快、精确,且占用存储空间较小,但表示数的范围也较小。

(2)单精度数(Single)和双精度数(Double)

单精度数(Single)是带小数点的实数,有效数字为7位,在机器内用4个字节存储,类型符为“!

”。

单精度数有多种表示形式:

±n.n(小数形式)、±nE±m(指数形式)、±n.nE±m(指数形式)、±n!

(整数加单精度类型符)。

例如:

123.45、0.12345E+3、123.45都是同值的单精度数。

如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。

双精度数(Double)也是带小数点的实数,有效数字为15或16位,在机器内用8个字节存储。

通常以指数形式表示,指数部分用“D”或“E”表示。

在VB中数尾常加“#”表示双精度数据,也可省略。

如,123.45#、0.12345D+3、0.12345E+3等都表示同值的双精度浮点数。

浮点型数表示数范围大,但有误差,且运算速度慢,一般对精度要求较高的数值可以采用Double型,而对精度要求不高的数值可以采用Single型。

(3)货币型数据(Currency)

货币型数据是为是一种专门为处理货币而设计的数据类型,是一种特殊的小数。

它的精度要求较高,用8个字节存储,保留小数点右边4位和小数点左边15位,如果数据定义为货币型,且其小数点后超过4位,那么超过的部分自动四舍五入。

在VB中数尾常加“@”表示货币型数据。

如3.4@,565@。

(4)字节型数据(Byte)

字节型数据用来存储二进制数,是范围在0~255之间的无符号整数,不能表示负数,在机器内用一个字节存储。

Byte是从0-255的无符号类型。

2.字符型数据(String)

字符型数据(String)表示一个字符序列,可以包括所有英文字符和汉字,如学生的姓名、教师的职称等,在程序中是用双引号括起字符串。

例如:

“VisualBasic”、“赣南师院”、“123.456”、“everyone”、“”(空字符串)。

注意:

“”表示空字符串,而“”表示的是有一个空格的字符串。

VisualBasic的字符串有两种,即可变长度字符串和固定长度字符串。

可变长度字符串是指在程序运行期间字符串的长度不固定,固定长度字符串是指在程序运行期间字符串的长度不变的字符串。

3逻辑型数据(Boolean)

逻辑型数据(Boolean)又称逻辑型,用来表示逻辑判断结果的,只有真(True)和假(False)两个值,在机器内用2个字节存储。

逻辑数据转换成整型数据时,真转换为-1,假转换为0;其他类型数据转换为逻辑数据时,非0数转换为真,0转换为假。

4日期型数据(Date)

日期型数据是为表示日期设置的,在机器内占8个字节,以浮点数形式存储。

表示的日期范围从公元100年1月1日到9999年12月31日,时间范围为0:

00:

00~23:

59:

59。

日期型数据有两种表示法:

一种是以任何字面上可被认作日期和时间的字符,用“#”将其括起来。

例如:

#04/10/2008#、#2004-08-10#、#September1,2004#、#2004-9-1013:

30:

15#。

另一种是以序列表示,小数点左边的数字代表日期,而小数点右边的数字代表时间,0为午夜,0.5为中午12点,负数代表的是1899年12月31日之前的日期和时间。

例如序列-2.5代表日期1899年12月28日12点00时00分。

5对象数据类型(Object)

对象(Object)变量作为32位(4个字节)地址来存储,可以用来引用应用程序中的对象。

在使用中,可先声明一个Object变量,随后用Set语句指定它来引用应用程序中的实际对象。

例如:

DimobjLbAsObject

SetobjLb=Label1

objLb.Caption=””欢迎光临”

通过Set语句将标签的标签Label1objLb的名字赋给对象变量objLb,在后面的语句中可以通过对对象变量objLb来引用标签对象objLb。

6变体型数据类型(Variant)

变体型数据类型可以表示以上任何一种数据类型,为VB的数据处理增加了智能性。

在声明变量时,若没有加以说明类型,则默认为Variant。

Variant数据类型能够存储所有系统定义类型的数据。

假设定义a为变体型变量,在变量a中可以存放任何类型的数据,例如:

DimaasVariant

a=“BASIC”‘存放一个字符串

a=10‘存放一个整数

a=20.5‘存放一个实数

a=#08/15/2003#‘存放一个日期型数据

除此之外,变体类型还可以包括以下4钟特殊的数据。

Empty:

空,表示未确定的数据。

Null:

无效,表示这个数据不合法,

Error:

出错,表示执行过程中出现了一个错误条件。

Nothing:

无指向,表示数据还没有指向一个具体对象。

上述4种特殊数据,在进行数据库应用程序的开发中经常使用。

2.1.2自定义数据类型

VB不仅提供了系统定义的以上基本数据类型,也允许用户自己定义数据类型,它由若干个基本数据类型组成,将不同类型、互相有联系的数据项目组合成一个整体,类似C语言中的“结构体”类型数据。

在VB中,自定义类型必须通过Type语句来声明,其格式为:

Type数据类型名

元素名1As类型名

元素名2As类型名

元素名nAs类型名

EndType

例如:

对于一个学生的“学号”、“姓名”、“年龄”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Stud类型)。

TypeStud‘定义类型名

NumAsSting‘定义学生学号为字符型

NameAsString*10‘定义学生姓名为长度为10的定长字符串型

AgeAsInteger‘定义学生年龄为整型

EndType

定义了类型之后,便可在变量声明中使用该类型。

例如:

DimStudentasStud

此语句定义了Stud类型的变量Student,它包含3个成员。

在后面的程序中可用变量名.成员名的形式来引用各个成员,例如:

Student.Num=”20130009001”

Student.Name=”王芳”

Student.Age=19

2.1.3枚举类型

1枚举类型的概念

当一个变量只有几种可能值的时候,可以定义为枚举类型。

所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。

例如,可以把与“星期”相关联的一组整数常数声明为一个枚举类型,然后在代码中使用星期的名称而不使用其整数值。

2定义枚举类型

枚举类型放在窗体模块、标准模块或共用模块中的声明部分,通过Enum语句来定义。

定义枚举类型的语法为:

[Public|Private]Enum类型名称

成员名[=〈常数表达式〉]

成员名[=〈常数表达式〉]

EndEnum

常数表达式,可选项。

元素的值可以是Byte、Integer、Long、Short类型,也可以是其他枚举类型。

若未指定,则默认是Long类型数。

如果缺省常数表达式,则第1个成员的值为0,以后每个加1。

例如,在下面的Enum语句定义中,没有用赋值语句为枚举的成员赋常数值,因此Sunday被初始化为0,Monday被初始化为1,Saturday被初始化为6:

PublicEnumWorkdays

Sunday'值为0

Monday'值为1

Tuesday'值为2

Wednesday'值为3

Thursday'值为4

Friday'值为5

Saturday'值为6

Invalid=-1

EndEnum

Enum语句只能在模块、命名空间、文件级出现。

也就是说,可以在源文件或模块、类或结构内部声明枚举类型,但不能在过程内部声明。

定义了枚举类型后,就可以用它来声明变量类型,然后使用该变量存储枚举常数的值。

引用枚举类型变量的成员的语法格式如下:

枚举类型变量名.成员名称

例如DimMyDayAsWorkdays

MyDay=Days.Monday

2.2常量和变量

计算机所处理的数据存放在内存单元中,在高级语言中,用户给内存单元命名,以后通过内存单元的名字来访问内存单元。

命了名的内存单元就是常量或变量。

不同类型的数据以常量或变量的形式出现。

常量和变量是VB乃至所有编程语言中非常重要的概念。

常量是指在程序运行过程中值始终保持不变的量。

变量是指在程序运行过程中其值可以改变的量。

2.2.1常量

程序运行过程中,其值始终不变的量称为常量。

在VB中常量有直接常量和符号常量两类。

在编程中,对于经常出现或很难记住的常量,我们尽量使用符号常量表示,这样可增强程序的可读性和可维护性。

1直接常量

直接常量是在程序代码中,以明显的方式给出的数据,可直接反映其数据类型;也可在常数值后紧跟类型符表明常数的数据类型。

(1)数值常量

即常数,可以是前面所讲的6种数值型类型:

整型Integer、长整型Long、单精度Single、双精度Double、字节型Byte、货币型Currency。

如123.78、332&、1.23E3。

数值常数大多是十进制数,也有八进制数和十六进制数。

八进制数以&O打头,十六进制数已&H打头,如&O67,&H9AB4等。

(2)字符串常量

字符串常量是一个用双引号括起来的字符序列,如:

“vb”、“9823”,

注意:

空字符串也是字符串常量。

(3)布尔型常量

布尔型常量只有两个值:

True、False

(4)日期常量

日期常量通常用“#”号括起来,例如:

#03/22/2008##10:

12:

30#

2符号常量

符号常量是在程序中用符号表示某个常量,将无意义的单纯常量用有含义的符号表示,可以增加代码的可读性。

程序中不能对符号常量赋以新值。

在VB中,符号常量又分为两种:

系统内部定义常量和用户定义常量。

(1)系统内部定义的常量

系统内部定义的常量是VB提供的。

这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。

通过使用常量,可使程序变得易于阅读和编写。

例如,窗口状态属性WindowState可接受下列常量,见表2.2.

在程序中使用语句Form1.WindowState=vbMaximized,将窗口极大化,显然要比使用语句Form1.WindowState=2易于阅读。

表2.2WindowState常量

常量

描述

vbNormal

0

正常

vbMinimized

1

极小化

vbMaximized

2

极大化

可以通过对象浏览器窗口查看VB内部常量,具体操作是:

选择“视图”→“对象浏览器”命令,打开对象浏览窗口。

在下拉列表框中选择“VB”或“VBA”对象库,然后再“类”列表框中选择常量组,右侧的成员列表中即显示预定义的常量,窗口底端的文本区域中将显示该常量的功能。

系统内部定义的常量名使用两个字符的前缀。

例如:

vb:

表示VB和VBA中的常量。

xl:

表示Excel中的常量。

db:

表示DataAccessObject库中的常量

(2)用户定义常量

虽然VB内部定义了大量的常量,但有时用户需要创建自己的符号常量。

用户定义常量使用Const语句来给常量分配名字、值和类型。

声明语句的语法为:

Const常量名[As数据类型]=常量表达式…

其中,“As数据类型”是常量的类型,属于可选项,当省略“As数据类型”时,常量的类型由其后赋予的值决定。

Const语句可表示数值、日期以及字符串,例如:

ConstPI=3.14159265358979‘表示数值

ConstYDateAsDate=#4/30/2008#‘表示日期

ConstMyString=“Welcome”

2.2.2变量

变量代表数据的一个名称,在程序运行过程中,其值可以改变的量。

每个变量都有一个名字,在使用变量前,一般先声明变量名称和其数据类型,以便系统为它分配内存单元。

1变量的命名

与其他程序设计语言类似,变量命名必须遵循以下规则:

(1)变量名必须以英文字母开头,只能包含字母、汉字、数字、下划线组成的字符串,最后一个字符可以是类型说明符(%,!

,#,@,&,$)。

(2)变量名不能包含标点符合和空格,长度不能超过255。

(3)变量名不能与VisualBasic的关键字(例如End、Len、Sub等)相同。

(4)变量名不区分大小写。

例如,AbC和abc是同一个变量名。

2变量的声明

在VB中变量的声明,可以用“显式声明”和“隐式声明”两种方式。

(1)显式声明

显式声明是在变量使用前,用Dim、Static、Public、Private语句声明变量。

这里先介绍Dim,Dim语句可以声明一个或多个变量,其语法格式为:

Dim变量名[As数据类型]

“As数据类型”定义变量的类型,省略时,所声明的变量默认为Variant型。

例如:

DimxAsInteger‘声明x为Integer型变量

Dimy‘声明x为Variant型变量

系统自动为该变量赋初值,若变量是数据型,则初值为0;若变量为字符型,则初值为空字符。

如果要定义多个相同类型的变量,可以将其放在同一行中,各变量之间用逗号隔开,其语法格式为:

Dim变量名[As数据类型],变量名[As数据类型],……

例如:

Dimb,cAsInteger

DimNameAsString,AgeAsInteger

也可以使用类型符来定义。

例如,上面的语句等价于:

DimName$,Age%

对于字符串类型变量,根据其存放的字符串长度是否固定,其定义方法有两种:

Dim字符串变量名AsString

Dim字符串变量名AsString*字符数

前一种方法定义的是变长字符串;后一种方法定义的是定长字符串。

例如:

DimstrS1asString‘声明可变长字符串变量

DimstrS2asString*20‘声明定长字符串变量可存放50个字符

对上例声明的strS2定长的字符串变量,若赋予的字符按少于50,则右补空;若赋予的字符超过50个,则多余部分截去。

(2)隐式声明

VB允许对使用的变量未进行上述声明而直接使用,称为隐式声明。

所有隐式声明的变量都是Variant类型的。

如:

C=1'C为整型

Sex="female"'Sex为字符串

虽然隐式声明使用方便,但用户一时疏忽而输错字符时,例如把Sex敲成Sax,程序会把Sax当做新的变量,其执行结果就不能达到预期的效果,而且这种错误不能利用编译系统检查出来,较难查找,特别是在大型复杂的程序中更是如此。

因此,要养成在使用一个变量之前先声明它(即显式声明)的良好的编程习惯。

要做显式声明,可以在通用声明段使用OptionExplicit语句来强制显式声明所有变量。

也可以在菜单中设置,具体方法是:

选择“工具”→“选项”命令,在打开的对话框中选择“编辑器”选项卡,再选择其中的“要求变量声明”复选框,如图2-1。

此种方法只能在以后生成的模块中自动添加OptionExplicit语句,对于已经存在的模块不能修改,需要自己手工添加。

图2-1变量的显式声明

3变量赋值

在声明一个变量后,要先给变量赋上一个合适的值才能够使用。

给变量赋值的格式如下:

变量名=表达式

可以使用一个表达式的数值来给某个变量赋值。

一个普通的常量、变量均属于简单的表达式。

例如,给一个变量X,可以使用如下几种表达式进行赋值:

X=5

X=Y

X=X+1

2.3运算符和表达式

运算符是代表VB某种运算功能的符号。

VB程序会按运算符的含义和运算规则执行实际的运算操作。

由运算符将相关的常量、变量、函数等连接起来的式子即为表达式。

VB中的运算符包括:

算术运算符、字符串运算符、关系运算符、逻辑运算符。

2.3.1算数运算符

算术运算符主要用于算术运算。

VB中有8个算术运算符,见表2.3。

表2.3算术运算符

运算符

含义

示例

结果

优先级

^

乘方

5^2

25

1

-

负号

-7

-7

2

*

3*7

21

3

/

2月5日

0.4

3

\

整除(直接取整)

2\5

0

4

Mod

取模(求余)

7Mod2

1

5

+

4+8

12

6

-

减。

2.3-1

1.3

6

注意:

算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。

例如:

30-True’结果是31,逻辑量True转为数值-1,False转为数值0

False+10+"4"‘结果是14

算术表达式由数值型常量、变量、函数和圆括号组成,其运算结果是数值。

在一个算术表达式中,如果参与的运算与操作数具有不同的数据精度,则运算结果的数据类型采用精度较高的数据类型,即Integer→Long→Single→Double→Currency.

【例2.1】算术表达式的使用。

PrivateSubForm_Click()

Dima,bAsInteger

Dimx,yAsSingle

DimdAsDouble,cAsCurrency

a=5

x=8

y=x/a

b=xModa

d=x^3

a=d\a

c=(a+b)*(d-y)/x

Print"a=";a,"b=";b

Print"x=";x,"y=";y

Print"c=";c,"c=";c

EndSub

图2-2运算结果

2.3.2字符串运算符

字符串运算符有两个:

“&”和“+”,它们都是将两个字符串串接起来。

在字符串变量后使用“&”时应注意,变量与运算符“&”间应加一个空格。

这是因为符号“&”还是长整型的类型符。

当变量与符号“&”接在一起时,VB先把它作为类型符处理,这会造成出错。

例如:

“计算机”+”与程序设计”‘结果为”计算机与程序设计”

“Thisisa”&“VisualBasic”‘结果为”ThisisaVisualBasic”

连接符“&”和“+”区别是:

“+”:

两旁的操作数应均为字符型;若为数值型则进行算术加运算;若一个为数字字符,另一个为数值,则自动将数字字符转换为数值后进行算术加;若一个为非数字字符型,另一个为数值型,则出错。

“&”两旁的操作数可任意,转换成字符型后再连接。

表2.4“&”和“+”的区别

操作

结果

操作

结果

"ab"&123

"ab123"

"ab"+123

出错

"12"&456

"12456"

"12"+456

468

"12"&True

"12True"

"12"+True

11

2.3.3关系运算符

关系运算符是用来进行比较的运算符,其结果是一个逻辑值,若关系表达式成立,结果为True(真)和否则为False(假)。

VisualBasic提供的关系运算符有以下几种,如表2.5所示。

表2.5关系运算符

关系运算符

含义

示例

结果

=

等于

“abc”=”ABD”

FALSE

>

大于

(13+5)>2

TRUE

>=

大于等于

“abc”>=”abd”

FALSE

<

小于

“abc”<”abd”

TRUE

<=

小于等于

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2