掌握VB基本数据类型掌握VB中的常量与变量.ppt

上传人:小飞机 文档编号:6230518 上传时间:2023-10-07 格式:PPT 页数:64 大小:280KB
返回 下载 相关 举报
掌握VB基本数据类型掌握VB中的常量与变量.ppt_第1页
第1页 / 共64页
掌握VB基本数据类型掌握VB中的常量与变量.ppt_第2页
第2页 / 共64页
掌握VB基本数据类型掌握VB中的常量与变量.ppt_第3页
第3页 / 共64页
掌握VB基本数据类型掌握VB中的常量与变量.ppt_第4页
第4页 / 共64页
掌握VB基本数据类型掌握VB中的常量与变量.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《掌握VB基本数据类型掌握VB中的常量与变量.ppt》由会员分享,可在线阅读,更多相关《掌握VB基本数据类型掌握VB中的常量与变量.ppt(64页珍藏版)》请在三一办公上搜索。

1、1,教学目的要求:掌握VB基本数据类型 掌握VB中的常量与变量 掌握运算符与表达式 了解常用标准函数,教学重点 常量与变量 运算符与表达式 常用标准函数,第章 VB程序设计基础,2,教学方法:大屏幕投影演示,时间安排:4学时,教学难点:变量的类型定义 运算符的优先级,3,数据类型是程序设计的必要组成部分,也是程序处理的对象。,在不同语言中,数据类型的规定和处理方法不同。VB提供系统定义的数据类型 还允许用户自己定义,VB提供的基本数据类型主要有:数值型 字符串型(String)布尔型(Boolean)逻辑型 日期型(Date)变体型(Variant)对象型(Object),.数据类型,4,类型

2、:整型(Integer)长整型(Long)单精度浮点型(Single)双精度浮点型(Double)货币型(Currency)字节型(Byte)*vb会强制数值值为适当的数据类型,2.1.1 数值型数据,5,整型(Integer):以2个字节的二进制码存储。十进制:由0-9数字组成和正负号,取值范围-32768-32767八进制:由0-7数字组成,前面冠以&或&O,取值范围&0-&177777例:&123,或&O123十六进制:由0-9数字及A-F组成,前面冠以&H(或&h),取值范围&H0-&HFFFF例:&H56,&H7F,1整数类型定义:是不带小数点和指数符号的数根据表示数的范围的不同,可

3、分为整型、长整型,且都有三种表示形式,即十进制、八进制、十六进制。,6,长整型(Long):以4个字节的二进制码存储。十进制:由0-9数字组成和正负号,取值范围-21474836482147483647八进制:由0-7数字组成,前面冠以&或&O,以&结束,取值范围&0&-&37777777777&例:&123&,或&O123&十六进制:由0-9数字及A-F组成,前面冠以&H(或&h),以&结尾,取值范围&H0&-&HFFFFFFFF&例:&H56&,&H7F&,7,是带小数部分的数。按存储格式,又分为浮点型和定点型浮点型实数采用IEEE格式,由符号、尾数及指数三部分组成。,2实数类型,单精度浮

4、点数的指数用E(e)表示;双精度浮点的指数用D(或d)表示。,+|-XX.XXE|D+|-XXX,指数部分,尾数部分,8,单精度浮点型(Single)占4个字节存储空间,可以精确到7位十进制,取值范围1.4010-453.401038,货币型(Currency)占8个字节的存储空间,用于表达定点数,小数左边有15位,右边有4位,小数点固定,因此称为定点数据类型.取值分围:-922337203685477.5808922337203685477.5807主要用于要求精度特别重要的场合,如货币计算和定点计算.,双精度浮点型(Double)占8个字节的存储空间,可以精确到15位或16位十进制数,取值

5、范围4.9410-3241.7910308,9,是一种无符号整型数,占1个字节用于存储二进制数据,取值范围:0255,3.字节型(Byte),10,字符串是一个用双引号括起来的字符序列,由一切可打印的西文字符和汉字组成,2.1.2 字符串型数据(String),例:“Hello”“123456”“程序设计”“”(空字符串),11,注意:(1)VB字符串有两种:可变长度字符串和固定长度字符串。前者指程序执行过程中字符串长度不固定,最多可包含231个字符;后者指在程序执行过程中字符串长度保持不变的字符串,最大长度为216。(2)双引号在程序代码中起字符串的定界作用。(3)在字符串中,字母的大小写是

6、有区别的。例如“AB123”与“ab123”代表两个不同的字符串。(4)若字符串本身包含双引号,可用连续的两个双引号表示.例:“You must study hard”,he said.写成:“You must study hard”,he said.”,12,注意:当将数值型数据转换为布尔型时,0转换为False,非0值转换为True。当将布尔型数据转换为其他数据类型时,False转换为0,True转换为-1。,2.1.3 布尔型数据(Boolean),占2个字节的存储空间,用于逻辑判断,只有True 和False两个值。,13,按8个字节的浮点形式存储,可以表示的日期范围从100年1月1日

7、9999年12月31日,而时间可以从0:00:0023:59:59,2.1.4 日期型数据(Date),日期型数据有两种表示方法:用数字符号(#)表示,例#January 1,2001#;另一种以数字序列表示,小数点左边的值表示日期,而小数点右边的值则表示时间。,14,是一种没有用Dim等语句显示说明其类型的数据类型可以包含数值等任何类型的数据还可以包含Empty、Error、Null等特殊值 Empty用来标记未初始化的变体型变量:数值计算时为0,字符运算时为空串Null一般用于数据库应用程序:如表达式中包含Null值则其值总为空Error用来表示在过程中出错时的特殊值,2.1.5 变体型数

8、据(Variant),15,例如1:dim svSv=“17”Sv=sv-15Sv=“u”&sv 例如2:Sub form_click()Dim x,yX=“6”Y=“7”Print x+y,x&yX=6Print x+y,x&y,16,存储32位(4字节)的地址信息,可以用来表示图形、OLE对象或其他对象,利用中的Set语句为其指定值Dim x as objectSet object=opendatabase(“c:vb6bibio.mdb”),2.1.6对象型数据(Object),17,存储96位(12字节)的无符号整型形式,并除以一个10的幂数,称为变比因子。这个变比因子决定了小数点右面

9、的数字位数,范围028。目前Decimal只能在变体类型中使用,即不能把一个变量声明为此类型。,2.1.7 Decimal数据类型,18,2.1.8 枚举类型,定义:Public|Private Enum=常数表达式=常数表达式.End Enum,省略,默认为Public,说明:1)Public 整个工程 Private 声明模块 2)常数表达式是可选的,可以是任何长整型数,也 可以是别的枚举成员。省略则默认第一个为0,以 下依次增1,19,2.1.9 自定义数据类型,定义:Public|Private Type As As.End Type,标准模块中如省略,默认为Public在类模块/窗体

10、模块中,只能定义为Private 且不能省略,说明:1)必须为定长字符串 2)定义自定义数据类型变量用:Dim As 3)元素名引用:.,20,2.1.9 自定义数据类型,例如:Private type sturecordName as stringBirthday as dateOthers as variantEnd type 自定义类型变量的定义Dim mr as sturecordmr.name=“张名”Mr.birthday=#1986-04-01#,21,常量是指在程序运行期间其值不发生变化的量。在Visual Basic中,有两种形式的常量直接常量符号常量。,符号常量又分为:用户

11、自定义符号常量系统定义符号常量,2.2 常量与变量,2.2.1常量,22,根据数据类型常量分为字符串常量数值常量布尔常量日期常量,1 直接常量,直接常量就是在程序代码中,以直接明显的形式给出的数。,例如:”欢迎使用visual Basic”字符串常量,长度为20 12345 数值型常量 True 布尔型常量#11102001#日期型常量,23,在程序设计中,常用常量命名的方法来取代程序代码中出现的数,这种常量称为符号常量。符号常量在使用前需要使用Const语句进行声明。声明的格式如下:Public|Private Const As=,2 用户自定义符号常量,说明::按变量名的命名规则命名。As

12、:可选项,用以说明符号常量的数据类型。可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Date、String或Variant。一个As子句只能说明一个符号常量。若省略该项,则系统根据表达式的求值结果,确定最合适的数据类型。:由数值常量或字符串常量以及运算符组成。在中不能使用函数调用。,24,用先前定义过的符号常量定义新符号常量,自定义符号常量举例,Const Pi=3.14159,声明符号常量Pi代表3.14159,单精度类型,Const Max As Integer=9,声明符号常量Max代表9,整型,Const BirthDate=#

13、1/1/01#,声明符号常量BirthDate代表2001年1月1日,日期型,Const Pi=3.14,Max=9,MyStr=“Hello”,用逗号分隔多个符号常量声明,Const Pi2=Pi*2,25,1)如果要使创建的符号常量只作用于某个过程中,则应在该过程内部声明该符号常量。,注意:,2)如果要使创建的符号常量对模块中所有过程都有效,但对模块之外任何代码都无效,则应在模块的声明段中声明符号常量。,3)如果要使创建的符号常量在整个应用程序中有效,则应在标准模块的声明段中进行声明,并在Const前面放置Public关键字。在窗体模块或类模块中不能声明Public符号常量。,26,例如:

14、Const pi=3.14159Private Sub Commandl_Click()Const r=100 s=pi*r2 Print“圆面积=”;sEnd SubPrivate Sub Command2_C1ick()angle=Sin(20*pi180)Print angleEnd Sub,符号常量pi在整个窗体模块中有效,符号常量r只在本事件过程中有效,27,4)由于符号常量可以用其他符号常量定义,因此在两个以上符号常量之间不要出现循环或循环引用。,例如:在标准模块Modulel中定义:Public Const conA=conB*2 在整个应用程序中有效 在标准模块Module2中

15、定义:Public Const conB=conA/2 在整个应用程序中有效,当程序中有两个以上的公共符号常量,而且每个公共符号常量都用另一个去定义时就会出现循环。,出现循环引用,在运行此应用程序时,VB就会产生错误信息。为了避免出现循环引用,可以将公共符号常量限制在单一模块内,或最多只存在于少数几个模块内。,28,5)符号常量是有意义的名字,它用于取代永远不变的数值或字符串。尽管符号常量有点像变量,但不能像对变量那样修改符号常量,也不能对符号常量赋以新值。,29,3 系统定义符号常量,符号常量的定义可以从“对象浏览器”中获得。使用对象浏览器可以显示包括当前工程及对象库在内的过程、模块、类、属

16、性和方法等的描述信息。,从菜单栏视图中选择“对象浏览器”或(F2),30,每个变量都有名字和数据类型,通过名字来引用一个变量,而通过数据类型来确定该变量的存储方式。,变量是指一个有名称的内存单元。,2.2.2 变量,分为属性变量和用户自定义变量,31,VB变量的命名规则:第一个字符必须是字母。长度不超过255个字符。不可以包含小数点或者内嵌的类型声明字符。不能使用关键字。不能与过程名或符号常量同名。,1.变量的命名规则,例如:合法变量名:strMyString、intCount、MyForm、姓名、性别等非法变量名:1x、a+b、等,关键字:又称保留字,在语法上有固定含义,是语言的自称组成部分

17、,用于表示系统提供的标准过程、函数、运算符、常量等;VB中约定关键字的首写字母为大写。,32,2.变量的声明,变量使用之前,一般必须先声明变量名和类型,以便系统为其分配存储单元。,固定格式声明,隐式声明,强制显式声明,VB变量及其类型声明方式,33,格式:,说明::可以是VB提供的各种数据类型或用户自定义类型。As:方括号部分表示该部分可以缺省。缺省时,变量默认为变体类型.Dim:在窗体模块、标准模块或过程中声明变量。Private:变量仅在该模块或过程中有效。Static:在过程中定义静态变量,即使该过程结束,也仍然保留变量的值。Public:标准模块中声明全局变量,使变量在整个应用程序中有

18、效。Global:在标准模块中声明全局变量.,Dim|Private|Static|Public|Global As,格式声明,34,Defbool|DefByte|DefInt|Deflng|Defcur|Defsng|DefDbl|DefDate|DefStr|DefObj|DefVar 字母范围,字母范围.,变量名后加一特定符号来表明数据类型:,%整型&长整型!单精度型#双精度型 货币型$字符串型,35,若变量未经定义而直接使用,VB会自动建立一个变量。可存放任何类型的数据,如数值、字符串、日期和时间。,隐式声明,可见,随着所赋值的不同,变量的类型在不断变化.这种方法很方便,但是常常会因

19、为转换过程难以预料,而导致一个难以查找的错误。因此,应该在应用程序中声明所使用的变量的类型。,例如:SomeValue=“100”SomeValue=SomeValue 10;SomeValue=“ABC”+SomeValue,36,可在窗体模块或标准模块的声明段中加入语句:Option Explicit,强制显式声明,VB可采用强制声明功能,使所有变量都必须先声明后使用.这样,若运行时遇到一个未经明确声明的变量名,VB就会发出错误警告。,声明方式:,在“工具”菜单中打开“选项”对话框,单击“编辑器”选择“要求变量声明”选项,即可自动插入 Option Explicit语句.,注:Option

20、 Explicit语句的作用范围仅限于语句所在模块.对于需要强制式变量声明的窗体模块、标准模块及类模块,必须将Option Explicit语句放在这些模块的声明段中。,37,VB中有以下6类运算符和表达式:算术运算符与算术表达式 字符串运算符与字符串表达式 关系运算符与关系表达式 逻辑运算符与逻辑表达式 日期运算符与日期表达式 对象运算符与对象表达式,用运算符将运算对象(或操作数)连接起来即构成表达式。表达式表示了某种求值规则。,操作数可以是常量、变量、函数、对象等,而运算符也有各种类型。,2.3 运算符与表达式,38,2.3.1 算术运算符与算术表达式,算术运算符用于对数值型数据执行各种算

21、术运算。VB提供了7个算术运算符,优先级次序如表所列:,其中,取负()运算符是单目运算符,其余运算符均为双目运算符(需要两个操作数)。,39,乘方运算用来计算乘方和方根。例:102 10的平方,结果为100 10(-2)10的平方的倒数,即1100,结果为0.01 250.5 25的平方根,结果为5 8(1/3)8的立方根,结果为2 223 运算顺序从左到右,结果为以64(-8)(-1/3)错误,当底数为负数时,指数必须是整数,1乘方运算,2整数除法,例:104 结果为2 25.686.99 先四舍五人再整除,结果为3,执行整除运算,结果为整型值。参加运算的操作数一般为整型数。当操作数带有小数

22、点时,先被四舍五入为整型数,后整除。,40,例:10 Mod 4 结果为2 25.68 Mod 6.99 先四舍五人再求余数,结果为5 11 Mod-4 结果为3-11 Mod 5 结果为-1-11 Mod 3 结果为-2,3.取模运算,取模运算符Mod用于求余数,为第一操作数整除第二操作数所得的余数.操作数带小数,先四舍五入取整型数,后求余;运算结果符号取决于第一个操作数。,41,注意:“&”和“+”这两个运算符的区别:“+”运算符两边的操作数应均为字符串。如果都为数值型,则进行算术运算;如果有一个为字符串,另一个为数值型,则出错。“&运算符两边的操作数不论是数值型的还是字符串型的,都进行字

23、符串的连接运算,系统先将数值型操作数转换为字符串,然后再进行连接运算。,2.3.2 字符串运算符与字符串表达式,字符串运算符有两个:“&”、“+”,是将两个字符串连接起来,合并成一个新的字符串。,例如:“Hello”&“World”结果为“Hello World”“Check”&123 结果为“Checkl23”“Check”+123 错误,42,VB提供的关系运算符:=等于 2=3 False 不等于 23 True 23 False=2=3 False=2=3 TrueLike 字符串匹配“aBBa”Like“a*a”TrueIs 对象引用比较,2.3.3 关系运算符与关系表达式,关系运算

24、符又称为比较运算符,用于对两个表达式的值进行比较,比较的结果为布尔值True(真)或False(假)。,43,有关说明:若两个操作数是数值型,按其大小比较。若两个操作数是字符串,则按字符的ASCII码值从左到右逐一比较。对单精度或双精度进行比较时,应避免直接判断两个浮点数是否相等,而改成对其误差的判断。例如:Abs(A-B)1E-5 关系运算符的优先级相同。“Like”运算符与通配符“?”、“*”、“#”等结合使用,常用于数据库模糊查询。“Is”运算符用于两个对象变量的引用比较。*is Null,44,例:数学上判断x是否在区间a,b内 如写成:a=x=b 则不能完成指定功能 假设a=1,b=

25、3,x=4 VB 在计算:1=x=3 时由左向右计算 先计算 1=4 成立,值为-1 接着计算-1=3 成立,最终结果为True,而我们想要的结果为False 故引入逻辑表达式,45,2.3.4 逻辑运算符与逻辑表达式,逻辑运算也称布尔运算或逻辑乘.运算符两边的操作数要求为逻辑值.用逻辑运算符连接两个或多个逻辑量组成的表达式称为逻辑表达式或布尔表达式.逻辑表达式的结果仍为逻辑值True或False.,46,真值表,47,2.3.5 表达式的运算顺序,表达式的运算的先后顺序为:,函数运算,例:a=3,b=5,c=-1,d=7,a+b c+d And a=5 Or Not c 0 Or d 0,4

26、8,VB提供系统内部函数,允许用户自定义函数过程,内部函数分5类:数学函数字符串函数随机函数、格式输出函数转换函数日期和时间函数这些函数都带有一个或几个自变量,在程序设计中称为参数。函数运算后返回一个值。,函数一般调用格式:,(),函数的参数可以是常量、变量或表达式,若有多个参数时,参数之间以逗号分隔,2.4 常用内部函数,49,2.4.1 数学函数,数学函数用于各种数学运算,主要包括 三角函数 平方根函数 绝对值函数 对数函数 指数函数,绝对值函数 Abs(x)返回x的绝对值例:Abs(3.4)结果为3.4 Abs(-3.4)结果为3.4,平方根函数 Sqr(x)返回x的平方根,x=0例:S

27、qr(9)结果为3,三角函数 Sin(x)正玄函数 Cos(x)余玄函数 Tan(x)正切函数 Atn(x)反正切函数参数单位为弧度,50,指数和对数函数Exp(x)返回以e为底的指数函数,即数学中的exLog(x)返回以e为底的自然对数,即数学中的lnx。VB没有提供常用对数函数,要想计算常用对数可以换算:例如:Exp(1)、Exp(2*X)、Log(10)。,取整函数 Int(x)返回不大于x的最大值 Fix(x)返回x的整数部分 例:Int(3.6)=3 Int(-2.3)=-3 Fix(6.5)=6 Fix(-5.6)=-5,四舍五入函数 CInt(x)CLng(x)例:CInt(3.

28、6)=4,51,随机函数Rnd(x)产生01之间的单精度随机数。说明:若x0,则以上一个随机数作为种子,产生序列中的下一个随机数;若x=0,则产生与最近生成的随机数相同的数;若省略参数x,则以上一个随机数作为种子,产生序列中的下一个随机数,产生N1,N2问随机数,可使用公式:Int(N2-N1+1)*Rnd+N2,随机种子生成器:Randomize time,52,2.4.2 字符串函数,VisualBasic提供了大量的字符串函数,具有很强的字符串处理能力。,1删除空白字符函数 LTrim(s)去掉字符串s左边的空白字符(即前导空格)。RTrim(s)去掉字符串s右边的空白字符(即后置空格)

29、。Trim(s)去掉字符串s左右两边的空白字符。,例如:LTrim(”UUUABC”)结果为“ABC”RTrim(”ABCUUU”)结果为“ABC”Trim(”UUUABCUUU”)结果为“ABC”,53,2取子串函数 Left(s,n)取字符串s左边的n个字符 Right(s,n)取字符串s右边的n个字符 Mid(s,p,n)从字字符串s的第p个字符开始取n个字符例:Left(“ABCDE”,2)结果为“AB”Right(“ABCDE”,2)结果为“DE”Mid(“ABCDE”,2,3)结果为“BCD”Mid(“ABCDE”,2,6)结果为“BCDE”,3.字符串长度函数 Len(s)返回字

30、符串s的长度例:Len(“ABCDE”)结果为5,54,5生成空格函数 Space(n)返回n个空格例:Space(3)的结果为“UUU”,4生成字符串函数 String(n,s)取字符串s的第一个字符构成长度为n的新字符串。例:String(3,”ABC”)结果“AAA”String(3,65)结果“AAA”(字符”A”的ASCII码为65),55,7字母大小写转换函数 UCase(s)把小写字母转换为大写字母。LCase(s)把大写字母转换为小写字母。例:UCase(”Abc”)结果为ABC”LCase(”ABc”)结果为abc”,6搜索予字符串函数 InStr(S,s1,s2,C)在字符

31、串s1中第S个位置开始查找字符串s2出现的起始位置例:InStr(”ABCDE”,”BC”)结果为2 1nStr(”ABCDECDE”,”DE”,)结果为4,56,转换函数用于数据类型或形式的转换,包括整型、实型、字符串型之间以及与ASCII码字符之间的转换。下面介绍常用的转换函数。1将字符转换成ASCII码 Asc(s)返回字符串s中第一个字符的ASCII码。例:Asc(“A”)结果为65 Asc(“ABC”)结果为65,2.4.4 转换函数,2将ASCII码转换成字符 Chr(x)把x的值转换为对应的ASCII字符例:Chr(65)的结果为”A”。,57,3将数值转换成字符串 Str(x)

32、把x的值转换为一个字符串。如果x为正,则返回的字符串前有一前导空格。例:Str(123)的结果为“123”。,4将字符串转换成数值 Val(s)把数字字符串s转换为数值。例:Val(“123”)结果为123 Val(“123AB”)结果为123 Val(“.123AB”)结果为.123 Val(”a123AB)结果为0,58,5转换成逻辑型数据 Cbool(x)非0为True 0为False。例:Cbool(123)的结果为True。,6转换成日期型数据 Cdate(x)把数字、字符串转换为日期数据。例:Cdate(“February 20,1999”)结果为99-2-20 Cdate(“4:

33、30:40 PM”)结果为16:30:40,59,日期和时间函数可以显示系统的日期和时间,提供某个事件何时发生及持续时间长短等信息。常用的日期时间函数有:Now 返回系统日期和时间Date 返回系统日期Time 返回系统时间Day(d)返回参数d中指定月份的第几天WeekDay(d)返回参数d中指定的星期几Month(d)返回参数d中指定的月份Year(d)返回年份Hour(d)返回小时(023)Minute(d)返回分钟(059)Second(d)返回秒(059)Timer 返回从午夜开始到现在经过的秒数,2.4.3 日期和时间函数,60,格式输出函数可以使数值、日期或字符串按指定的格式输出

34、。其格式为 Format(,),2.4.5 格式输出函数,:要格式化的数值、日期或字 符串表达式。:指定表达式的值的输出 格式。格式字符有三类:数值格式、日期格式和字符串格式。格式字符要加引号。,61,62,2.4.6 其他函数,1条件函数 Iif(,)如x1值为真,则返回x2的值,否则返回x3例:Iif(xy,x,y)返回x,y中较大值 Iif(x=60,“Pass”,”Failure”)2选择函数 Choose(n,.)例:Choose(3,”星期一”,”星期二”星期三”星期四”星期五”))的结果为”星期三”。,63,课后分析:本节需掌握知识点较多,不需要一下子都记住,以后用到时逐渐记忆。,64,结束,谢谢!,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号