




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB程序设计基础(4)1 第第4 4章章 VBVB程序设计基础程序设计基础 本章内容及要求:本章内容及要求: 4.1数据类型数据类型 4.2常量和变量常量和变量 4.3变量的作用域变量的作用域 4.4常用内部函数常用内部函数 4.5字符处理与字符串函数字符处理与字符串函数 4.6运算符与表达式运算符与表达式 VB程序设计基础(4)2 4.1 4.1 数据类型数据类型 数据是信息在计算机内的表现形式,也是程序处数据是信息在计算机内的表现形式,也是程序处 理的对象。理的对象。VB提供了系统定义的基本数据类型,还提供了系统定义的基本数据类型,还 允许用户定义自己的数据类型。允许用户定义自己的数据类型
2、。 VB程序设计基础(4)3 4.1 4.1 数据类型数据类型 一、基本数据类型一、基本数据类型 1.字符串型字符串型String 字符串是一个字符序列,由字符串是一个字符序列,由ASCII字符组成。字符串通常字符组成。字符串通常 要用双引号括起来。要用双引号括起来。 例如:例如:“Hello!” 湖南省衡阳市湖南省衡阳市 “8888” *” “” 空字符串空字符串 “ “ 有一个空格的字符串有一个空格的字符串 若字符串中有双引号,例如若字符串中有双引号,例如ABD“XYZ,则用连续两个双引,则用连续两个双引 号表示,即:号表示,即:ABDXYZ“ VB程序设计基础(4)4 4.1 4.1 数
3、据类型数据类型 VB中的字符串分为两种:变长字符串和定长字符中的字符串分为两种:变长字符串和定长字符 串。串。 变长字符串的长度是不确定的,可以从变长字符串的长度是不确定的,可以从0231(约(约 21亿)个字符。亿)个字符。 定长字符串含有确定个数的字符,最大长度不超定长字符串含有确定个数的字符,最大长度不超 过过216(65535)个字符。)个字符。 VB程序设计基础(4)5 4.1 4.1 数据类型数据类型 2.数值型数值型 数值型数据分为整型数和浮点数两类。数值型数据分为整型数和浮点数两类。 (1)整型数)整型数 整型数是不带小数点和指数符号的数,在机器内部以二进制补整型数是不带小数点
4、和指数符号的数,在机器内部以二进制补 码形式表示。码形式表示。正数的补码和它的二进制形式正数的补码和它的二进制形式(即源码即源码)相同;负相同;负 数的补码为该数的绝对值的二进制形式取反加数的补码为该数的绝对值的二进制形式取反加1。 例如,整型数例如,整型数4,-4分别以下面的形式存放:分别以下面的形式存放:(最高位为符号位,最高位为符号位, 其中其中0为正,为正,1为负)为负) 4 -4 整数的运算速度快,而且比其他数据类型占据的内存少。整数的运算速度快,而且比其他数据类型占据的内存少。 VB程序设计基础(4)6 4.1 4.1 数据类型数据类型 整型数又分为整数和长整数:整型数又分为整数和
5、长整数: u整数整数Integer 以以2个字节个字节(16位位)的二进制数存储,取值范围为的二进制数存储,取值范围为 -32,76832,767。 u长整数长整数Long 以以4个字节个字节(32位位)的二进制数存储,取值范围为的二进制数存储,取值范围为 -2,147,483,6482,147,483,647。 VB程序设计基础(4)7 4.1 4.1 数据类型数据类型 二进制二进制十进制十进制 0 1 2 3 32767 -32768 -32767 -32766 -2 -1 思考:为什么思考:为什么16位整数位整数Integer的取值范围为的取值范围为-32,76832,767? VB程序
6、设计基础(4)8 4.1 4.1 数据类型数据类型 注意:注意:16位整数位整数Integer如果超出了这个取值范围如果超出了这个取值范围 (-32,76832,767),数据便会溢出。请看下面的代),数据便会溢出。请看下面的代 码:码: Private Sub Form_Load() Dim a As Integer a = 32767 a = a + 1 MsgBox a End Sub VB程序设计基础(4)9 4.1 4.1 数据类型数据类型 (2)浮点数)浮点数 浮点数也称实数,是带有小数部分的数值。分为单精度浮点数浮点数也称实数,是带有小数部分的数值。分为单精度浮点数 和双精度浮点
7、数。和双精度浮点数。 u单精度单精度Single 以以4个字节个字节(32位位)存储,可以精确到存储,可以精确到7位十进制数。其中符号占位十进制数。其中符号占 1位,指数占位,指数占8位,其余位,其余23位表示尾数,还有一个附加的隐含位。位表示尾数,还有一个附加的隐含位。 其负数的取值范围为其负数的取值范围为-3.402823E+38 -1.401298E-45,正数,正数 的取值范围为的取值范围为1.401298E-45 3.402823E+38。 表示形式为:表示形式为: n.nEm 其中其中n.n是尾数,是尾数,m是指数(以是指数(以10 为底的幂)为底的幂) 例:例:-123.4E-3
8、或或-123.4e-3,相当于,相当于-0.1234 1.2345E3或或1.2345e3,相当于,相当于1234.5 VB程序设计基础(4)10 4.1 4.1 数据类型数据类型 u双精度双精度Double 以以8个字节个字节(64位位)存储,可以精确到存储,可以精确到15到到16位十进制数。其位十进制数。其 中符号占中符号占1位,指数占位,指数占11位,其余位,其余52位表示尾数,还有一个位表示尾数,还有一个 附加的隐含位。附加的隐含位。 表示形式为:表示形式为: n.nDm 其中其中n.n是尾数,是尾数,m是指数(以是指数(以 10为底的幂)为底的幂) 例:例:123.4567D3或或1
9、23.4567d+3,相当于,相当于123456.7 VB程序设计基础(4)11 4.1 4.1 数据类型数据类型 (3)货币型)货币型Currency 货币数据类型通常用于表示钱款。以货币数据类型通常用于表示钱款。以8个字节个字节(64位位)存储,精存储,精 确到小数点后面确到小数点后面4位(小数点前面有位(小数点前面有15位)。在小数点后位)。在小数点后4位位 以后的数字将被舍去。以后的数字将被舍去。其取值范围为其取值范围为-922,337,203,685, 477.5808 -922,337,203,685,477.5807 浮点数中的小数点是浮点数中的小数点是“浮动浮动”的,小数点可以
10、出现在数的任的,小数点可以出现在数的任 何位置,而货币型数据的小数点是固定的,因此称为定点数据何位置,而货币型数据的小数点是固定的,因此称为定点数据 类型。类型。 VB程序设计基础(4)12 4.1 4.1 数据类型数据类型 (4)字节型)字节型Byte 以以1个字节个字节(8位位)的无符号二进制数存储,其取值范围为的无符号二进制数存储,其取值范围为 0255。 注:在实际应用中,应根据需要使用数据类型。能用整型注:在实际应用中,应根据需要使用数据类型。能用整型 就不要用浮点型或货币型;如果要求的精度不高,则应使用单就不要用浮点型或货币型;如果要求的精度不高,则应使用单 精度变量。这样不仅节省
11、内存空间,而且可以提高处理速度。精度变量。这样不仅节省内存空间,而且可以提高处理速度。 VB程序设计基础(4)13 4.1 4.1 数据类型数据类型 3.布尔型布尔型Boolean 布尔型数据是一个逻辑值,用布尔型数据是一个逻辑值,用2个字节存储,它只取两个个字节存储,它只取两个 值:值:True/False。布尔型变量的默认值为。布尔型变量的默认值为False。 将逻辑数据转换成整型时:将逻辑数据转换成整型时:True为为-1,False为为0;其它数;其它数 据转换成逻辑数据时:非据转换成逻辑数据时:非0为为True, 0为为False。 例如,下面的代码定义一个布尔型变量,并输出该变量:
12、例如,下面的代码定义一个布尔型变量,并输出该变量: Dim mybln As Boolean mybln=3 MsgBox mybln VB程序设计基础(4)14 4.1 4.1 数据类型数据类型 4.日期型日期型Date 日期型数据占用日期型数据占用8个字节,以浮点数形式存储。小数点左个字节,以浮点数形式存储。小数点左 边的数值表示日期边的数值表示日期(距离距离1899-12-30的天数的天数),小数点右边的数小数点右边的数 值表示时间。值表示时间。 日期型数据的日期表示范围:日期型数据的日期表示范围:100年年1月月1日日9999年年12 月月31日,时间表示范围:日,时间表示范围:0:0
13、0:0023:59:59。日期常数必须用日期常数必须用 “#”符号括起来。符号括起来。 例如:下面的几种日期型数据的格式都是合法的:例如:下面的几种日期型数据的格式都是合法的: #9/1/2009#或或#2009-09-01# #September 1,2009# #08:30:00 AM# #2002-5-4 14:30:00 PM# VB程序设计基础(4)15 4.1 4.1 数据类型数据类型 5.变体型变体型Variant 变体数据类型是一种可变的数据类型,可以表示任何值,变体数据类型是一种可变的数据类型,可以表示任何值, 包括数值、字符串、日期包括数值、字符串、日期/时间等。时间等。
14、当变体数据为数值时,以当变体数据为数值时,以16个字节存储,最大可达个字节存储,最大可达 Double的取值范围;当变体数据为字符时,以的取值范围;当变体数据为字符时,以22字节字节+字符串字符串 长,与变长长,与变长String有相同的取值范围有相同的取值范围 。 6.对象型对象型Object 对象型数据作为对象型数据作为32位(位(4个字节)地址来存储,该地址可个字节)地址来存储,该地址可 以引用程序中的任何对象。以引用程序中的任何对象。 VB程序设计基础(4)16 4.1 4.1 数据类型数据类型 7.Decimal数据类型数据类型 Decimal数据以数据以12个字节存储,最多支持个字
15、节存储,最多支持29个有效数位,个有效数位, 在内存中的表示形式比浮点数更精确。适用于要求使用大量有在内存中的表示形式比浮点数更精确。适用于要求使用大量有 效的整数及小数位数,并且不能容忍舍入误差的财务计算。效的整数及小数位数,并且不能容忍舍入误差的财务计算。 Decimal数据类型只能在变体类型数据类型只能在变体类型(Variant)中使用,不能中使用,不能 把一个变量声明为把一个变量声明为Decimal类型。类型。 VB程序设计基础(4)17 4.1 4.1 数据类型数据类型 二、用户定义的数据类型二、用户定义的数据类型 用户自定义类型,也称为记录类型,通过用户自定义类型,也称为记录类型,
16、通过Type 语句来实现,其语法格式如下:语句来实现,其语法格式如下: Type 数据类型名数据类型名 元素名元素名As 类型名类型名 元素名元素名As 类型名类型名 End Type VB程序设计基础(4)18 4.1 4.1 数据类型数据类型 例如例如: 对于一个学生的对于一个学生的“学号学号”、“姓名姓名”、“性别性别”、 “年龄年龄”、“入学成绩入学成绩”等数据,为了处理数据的方便,常等数据,为了处理数据的方便,常 常需要把这些数据定义成一个新的数据类型(如常需要把这些数据定义成一个新的数据类型(如Student类类 型)型) Type Student Xh As String Xm
17、As String Xb As String Nl As Integer Score As Single End Type 二、用户定义的数据类型二、用户定义的数据类型 VB程序设计基础(4)19 4.1 4.1 数据类型数据类型 使用使用Type语句,应注意以下几点:语句,应注意以下几点: 1.记录类型的定义必须放在模块(包括标准模块和窗体记录类型的定义必须放在模块(包括标准模块和窗体 模块)的声明部分,在使用记录类型之前,必须用模块)的声明部分,在使用记录类型之前,必须用Type语句语句 加以定义。加以定义。 2.一般情况下,记录类型在标准模块中定义,其变量可一般情况下,记录类型在标准模块
18、中定义,其变量可 以出现在工程的任何地方。当在标准模块中定义时,关键字以出现在工程的任何地方。当在标准模块中定义时,关键字 Type前可以有前可以有Public(默认)或(默认)或Private;而如果在窗体模;而如果在窗体模 块中定义,则必须在前面加上关键字块中定义,则必须在前面加上关键字Private。 3.在记录类型中不能使用动态数组。在记录类型中不能使用动态数组。 VB程序设计基础(4)20 4.1 4.1 数据类型数据类型 下面的代码声明了一个下面的代码声明了一个Student类型变量类型变量st,然后为,然后为 其各个元素赋初值,最后输出:其各个元素赋初值,最后输出: Privat
19、e Sub Form_Load() Dim st As Student st.Xh = 20050001 st.Xm = 王一王一 st.Xb = 男男 st.Nl = 17 st.Score = 92.5 MsgBox 学号:学号: Total End Sub VB程序设计基础(4)39 4.3 4.3 变量的作用域变量的作用域 每个变量都有它的作用范围,即作用域。根据变每个变量都有它的作用范围,即作用域。根据变 量在量在VB应用程序中的定义位置和所使用的定义语句应用程序中的定义位置和所使用的定义语句 的不同,可以分为的不同,可以分为局部变量局部变量、模块变量模块变量和和全局变量全局变量。
20、VB应用程序的构成应用程序的构成 VB程序设计基础(4)40 4.3 4.3 变量的作用域变量的作用域 在过程(事件过程或通用过程)内定义的变量叫在过程(事件过程或通用过程)内定义的变量叫 做局部变量,其作用域是它所在的过程。因此,在不做局部变量,其作用域是它所在的过程。因此,在不 同的过程中可以定义相同名字的局部变量。同的过程中可以定义相同名字的局部变量。 局部变量在过程内用局部变量在过程内用Dim、Static定义,例如:定义,例如: Sub Command1_Click() Dim Tempnum As Integer Static Total As Double End Sub 一、局
21、部变量一、局部变量Local VB程序设计基础(4)41 4.3 4.3 变量的作用域变量的作用域 模块变量包括窗体变量和标准模块变量。模块变量包括窗体变量和标准模块变量。 窗体变量可用于该窗体内的所有过程(事件过程窗体变量可用于该窗体内的所有过程(事件过程 或通用过程)。或通用过程)。当同一窗体内的不同过程使用相同的当同一窗体内的不同过程使用相同的 变量时,必须定义窗体层变量。变量时,必须定义窗体层变量。 窗体层变量不能隐式声明。方法是:在程序代码窗体层变量不能隐式声明。方法是:在程序代码 窗口的窗口的“对象对象”框中选择框中选择“通用通用”,并在,并在“过程过程”框框 中选择中选择“声明声
22、明”。 标准模块中模块层变量的声明和使用与窗体层变标准模块中模块层变量的声明和使用与窗体层变 量类似。量类似。 二、模块变量二、模块变量Module VB程序设计基础(4)42 4.3 4.3 变量的作用域变量的作用域 默认情况下,模块级变量对该模块中的所有过程默认情况下,模块级变量对该模块中的所有过程 都是可见的,但对其他模块不可见。模块级变量在模都是可见的,但对其他模块不可见。模块级变量在模 块的声明部分用块的声明部分用Private、Dim声明。例如:声明。例如: Private intTemp As Integer 或或 Dim intTemp As Integer VB程序设计基础(
23、4)43 4.3 4.3 变量的作用域变量的作用域 全局变量的作用域最大,可以在工程的每个模块、全局变量的作用域最大,可以在工程的每个模块、 每个过程中使用。每个过程中使用。全局变量必须在标准模块的声明部全局变量必须在标准模块的声明部 分中声明分中声明,不能在过程或窗体模块中声明;并且,全,不能在过程或窗体模块中声明;并且,全 局变量必须用局变量必须用Public或或Global语句声明,不能用语句声明,不能用Dim 语句声明。例如:语句声明。例如: Public intNumber As Integer 三、全局变量三、全局变量Public VB程序设计基础(4)44 4.3 4.3 变量的
24、作用域变量的作用域 对于局部变量来说,可以不用对于局部变量来说,可以不用Dim或或Static定定 义,而是在需要时直接给出变量名义,而是在需要时直接给出变量名(不建议)(不建议)。 默认声明只适用于局部变量,模块级变量和默认声明只适用于局部变量,模块级变量和 全局变量必须用全局变量必须用Dim或或Public语句显式声明。语句显式声明。 默认声明局部变量,有可能使程序出现无法默认声明局部变量,有可能使程序出现无法 预料的结果,而且较难查出错误。为了安全起见,最好能显式预料的结果,而且较难查出错误。为了安全起见,最好能显式 地声明程序中使用的所有变量。地声明程序中使用的所有变量。 下面通过实例
25、说明。下面通过实例说明。 四、默认声明(隐式声明)四、默认声明(隐式声明) VB程序设计基础(4)45 4.4 4.4 常用内部函数常用内部函数 VB提供了上百种内部函数,要求掌握提供了上百种内部函数,要求掌握表表4.4中中常用函常用函 数的功能及使用数的功能及使用:数学函数、转换函数、日期和时间函数学函数、转换函数、日期和时间函 数、随机数函数数、随机数函数。 函数函数调用方法:调用方法: 函数名(参数列表)函数名(参数列表) 有参函数有参函数 函函数数名名 无参函数无参函数 说明:说明: (1) 使用使用内部内部函数要注意参数的个数及其参数的数据类函数要注意参数的个数及其参数的数据类 型型
26、; (2) 要注意函数的定义域(自变量或参数的取值范围)要注意函数的定义域(自变量或参数的取值范围); (3)要注意函数的值域。)要注意函数的值域。 VB程序设计基础(4)46 4.4 4.4 常用内部函数常用内部函数 常用的数学函数有常用的数学函数有: Sin(x)Cos(x)Tan(x) Atn(x) Abs(x) Sgn(x) Sqr(x)Exp(x) 说明:说明: (1)在三角函数中的自变量是以弧度为单位。在三角函数中的自变量是以弧度为单位。 如:如:sin300 sin(3.14159/180*30) (2) sqr(x)函数要求自变量函数要求自变量 x=0 (3) Exp(x) 函
27、数要求自变量函数要求自变量x不能超过不能超过709.782712893,否,否 则函数的值就会超出实数在计算机中的表示则函数的值就会超出实数在计算机中的表示 范围,导致错误范围,导致错误 发生。发生。 一、数学函数一、数学函数 VB程序设计基础(4)47 4.4 4.4 常用内部函数常用内部函数 常用转换函数见表常用转换函数见表4.4,相关,相关说明如下:说明如下: (1 1)要区别两个取整函数要区别两个取整函数int()和和fix() Fix(N)为截断取整,即去掉小数后的数。为截断取整,即去掉小数后的数。 Int(N)为不大于为不大于N的最大整数。的最大整数。 例如:例如: Fix(9.5
28、9) =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( )函数只将最前面的数字字符转换为数值。函数只将最前面的数字字符转换为数值。 二、转换函数二、转换函数 VB程序设计基础(4)48 4.4 4.4 常用内部函数常用内部函数 1. Date、Now、Time函数函数 Date函数:返回当前系统日期。语法:函数:返回当前系统日期。语法:
29、Date Now函数:返回当前系统日期和时间。语法:函数:返回当前系统日期和时间。语法: Now Time函数:返回当前系统时间。语法:函数:返回当前系统时间。语法: Time 2. Year、Day、Month函数(年、月、日)函数(年、月、日) Year函数:返回年份。语法:函数:返回年份。语法:Year(Now) Day函数:返回年份。语法:函数:返回年份。语法: Day(Now) Month函数:返回年份。语法:函数:返回年份。语法: Month(Now) 3. Hour、Minute、Second函数(时、分、秒)函数(时、分、秒) Hour函数:返回小时。语法:函数:返回小时。语法
30、: Hour(Now) Minute函数:返回分钟。语法:函数:返回分钟。语法: Minute(Now) Second函数:返回秒。语法:函数:返回秒。语法: Second(Now) 三、日期和时间函数三、日期和时间函数 VB程序设计基础(4)49 4.4 4.4 常用内部函数常用内部函数 语法:语法:Rnd(number) Rnd函数可以省略参数和括号。返回函数可以省略参数和括号。返回0 1)(即(即 包括包括0,但不包括,但不包括1)之间的单精度随机数。)之间的单精度随机数。 四、随机数函数四、随机数函数Rnd 如果如果numbernumber的值的值RndRnd生成生成 小于小于0 每次
31、都使用每次都使用number作为随机数种子得到相同的结果作为随机数种子得到相同的结果 大于大于0序列中的下一个随机数序列中的下一个随机数 等于等于0最近生成的数最近生成的数 默认默认序列中的下一个随机数序列中的下一个随机数 VB程序设计基础(4)50 4.4 4.4 常用内部函数常用内部函数 若要产生若要产生1100的随机整数,则可通过下面的表的随机整数,则可通过下面的表 达式来实现:达式来实现: Int(Rnd*100)+1 包括包括1和和100 Int(Rnd*99)+1 包括包括1,但不包括,但不包括100 思考:怎样产生思考:怎样产生N,M区间的随机数?区间的随机数? Int(Rnd
32、*(M-N+1)+N VB程序设计基础(4)51 4.4 4.4 常用内部函数常用内部函数 当应用程序不断地重复使用随机数时,同一当应用程序不断地重复使用随机数时,同一 序列的随机数会反复出现,用序列的随机数会反复出现,用Randomize语句可以消除这种语句可以消除这种 情况,其格式为:情况,其格式为:Randomize ( x ) 功能:初始化随机数生成器。如省略参数,功能:初始化随机数生成器。如省略参数, 则用系统计时器返回的值作为新的种子值。则用系统计时器返回的值作为新的种子值。 例如:下段程序每次运行,将产生不同序列例如:下段程序每次运行,将产生不同序列 的的20个个10,99之间的
33、随机整数。之间的随机整数。 Private Sub Form_click() Randomize For i = 1 To 20 Print Int(Rnd * 90) + 10; Next i Print End Sub VB程序设计基础(4)52 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 ANSI方式方式:早前的版本采用。西文字符用一个字节编:早前的版本采用。西文字符用一个字节编 码,中文字符用两个字节编码。一个中文字符相当于两个西文码,中文字符用两个字节编码。一个中文字符相当于两个西文 字符。字符。 UniCode方式方式:4.0以后的版本采用。中西文字符统一以后的版本采
34、用。中西文字符统一 编码,一个英文字符或一个汉字都看作一个字符,均用两个字编码,一个英文字符或一个汉字都看作一个字符,均用两个字 节编码。节编码。 Print Len(BASIC程序设计程序设计) 9 Print LenB(“BASIC程序设计程序设计”) 18 注:注:VB6.0中,中,LenB 返回的是用于存储字符串的字返回的是用于存储字符串的字 节数,而不是返回字符串中字符的数量。节数,而不是返回字符串中字符的数量。 一、一、VB的字符处理机制的字符处理机制 VB程序设计基础(4)53 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 为了实现为了实现ANSI与与UniCode之
35、间的转换,之间的转换,VB提供了一个转提供了一个转 换函数换函数StrConv,格式如下:,格式如下: 新字符串新字符串=StrConv(待转换字符串待转换字符串,转换格式转换格式) 其中,其中,“转换格式转换格式”可以取值为:可以取值为: vbUnicode(值为(值为64) 将将ANSI转换为转换为 UniCode vbFromUnicode(值为(值为128) 将将UniCode转换为转换为 ANSI 例例4.1编写程序,测试编写程序,测试StrConv函数功能。函数功能。 一、一、VB的字符处理机制的字符处理机制 VB程序设计基础(4)54 4.5 4.5 字符处理与字符串函数字符处理
36、与字符串函数 1.去空格函数去空格函数 Ltrim$(字符串字符串):去除字符串左边的空白字符;:去除字符串左边的空白字符;$可以省略。可以省略。 RTrim$(字符串字符串) :去除字符串右边的空白字符;:去除字符串右边的空白字符; Trim$(字符串字符串):去除字符串两边的空白字符。:去除字符串两边的空白字符。 例如:例如: a$ = Good Morning b$ = LTrim$(a$) c$ = RTrim$(b$) Print b$; c$; ABC“ 输出结果:输出结果:Good Morning Good MorningABC 二、字符串函数二、字符串函数 VB程序设计基础(4
37、)55 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 2.字符串截取函数字符串截取函数 左部截取:左部截取:Left$(字符串字符串,n) 返回字符串的前返回字符串的前n个字符。个字符。例:例:Left$(“ABCDEF”,4) 中部截取:中部截取:Mid$(字符串字符串, p , n ) 从第从第p个字符开始,向后截取个字符开始,向后截取n个字符。个字符。n可以省略,此时,可以省略,此时, 将从第将从第p个字符开始向后截取到字符串的末尾。个字符开始向后截取到字符串的末尾。 例如:例如:Mid$(“ABCDEFGHIJK”,3,4) 右部截取:右部截取:Right$(字符串字符串,
38、n) 返回字符串的最后返回字符串的最后n个字符。个字符。例:例:Right$(“ABCDEFGHIJK”,4) 二、字符串函数二、字符串函数 VB程序设计基础(4)56 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 3.字符串长度测试函数字符串长度测试函数 格式:格式:Len(字符串字符串):返回字符串的长度(长:返回字符串的长度(长 整型值)。整型值)。 Len(变量名变量名):返回存储变量所需的字:返回存储变量所需的字 节数。节数。 例如:例如:Len(“ABCDEFGHIJK”)返回返回11 Len(testvar%) 返回返回2 Len(testvar!) 返回返回4 Le
39、n(testvar#)返回返回8 二、字符串函数二、字符串函数 VB程序设计基础(4)57 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 4. String$函数函数 格式:格式:String$(n,ASCII码码) 或或String$(n,字符串字符串) 当为当为ASCII码时,返回由该码时,返回由该ASCII码对应的码对应的n个字符;当为字个字符;当为字 符串时,返回由第一个字符组成的符串时,返回由第一个字符组成的n个字符。个字符。 例如:例如: a$ = String$(5, 65) b$ = String$(5, -) c$ = String$(5, abcd) Print
40、 a$; b$; c$ 输出结果:输出结果: AAAAA-aaaaa 二、字符串函数二、字符串函数 VB程序设计基础(4)58 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 5.空格函数空格函数 格式:格式:Space$(n) 返回返回n个空格。个空格。 例如:例如: a$ = a + Space(4) + b“ 输出结果:输出结果: ab 二、字符串函数二、字符串函数 VB程序设计基础(4)59 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 6.字符串匹配函数字符串匹配函数 格式:格式:InStr( 首字符位置首字符位置 , 字符串字符串1 , 字符串字符串2 , n
41、 ) 该函数在该函数在“字符串字符串1”中查找中查找“字符串字符串2”,如果找到,就,如果找到,就 返回返回“字符串字符串2”的第一个字符在的第一个字符在“字符串字符串1”中的位置。中的位置。“字字 符串符串1”的第一个字符的位置为的第一个字符的位置为1。 例如:例如: a$ = Microsoft Visual Basic x = InStr(a$, Visual) Print x 输出结果:输出结果: 11 二、字符串函数二、字符串函数 VB程序设计基础(4)60 格式:格式:InStr( 首字符位置首字符位置 , 字符串字符串1 , 字符串字符串2 , n ) 说明:说明: “字符串字符
42、串2”的长度必须小于的长度必须小于65,535个字符;个字符; InStr的返回值是一个长整型数。在不同的条件下,函数的的返回值是一个长整型数。在不同的条件下,函数的 返回值也不一样(见表返回值也不一样(见表4.5)。)。 “首字符位置首字符位置”是可选的。如果有,则从该位置开始查找,是可选的。如果有,则从该位置开始查找, 否则从起始位置开始查找。否则从起始位置开始查找。 自变量自变量n是可选的,用来指定字符串比较方式。该自变量的是可选的,用来指定字符串比较方式。该自变量的 取值可以是取值可以是0、1或或2。 0:进行二进制比较,区分字母的大小写;默认为:进行二进制比较,区分字母的大小写;默认
43、为0。 1:比较时忽略大小写;:比较时忽略大小写; 2:对数据库中的信息进行比较。:对数据库中的信息进行比较。 VB程序设计基础(4)61 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 也可以通过语句限定:也可以通过语句限定: Option Compare Binary Option Compare Text Option Compare Database VB程序设计基础(4)62 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 7.字母大小写转换字母大小写转换 格式:格式:Ucase$(字符串字符串):小写字母转换为大写字母:小写字母转换为大写字母 Lcase$(字符
44、串字符串) :大写字母转换为小写字母:大写字母转换为小写字母 例如:例如:a$ = Microsoft Visual Basic b$ = UCase$(a$) c$ = LCase$(a$) Print b$, c$ 输出结果:输出结果: MICROSOFT VISUAL BASIC microsoft visual basic 二、字符串函数二、字符串函数 VB程序设计基础(4)63 4.5 4.5 字符处理与字符串函数字符处理与字符串函数 8.插入字符串语句插入字符串语句Mid$ 格式:格式:Mid$(字符串字符串 , 位置位置 , L )=子字符串子字符串 该语句把从该语句把从“字符串
45、字符串”的的“位置位置”开始的字符用开始的字符用“子子 字符串字符串”代替。如果含有代替。如果含有L自变量,则替换的内容是自变量,则替换的内容是“子字符串子字符串” 左部的左部的L个字符。个字符。“位置位置”和和L均为长整型数。均为长整型数。 Dim MyString, FirstWord, LastWord, MidWords MyString = “Mid Function Demo” 建立一个字符串。建立一个字符串。 FirstWord = Mid(MyString, 1, 3) 返回返回 Mid。 LastWord = Mid(MyString, 14, 4) 返回返回 Demo。 M
46、idWords = Mid(MyString, 5) 返回返回 Funcion Demo。 VB程序设计基础(4)64 4.4. 运算符与表达式运算符与表达式 运算是对数据的加工。最基本的运算形式运算是对数据的加工。最基本的运算形式 常常用一些简洁的符号来描述,这些符号称为运常常用一些简洁的符号来描述,这些符号称为运 算符。被运算的数据,称为运算量。由运算符和算符。被运算的数据,称为运算量。由运算符和 运算量组成表达式。运算量可以是常量,也可以运算量组成表达式。运算量可以是常量,也可以 是变量,还可以是函数。例如:是变量,还可以是函数。例如:A+3 , T+Sin(a) , PI*r*r 。
47、运算符和表达式的类型可以分为以下运算符和表达式的类型可以分为以下4种:种: u算术运算符与算术表达式算术运算符与算术表达式 u字符运算符与字符表达式字符运算符与字符表达式 u关系运算符与关系表达式关系运算符与关系表达式 u逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 VB程序设计基础(4)65 4.4. 运算符与表达式运算符与表达式 一、算术运算符与算术表达式一、算术运算符与算术表达式 运算运算运算符运算符优先级优先级表达式表达式例子例子结果结果 幂幂1XYa29 取负取负-2-X-a-3 乘法乘法*3X*Ya*a*a27 浮点除法浮点除法/3X/Y10/a 3.333333 整数除法整数除法
48、4XY10a3 取模取模Mod5X Mod Y10 Mod a1 加法加法+6X+Y10+a13 减法减法-6X-Ya-10-7 (a=3) VB程序设计基础(4)66 4.4. 运算符与表达式运算符与表达式 1.幂运算幂运算 用于计算乘方和方根,运算符为用于计算乘方和方根,运算符为“”。例如:。例如: 102结果为结果为100 10-2 结果为结果为0.01 250.5结果为结果为5 8(1/3) 结果为结果为2 注意:幂运算符优先级最高。当指数是一个表达注意:幂运算符优先级最高。当指数是一个表达 式时,必须加上括号。式时,必须加上括号。 例如,例如,X的的Y+Z次方必须写作次方必须写作 X
49、(Y+Z),不能写作,不能写作XY+Z 。 VB程序设计基础(4)67 4.4. 运算符与表达式运算符与表达式 2. “/”与与 “” 浮点除法运算符浮点除法运算符“/”用来计算两个数或表达式的用来计算两个数或表达式的 商,并返回相应的浮点数。商,并返回相应的浮点数。 例如:例如:3/2的值是的值是1.5。 整数除法运算符整数除法运算符“”在运算前把两个运算量四舍在运算前把两个运算量四舍 五入转换成整数,然后计算两个运算量的商,并返回五入转换成整数,然后计算两个运算量的商,并返回 结果的整数部分。结果的整数部分。 例如:例如:25.636.78的值为。的值为。 VB程序设计基础(4)68 4.
50、4. 运算符与表达式运算符与表达式 3.取模运算取模运算Mod 取模运算即求余数,在运算前把两个运算量四舍取模运算即求余数,在运算前把两个运算量四舍 五入转换成整型数,然后对两个运算量进行除法运算,五入转换成整型数,然后对两个运算量进行除法运算, 并返回余数(第一个操作数整除第二个操作数的余并返回余数(第一个操作数整除第二个操作数的余 数)。例如:数)。例如: 7 Mod 4结果为结果为3 25.68 Mod 6.99先把先把25.63和和6.78转化为转化为 26和和7,再求得余数为,再求得余数为 VB程序设计基础(4)69 4.4. 运算符与表达式运算符与表达式 4.算术运算符的优先级算术
51、运算符的优先级 运算运算运算符运算符优先级优先级 幂幂1 取负取负-2 乘法乘法*3 浮点除法浮点除法/3 整数除法整数除法4 取模取模Mod5 加法加法+6 减法减法-6 VB程序设计基础(4)70 思考与练习思考与练习 5+10 mod 10 9 / 3 +2 2 步骤:步骤: = 5 + 10 mod 10 3 + 4 = 5 + 10 mod 3 + 4 = 5 + 1+ 4 = 10 VB程序设计基础(4)71 4.4. 运算符与表达式运算符与表达式 字符串连接符:字符串连接符:“”和和“+” “”:用于强制将两个表达式作为字符串连接。用于强制将两个表达式作为字符串连接。 “+” :当连接符两边的表达式都为字符串时,将两个当连接符两边的表达式都为字符串时,将两个 字符串连接;如果一个是字符串而另一个是数字,则字符串连接;如果一个是字符串而另一个是数字,则 进行相加。进行相加。 例如:例如: ABCD + EFGHI 结果为:结果为:ABCDEFGHI “VB” &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 照明设备能效评估与改进措施考核试卷
- 生命体征测量技术 2
- 二年级奥数-二年级测试(二)A卷-带答案
- 江西省上饶市蓝天教育集团2023-2024学年高一下学期期中考试数学试题【含答案】
- 威海职业学院《计算机辅助翻译》2023-2024学年第一学期期末试卷
- 吉林省长春新区重点达标名校2025年初三下学期第四次阶段检测试题生物试题含解析
- 上海市宝山区通河中学2025年高三下学期期初自测语文试题含解析
- 上饶师范学院《人体解剖生理学(生理)》2023-2024学年第二学期期末试卷
- 武汉工商学院《城市道路与交通》2023-2024学年第二学期期末试卷
- 攀枝花攀西职业学院《方案快速设计与表现实验》2023-2024学年第一学期期末试卷
- 咯血-护理查房课件
- 安全用电-触电与急救课件
- 初三任务型阅读公开课一等奖省优质课大赛获奖课件
- 公司组织架构图(可编辑模版)
- 激光跟踪仪使用手册
- 货物采购服务方案
- 初中英语 沪教牛津版 8B U6-1 Reading Head to head 课件
- DB11-T 1322.64-2019 安全生产等级评定技术规范 第64部分:城镇供水厂
- 部编版小学五年级下册语文说明科普类10篇阅读试题(带答案)
- 复变函数与积分变换第三章复变函数的积分
- (完整word版)西南财经大学管理学考博真题考点汇总和复习框架总结,推荐文档
评论
0/150
提交评论