VisualBasic数据类型、运算符与表达式刘伟13561691216lculiuwei@163.com沂源一中程序设计兴趣小组VisualBasic培训教程沂源一中程序设计兴趣小组VisualBasic培训教程本节内容1.基本的数据类型2.常量和变量3.变量的作用域4.常用内部函数5.运算符与表达式沂源一中程序设计兴趣小组VisualBasic培训教程VisualBasic应用程序VisualBasic应用程序包括两个部分内容,即界面和程序代码。其中程序代码的基本组成单位是语句(指令),而语句是由不同的“基本元素”构成的,包括数据类型、常量、变量、内部函数、运算符和表达式等。VisualBasic应用程序界面程序代码语句数据类型常量变量内部函数运算符表达式1基本数据类型沂源一中程序设计兴趣小组VisualBasic培训教程1.基本的数据类型数据是程序的必要组成部分,也是程序处理的对象。为了对数据进行快速的处理和有效地利用存储空间,VisualBasic把数据分为各种不同的类型。VisualBasic提供了系统定义的数据类型,并允许用户根据需要定义自己的数据类型。VisualBasic6.0提供的数据类型主要有字符串数据和数值型数据,此外还提供了字节、货币、对象、日期、布尔和变体数据类型。沂源一中程序设计兴趣小组VisualBasic培训教程1.基本的数据类型1.字符型数据类型(String)字符型数据类型用于存放字符串,字符包括所有ASCII字符和汉字字符。字符型数据类型用双引号“”括起来表示。类型声明符为$。例如,“helloworld!”、“123”、“VisualBasic6.0基础教程”等。长度为0的字符串称为空字符串“”默认初始值为空。字符型数据类型分为两类:变长字符型:表示字符串长度是可变的,读者一般定义的字符串都属于变长字符型。范围大小为0~231(约)21亿个字符。定常字符型:表示字符串长度固定不变,由读者声明字符串长度后,在计算机内存中分配的存储空间固定不变。范围大小为65535个字符。例如:DimstrAddrAsString*40【格式:String*常数】这个语句表示了定义字符串变量strAddr的长度为40个字符,如果读者给strAddr赋值字符个数多于40个,系统会自动截断超出的字符。沂源一中程序设计兴趣小组VisualBasic培训教程1.基本的数据类型2.数值型数据类型整型(Integer):用于保存整数,范围大小为-32768~32767,存储空间为2字节。类型声明符为%,用类型声明符可以更方便地声明数据类型。例如,-455、-455%都表示整型数据。长整型(Long):用于保存整数,范围大小为-2147483648~2147438647,存储空间为4字节。类型声明符为&。例如,455&。单精度型(Single):用于保存浮点数,范围大小为-3.402823E38~-1.4011298E-45;1.401298E-45~3.402823E38,存储空间为4字节。类型声明符为!。例如,1.455和1.455!。双精度型(Double):用于保存浮点数,范围大小为±4.94D-324~±1.79D308,存储空间为8字节。类型声明符为#。例如,3.795#和3.795都表示双精度浮点数。货币型(Currency):用于货币计算,小数点前有15位,小数点后有4位,存储空间为8字节。类型声明符为@。例如,88.56@。字节型(Byte):用于保存无符号二进制数据,范围大小为0~255,存储空间为1字节。沂源一中程序设计兴趣小组VisualBasic培训教程1.基本的数据类型3.逻辑型数据类型(Boolean)用于逻辑判断,也就是平时所说的真和假。它只有真(True)和假(False)两个取值。占据的存储空间为1字节。在代码编写中常常用True和False表示。默认值为False。逻辑型数据类型也可以和数值型数据类型进行转换。具体的转换应遵循以下两个规则:逻辑型转换为数值型数据类型时,False转换为0,True转换为-1;数值型转换为逻辑型数据类型时,0转换为False,非0转换为True。4.日期型数据类型(Date)日期型数据类型用于存放日期和时间。任何可辨别的文本日期都可以赋值给日期变量。赋值的时候日期型数据类型必须用两个“#”符号括起来。例如,#2008-01-10#、#10/01/2008#、#2Jan,2008#、#1/10/20083:12:22PM#。沂源一中程序设计兴趣小组VisualBasic培训教程1.基本的数据类型6.变体型数据类型(Variant)变体型数据类型也称之为通用数据类型,这是为了方便数据的处理而增加的一种数据类型。变体型数据类型中可以存储任何数据类型,包括前面介绍的数值型、字符型、日期型和对象型等数据类型。变体型数据类型的存储空间是根据实际需要进行分配的。5.对象型数据类型(Object)对象型数据用来表示图形或OLE对象或其他对象,用4个字节存储。沂源一中程序设计兴趣小组VisualBasic培训教程1.基本的数据类型2常量和变量1.文字常量(1)字符串常量(2)数值常量(3)布尔常量(4)日期常量2.符号常量3.系统常量沂源一中程序设计兴趣小组VisualBasic培训教程1.常量一、文字常量(直接常量或字面量)1、字符串常量在VB中字符串常量是用双引号“”括起的一串字符,例如ABC,abcdefg,123,0,VB程序设计等。说明:(1)字符串中的字符可以是所有西文字符和汉字、标点符号等;(2)“”表示空字符串,而“”表示有一个空格的字符串;2、数值常量(1)整型(Integer):表示-32768至32767之间的整数例如:-101100(2)长整型(Long):表示-2,147,483,648至2,147,483,647之间的整数例如:长整型常数的书写:23&沂源一中程序设计兴趣小组VisualBasic培训教程1.常量14通常我们说的整型常量指的是十进制整数,但VB中可以使用八进制和十六进制形式的整型常数,因此整型常数有如下三种形式:1)十进制整数。如125,0,-89。2)八进制整数。以&或&O(字母O)开头的整数是八进制整数,如&O25表示八进制整数25,即(25)8,等于十进制数21。3)十六进制。以&H开头的整数是十六进制整数,如&H25表示十六进制整数25,即(25)16,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。沂源一中程序设计兴趣小组VisualBasic培训教程1.常量15(3)单精度实型(Single):有效数为7位表示-3.37E+38至3.37E+38之间的实数(4)双精度实型(Double):有效数为15位实数的表示:A.十进制小数形式。它是由正负号(+,-)、数字(0~9)和小数点(.)或类型符号(!、#)组成,即±n.n,±n!或±n#,其中n是0~9组成的数字。例:0.123、.123、123.0、123!、123#等都是十进制小数形式。B.指数形式。±nE±m或±n.nE±m,±nD±m或±n.nD±m例:1.25E+3和1.25D+3相当于1250.0或者1.25×103。沂源一中程序设计兴趣小组VisualBasic培训教程1.常量163、布尔常量(逻辑常量)只有两个值True,或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True,0为False。4、日期常量一种在字面上可被认作日期和时间的字符串,只要用两个“#”括起来,都可以作为日期型数值常量。例:#09/02/99#、#January4,1989#,#2002-5-414:30:00PM#都是合法的日期型常量。17二、符号常量在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。VB中使用关键字Const声明符号常量。其格式如下:Const常量名[As类型]=常数表达式例如:ConstPIAsDouble=3.1415926535注意:表达式可以由文字常量、算术运算符、逻辑运算符和字符串组成。在一行中可以定义多个符号常量,各常量之间用逗号分隔。18三、系统常量VB系统提供了大量的系统定义常量,在程序中可以直接使用,这些常量均以小写字母vb开头。例如:vbCrLf是回车/换行符,相当于执行回车/换行在“对象浏览器”中可以查看这些系统常量。例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句:Text1.ForeColor=vbRed这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。沂源一中程序设计兴趣小组VisualBasic培训教程1.常量191.命名规则2.变量的类型和定义(声明)(1)用类型说明符来标识(2)在定义变量时指定其类型一般格式为:Dim变量名As类型其中“As”是关键字“类型”可以是基本数据类型或用户定义的类型沂源一中程序设计兴趣小组VisualBasic培训教程2.变量20变量就是一个有名称的内存空间,每个变量都有一个名字和相应的数据类型,通过名字使用变量,数据类型则决定了变量的存储方式。一.变量和常量的命名规则1.以字母开头,后可跟字母、数字或下划线;2.不能使用VB中的保留字;3.VB中不区分变量名的大小写.例如:strAbc,(字符串变量)iCount,(整型变量)dbLx,(双精度变量)sYz(单精度变量)21二.变量声明1.用Dim语句显式声明变量形式:Dim变量名[AS类型]Dim变量名[类型符]例DimiCountAsinteger,sumAssingle等价于DimiCount%,sum!2.隐式声明VisualBasic允许用户在编写应用程序时,不声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是Variant数据类型。VisualBasic根据程序中赋予变量的值来自动调整变量的类型。22下面是一个很简单的程序,其使用的变量a,b,Sum都没有事先定义。PrivateSubForm_Click()Sum=0a=10:b=20Sum=a+bPrintSum=;SumEndSub3.强制显式声明——OptionExplicit语句良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。VisualBasic中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:OptionExplicit233变量的作用域3.1局部变量与全局变量1.局部变量2.模块变量(窗体变量和标准模块变量)3.全局变量3.2默认声明244常用内部函数4.1转换、数学及日期和时间函数1.转换函数2.数学函数3.日期和时间函数4.2字符串函数25VB提供了上百种内部函数(库函数),要求掌握常用函数的功能及使用。调用方法:函数名(参数列表)有参函数函数名无参函数说明:(1)使用库函数要注意参数的个数及其参数的数据类型(2)要注意函数的定义域(自变量或参数的取值范围)例如:sqr(x)要求:x=0(3)要注意函数的值域。如:exp(23773)的值就超出实数在计算机中的表示范围。261.转换函数说明:(1)要区别两个取整函数int()和fix()Fix(N)为截断取整,即去掉小数后的数。(向零取整)Int(N)得到不大于N的最大整数。(向后取整)例如:Fix(9.59)=9,Int(9.59)=9Fix(-9.59)=-9,Int(-9.59)=-10(2)Asc(Abcd)值为:65(只取首字母的ASCII值)(3)Val(“12.34)值为:12.34注意:Val()函数只将最前面的数字字符转换为数值。272.数学函数常用的数学函数见表4-4所示Abs(N)Cos(N)Sin(N)Exp(N)Log(N)Sqr(N)Rnd()Sgn(N)说明:(1)在三角函数