第三章数据类型常量变量及表达式e_第1页
第三章数据类型常量变量及表达式e_第2页
第三章数据类型常量变量及表达式e_第3页
第三章数据类型常量变量及表达式e_第4页
第三章数据类型常量变量及表达式e_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章第三章 数据类型、常量、变量及表达式数据类型、常量、变量及表达式 本章内容及要求:本章内容及要求:1. 熟悉熟悉VBVB程序中代码和语句书写规则;程序中代码和语句书写规则;2. 掌握掌握VBVB的数据类型;的数据类型;3. 掌握掌握VB的的 运算符和表达式的使用;运算符和表达式的使用;4. 掌握常用内部函数的使用;掌握常用内部函数的使用;本章重点:本章重点: 变量和常量的定义及使用变量和常量的定义及使用、运算符和表达运算符和表达 式的使用及常用内部函数的使用。式的使用及常用内部函数的使用。本章难点:本章难点: 数据类型、内部函数。数据类型、内部函数。3.1 VB语言字符集及编码规则语言字

2、符集及编码规则 3.1.1 VB的字符集的字符集 l l 字母:大写英文字母字母:大写英文字母AZ;小写英文字母;小写英文字母az。l l 数字:数字:0一一9;l l 专用字符:共专用字符:共27个,个,P48表。表。3.1.2 编码规则与约定编码规则与约定 (一)编码规则(一)编码规则1VB代码中不区分字母的大小写。代码中不区分字母的大小写。2同一行上可以书写多条语句,但语句间要用冒号同一行上可以书写多条语句,但语句间要用冒号“:”分分隔。隔。3若一个语句行不能写下全部语句,或在特别需要时,可若一个语句行不能写下全部语句,或在特别需要时,可以换行。换行时需在本行后加入续行符,以换行。换行时

3、需在本行后加入续行符,1个空格加下划线个空格加下划线“_”。 4一行最多允许一行最多允许255个字符。个字符。 5注释以注释以Rem开头,也可以使用单引号开头,也可以使用单引号“”,注释内容可,注释内容可直接出现在语句的后面。直接出现在语句的后面。 6在程序转向时需用到标号,标号是以字母开始而以冒号在程序转向时需用到标号,标号是以字母开始而以冒号结束的字符串。结束的字符串。 (二)(二) 约定约定1为了提高程序的可读性,对于为了提高程序的可读性,对于VB中的关键字其首字中的关键字其首字母大写,其余字母小写母大写,其余字母小写 2. 注释有利于程序的维护和调试注释有利于程序的维护和调试 Rem开

4、始开始 或或 单撇单撇 。 例如:例如: This is a VB REM This is a VB 在在6.0中新增了中新增了“块注释块注释/取消块注释取消块注释”(视图视图/工具栏工具栏/编编辑辑)3.2 数据类型数据类型3.2.1 标准数据类型标准数据类型3.2.2 自定义类型自定义类型 在模块级别中使用,用于定义包含一个或多个元素的用在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。户自定义的数据类型。 使用形式:使用形式: Type 自定义类型名自定义类型名 元素名元素名 (下标下标) As 类型名类型名 元素名元素名 (下标下标) As 类型名类型名 . . .

5、End Type 见下例见下例 Type Student Xh As Sting Xm As String Xb As String Nl As Integer Score As Single End Type 例如例如: 对于一个学生的对于一个学生的“学号学号”、“姓名姓名”、“性性别别”、“年龄年龄”、“入学成绩入学成绩”等数据,为了处理数据的等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。类型)。 通常我们说的整型常量指的是十进制整数,但通常我们说的整型常量指的是十进制整数,但VB中可中可以使

6、用八进制和十六进制形式的整型常数,因此整型常数以使用八进制和十六进制形式的整型常数,因此整型常数有如下三种形式:有如下三种形式: 1)十进制整数。如)十进制整数。如125,0,-89。202)八进制整数。以)八进制整数。以&或或&O(字母(字母O)开头的整数是八)开头的整数是八进制整数,如进制整数,如&O25表示八进制整数表示八进制整数25,即,即(25)8 ,等于十,等于十进制数进制数21。 3)十六进制。以)十六进制。以&H开头的整数是十六进制整数,如开头的整数是十六进制整数,如&H25表示十六进制整数表示十六进制整数25,即,即(25)16 ,等于

7、十进制数,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。中的颜色数据常常用十六进制整数表示。 2、实型常量、实型常量1) 单精度实型(单精度实型(Single):有效数为):有效数为7位位 表示表示-3.37E+38至至3.37E+38之间的实数之间的实数 2)双精度实型()双精度实型(Double):有效数为):有效数为15位位实型常量的表示:实型常量的表示:1)十进制小数形式。它是由正负号()十进制小数形式。它是由正负号(+,-)、数字)、数字(09)和小数点()和小数点(.)或类型符号(!、)或类型符号(!、#)组成,即)组成,即n.n,n!或!或n#,其中,其中n是是09的

8、数字。的数字。例如例如0.123、.123、123.0、123!、!、123#等都是十进制小等都是十进制小数形式。数形式。2)指数形式。)指数形式。nEm 或或 n.nEm, nDm 或或 n.nDm 例:例:1.25E+3 和和 1.25D+3相当于相当于1250.0 或者或者1.25103。 3、字符串常量字符串常量在在VB中字符串常量是用双引号中字符串常量是用双引号“”括起的一串字符,例括起的一串字符,例如如ABC,abcdefg,123,0,VB程序设计程序设计等。等。说明:说明:(1)字符串中的字符可以是所有西文字符和汉字、标)字符串中的字符可以是所有西文字符和汉字、标点符号等;点符

9、号等;(2)表示空字符串,而表示空字符串,而 表示有一个空格的字符串;表示有一个空格的字符串;(3)若字符串中有双引号,例如)若字符串中有双引号,例如ABDXYZ,则用连续,则用连续两个双引号表示,即:两个双引号表示,即: ABDXYZ“4、逻辑(、逻辑(Boolean)数据类型)数据类型 只有两个值只有两个值True,或,或False。将逻辑数据转换成整型时:。将逻辑数据转换成整型时:True为为-1,False为为0;其它数据转换成逻辑数据时:;其它数据转换成逻辑数据时:非非0为为True, 0为为False。 5、日期常量、日期常量 日期(日期(Date)型数据按)型数据按8字节的浮点数

10、来存储,表示日字节的浮点数来存储,表示日期范围从公元期范围从公元100年年1月月1日日9999年年12月月31日,而时间范围从日,而时间范围从0:00:0023:59:59。 一种在字面上可被认作日期和时间的字符,只要用号码符一种在字面上可被认作日期和时间的字符,只要用号码符“ “#”括起来,都可以作为日期型数值常量。括起来,都可以作为日期型数值常量。 例:例:#09/02/99#、#January 4,1989#,#2002-5-4 14:30:00 PM#都是合法的日期型常量。都是合法的日期型常量。 说明:说明:当以数值表示日期数据时,整数部分代表日期,当以数值表示日期数据时,整数部分代表

11、日期,而小数部分代表时间;例如而小数部分代表时间;例如1表示表示1899年年12月月31日。大于日。大于1的的整数表示该日期以后的日期,整数表示该日期以后的日期,0和小于和小于0的整数表示该日期以的整数表示该日期以前的日期。前的日期。 二、符号常量二、符号常量 在程序中,某个常量多次被使用,则可以使用一个符在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。了程序的可读性和可维护性。 VB中使用关键字中使用关键字Const 声明符号常量。其格式如下:声明符号常量。其格式如

12、下:Const 常量名常量名 As 类型类型|类型符号类型符号=常数表达式常数表达式例如:例如: Const PI#=3.1415926535 等价于:等价于: Const PI As Double=3.1415926535 三、系统常量三、系统常量 VB系统提供了应用程序和控件的系统定义常数。它们系统提供了应用程序和控件的系统定义常数。它们存放于系统的对象库中,在存放于系统的对象库中,在“对象浏览器对象浏览器”中的中的 Visual Basic(VB) 和和 Visual Basic for applications(VBA)对象)对象库中列举了库中列举了 Visual Basic 的常数的

13、常数 例如,要将文本框例如,要将文本框Text1的前景颜色设置为红色,可以的前景颜色设置为红色,可以使用下面的语句:使用下面的语句: Text1.ForeColor=vbRed 这里的这里的vbRed就是系统常量。这比直接使用就是系统常量。这比直接使用16进制数来进制数来设置要直观得多。设置要直观得多。 又如,窗口状态属性又如,窗口状态属性WindowsState可取可取0,1,2三个值,对应三个值,对应三种不同状态(参见第二章表三种不同状态(参见第二章表2-2所示)。所示)。 在程序中使用语句在程序中使用语句 Myform.WindowsState=vbMaxmized,将窗口极大化,显然要

14、比使用语句将窗口极大化,显然要比使用语句Myform.WindowsState=2 易于阅读和理解。易于阅读和理解。 一一.变量和常量的命名规则变量和常量的命名规则 1. 以字母或汉字开头以字母或汉字开头,后可跟字母、数字或下划线组成,后可跟字母、数字或下划线组成,长度小于等于长度小于等于40个字符;个字符; 2. 不能使用不能使用VB中的关键字;中的关键字; 3. VB中中不区分不区分变量名的大小写变量名的大小写. 4. 为了增加程序的可读性,可在变量名前加一个缩写的前为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。缀来表明该变量的数据类型。 例如:例如:strAb

15、c, (字符串变量)(字符串变量) iCount, (整型变量)(整型变量) dblx, (双精度变量)(双精度变量) sYz (单精度变量)(单精度变量)3.3.2 变变 量量 二二.变量声明变量声明 1.用用Dim语句显式声明变量语句显式声明变量 形式:形式:Dim 变量名变量名 AS 类型类型 Dim 变量名变量名类型符类型符 例例 Dim iCount As integer , sum As single 等价于等价于 Dim iCount%, sum!2.隐式声明隐式声明 Visual Basic允许用户在编写应用程序时,不声明变量允许用户在编写应用程序时,不声明变量而直接使用,系统

16、临时为新变量分配存储空间并使用,而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是这就是隐式声明。所有隐式声明的变量都是Variant数据数据类型。类型。Visual Basic根据程序中赋予变量的值来自动调整根据程序中赋予变量的值来自动调整变量的类型。变量的类型。 例如:例如: 下面是一个很简单的程序,其使用的变量下面是一个很简单的程序,其使用的变量a, b, Suma, b, Sum都都没有事先定义。没有事先定义。Private Sub Form_Click()Sum = 0a = 10: b = 20Sum = a + bPrint Sum=; Sum

17、End Sub3强制显式声明强制显式声明Option Explicit语句语句 良好的编程习惯都应该是良好的编程习惯都应该是“先声明变量,后使用变量先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。这样做可以提高程序的效率,同时也使程序易于调试。Visual Basic 中可以强制显式声明,可以在窗体模块、标准中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:模块和类模块的通用声明段中加入语句:Option Explicit3.4 运算符和表达式运算符和表达式一一. 运运算符算符 1. 算术运算符算术运算符(均是双目运算,(均是双目运算,ia=

18、3)例:例:5+10 mod 10 9 / 3 +2 2 结果是:结果是:10说明:计算时自动调整精度说明:计算时自动调整精度 特例见特例见P562. 字符串运算符与字符串表达式字符串运算符与字符串表达式 字符串运算符有:字符串运算符有: 、+ 。 功能是字符串连接功能是字符串连接例如:例如: ABCD + EFGHI 结果为:结果为:ABCDEFGHI“ VB ” & “程序设计教程程序设计教程” ” 结果为:结果为:VB程序设计教程程序设计教程说明:当连接符两旁的操作量都为字符串时,上述两个连接说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:符等价。它们区别

19、是: +(连接运算)(连接运算):两个操作数均应为字符串类型;:两个操作数均应为字符串类型; &(连接运算)(连接运算):两个操作数既可为字符型也可为数值型,:两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。行连接操作。 例:例:100 + 123 100 + 123 结果为结果为 223223100 + 123 100 + 123 结果为结果为 100123100123 Abc + 123 Abc + 123 出错出错 100 & 123 100 & 123 结果为结果

20、为 100123100123 100 & 123 100 & 123 结果为结果为 100123100123 Abc & 123 Abc & 123 结果为结果为 Abc123Abc123 Abc & 123 Abc & 123 结果为结果为 Abc123Abc123 注意:使用运算符注意:使用运算符“&”时,变量与运算符时,变量与运算符“&”之间应之间应加一个加一个空格空格。这是因为符号。这是因为符号“&”还是长整型的类型定义符,还是长整型的类型定义符,如果变量与符号如果变量与符号“&”接在一起,接在一起,VB系

21、统先把它作为类型定系统先把它作为类型定义符处理,因而就会出现语法错误。义符处理,因而就会出现语法错误。 3.4.3 关系运算符与关系表达式关系运算符与关系表达式 关系运算符都是双目运算,是用来比较两个运算量之间关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为果为True,若关系不成立,结果为,若关系不成立,结果为False。 VB中的关系运算符如下表所示。中的关系运算符如下表所示。 运算符运算符含义含义优先级优先级实例实例结果结果小于小于所有关系运算所有关系运算优先级相同。优先级相同。低

22、于算术运算低于算术运算的加的加“+”,减,减“-”运算,高运算,高于逻辑非于逻辑非“Not”运算。运算。15+1020False=小于或等于小于或等于10大于大于1020False=大于或等于大于或等于This= ThatTrue=等于等于This= ThatFalse不等于不等于This ThatTrueLike字符串匹配字符串匹配This Like *isTrueIs对象比较对象比较 关系运算的规则如下:关系运算的规则如下: (1 1)当两个操作式均为数值型,按数值大小比较。)当两个操作式均为数值型,按数值大小比较。 (2)字符串比较)字符串比较,则按字符的则按字符的ASCII码值从左到右

23、一一比较码值从左到右一一比较,直到出现不同的字符为止直到出现不同的字符为止.。 例:例: ABCDE ABRA 结果为结果为 False (3)数值型与可转换为数值型的数据比较,)数值型与可转换为数值型的数据比较, 如:如:29189 ,按数值比较,结果为,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,)数值型与不能转换成数值型的字符型比较, 如:如:77 sdcd ,不能比较,系统出错。,不能比较,系统出错。(5)“Like”运算符是运算符是VB6.0新增加的。新增加的。 其使用格式为:其使用格式为:str1 Like str2 3.4.4 逻辑运算符与逻辑表达式

24、逻辑运算符与逻辑表达式 Not 逻辑非为单目运算符(要求一个操作数),其它为双逻辑非为单目运算符(要求一个操作数),其它为双目运算符。目运算符。 条件表达式条件表达式1 And 条件表达式条件表达式2 条件表达式均为条件表达式均为T 结果为结果为T 条件表达式条件表达式1 Or 条件表达式条件表达式2 条件表达式有一个条件表达式有一个T 结果为结果为T说明:说明:(1)逻辑运算符的优先级不相同,)逻辑运算符的优先级不相同,Not(逻辑非)最高,(逻辑非)最高,但它低于关系运算,但它低于关系运算,Imp(逻辑蕴含)最低。(逻辑蕴含)最低。(2)VB中常用的逻辑运算符是中常用的逻辑运算符是Not、

25、And和和Or。它们用于。它们用于将多个关系表达式进行逻辑判断。将多个关系表达式进行逻辑判断。例如,数学上表示某个数在某个区域时用表达式:例如,数学上表示某个数在某个区域时用表达式: 10X=10 And X=字符运算符字符运算符关系运算符关系运算符逻辑运算逻辑运算 说明:说明: 1当一个表达式中出现多种运算符时,首先进行算术运当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次最后处理逻辑运算符,在各类运算中再按照相应的优先次序进行。序进行。 2

26、可以用括号改变优先顺序,强令表达式的某些部分可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。多重括号,总是由内到外。 . 表达式的书写中需注意的问题表达式的书写中需注意的问题 (1)运算符不能相邻。例)运算符不能相邻。例a+-b是错误的。是错误的。 (2)乘号不能省略。例)乘号不能省略。例x 乘以乘以y 应写成:应写成:x*y (3)括号必须成对出现,均使用圆括号。)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准并排书写,不能出现上下)表达式从左到右在同一基

27、准并排书写,不能出现上下标标 (5)要注意各种运算符的优先级别,为保持运算顺序,在)要注意各种运算符的优先级别,为保持运算顺序,在写表达式时需要适当添加括号()写表达式时需要适当添加括号(),若用到库函数必须按若用到库函数必须按库函要求书写库函要求书写。 如:如: (b-sqr(b*b-4*a*c)/(2*a) (a+b)/(a-b) aacbb242baba VB提供了上百种内部函数(库函数),要求掌握这些常用提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。函数的功能及使用。 调用方法:调用方法: 函数名(参数列表)函数名(参数列表) 有参函数有参函数 函数名函数名 无参函

28、数无参函数说明:说明: (1) 使用库函数要注意参数的个数及其参数的数据类型使用库函数要注意参数的个数及其参数的数据类型 (2) 要注意函数的定义域(自变量或参数的取值范围)要注意函数的定义域(自变量或参数的取值范围) 例如:例如: sqr(x) 要求:要求: x=0 (3)要注意函数的值域。)要注意函数的值域。 如:如:exp(23773) 的值就超出实数在计算机中的表示范围。的值就超出实数在计算机中的表示范围。3.5 常用内部函数常用内部函数 1. 数学函数数学函数 常用的数学函数见表常用的数学函数见表3-8所示所示 Abs(N) Cos(N) Sin(N) Exp(N) Log(N) S

29、qr(N) Rnd(N) Sgn(N) 说明:说明: (1) 在三角函数中的自变量是以弧度为单位。在三角函数中的自变量是以弧度为单位。 如:如:sin300 sin(3.14159/180*30) (2) Rnd函数返回函数返回0 1(包括(包括0和不包括和不包括1)之间的双精度随机)之间的双精度随机数。数。 若要产生若要产生1-100的随机整数:的随机整数: Int(Rnd *100)+1 提问:怎样产生提问:怎样产生N,M区间的随机数?区间的随机数? 2. 转换函数转换函数 常用的转换函数见常用的转换函数见p62表所示表所示 说明:说明: (1)要区别两个取整函数)要区别两个取整函数int

30、()和和fix() Fix(N)为截断取整,即去掉小数后的数。为截断取整,即去掉小数后的数。 Int(N)不大于不大于N的最大整数。的最大整数。 N0与与int(N) 相同,当相同,当N0时,时, int(N) 与与fix(N) -1相等。相等。 例如:例如: Fix(9.59) =9, Int(9.59) =9 Fix(-9.59) =-9, Int(-9.59) =-10 思考:如何实现四舍五入取整?思考:如何实现四舍五入取整? (2)Asc(Abcd) 值为:值为: 65 (只取首字母的(只取首字母的Ascii值)值) (3)Val(abc123) 值为:值为:0, Val(1.2sa10) 值为值为1.2 注意:注意: Val( )函数只将最前面的数字字符转换为数值。函数只将最前面的数字字符转换为数值。3. 字符串操作函数字符串操作函数 常用的字符串函数见常用的字符串函数见p64表表 说明:说明: 如果返回是字符型,则函数后有如果返回是字符型,则函数后有“$”字符。当然一般也字符。当然一般也可以不写,习

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论