第04章 数据与表达式_第1页
第04章 数据与表达式_第2页
第04章 数据与表达式_第3页
第04章 数据与表达式_第4页
第04章 数据与表达式_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、第第4 4章章 数据与表达式数据与表达式4.1 4.1 程序代码的组织方式程序代码的组织方式4.2 4.2 代码的书写规则代码的书写规则4.3 VB4.3 VB的数据类型的数据类型4.4 4.4 运算符与表达式运算符与表达式4.5 VB4.5 VB的公共函数的公共函数1. 1. 过程过程a. a. 事件过程事件过程VBVB应用程序的完成依赖于事件驱动的工作方式。应用程序的完成依赖于事件驱动的工作方式。事件过程用于响应由用户或系统触发的各种事件。事件过程用于响应由用户或系统触发的各种事件。事件过程放在事件过程放在“窗体模块窗体模块”(.frm.frm)中。)中。b. b. 通用过程通用过程在一个

2、应用程序中,有时可能要使用到相同的过程或操作,在一个应用程序中,有时可能要使用到相同的过程或操作,一般可以将这些相同的操作放在一个过程里,由其他过程一般可以将这些相同的操作放在一个过程里,由其他过程来使用,以简化代码,提高效率。这样的一个包含相同操来使用,以简化代码,提高效率。这样的一个包含相同操作的过程即为通用过程。作的过程即为通用过程。通用过程不一定放在通用过程不一定放在“窗体模块窗体模块”(.frm.frm)中,也可以放)中,也可以放在在“标准模块标准模块”(.bas.bas)中。)中。4.1 VB程序代码的组织方式程序代码的组织方式2. 2. 模块模块a. a. 窗体模块窗体模块每个窗

3、体都对应一个窗体模块(每个窗体都对应一个窗体模块(.frm.frm)。包含了对本窗)。包含了对本窗体的操作过程。体的操作过程。b. b. 标准模块标准模块放在标准模块(放在标准模块(.bas.bas)中的过程均是通用过程,这些通)中的过程均是通用过程,这些通用过程能被其他的模块使用。用过程能被其他的模块使用。标准模块没有界面,只有代码,代码中的各个过程方便标准模块没有界面,只有代码,代码中的各个过程方便被其他的模块调用。被其他的模块调用。c. c. 类模块类模块用于创建新的对象类及其属性、方法等。用于创建新的对象类及其属性、方法等。4.1 VB程序代码的组织方式程序代码的组织方式语句是组成语句

4、是组成VBVB程序的最基本成分。程序的最基本成分。一个语句规定了系统应该做什一个语句规定了系统应该做什么样的操作。么样的操作。 语句体语句体 4.2 4.2 代码的书写规则代码的书写规则规定语句的功能; 有些语句没有该部分 提供具体说明或具体操作一条语句作用一条语句作用: :向系统提供必要的信息或规定系统执行某些操作。向系统提供必要的信息或规定系统执行某些操作。1) 代码不区分字母的大小写,如:代码不区分字母的大小写,如:Ab Ab 与与ABAB等效;等效;2)2) 系统对用户程序代码进行自动转换;系统对用户程序代码进行自动转换; 对于关键字,首字母被转换成大写,其余转换成小写对于关键字,首字

5、母被转换成大写,其余转换成小写 对于用户定义的变量、过程名,以首次定义为准进行转换对于用户定义的变量、过程名,以首次定义为准进行转换例如:例如:Dim a as Integer a20 (1) (1) 续行:(续行:(空格空格下划线字符下划线字符“_ _”) ) (2) (2) 同一行上书写多条语句,语句间用冒号同一行上书写多条语句,语句间用冒号“:”分隔分隔 (3)(3) 一行允许多达一行允许多达10231023B B,一行实际文本之前最多只能有一行实际文本之前最多只能有256256个个前导空格,一逻辑行最多只能有前导空格,一逻辑行最多只能有2525个后续行。个后续行。 (4) (4) 注释

6、行注释行 以 Rem开头,注释整行 ; 以注释符“”引导 注释内容从注释符开始直到该行结束 利用“编辑”工具栏的 “设置注释块”、“解除注释块”来 设置/取消多行注释。例如:例如: Form1.Print Form1.Print 学好学好VBVB 要多学多练要多学多练 Form1.Hide Form1.Hide Form2.Show Form2.Show Form1.Hide Form1.Hide 将将Form1Form1隐藏隐藏 4.2 4.2 代码的书写规则代码的书写规则4.3 VB4.3 VB的数据类型的数据类型VBVB具有很强的数据处理能力,具有很多种类的数据。具有很强的数据处理能力,

7、具有很多种类的数据。常量常量:在程序中值不变的数据:在程序中值不变的数据变量变量:在程序中值可以发生变化的数据。:在程序中值可以发生变化的数据。常量和变量都具有数据类型。常量和变量都具有数据类型。4.3 VB4.3 VB的数据类型的数据类型4.3.1 4.3.1 数据类型数据类型VBVB支持的数据类型有支持的数据类型有1212种,如表所示。种,如表所示。4.3 VB4.3 VB的数据类型的数据类型类 型名 称存储空间(Byte)范 围整型Integer232 76832 767,小数部分四舍五入长整型Long42 147 483 6482 147 483 647,小数部分四舍五入单精度浮点型S

8、ingle4负数:3.402823E381.401298E45正数:1.401298E453.402823E38双精度浮点型Double8负数:1.79769313486232D3084.94065645841247D324正数:4.94065645841247D3241.79769313486232D308货币型Currency8922 337 203 685 477.5808 922 337 203 685 477.5807字节型Byte10255变长字符串String字符串长度0大约20亿字节定长字符串String*sizesize165 535字节(64KB)布尔型Boolean2Tr

9、ue或False日期型Date8100.1.19999.12.31对象型Object4任何对象的引用可变类型(数值)Variant16任何数值,最大可达Double的范围可变类型(字符)Variant字符串长度与可变长度字符串有相同的范围数据类型数据类型 范围范围 字节型字节型 0 0255255 整型整型 -32768-327683276732767 长整型长整型 -2147483648-214748364821474836472147483647 单精度型单精度型 负数:负数:-3.402823E38-3.402823E38 - 1.401298E-45- 1.401298E-45正数:正

10、数:1.401298E-451.401298E-45 3.402823E383.402823E38双精度型双精度型 负数:负数:-1.79769313482632D308-1.79769313482632D308 -4.94065645841247D-324-4.94065645841247D-324正数:正数:4.94065645841247D-3244.94065645841247D-324 1.79769313482632D308 1.79769313482632D308 货币型货币型 -922337203685477.5808-922337203685477.5808922337203

11、685477.5807 922337203685477.5807 4.3.1 4.3.1 数据类型数据类型数据类型数据类型 关键字关键字 类型符类型符 前缀前缀 存储空间存储空间 范围范围 逻辑型逻辑型 Boolean Boolean 无无blnbln2 2个字节个字节 TrueTrue与与False False 日期型日期型 Date(time) Date(time) 无无dtmdtm8 8个字节个字节 0101,0101,1001001212,3131,9999 9999 字符型字符型 String String $ $ strstr与字符串长有关与字符串长有关 0 06553565535

12、个字符个字符 对象型对象型 Object Object 无无objobj4 4个字节个字节 任何对象引用任何对象引用 变体型变体型 Variant Variant 无无vntvnt根据需要分配根据需要分配 4.3.1 4.3.1 数据类型数据类型 1. 1. 数值数据类型数值数据类型 数值类型分别是:数值类型分别是:IntegerInteger、LongLong、SingleSingle、DoubleDouble、CurrencyCurrency和和ByteByte。 (1)Integer(1)Integer和和LongLong 用于保存整数,整数运算速度快、精确,但表示数的范围小。整型(整型

13、(IntegerInteger)( (占占2 2字节字节) ): 表示-32768至32767之间的整数,%是整形的类型符。例如:10、110、20长整型(长整型(LongLong)( (占占4 4字节字节) ): 表示-2,147,483,648至2,147,483,647之间的整数。例如:长整型常数的书写:40000、23& 4.3.1 4.3.1 数据类型数据类型 1. 1. 数值数据类型数值数据类型 (2)Single(2)Single和和DoubleDouble 用于保存浮点数,浮点实数表示数的范围大,但有误差,且运算慢。单精度实型(单精度实型(SingleSingle)(

14、(占占4 4字节字节) ): 有效数为7位,表示-3.37E+38至3.37E+38之间的实数,可用“E”来表示底数10。 例如:例如:123.45123.45、123.45123.45!1236E+21236E+2 双精度实型(双精度实型(DoubleDouble)( (占占8 8字节字节) ): 有效数为15位,对小数形式只要在数字后加“#”或用“#”代替“!”,对指数形式用“D”代替“E”或指数形式后加“#”。例如:例如:123.45#123.45#、0.12345D+30.12345D+3、0.12345E+3#0.12345E+3# 4.3.1 4.3.1 数据类型数据类型 1. 1

15、. 数值数据类型数值数据类型 (3)Currency(3)Currency(货币型)(货币型)( (占占8 8字节字节) ): 是定点实数或整数,最多保留小数点右边4位和小数点左边15位,用于货币计数。表示形式在数字后加符号。 例如:例如:123.45123.45、12341234 (4)Byte (4)Byte(字节型)(字节型)( (占占1 1字节字节) ): 表示无符号的整数,范围为0255。除一元减法外,所有可对整数进行操作的运算符均可操作Byte数据类型。因为Byte是从0255的无符号类型,所以不能表示负数。因此,在进行一元减法运算时,VB首先将Byte转换为符号整数。4.3.1

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

17、日期,而小数部分代表时间;例如1表示1899年12月31日。大于1的整数表示该日期以后的日期,0和小于0的整数表示该日期以前的日期。4.3.1 4.3.1 数据类型数据类型 3. 3. 逻辑数据类型(布尔型)逻辑数据类型(布尔型) 逻辑型(Boolean)数据只有True 和False两个值,转换成整型时,True= -1 ,False=0,将其它类型转换成逻辑型时,非0数转换为True ,0转换为False。4.3.1 4.3.1 数据类型数据类型 4. 4. 字符数据类型字符数据类型 字符(String)类型存放字符型数据。字符型可以包括所有的西文字符和汉字,字符必须用双引号括 起来。如:

18、abc123 注意: 字符串中的字符可以是所有西文字符和汉字、标点符号等,把汉字作为一个字符来处理。; “”表示空字符串,而“ ”表示有一个空格的字符串; 若字符串中有双引号,例如ABDXYZ,则用连续两个双引号表示,即:ABDXYZ4.3.1 4.3.1 数据类型数据类型 5. 5. 对象数据类型对象数据类型 对象(Object)变量作为32位(4个字节)地址来存储,该地址可引用应用程序中的对象。随后可以用Set语句指定一个被声明为Object的变量,去引用程序所识别的任何实际对象。4.3.1 4.3.1 数据类型数据类型 6.6.变体数据类型变体数据类型 变体(Variant)是一种可变的

19、数据类型,可以存放任何类型的数据。 当指定变量为Variant变量时,VB会自动完成必要的转换。 在程序中不特别说明时,VB会自动将该变量默认为Variant型变量。 可以通过函数VarType()所返回的值来确定变体型变量保存的是何数据类型。 注意:Variant类型使用很灵活,但是所占的空间很大。尽量避免使用该类型。4.3.1 4.3.1 数据类型数据类型4.3.1 4.3.1 数据类型数据类型定义数据类型的意义:方便处理,提高代码效率。根据系统的要求设计不同的数据采用不同的数据类型以准确表达程序的要求。溢出:当数值超过了相应数据类型的表示范围(上下界)。4.3.1 4.3.1 数据类型数

20、据类型1. 1. 数值常量数值常量数值常量由正(可省略)负号、数字、小数点组成。分为数值常量由正(可省略)负号、数字、小数点组成。分为十进制、八进制、十六进制数。十进制、八进制、十六进制数。十进制十进制:不带小数点的数:整数,对应类型不带小数点的数:整数,对应类型整型、长整型。整型、长整型。例例 整型:整型:123 32766 123 32766 长整型:长整型:1758624 -37654101758624 -3765410带小数点的数:实数、浮点数,对应类型带小数点的数:实数、浮点数,对应类型单精度型、双单精度型、双精度型。通常采用指数形式表示。精度型。通常采用指数形式表示。指数形式:通常

21、用于表示很大或者很小的数,形式:指数形式:通常用于表示很大或者很小的数,形式: 尾数尾数E(D)E(D)指数指数E(D)E(D)表示表示1010的幂次的幂次例例 单精度型:单精度型:123.456 1.23456E2 0.000257 2.57E-4 123.456 1.23456E2 0.000257 2.57E-4 -56789.1 -5.67891E4-56789.1 -5.67891E4 双精度型:双精度型:3.1415926535# -8.573264907D-153.1415926535# -8.573264907D-15 4.3.2 4.3.2 常常 量量八进制数、十六进制数八进

22、制数、十六进制数无符号整型数无符号整型数八进制数八进制数:数字前加:数字前加“&O&O”例例 &O123&O1231 1 * * 64 + 2 64 + 2 * * 8 + 3 = 83 8 + 3 = 83十六进制数十六进制数:数字前加:数字前加“&H&H”例例 &H123&H1231 1 * * 256 + 2 256 + 2 * * 16 + 3 = 291 16 + 3 = 2912.2.字符常量字符常量双引号括起的一串字符,最大长度为双引号括起的一串字符,最大长度为6553565535。例例 “Visual BasicV

23、isual Basic” “123123”3.3.逻辑型常量逻辑型常量真:真:TrueTrue,假:,假:FalseFalse4.4.日期型常量日期型常量用用 # # 括起来的一串日期。括起来的一串日期。形式:形式:mm/dd/yy m:month d:day y:yearmm/dd/yy m:month d:day y:year例例 #12/5/2005#12/5/2005# 4.3.2 4.3.2 常常 量量5.5.符号常量符号常量以符号的形式表示的常量。以符号的形式表示的常量。格式:格式: Public | Private Const Public | Private Const 常量名

24、常量名 As As 类型类型 = = 数值数值PublicPublic:全局常量,说明作用域为整个应用程序。只能在:全局常量,说明作用域为整个应用程序。只能在标准模块标准模块(.bas)(.bas)中使用本选项。中使用本选项。PrivatePrivate:模块常量,说明作用域为单个模块,不能在过:模块常量,说明作用域为单个模块,不能在过程中使用。程中使用。常量名:字母开头,包括字母、数字、下划线。长度不超常量名:字母开头,包括字母、数字、下划线。长度不超过过255255个字符,不区分大小写。个字符,不区分大小写。类型:常量的数据类型。表类型:常量的数据类型。表3-13-1。例例 Const P

25、I As Single = 3.1415926Const PI As Single = 3.1415926 Public Const strN As String = Visual Basic Public Const strN As String = Visual Basic 4.3.2 4.3.2 常常 量量声明变量的目的:根据声明的类型决定系统为它分配的存储单元。声明变量的目的:根据声明的类型决定系统为它分配的存储单元。 例例1:1: Dim A Dim B As Long Dim C As Single Dim D As Integer Public|Private|Dim|Stati

26、c 变量名变量名 AS 数据类型数据类型 4.3.3 4.3.3 变量变量变量:在程序的运行过程中其值可以变化的量变量:在程序的运行过程中其值可以变化的量等同于:等同于: Dim ADim A, , B As Long B As Long , , C As Single C As Single , , D As Integer D As Integer 或或 : Dim A, B& , C! , D % Dim A, B& , C! , D % 数值型数值型字符型字符型布尔型布尔型对象型对象型万能型万能型Private Sub Form_Click() Dim a As Int

27、eger, b As Long Dim c As Single, Dim d As Double a = 327699999 b = 327699999 Print a, b c = 100 / 3 d = 200/ 3 Print c, dEnd SubPrivate Sub Form_Click() Dim a As Boolean, b As Boolean Dim e, f As Date a = True b = False Print a, b e = #3/1/99 9:12:02 # f = 1.5 Print e, fEnd Sub 举例举例: re, my data, re

28、.er,8re,Integer: re, my data, re.er,8re,Integer intSum intSum 命名规则:命名规则: 变量名必须以变量名必须以字母开头;字母开头; 由字母、数字、下划线组成;由字母、数字、下划线组成; 长度不超过长度不超过255255个字符;个字符; 在在VBVB中变量名的字母不区分大小写;中变量名的字母不区分大小写; 不要与关键字同名不要与关键字同名( (Dim,stringDim,string等)等) 为了提高程序的可读性,在变量名可加前一约定的前缀为了提高程序的可读性,在变量名可加前一约定的前缀 IntInt、lnglng、sngsng、dbl

29、dbl、blnbln、curcur、dtdt、strstr、vntvnt、bytbyt 4.3.3 4.3.3 变量变量生命变量的目的:根据声明的类型决定分配的存储单元。生命变量的目的:根据声明的类型决定分配的存储单元。 PublicPublic| |PrivatePrivate|Dim|Dim|StaticStatic 变量名变量名 AS AS 数据类型数据类型 4.3.3 4.3.3 变量变量变量:在程序的运行过程中其值可以变化的量变量:在程序的运行过程中其值可以变化的量 区别区别作用范围作用范围作用范围作用范围定义方法定义方法定义位置定义位置局部变量局部变量当前过程当前过程Dim|Dim

30、|StaticStatic在过程内在过程内窗体窗体/ /模块模块变量变量当前窗体或模块中当前窗体或模块中的所有过程的所有过程PrivatePrivate|Dim|Dim在窗体或模块的声明部分在窗体或模块的声明部分全局变量全局变量工程内的所有过程工程内的所有过程PublicPublic在窗体或模块的声明部分在窗体或模块的声明部分是是指使用指使用的的变量未用声明语句进行声明而变量未用声明语句进行声明而直接使用直接使用 未声明直接使用的变量均默认为未声明直接使用的变量均默认为VariantVariant型型 也可在变量名后加一个规定数据类型的说明符加以说明也可在变量名后加一个规定数据类型的说明符加以

31、说明 例:例:Dim Str1 As StringDim Str1 As String Str1 = Str1 = 计算机程序设计计算机程序设计 Str2 = Str2 = 计算机程序设计计算机程序设计 Str3% Str3% 123123 Print Str1; Str2; Str3 Print Str1; Str2; Str3 4.3.3 4.3.3 变量变量关于变量说明:关于变量说明:(1) (1) 须对每个说明的变量逐个说明类型。须对每个说明的变量逐个说明类型。例例 Dim a,b As IntegerDim a,b As Integer a a为变体类型,为变体类型,b b为整型。为

32、整型。 Dim a As Integer , b As Integer Dim a As Integer , b As Integer (2) (2) 变量说明后,系统会自动给变量赋一个初始值。变量说明后,系统会自动给变量赋一个初始值。数值型数值型变量初始值为变量初始值为0 0;字符串型字符串型变量初始值为变量初始值为“”“”空串;空串;逻辑型逻辑型变量初始值为变量初始值为FalseFalse。(3) (3) 变量说明后,程序中会自动转换为定义时的变量名,变量说明后,程序中会自动转换为定义时的变量名,因此输入代码时无须区分大小写。因此输入代码时无须区分大小写。 4.3.3 4.3.3 变量变量

33、(4) (4) 定长字符串与变长字符串定长字符串与变长字符串一般情况下字符串的长度是不固定的,如一般情况下字符串的长度是不固定的,如Dim s As StringDim s As Strings s的长度可增可减,如的长度可增可减,如s=s=“ChinaChina”s=s=“南京晓庄学院南京晓庄学院”有时为了程序的需要,需要固定字符串的长度。有时为了程序的需要,需要固定字符串的长度。格式为在格式为在StringString类型符后加类型符后加 * * 长度。长度。例例 Dim s As String Dim s As String * * 10 10 s s的长度固定为的长度固定为1010。若

34、赋值小于说明的长度,则后补空格。若赋值小于说明的长度,则后补空格。例例 s=s=“ChinaChina”s=s=“China China ”若赋值大于说明的长度,则截去超出长度的字符。若赋值大于说明的长度,则截去超出长度的字符。例例 s = Nanjing Jiangsu Chinas = Nanjing Jiangsu Chinas=s=“Nanjing JiNanjing Ji”注意注意: : (1)(1)在在VBVB中一个汉字与一个西文字符视为一样中一个汉字与一个西文字符视为一样, ,算一个字算一个字 (2)(2)在窗体和类模块中在窗体和类模块中, ,不能用不能用PublicPublic

35、定义定长字符串变量定义定长字符串变量4. Option Explicit语句语句(1)(1)作用:作用:强制显式声明变量。强制显式声明变量。 即使用任何一个变量必须即使用任何一个变量必须“先声明先声明, ,后使用后使用” 在本模块中如果有变量没有显式声明,则出错。在本模块中如果有变量没有显式声明,则出错。(2)(2)增加增加Option ExplicitOption Explicit语句的方法:语句的方法: 在代码编辑器的通用在代码编辑器的通用/ /声明部分输入:声明部分输入:Option ExplicitOption Explicit “工具工具| |选项选项”-“编辑器编辑器”-选选“要求

36、变量声明要求变量声明”项项 4.3.3 4.3.3 变量变量4.4 4.4 运算符和表达式运算符和表达式五类表达式:五类表达式:算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式算术表达式也称数值表达式,是用算术运算符把数值算术表达式也称数值表达式,是用算术运算符把数值型常量、变量、函数连接起来的式子型常量、变量、函数连接起来的式子表达式的运算结果是一个数值表达式的运算结果是一个数值VBVB有有8 8种算术运算符种算术运算符运算符优先级运算符优先级(乘方乘方) -() -(求负求负) ) * */ (/ (整除整除) ) M

37、od Mod (取余(取余)+-)+-同级左到右同级左到右 4.4 4.4 运算符运算符表达式表达式:(-5)2+5Mod3说明:说明: (1)/(1)/和的区别:和的区别: 1/2=0.51/2=0.5,结果为实型数,结果为实型数 1 12=0,2=0,结果为整型数结果为整型数, ,操作数为整数。操作数为整数。 (2)Mod(2)Mod用来求整型数除法的余数。用来求整型数除法的余数。 例如:例如:9 Mod 7 9 Mod 7 结果为结果为 2 2 操作数为整数。操作数为整数。 (3)(3)在表达式中乘号不能省略,如在表达式中乘号不能省略,如a a* *b b不能写成不能写成ab(ab(或或

38、a ab)b) (4) (4)括号不分大、中、小,一律采用圆括号。可以嵌套括号不分大、中、小,一律采用圆括号。可以嵌套使用使用 例如,例如,xx(x+1)+1 xxx(x+1)+1 x* *(x(x* *(x+1)+1)(x+1)+1)字符串表达式是采用连接符将两个字符串常量、字符串变量、字符串表达式是采用连接符将两个字符串常量、字符串变量、字符串函数连接起来的式子。字符串函数连接起来的式子。连接符有两个:连接符有两个:& &和和+ +其作用都是将两个字符串连接起来,运算结果是一个字符串。其作用都是将两个字符串连接起来,运算结果是一个字符串。例如:例如:”计算机计算机” &am

39、p; & ”网络网络” 的结果是:的结果是: ”计算机网络计算机网络” ”123123” + + ”4545” 的结果是:的结果是: ”1234512345” 123 & 123 & ”ABCABC” 的结果是:的结果是: ”123ABC123ABC” 4.4运算符运算符ABA+BA&B“123”“3”“1233”“1233”“123”3126“1233”1233126“1233”“123a”3出出错错“123a3” 包括包括: , = , , = ,= , , =, Is( , =, Is(比较两个对象的引用变量比较两个对象的引用变量) 4.4 4.4 运算符

40、运算符字符型数据根据字符型数据根据ASCIIASCII值的大小,比较第一个不同的字符值的大小,比较第一个不同的字符汉字字符汉字字符 西文字符西文字符例例 3=y (x=2 y=3) False “aBcde” “abcde” False “b” “Basic ” False“空格空格”“0”“9”“A”“Z”“a”“z”“汉字汉字”X在区间在区间0,5内内,不能写不能写0=x0Andx低低函数、括号、算术、连接、关系、逻辑函数、括号、算术、连接、关系、逻辑 4.4 4.4 运算符运算符将常量、变量、运算符连接起来的式子称为将常量、变量、运算符连接起来的式子称为表达式表达式。若运算符是算术运算符

41、则该表达式为若运算符是算术运算符则该表达式为算术表达式算术表达式。 乘号不能省略乘号不能省略 括号必须成对出现括号必须成对出现,均使用圆括号,可以嵌套,但必须配对均使用圆括号,可以嵌套,但必须配对 一个表达式在同一行上书写,没有高低、大小区分一个表达式在同一行上书写,没有高低、大小区分 运算时,如果两个对象的类型相同,结果也是同一类型。运算时,如果两个对象的类型相同,结果也是同一类型。 在算术运算中,如果操作数的数据精度不同,在算术运算中,如果操作数的数据精度不同,VBVB规定运算规定运算结果采用精度较高的数据类型。结果采用精度较高的数据类型。Integer Long Single Doubl

42、e Currency Integer Long Single Double Currency 除法例外,结果总是双精度数。除法例外,结果总是双精度数。 4.4 4.4 运算符运算符 4.4 4.4 运算符运算符思考:判断某个年份是否是闰年1.能被4整除,但不能被100整除2.能被100整除,又能被400整除yMod4=0AndyMod1000OryMod100=0AndyMod400=0日期表达式是用运算符日期表达式是用运算符(+(+或或-)-)将算术表达式、日期型常量、将算术表达式、日期型常量、日期型变量和函数连接起来的式子。日期型变量和函数连接起来的式子。有以下有以下3 3种运算方式:种运

43、算方式:(1)(1)两个日期型数据相减,其结果是一个数值型数据两个日期型数据相减,其结果是一个数值型数据( (相差的相差的天数天数) )。 例如:例如:#8/8/2001# - #6/3/2001# #8/8/2001# - #6/3/2001# 的结果为:的结果为:6666(2)(2)日期型数据加上天数,其结果为一个日期型数据。日期型数据加上天数,其结果为一个日期型数据。 例如:例如:#12/1/2000#+31 #12/1/2000#+31 的结果为:的结果为:#01/01/2001#01/01/2001# (3) (3)日期型数据减去天数,其结果为一个日期型数据。日期型数据减去天数,其结

44、果为一个日期型数据。 例如:例如:#12/1/2000#-32 #12/1/2000#-32 的结果为:的结果为:#10/30/2000#10/30/2000#4.4运算符运算符 给变量赋值给变量赋值 格式:格式:变量名变量名= =表达式表达式 设置或获取对象的属性设置或获取对象的属性设置属性值:设置属性值: 对象名对象名.属性属性= =表达式表达式获取属性值:获取属性值:变量名对象名变量名对象名. .属性属性如如: A=: A=“VBVB程序设计程序设计” Text1.Text=A Text1.Text=A B BText2.TextText2.Text 4.5 4.5 赋值语句赋值语句如如

45、: Dim v As Integer: Dim v As Integer Dim book As String Dim book As String* *8 8 Dim sum As Single Dim sum As Single v=26 v=26 v=v+1 v=v+1 book= book=“VBVB程序设计程序设计” sum=vsum=v* *123.4+56.7123.4+56.7 Boolean 数值型True为-1;False为0 Boolean 数值型 非0为True;0为False 4.5 4.5 赋值语句赋值语句 例例: Dim v As Integer: Dim v A

46、s Integer Dim book As String Dim book As String* *8 8 Dim sum As Dim sum As DoubleDouble Dim Bool As Boolean Dim Bool As Boolean v=26 v=26 v=v+12.3 v=v+12.3 sum=v sum=v* *123.4+56.7123.4+56.7 v=126 v=126 sum=123absum=123ab v=True v=True sum=False sum=False Bool=123 Bool=123 Bool=0 Bool=0(1) 右边表达式的值右

47、边表达式的值强制转强制转 换换成左边变量的精度成左边变量的精度(2) 若不能实现类型转换,若不能实现类型转换,出现出现“类型不匹配类型不匹配”错错 4.5 4.5 赋值语句赋值语句(1) 右边表达式的值右边表达式的值强制转强制转 换换成左边变量的精度成左边变量的精度(2) 若不能实现类型转换,若不能实现类型转换,出现出现“类型不匹配类型不匹配”错错 例例: Dim X As Single: Dim X As Single Dim Y As Single Dim Y As Single Dim Sum As Single Dim Sum As Single X=26 X=26 Sin(X)Sin

48、(X)=X+Y =X+Y 5 5=Sqr(X)+Y=Sqr(X)+Y X+YX+Y=126=126 X=Y=Sum=1 X=Y=Sum=1 Sum=Sum+1 Sum=Sum+1(4) 一条赋值语句不能同时给一条赋值语句不能同时给 多个变量赋值多个变量赋值(5) 正确理解加正确理解加1语句语句。Sum 执行了执行了N=N+1后后Sum5 6(3) 赋值号赋值号左侧左侧只能出现变量只能出现变量内部函数是由内部函数是由VB系统提供的,每个内部函数完成某个特系统提供的,每个内部函数完成某个特定的功能。在程序中使用函数称为调用函数定的功能。在程序中使用函数称为调用函数函数调用的一般格式为:函数调用的一

49、般格式为:函数名函数名(参数参数1,参数,参数2,)参数参数(也称自变量也称自变量)放在圆括号内,若有多个参数,以逗号放在圆括号内,若有多个参数,以逗号分隔。分隔。函数调用后,一般都有一个确定的函数值,即返回值。函数调用后,一般都有一个确定的函数值,即返回值。例如:例如:y=Sqr(289)Sqr是内部函数名,是内部函数名,289为参数,运行时该语句调用内部为参数,运行时该语句调用内部函数函数Sqr来求来求289的平方根,其计算结果由系统返回给变量的平方根,其计算结果由系统返回给变量yVB的内部函数大体上分为四大类:数学函数,字符串函的内部函数大体上分为四大类:数学函数,字符串函数,日期与时间

50、函数和转换函数。数,日期与时间函数和转换函数。 4.6 4.6 常用内部函数常用内部函数VB中备有各种计算算术函数的子程序,在程序中要使用某中备有各种计算算术函数的子程序,在程序中要使用某个函数时,只要调用该函数就行了。个函数时,只要调用该函数就行了。使用数学函数的几点说明:使用数学函数的几点说明:(1)三角函数的自变量单位是弧度三角函数的自变量单位是弧度如如Sin47应写成应写成Sin(47*3.14159/180)。(2)函数函数Int是求小于或等于是求小于或等于x的最大整数。的最大整数。例如例如Int(2)=2,Int(-2.5)=-3当当x0时就直接舍去小数,若时就直接舍去小数,若x0

51、则舍去小数位后再减则舍去小数位后再减1利用利用Int函数可以对数据进行四舍五入。例如,对一个正数函数可以对数据进行四舍五入。例如,对一个正数x舍去小数位时进行四舍五入,可采用如下式子:舍去小数位时进行四舍五入,可采用如下式子:Int(x+0.5)当当x=9.4时,时,Int(9.4+0.5)=9当当x=9.5时,时,Int(9.5+0.5)=10 4.6 4.6 常用内部函数常用内部函数 4.6 4.6 常用内部函数常用内部函数 平方根平方根: : Sqr(x)Sqr(x) 自然对数自然对数: : Log(x)Log(x) e e为底的指数:为底的指数:Exp(x)Exp(x) 绝对值:绝对值

52、: Abs(x) Abs(x) 产生随机数产生随机数: : Rnd(x)Rnd(x) 符号函数符号函数: : Sgn(x) Sgn(x) 三角函数三角函数Sin(x)Sin(x)、Cos(x)Cos(x)、Tan(x):Tan(x):其中的其中的x x必须是弧度值必须是弧度值 求求1616的平方根的平方根- - Sqr(16)Sqr(16) Ln(10) Ln(10) - Log(10)- Log(10) e e2 2 -Exp(2)-Exp(2) |-3|- |-3|- Abs(-3) Abs(-3) Rnd Rnd 产生一个产生一个0 01 1之间的一个小数之间的一个小数 求求2.42.4

53、的符号的符号- - Sgn(2.4)Sgn(2.4)(返回(返回1)1) Sin(30Sin(30o o) -Sin(3.14/6) -Sin(3.14/6)字符串函数用于进行字符串处理字符串函数用于进行字符串处理使用字符串函数的几点说明:使用字符串函数的几点说明:(1)函数函数Mid(“ABCDEG”,3,2)的结果为的结果为”CD”若省略若省略n,则得到的是从,则得到的是从P开始的往后所有字符,如开始的往后所有字符,如Mid(“ABCDE”,2)的结果为的结果为“BCDE”(2)插入字符串语句插入字符串语句Mid,该语句格式如下:,该语句格式如下:Mid(字符串字符串,p,n)=子字符串子

54、字符串用用“子字符串子字符串”替换替换“字符串字符串”中从中从P开始的与开始的与“子字子字符串符串”等长的一串字符。等长的一串字符。例如,假设例如,假设S=“ABCDE“,执行语句,执行语句Mid(S,3)=“99“后,后,S的值为的值为“AB99E“ 4.6 4.6 常用内部函数常用内部函数(3)(3)在函数在函数InstrInstr中,中,f f和和k k均为可选参数,均为可选参数,f f表表示开始搜索的位置示开始搜索的位置( (默认值为默认值为1)1),k k表示比较方式,表示比较方式,若若k k为为0(0(默认默认) ),表示区分大小写;若,表示区分大小写;若k k为为1 1,则不分,

55、则不分大小写。大小写。 格式:格式: Instr(f, Instr(f, 字符串字符串1,1,字符串字符串2,k)2,k) 例如例如 Instr(3, Instr(3, ”A12a34A56A12a34A56”, ”A A”) ) 的结果为的结果为 7 7 Instr(3, Instr(3, ”A12a34A56A12a34A56”, , ”A A”, 1) , 1) 的结果为的结果为 4 4 Instr( Instr(”A12a34A56A12a34A56”, ”A A”) ) 的结果为的结果为 1 1(4)在函数在函数String中,字符也可以用中,字符也可以用ASCII代码代码(附录一附

56、录一)来表示来表示例如例如String(6,42)与与String(6,”*”)作用相同作用相同 4.6 4.6 常用内部函数常用内部函数 4.6 4.6 常用内部函数常用内部函数 求字串长度求字串长度: Len(C) : Len(C) 取子串:取子串:Left(C,N) Left(C,N) Right(C,N) Right(C,N) Mid(C,n1,n2) Mid(C,n1,n2) 查找子串:查找子串:InStr(N1,C1,C2)InStr(N1,C1,C2) 转换成大写字母转换成大写字母: :Ucase(C)Ucase(C) 转换成小写字母转换成小写字母: :Lcase(C)Lcase

57、(C) 去掉首或尾空格:去掉首或尾空格: LTrim (C)LTrim (C)、RTrim(C)RTrim(C)、Trim(C)Trim(C) 生成字串:生成字串:string(n,string(n,”字符字符”) ) 生成空格串:生成空格串:space(n)space(n)Left(Left(“ABCDEABCDE”,2) - ,2) - “AB”AB”Right(Right(“ABCDEABCDE”,2,2)- - “DE”DE”Mid(Mid(“ABCDEABCDE”,2,2,3)- 3)- “BCD” BCD” Mid(Mid(“ABCDEABCDE”,2) - ,2) - “BCDE

58、”BCDE”Len(Len(“ABCDEABCDE”) - ) - 5 5 Str=Str=” AB CDE AB CDE ” LTrim (str) LTrim (str)、RTrim(str)RTrim(str)、Trim(str)Trim(str)InStr(4,InStr(4,”abdbcdefabdbcdef”, ,”d d”)-6)-6InStr(InStr(”abdbcdefabdbcdef”, ,”d d”) -3) -3String(6,String(6,”A A”) )Space(10)Space(10)UCase(Abc) - ABCUCase(Abc) - ABCLCa

59、se(Abc) - abcLCase(Abc) - abc先从字符串先从字符串a中找出某个指定字符中找出某个指定字符(本例为空格本例为空格),再以此,再以此字符为界拆分成两个字符串。编写的窗体单击过程代码如下:字符为界拆分成两个字符串。编写的窗体单击过程代码如下:PrivateSubForm_Click()DimaAsString,bAsString,cAsString,nAsIntegera=VisualBasic表示空格表示空格n=InStr(a,)查找空格位置查找空格位置b=Left(a,n-1)取左边部分取左边部分c=Mid(a,n+1)取右边部分取右边部分Printb显示左边部分显示

60、左边部分Printc显示右边部分显示右边部分EndSub程序运行后单击窗体,输出结果是:程序运行后单击窗体,输出结果是:VisualBasicPrivateSubForm_Click()DimaAsString,bAsString,cAsString,nAsIntegera=VisualBasic表示空格表示空格n=InStr(a,)查找空格位置查找空格位置b=Left(a,n-1)取左边部分取左边部分c=Right(_,_)取右边部分取右边部分Printb显示左边部分显示左边部分Printc显示右边部分显示右边部分EndSub程序运行后单击窗体,输出结果是:程序运行后单击窗体,输出结果是:VisualBasic若用若用RightRight函数来代替函数来代替MidMid函数函数,应如何改动?应如何改动?想一想想一想答

温馨提示

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

评论

0/150

提交评论