收藏 分享(赏)

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

上传人:dzzj200808 文档编号:5153564 上传时间:2019-02-10 格式:DOC 页数:45 大小:46.57KB
下载 相关 举报
第2章VISUAL BASIC 的数据类型及运算.doc_第1页
第1页 / 共45页
第2章VISUAL BASIC 的数据类型及运算.doc_第2页
第2页 / 共45页
第2章VISUAL BASIC 的数据类型及运算.doc_第3页
第3页 / 共45页
第2章VISUAL BASIC 的数据类型及运算.doc_第4页
第4页 / 共45页
第2章VISUAL BASIC 的数据类型及运算.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、第 2 章 VISUAL BASIC 的数据类型及运算第 2 章 VisualBasic 的数据类型及运算VisualBasic 应用程序包括两部分内容,即界面和程序代码。其中程序代码的基本组成单位是语句,而语句是由数据类型、常量、变量、内部函数、运算符和表达式等构成的。在这一章中将介绍构成 VisualBasic 应用程序的这些基本元素。2.1 数据类型计算机对数据进行处理时,需要以不同的形式表示和存储数据,将数据分为不同的种类,也就是把数据分成不同的数据类型。各种数据类型的取值范围和存储空间都是不一样的。VB 的数据类型比较丰富,主要可以分为两大类:基本数据类型和用户自定义类型。2.1.1

2、 基本数据类型数据类型用来规定数据对象所占内存空间的大小以及对象能够参与的运算。VisualBasic 系统定义的基本数据类型主要包括以下几种,如表 2.1 所示。表 2.1VisualBasic 基本数据类型数据额类型数值型整型长整型单精度型双精度型关键字 IntegerLongSingleDouble类型符%!#占字节数2448范围-3276832767-21474836482147483647 负数:-3.402823E38-1.401298E-45正数:1.401298E-453.402823E38 负数:-1.79769313486232E308-4.9406564584124E-3

3、24 正数:4.9406564584124E-3241.79769313486232E308货币型字节型字符型变长字符串型定长字符串型布尔型日期型对象型可变型CurrencyByteStringString*SizeBooleanDataObjectVariant$无无无无284根据需要分配True 与 False1/1/10012/31/9999 任何对象引用上述有效范围之一811/每字符-922337203685477.5808922337203685477.580702550 65535 个字符1 数值数据类型数值型数据用于表示某种数值,分为整型和实型两类,分别用于表示整数和浮点实数。根

4、据表示数的范围,整型数据可分为整型和长整型,实型数据可分为单精度和双精度数据。有时把货币型和字节型数据也归为数值型数据。(1)整型(Integer)和长整型(Long)整型(Integer)是指不带小数点和指数符号的数,可表示范围在-3276832767 之间的整数,在机器内存中占 2 个字节存储的整数。在 VB 中数尾常加类型符 “%”表示 Integer 的整数,也可省略。如-34,78%。长整型(Long )可表示范围在 -21474836482147483647 之间的整数,在机器内占 4 个字节存储。在 VB 中数尾常加类型符“”表示 Long 的整数。如:-123 、1234567

5、8 均表示长整型数。?注意:369、-369、+369 均表示整数,而 369.0 就不是整数;12345678 均表示长整数,而 123,456 则是非法数,因为其中出现逗号。整型数的运算速度快、精确,且占用存储空间较小,但表示数的范围也较小。?(2)单精度数( Single)和双精度数(Double)单精度数(Single)是带小数点的实数,有效数字为 7 位,在机器内用 4 个字节存储,类型符为 “!” 。单精度数有多种表示形式:n.n(小数形式)、nEm(指数形式)、n.nEm(指数形式) 、n!(整数加单精度类型符) 。例如:123.45 、0.12345E+3、123.45都是同值

6、的单精度数。如果某个数的有效数字位数超过 7 位,当把它定义为单精度变量时,超出的部分会自动四舍五入。双精度数(Double)也是带小数点的实数,有效数字为 15 或16 位,在机器内用 8 个字节存储。通常以指数形式表示,指数部分用“D”或“E”表示。在 VB 中数尾常加“#”表示双精度数据,也可省略。如,123.45#、0.12345D+3、0.12345E+3 等都表示同值的双精度浮点数。浮点型数表示数范围大,但有误差,且运算速度慢,一般对精度要求较高的数值可以采用 Double 型,而对精度要求不高的数值可以采用 Single 型。(3)货币型数据( Currency)货币型数据是为是

7、一种专门为处理货币而设计的数据类型,是一种特殊的小数。它的精度要求较高,用 8 个字节存储,保留小数点右边 4 位和小数点左边 15 位,如果数据定义为货币型,且其小数点后超过 4 位,那么超过的部分自动四舍五入。在 VB 中数尾常加“”表示货币型数据。如 3.4,565。(4)字节型数据( Byte)字节型数据用来存储二进制数,是范围在 0255 之间的无符号整数,不能表示负数,在机器内用一个字节存储。Byte 是从 0-255 的无符号类型。2.字符型数据( String)字符型数据(String)表示一个字符序列,可以包括所有英文字符和汉字,如学生的姓名、教师的职称等,在程序中是用双引号

8、括起字符串。例如:“VisualBasic” 、 “赣南师院” 、“123.456”、 “everyone”、 “”(空字符串) 。?注意:“”表示空字符串,而“”表示的是有一个空格的字符串。VisualBasic 的字符串有两种,即可变长度字符串和固定长度字符串。可变长度字符串是指在程序运行期间字符串的长度不固定,固定长度字符串是指在程序运行期间字符串的长度不变的字符串。3 逻辑型数据(Boolean)逻辑型数据(Boolean)又称逻辑型,用来表示逻辑判断结果的,只有真(True)和假(False)两个值,在机器内用 2 个字节存储。逻辑数据转换成整型数据时,真转换为-1,假转换为 0;其

9、他类型数据转换为逻辑数据时,非 0 数转换为真, 0 转换为假。4 日期型数据(Date)日期型数据是为表示日期设置的,在机器内占 8 个字节,以浮点数形式存储。表示的日期范围从公元 100 年 1 月 1 日到 9999 年12 月 31 日,时间范围为 0:00:0023:59:59。日期型数据有两种表示法:一种是以任何字面上可被认作日期和时间的字符,用“#”将其括起来。例如: #04/10/2008#、#2004-08-10#、#September1,2004#、#2004-9-1013:30:15#。另一种是以序列表示,小数点左边的数字代表日期,而小数点右边的数字代表时间,0 为午夜,

10、0.5 为中午 12 点,负数代表的是1899 年 12 月 31 日之前的日期和时间。例如序列-2.5 代表日期 1899年 12 月 28 日 12 点 00 时 00 分。5 对象数据类型( Object)对象(Object)变量作为 32 位(4 个字节)地址来存储,可以用来引用应用程序中的对象。在使用中,可先声明一个 Object 变量,随后用 Set 语句指定它来引用应用程序中的实际对象。例如:DimobjLbAsObjectSetobjLb=Label1objLb.Caption=”欢迎光临”通过 Set 语句将标签的标签 Label1objLb 的名字赋给对象变量objLb,在

11、后面的语句中可以通过对对象变量 objLb 来引用标签对象objLb。6 变体型数据类型( Variant)变体型数据类型可以表示以上任何一种数据类型,为 VB 的数据处理增加了智能性。在声明变量时,若没有加以说明类型,则默认为 Variant。Variant 数据类型能够存储所有系统定义类型的数据。假设定义 a 为变体型变量,在变量 a 中可以存放任何类型的数据,例如:DimaasVarianta=“BASIC”存放一个字符串a=10存放一个整数a=20.5存放一个实数a=#0815 2003# 存放一个日期型数据除此之外,变体类型还可以包括以下 4 钟特殊的数据。Empty:空,表示未确定

12、的数据。Null:无效,表示这个数据不合法,Error:出错,表示执行过程中出现了一个错误条件。Nothing:无指向,表示数据还没有指向一个具体对象。上述 4 种特殊数据,在进行数据库应用程序的开发中经常使用。2.1.2 自定义数据类型VB 不仅提供了系统定义的以上基本数据类型,也允许用户自己定义数据类型,它由若干个基本数据类型组成,将不同类型、互相有联系的数据项目组合成一个整体,类似 C 语言中的“结构体”类型数据。在 VB 中,自定义类型必须通过 Type 语句来声明,其格式为:Type 数据类型名元素名 1As 类型名元素名 2As 类型名元素名 nAs 类型名EndType例如:对于

13、一个学生的“学号” 、 “姓名” 、 “年龄”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如 Stud 类型) 。TypeStud定义类型名NumAsSting定义学生学号为字符型NameAsString*10定义学生姓名为长度为 10 的定长字符串型AgeAsInteger定义学生年龄为整型EndType定义了类型之后,便可在变量声明中使用该类型。例如:DimStudentasStud此语句定义了 Stud 类型的变量 Student,它包含 3 个成员。在后面的程序中可用变量名.成员名的形式来引用各个成员,例如:Student.Num=”20130009001”S

14、tudent.Name=”王芳”Student.Age=192.1.3 枚举类型1 枚举类型的概念当一个变量只有几种可能值的时候,可以定义为枚举类型。所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。例如,可以把与“星期”相关联的一组整数常数声明为一个枚举类型,然后在代码中使用星期的名称而不使用其整数值。2 定义枚举类型枚举类型放在窗体模块、标准模块或共用模块中的声明部分,通过 Enum 语句来定义。定义枚举类型的语法为:Public|PrivateEnum 类型名称成员名=常数表达式 成员名=常数表达式 EndEnum常数表达式,可选项。元素的值可以是Byte、 I

15、nteger、Long 、 Short 类型,也可以是其他枚举类型。若未指定,则默认是 Long 类型数。如果缺省常数表达式,则第 1 个成员的值为 0,以后每个加 1。例如,在下面的 Enum 语句定义中,没有用赋值语句为枚举的成员赋常数值,因此 Sunday 被初始化为 0,Monday 被初始化为1,Saturday 被初始化为 6:PublicEnumWorkdaysSunday值为 0Monday值为 1Tuesday值为 2Wednesday值为 3Thursday值为 4Friday值为 5Saturday值为 6Invalid=-1EndEnumEnum 语句只能在模块、命名空

16、间、文件级出现。也就是说,可以在源文件或模块、类或结构内部声明枚举类型,但不能在过程内部声明。定义了枚举类型后,就可以用它来声明变量类型,然后使用该变量存储枚举常数的值。引用枚举类型变量的成员的语法格式如下:枚举类型变量名.成员名称例如 DimMyDayAsWorkdaysMyDay=Days.Monday2.2 常量和变量计算机所处理的数据存放在内存单元中,在高级语言中,用户给内存单元命名,以后通过内存单元的名字来访问内存单元。命了名的内存单元就是常量或变量。不同类型的数据以常量或变量的形式出现。常量和变量是 VB 乃至所有编程语言中非常重要的概念。常量是指在程序运行过程中值始终保持不变的量

17、。变量是指在程序运行过程中其值可以改变的量。2.2.1 常量程序运行过程中,其值始终不变的量称为常量。在 VB 中常量有直接常量和符号常量两类。在编程中,对于经常出现或很难记住的常量,我们尽量使用符号常量表示,这样可增强程序的可读性和可维护性。1 直接常量直接常量是在程序代码中,以明显的方式给出的数据,可直接反映其数据类型;也可在常数值后紧跟类型符表明常数的数据类型。(1)数值常量即常数,可以是前面所讲的 6 种数值型类型:整型 Integer、长整型 Long、单精度 Single、双精度 Double、字节型 Byte、货币型Currency。如 123.78、332、1.23E3。数值常

18、数大多是十进制数,也有八进制数和十六进制数。八进制数以O 打头,十六进制数已H 打头,如O67,H9AB4 等。(2)字符串常量字符串常量是一个用双引号括起来的字符序列,如:“vb” 、“9823”,注意:空字符串也是字符串常量。?(3)布尔型常量布尔型常量只有两个值:True、False(4)日期常量日期常量通常用“#”号括起来,例如:#03/22/2008#10:12:30#2 符号常量符号常量是在程序中用符号表示某个常量,将无意义的单纯常量用有含义的符号表示,可以增加代码的可读性。程序中不能对符号常量赋以新值。在 VB 中,符号常量又分为两种:系统内部定义常量和用户定义常量。(1)系统内

19、部定义的常量系统内部定义的常量是 VB 提供的。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。通过使用常量,可使程序变得易于阅读和编写。例如,窗口状态属性WindowState 可接受下列常量,见表 2.2.在程序中使用语句 Form1.WindowState=vbMaximized,将窗口极大化,显然要比使用语句 Form1.WindowState=2 易于阅读。表 2.2WindowState 常量常量vbNormalvbMinimizedvbMaximized 值 012 描述正常极小化极大化可以通过对象浏览器窗口查看 VB 内部常量,具体操作是:选择“视图”

20、“对象浏览器”命令,打开对象浏览窗口。在下拉列表框中选择“VB”或“VBA”对象库,然后再 “类”列表框中选择常量组,右侧的成员列表中即显示预定义的常量,窗口底端的文本区域中将显示该常量的功能。系统内部定义的常量名使用两个字符的前缀。例如:vb:表示 VB 和 VBA 中的常量。xl:表示 Excel 中的常量。db:表示 DataAccessObject 库中的常量(2)用户定义常量虽然 VB 内部定义了大量的常量,但有时用户需要创建自己的符号常量。用户定义常量使用 Const 语句来给常量分配名字、值和类型。声明语句的语法为:Const 常量名As 数据类型=常量表达式其中, “As 数据

21、类型 ”是常量的类型,属于可选项,当省略“As 数据类型 ”时,常量的类型由其后赋予的值决定。Const 语句可表示数值、日期以及字符串,例如:ConstPI=3.14159265358979表示数值ConstYDateAsDate=#4/30/2008#表示日期ConstMyString=“Welcome”2.2.2 变量变量代表数据的一个名称,在程序运行过程中,其值可以改变的量。每个变量都有一个名字,在使用变量前,一般先声明变量名称和其数据类型,以便系统为它分配内存单元。1 变量的命名与其他程序设计语言类似,变量命名必须遵循以下规则:(1)变量名必须以英文字母开头,只能包含字母、汉字、数字

22、、下划线组成的字符串,最后一个字符可以是类型说明符(%,!, #,,$) 。(2)变量名不能包含标点符合和空格,长度不能超过 255。(3)变量名不能与 VisualBasic 的关键字(例如 End、Len、Sub等)相同。(4)变量名不区分大小写。例如, AbC 和 abc 是同一个变量名。2 变量的声明在 VB 中变量的声明,可以用 “显式声明 ”和“隐式声明”两种方式。(1)显式声明显式声明是在变量使用前,用 Dim、Static、Public、Private 语句声明变量。这里先介绍 Dim,Dim 语句可以声明一个或多个变量,其语法格式为:Dim 变量名 As 数据类型“As 数据

23、类型 ”定义变量的类型,省略时,所声明的变量默认为 Variant 型。例如:DimxAsInteger 声明 x 为 Integer 型变量Dimy声明 x 为 Variant 型变量系统自动为该变量赋初值,若变量是数据型,则初值为 0;若变量为字符型,则初值为空字符。如果要定义多个相同类型的变量,可以将其放在同一行中,各变量之间用逗号隔开,其语法格式为:Dim 变量名 As 数据类型,变量名As 数据类型,例如:Dimb,cAsIntegerDimNameAsString,AgeAsInteger也可以使用类型符来定义。例如,上面的语句等价于:DimName$,Age%对于字符串类型变量,

24、根据其存放的字符串长度是否固定,其定义方法有两种:Dim 字符串变量名 AsStringDim 字符串变量名 AsString*字符数前一种方法定义的是变长字符串;后一种方法定义的是定长字符串。例如:DimstrS1asString声明可变长字符串变量DimstrS2asString*20声明定长字符串变量可存放 50 个字符对上例声明的 strS2 定长的字符串变量,若赋予的字符按少于50,则右补空;若赋予的字符超过 50 个,则多余部分截去。(2)隐式声明VB 允许对使用的变量未进行上述声明而直接使用,称为隐式声明。所有隐式声明的变量都是 Variant 类型的。如:C=1C 为整型Sex

25、=“female“Sex 为字符串虽然隐式声明使用方便,但用户一时疏忽而输错字符时,例如把 Sex 敲成 Sax,程序会把 Sax 当做新的变量,其执行结果就不能达到预期的效果,而且这种错误不能利用编译系统检查出来,较难查找,特别是在大型复杂的程序中更是如此。因此,要养成在使用一个变量之前先声明它(即显式声明)的良好的编程习惯。要做显式声明,可以在通用声明段使用 OptionExplicit 语句来强制显式声明所有变量。也可以在菜单中设置,具体方法是:选择“工具”“选项”命令,在打开的对话框中选择“编辑器”选项卡,再选择其中的“要求变量声明”复选框,如图 2-1。此种方法只能在以后生成的模块中

26、自动添加 OptionExplicit 语句,对于已经存在的模块不能修改,需要自己手工添加。图 2-1 变量的显式声明3 变量赋值在声明一个变量后,要先给变量赋上一个合适的值才能够使用。给变量赋值的格式如下:变量名=表达式可以使用一个表达式的数值来给某个变量赋值。一个普通的常量、变量均属于简单的表达式。例如,给一个变量 X,可以使用如下几种表达式进行赋值:X=5X=YX=X+12.3 运算符和表达式运算符是代表 VB 某种运算功能的符号。 VB 程序会按运算符的含义和运算规则执行实际的运算操作。由运算符将相关的常量、变量、函数等连接起来的式子即为表达式。VB 中的运算符包括:算术运算符、字符串

27、运算符、关系运算符、逻辑运算符。2.3.1 算数运算符算术运算符主要用于算术运算。VB 中有 8 个算术运算符,见表2.3。表 2.3 算术运算符运算符-*/含义乘方负号乘除示例 52-73*72 月 5 日结果 25-7210.4优先级 1233Mod+-整除(直接取整 )取模 (求余)加减。257Mod24+82.3-101121.34566?注意:算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。例如:30-True0False+10+“4“结果是 14算术表达式由数值型常量、变量、函数和圆括号组成,其运算结果是数值。在一个算术表达式中,如果参与的运算

28、与操作数具有不同的数据精度,则运算结果的数据类型采用精度较高的数据类型,即 IntegerLong SingleDoubleCurrency.【例 2.1】算术表达式的使用。PrivateSubForm_Click()Dima,bAsIntegerDimx,yAsSingleDimdAsDouble,cAsCurrencya=5x=8y=x/ab=xModad=x3a=dac=(a+b)*(d-y)/xPrint“a=“;a,“b=“;bPrint“x=“;x,“y=“;yPrint“c=“;c,“c=“;cEndSub结果是 31,逻辑量 True 转为数值-1,False 转为数值图 2-

29、2 运算结果2.3.2 字符串运算符字符串运算符有两个:“”和“ +”,它们都是将两个字符串串接起来。在字符串变量后使用“ ”时应注意,变量与运算符“”间应加一个空格。这是因为符号 “”还是长整型的类型符。当变量与符号“”接在一起时, VB 先把它作为类型符处理,这会造成出错。例如:“计算机”+”与程序设计 ”结果为” 计算机与程序设计”“Thisisa”“VisualBasic”结果为”ThisisaVisualBasic”连接符“”和“+”区别是:“+ ”:两旁的操作数应均为字符型;若为数值型则进行算术加运算;若一个为数字字符,另一个为数值,则自动将数字字符转换为数值后进行算术加;若一个为

30、非数字字符型,另一个为数值型,则出错。“”两旁的操作数可任意,转换成字符型后再连接。表 2.4“”和“+”的区别操作“ab“123“12“456“12“True结果“ab123“12456“12True“操作“ab“+123“12“+456“12“+True结果出错 468112.3.3 关系运算符关系运算符是用来进行比较的运算符,其结果是一个逻辑值,若关系表达式成立,结果为 True(真)和否则为 False(假) 。VisualBasic 提供的关系运算符有以下几种,如表 2.5 所示。表 2.5 关系运算符关系运算符=LikeIs含义等于大于大于等于小于小于等于不等于字符串匹配对象引用比

31、较示例“abc”=”ABD”(13+5)2 “abc”=”abd”“abc”abd”“123”=”4”“a”A”“abcde”Like”*cd*”结果 FALSETRUEFALSETRUETRUETRUETRUE从表 2.5 可见,关系运算符“=”与赋值运算符的写法一样,但两种是不同的运算。关系运算符用来判断两个运算对象是否相等,而赋值运算符则是用来将等号右边表达式的值赋给左边的变量。在进行关系比较时,注意以下规则:(1)如果两个操作数是数值型,则按其大小比较(2)如果两个操作数都是字符型,则按字符的 ASCII 码值从左到右一一比较(3)汉字字符大于西文字符( 4)关系运算符的优先级相同(5

32、)VB6.0 中”Like ”用于字符的比较。第二个表达式常使用通配符,Like 语句在数据库的 SQL 语句中经常使用,用于模糊查询:?表示任何单一字符*表示 0 个或多个字符#表示任何一个数字( 0-9)字符列表表示字符列表中的任何单一字符!字符列表表示不在字符列表中的任何单一字符例如:“abc”Like“a*”结果为 True123Like“12?”结果为True456Like“45#”结果为 True“Thisisabook”Like“*aba,o,cok”结果为 True“abc”Like“!a,b,c”结果为 False2.3.4 逻辑运算符逻辑表达式就是用逻辑运算符将关系表达式或

33、逻辑量连接起来的式子,也称为布尔表达式。其操作数经常是关系表达式或逻辑型数据。逻辑运算结果是一个逻辑量“真”或“假” 。VisualBasic 提供的逻辑运算符有以下几种,如表 2.6 所示。表 2.6 逻辑运算符运算符NotAndOrXorEqvImp含义取反与或异或等价蕴涵说明操作数为真时,结果为假,否则为真两个操作数都为真时,结果为真,否则为假两个操作数之一或全为真时,结果为真,否则为假两个操作数为一真一假时,结果为真,否则为假两个操作数相同时,结果为真,否则为假第一操作数为真,第二操作数为假时,结果为假,否则为真示例 Not(35)(“a”b”)And(35)(23)Or(“x”y”)

34、(6=7)Xor(72)(35)Eqv(“a”b”)(5=5)Imp(1020)结果 TRUEFALSETRUETRUEFALSEFALSE优先级123345说明:(1)若有多个条件时, And 必须全部条件为真才为真;Or 只要有一个条件为真就为真。在程序中,经常连接多个关系表达式,以表达复杂的条件。例如条件“身高大于 1.68 米的男性或者身高大于 1.58 米的女性”可用以下逻辑表达式:Length1.68andsex=”男”orLength1.58andsex=”女”(2)如果逻辑运算符对数值进行运算,则以数字的二进制值逐位进行逻辑运算。And运算常用于屏蔽某些位;Or 运算常用于把某

35、些位置 1。如:12And7 表示对 1100 与 0111 进行 And 运算,得到二进制值100,结果为十进制 4。2.3.5 表达式1.表达式的书写规则表达式由变量、常量、运算符、函数和圆括号按一定的规则组成。在 VB 中书写表达式时,应遵循下列规则:(1)乘号不能省略,例如 x 乘以 y 应写成:x*y。(2)不能使用方括号或花括号,只能用圆括号。圆括号可以出现多个,但要配对。(3)表达式从左至右在同一基准上写,无高低、大小之分。VB 表达式为Sqr(3*x+y)-z)/(x*y)42 优先级当一个表达式中出现了多种不同类型的运算符时,不同类型的运算符优先级如下:算术运算符=字符运算符

36、 关系运算符逻辑运算注意:对于多种运算符并存的表达式,可增加圆括号,改变优先级或使表达式更清晰。?例如,若条件为:年龄(Age)小于 19 岁,三门课总分(Total)高于 285 分,其中有一门为 100 分,其表达式写为:Age19AndTotal285And(Mark1=100OrMark2=100OrMark3=100)。如果取消括号有何问题?请读者考虑。2.4 常用内部函数函数是 VisualBasic 的一种程序模块,可以完成特定的功能。VisualBasic 提供了大量的内部函数,用户可在程序中直接调用。这些内部函数按其功能可分为数学函数、字符串函数、转换函数、判断函数、日期时间

37、函数等。2.4.1 函数的基本概念函数式按照一定的格式编写的能够完成某种特定功能的程序段,对于程序员来说,不必了解函数的具体内容,只需掌握函数的功能及其调用方法就足够了。1 函数的三要素(1)函数名。用于识别不同的函数,内部函数的函数名通常采用函数功能的英语单词缩写,例如,Cos 是余弦函数。(2)参数。参数通常是函数运算需要的原始数据,根据函数运算的需要,参数可以是一个、多个或没有,参数放在函数名后面的括号中,各参数之间用逗号分隔。(3)函数值。函数对这些参数处理后,返回一个计算结果,称为函数值。例如,x=abs(-3.5),其中“abs”是函数名,表示对参数取绝对值的作用;参数是“-3.5

38、” ,提供给函数运算;函数值是运算结果 3.5,返回并赋给变量 x.2 函数的调用函数调用格式是:函数名(参数表)参数表是可选项,有些函数不带参数,参数表中如果有多个参数,各参数之间以逗号分隔。参数可以是常量、变量或表达式。函数运算的优先顺序在算术运算符之前,在括号之后。2.4.2 数学函数数学函数用于各种数学运算。表 2.7 列出了一些常用数学函数。表 2.7 常用数学函数函数 AbsAtnCosExpLogRndSgnSinSqrTan含义返回数的绝对值返回弧度的反正切值返回弧度的余弦值返回 e 的指定次幂返回数的自然对数返回0,1)之间的随机数返回数的符号值返回弧度的正弦值返回数的平方根

39、值返回弧度的正切值示例 Abs(-3.2)Atn(1)Cos(1)Exp(1)Log(1)RndSgn(-2)Sin(1)Sqr(9)Tan(1)结果 3.20.7853981630.5403023062.71828182801 之间的随机数-10.84147098531.557407725说明:(1)三角函数的参数为弧度。 (2 )随机函数 Rnd(3)Rnd 函数调用格式: Rnd(数值表达式),其功能是求0,1)之间的一个随机数。Rnd(x),x 分三种情况:x0,每次都使用 number 作为随机数种子得到的相同结果。x0(默认值 ),以上一个随机数为种子产生下一个随机数。x=0,产生

40、与最近生成的随机数相同的随机数。一般情况下省略参数,每次运行一个应用程序,VB 提供相同的种子,即 Rnd 产生相同序列的随机数。为了每次运行时,产生不同序列的随机数,可在调用 Rnd 之前,先调用 Randomize 语句。语句格式为:Randomizen其中,n 是一个整数,作为随机数发生器的种子。一般情况下,省略 n,则将根据系统时钟获得种子。初始化随机数生成器(若带参数,则产生由参数对应的一个特定序列的随机数) ,该生成器具有根据系统计时器得到的种子。为了生成某个范围内的随机整数,Rnd 函数与 Int 函数配合使用,可生成范围lower,upper,使用以下公式:Int(upper-

41、lower+1)*Rnd+lower)例如:RandomizeRn=Int(21*Rnd+30)随机产生30,50之间的整数2.4.3 字符串函数VisualBasic 中,字符采用 Unicode 统一标准字符集编码。在Unicode 编码中,每个西文字符和每个汉字都作为一个字,占两个字节。西文字符编码由 ASCII 码转换而来,低位字节保留 ASCII 码,高位字节为 0。字符串函数用于处理字符串信息。VisualBasic 提供的字符串函数相当丰富,如表 2.8 所示。表 2.8 字符串函数函数 Instr(N1,s1,s2)含义在 s1 中从 N1 开始找 s2,省略 N1 从头开始找

42、,返回 s2 起始位置,找不到返回 0 将 s 从大写字母变为小写字母将 s 中左边起取 N 个字符返回 s 的长度删除 C 左端的空格在 s 中从 1(或 N1)开始将 s2 替换 s1(有 N2,替换 N2 次)从 s 中右边起取 N 个字符删除 C 右端的空格返回 N 个空格组成的字符串返回 s1,s2 比较的结果,相等时为 0,小于时为-1,大于时为 1 返回 N 个 s 中第一个字符组成的字符串将 s 逆序排列删除 C 的左右空格示例Instr(4,”xxpxxpXp”,“p”)结果 6Lcase(s)Left(s,N)Len(s)Ltrim(C)Replace(s,s1,s2,N1

43、,N2,M)LCASE(“Hello”)Left(“World”,2)Len(“name”)Ltrim(“name”)Replace(“asabababsadb”,“ab”,“*”,2)Right(“World”,2)Rtrim(“name”)Space(3)StrComp(“AB”,“ab”)“hello”“Wo”4“name”“as*sadb”Right(s,N)Rtrim(C)Space(N)StrComp(C1,C2,M)“1d”“name”“”-1String(N,s)StrReverse(C)Trim(C)String(2,“xyz”)StrReverse(“xyz”)Trim(“

44、na”)“xx”“zyx”“na”Ucase(C)从 C 中小写字母改为大写字母Ucase(“xyz”)“XYZ”2.4.4 类型转换函数转换函数用于数据类型或形式的转换。包括不同类型之间转换和数制转换。表 2.9 列出了 VisualBasic 的常用类型转换函数.表 2.9 常用类型转换函数函数 Asc(s)Chr(n)Str(n)Val(n)Hex(n)Oct(n)Fix(n)Int(n)Round(x,n)功能返回字符串首字符的 ASCII 码值返回数值对应的 ASCII 码字符将数值型转换为字符型数字字符串转换为数值十进制转换成十六进制十进制转换成八进制返回数的整数部分(直接取整)返回不大于给定数的最大整数按四舍五入原则对 x 保留 n 位小数。省略 n 时,对 x 四舍五入取整示例 Asc(“China“)Chr(100)Str(323.1)Val(“3231-56“)Val(“123AB“)Hex(100)Oct(100)Fix(-50.6)Int(-50.6)Roudn(3.5)结果 67d323.13231123

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

当前位置:首页 > 网络科技 > Visual Basic

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报