Download - 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数
![Page 1: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/1.jpg)
本章主要内容:本章主要内容:● ● 基本数据类型 基本数据类型 ● ● 常量、变量常量、变量 ● ● 表达式 表达式 ● ● 常用内部函数 常用内部函数
第第 33 章 章 VBVB 语言基础 语言基础
![Page 2: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/2.jpg)
表表 3-13-1 列出了列出了 VBVB 中定义的全部基本数据类型。中定义的全部基本数据类型。
表表 3-1 VB 6.03-1 VB 6.0 的基本数据类型的基本数据类型
3.1 3.1 基本数据类型基本数据类型
![Page 3: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/3.jpg)
类 型 名 称 存储空间( Byte ) 范 围
整型 Integer 2 –32 768 ~ 32 767 ,小数部分四舍五入长整型 Long 4 –2 147 483 648 ~ 2 147 483 647 ,小数部分四舍五入单精度浮点型 Single 4 负数:– 3.402823E38 ~– 1.401298E–45正数: 1.401298E–45 ~ 3.402823E38
双精度浮点型 Double 8 负数– 1.79769313486232D308 ~– 4.94065645841247D–324正数: 4.94065645841247D–324 ~ 1.79769313486232D308
货币型 Currency 8 –922 337 203 685 477.5808 ~ 922 337 203 685 477.5807
字节型 Byte 1 0 ~ 255
变长字符串 String 字符串长度 0 ~大约 20 亿字节定长字符串 String*size size 1 ~ 65 535 字节 (64KB)
布尔型 Boolean 2 True 或 False
日期型 Date 8 100.1.1 ~ 9999.12.31
对象型 Object 4 任何对象的引用可 变 类 型 ( 数值) Variant 16 任何数值,最大可达 Double 的范围可 变 类 型 ( 字符) Variant 字符串长度 与可变长度字符串有相同的范围
![Page 4: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/4.jpg)
3.1.1 3.1.1 数值(数值( NumericNumeric )型数据)型数据1. 1. 常规整型数常规整型数 IntegerInteger
2. 2. 长整型数长整型数 LongLong
3. 3. 单精度数单精度数 SingleSingle
4. 4. 双精度数双精度数 DoubleDouble
5. 5. 货币型货币型 CurrencyCurrency
6. 6. 字节字节 ByteByte
7. 7. 数值型数据的使用说明数值型数据的使用说明
![Page 5: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/5.jpg)
3.1.1 3.1.1 数值(数值( NumericNumeric )型数据)型数据1. 1. 常规整型数常规整型数 IntegerInteger
2. 2. 长整型数长整型数 LongLong
3. 3. 单精度数单精度数 SingleSingle
4. 4. 双精度数双精度数 DoubleDouble
5. 5. 货币型货币型 CurrencyCurrency
6. 6. 字节字节 ByteByte
7. 7. 数值型数据的使用说明数值型数据的使用说明
![Page 6: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/6.jpg)
3.1.2 3.1.2 字符型(字符型( StringString )数据)数据1. 1. 变长字符串变长字符串 变长字符串是指字符串的长度是不固定的,随着对字符变长字符串是指字符串的长度是不固定的,随着对字符串变量赋予新的字符串,它的长度可增可减。按照缺省规串变量赋予新的字符串,它的长度可增可减。按照缺省规定,一个字符串变量如没有定义成固定长的,都属于可变定,一个字符串变量如没有定义成固定长的,都属于可变长字符串。例如:长字符串。例如: x = "Happy New Year to you"x = "Happy New Year to you"
x = "x = " 程序设计程序设计 " "
x = " ab"x = " ab"
其中,字符型变量其中,字符型变量 xx 的长度在程序中可以改变。的长度在程序中可以改变。
![Page 7: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/7.jpg)
3.1.2 3.1.2 字符型(字符型( StringString )数据)数据1. 1. 变长字符串变长字符串 变长字符串是指字符串的长度是不固定的,随着对字符变长字符串是指字符串的长度是不固定的,随着对字符串变量赋予新的字符串,它的长度可增可减。按照缺省规串变量赋予新的字符串,它的长度可增可减。按照缺省规定,一个字符串变量如没有定义成固定长的,都属于可变定,一个字符串变量如没有定义成固定长的,都属于可变长字符串。例如:长字符串。例如: x = "Happy New Year to you"x = "Happy New Year to you"
x = "x = " 程序设计程序设计 " "
x = " ab"x = " ab"
其中,字符型变量其中,字符型变量 xx 的长度在程序中可以改变。的长度在程序中可以改变。
![Page 8: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/8.jpg)
2. 2. 定长字符串定长字符串 定长字符串是指它在程序执行过程中,始终保持其长度定长字符串是指它在程序执行过程中,始终保持其长度不变的字符串。例如,声明一个长度为不变的字符串。例如,声明一个长度为 1010 个字符的字符串个字符的字符串变量后,如果赋予字符串的字符少于变量后,如果赋予字符串的字符少于 1010 个,则用空格将不个,则用空格将不足部分填满。如果赋予字符串的长度超过足部分填满。如果赋予字符串的长度超过 1010 个,则截去超个,则截去超出部分的字符。出部分的字符。3.1.3 3.1.3 布尔(布尔( BooleanBoolean )型数据)型数据 布尔型数据是一个逻辑值,用两个字节存储,它只有两布尔型数据是一个逻辑值,用两个字节存储,它只有两个值:真(个值:真( TrueTrue )和假()和假( FalseFalse )。)。 当把数值型数据转换为当把数值型数据转换为 BooleanBoolean 型时,型时, 00 会转换为会转换为 FalseFalse ,,其他非其他非 00 值转换为值转换为 TrueTrue 。当把。当把 BooleanBoolean 值转换为数值型时,值转换为数值型时,FalseFalse 转换为转换为 00 ,, TrueTrue 转换成转换成 -1-1 。。
![Page 9: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/9.jpg)
3.1.4 3.1.4 日期(日期( DateDate )型数据)型数据 日期型数据用来表示日期和时间,可以表示多种格式日期型数据用来表示日期和时间,可以表示多种格式的日期和时间,表示的日期范围从公元的日期和时间,表示的日期范围从公元 100100 年年 11 月月 11 日日~~ 99999999 年年 1212 月月 3131 日,而时间可以从日,而时间可以从 0:00:000:00:00 ~~ 23:59:523:59:599 。。 DateDate 型数据用两个“型数据用两个“ #”#” 符号把表示日期和时间的值符号把表示日期和时间的值括起来,就像字符串数据用双引号括起来一样。例如:括起来,就像字符串数据用双引号括起来一样。例如: #05/15/2005# #2005–05–18# #05/13/2005 08:1#05/15/2005# #2005–05–18# #05/13/2005 08:10:38 AM#0:38 AM# 如果输入的日期或时间是非法的或不存在的,系统将如果输入的日期或时间是非法的或不存在的,系统将提示出错。提示出错。3.1.5 3.1.5 对象(对象( ObjectObject )型数据)型数据 对象型数据可用来表示应用程序中或某些其他应用程对象型数据可用来表示应用程序中或某些其他应用程序中的对象。可以用序中的对象。可以用 SetSet 语句指定一个被声明为语句指定一个被声明为 ObjectObject的变量去引用应用程序所识别的任何实际对象。的变量去引用应用程序所识别的任何实际对象。
![Page 10: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/10.jpg)
3.1.6 3.1.6 变体(变体( VariantVariant )型数据)型数据 变体型数据是一种可变的数据类型,可以存放任何类变体型数据是一种可变的数据类型,可以存放任何类型的数据,因此变体类型可说是型的数据,因此变体类型可说是 VBVB 中用途最广、同时也中用途最广、同时也是最灵活的一种变量类型。在程序中不特别说明时,是最灵活的一种变量类型。在程序中不特别说明时, VBVB会自动将该变量默认为会自动将该变量默认为 VariantVariant 型变量。例如型变量。例如a = "20" a = "20" ' a' a 包含包含 "20""20" (双字符的串)(双字符的串) ,, 字符字符型型a = a – 6 a = a – 6 ' ' 现在现在 aa 包含数值包含数值 66 ,数值型,数值型a = "X" & a a = "X" & a ' ' 现在现在 aa 包含包含 "X14""X14" (双字符的串)(双字符的串) ,, 字符字符型型
![Page 11: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/11.jpg)
3.2 3.2 常量常量3.2.1 3.2.1 直接常量直接常量1. 1. 字符串常量字符串常量 字符串常量是用双引号括起来的一串字符。这些字符可以是除双引字符串常量是用双引号括起来的一串字符。这些字符可以是除双引号“号“ "”"” 和回车、换行符以外的所有字符。例如:和回车、换行符以外的所有字符。例如: "$12,345.00" "vb" "a+b=""$12,345.00" "vb" "a+b="
2. 2. 数值常量数值常量 数值常量就是常数,共有数值常量就是常数,共有 55 种数值类型:整数、长整数、定点数、种数值类型:整数、长整数、定点数、浮点数和字节数。浮点数和字节数。3. 3. 布尔常量布尔常量 布尔常量只有布尔常量只有 TrueTrue (真)和(真)和 FalseFalse (假)两个值。(假)两个值。4. 4. 日期常量日期常量 用两个“用两个“ #”#” 符号把表示日期和时间的值括起来表示日期常量。例如:符号把表示日期和时间的值括起来表示日期常量。例如: #05/15/2005# #28/05/2005# #May 2 2005 11:25:12##05/15/2005# #28/05/2005# #May 2 2005 11:25:12#
![Page 12: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/12.jpg)
3.2.2 3.2.2 符号常量符号常量1. 1. 系统内部定义的常量系统内部定义的常量 系统内部定义的常量是指系统内部定义的常量是指 VBVB 内置的一些便于记忆的内置的一些便于记忆的常量,通常这类常量会以常量,通常这类常量会以 vbvb 开头,例如开头,例如 vbModalvbModal ,, vbvbModelessModeless 等。其实等。其实 vbModalvbModal 代表代表 11 ,, vbModelessvbModeless 代表代表 00 ,,只不过这几个常量是只不过这几个常量是 VBVB 系统预先帮用户定义好了。系统预先帮用户定义好了。 其他在其他在 VBVB 程序中用到的对象也会提供一些预先定义程序中用到的对象也会提供一些预先定义好的常量,例如数据处理对象(好的常量,例如数据处理对象( Data Access ObjectData Access Object ,, DDAOAO )所提供的常量会以)所提供的常量会以 dbdb 开头等等。这些常量可与应开头等等。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。 接使用它们。
![Page 13: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/13.jpg)
可以在“对象浏览器”中查看系统内部定义的常量,操作可以在“对象浏览器”中查看系统内部定义的常量,操作方法是:方法是: ① ① 选择“视图”菜单中的“对象浏览器”,则打开“对选择“视图”菜单中的“对象浏览器”,则打开“对象浏览器”窗口,如图象浏览器”窗口,如图 3-13-1 所示。 所示。
![Page 14: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/14.jpg)
② ② 在下拉列表框中选择在下拉列表框中选择 VBAVBA 对象库。对象库。 ③ ③ 在“类”列表框中选择“全局”,右侧的成员列表中在“类”列表框中选择“全局”,右侧的成员列表中显示出预定义的常量,窗口底端的文本区域中将显示该常显示出预定义的常量,窗口底端的文本区域中将显示该常量的功能。量的功能。 在为属性或变量输入数据时,应该检查一下是否有系统在为属性或变量输入数据时,应该检查一下是否有系统已经定义好的常量可供使用,使用系统常量可使代码具备已经定义好的常量可供使用,使用系统常量可使代码具备自我解释功能,易于阅读和维护。 自我解释功能,易于阅读和维护。
![Page 15: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/15.jpg)
2. 2. 用户定义的常量用户定义的常量 声明常量的语法为:声明常量的语法为:[Public | Private] Const[Public | Private] Const 〈常量名〉〈常量名〉 [As[As 〈数据类型〉〈数据类型〉 ] =] = 〈表达式〉〈表达式〉…… 说明:说明: ① ① 〈常量名〉由〈常量名〉由 11 ~~ 255255 个字符组成,包含的符号可以是数字、个字符组成,包含的符号可以是数字、英文字母或下划线,中间不能有“英文字母或下划线,中间不能有“ .”.” 或其他类型说明字符,并且必或其他类型说明字符,并且必须以英文字母开头。须以英文字母开头。 ② ② 〈表达式〉由数值常量、字符串等常量及运算符组成,可以包〈表达式〉由数值常量、字符串等常量及运算符组成,可以包含前面定义过的常量,但不能使用函数调用。含前面定义过的常量,但不能使用函数调用。Const conPi = 3.14 Const conPi = 3.14 ' ' 表示数值表示数值Public Const conMaxPlanets As Integer = 25 Public Const conMaxPlanets As Integer = 25 ' ' 表示数值表示数值Const conReleaseDate = #06/12/2005# Const conReleaseDate = #06/12/2005# ' ' 表示日期表示日期Const conCodeName = "Apple" Const conCodeName = "Apple" ' ' 表示字符串表示字符串
![Page 16: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/16.jpg)
③ ③ 如果用逗号进行分隔,则在一行中可放置多个常量声明:如果用逗号进行分隔,则在一行中可放置多个常量声明:Public Const conPi = 3.14, conMaxPlanets = 25, conWorldPop = 6E+09Public Const conPi = 3.14, conMaxPlanets = 25, conWorldPop = 6E+09 ④ ④ 等号“等号“ =”=” 右边的表达式往往是数字或字符串,但也可以是其结果右边的表达式往往是数字或字符串,但也可以是其结果为数或字符串的表达式(尽管表达式不能包含函数调用)。甚至可用先为数或字符串的表达式(尽管表达式不能包含函数调用)。甚至可用先前定义过的常量定义新常量。前定义过的常量定义新常量。Const conPi2 = conPi * 3Const conPi2 = conPi * 3 ⑤ ⑤ ConstConst 语句的使用范围和规则:语句的使用范围和规则: 如果要创建仅存在于过程中的常量,应在该过程内部声明常量,如果要创建仅存在于过程中的常量,应在该过程内部声明常量,如如 Const a=20Const a=20 。。 如果要创建的常量对模块中所有过程都有效,但对模块之外任何如果要创建的常量对模块中所有过程都有效,但对模块之外任何代码都无效,应在模块的声明段中声明常量,如代码都无效,应在模块的声明段中声明常量,如 Private Const a=20Private Const a=20 。。 如果要创建在整个应用程序中有效的常量,应在标准模块的声明如果要创建在整个应用程序中有效的常量,应在标准模块的声明段中进行声明,并在段中进行声明,并在 ConstConst 前面放置前面放置 PublicPublic 关键字,如关键字,如 Public Const aPublic Const a=20=20 。在窗体模块或类模块中不能声明。在窗体模块或类模块中不能声明 PublicPublic 常量。常量。
![Page 17: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/17.jpg)
3.3 3.3 变量变量 在在 VBVB 中,变量有两种形式,即属性变量和内存变量。中,变量有两种形式,即属性变量和内存变量。 属性变量。在窗体中设计用户界面时,属性变量。在窗体中设计用户界面时, VBVB 会自动为会自动为产生的对象(包括窗体本身)创建一组变量,即属性变量,产生的对象(包括窗体本身)创建一组变量,即属性变量,并为每个变量设置其默认值。这类变量可供程序员直接使并为每个变量设置其默认值。这类变量可供程序员直接使用,如引用其值或赋予新值。由于属性变量是用,如引用其值或赋予新值。由于属性变量是 VBVB 系统自动系统自动创建的,所以无需程序员费心。创建的,所以无需程序员费心。 内存变量。内存变量要程序员根据程序需要创建,内存变量。内存变量要程序员根据程序需要创建,下面主要介绍内存变量的建立方法。下面主要介绍内存变量的建立方法。
![Page 18: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/18.jpg)
3.3.1 3.3.1 变量的命名规则变量的命名规则1. 1. 命名规则命名规则 变量是一个名字,在给变量命名时应遵循以下命名规则:变量是一个名字,在给变量命名时应遵循以下命名规则: ① ① 变量名只能由字母、数字和下划线组成,中间不能包含变量名只能由字母、数字和下划线组成,中间不能包含小数点。小数点。 a.bca.bc 是非法的。是非法的。 ② ② 变量名的第一个字符必须是英文字母。如:变量名的第一个字符必须是英文字母。如: vbXvbX ,, x1x1。不能为。不能为 1x1x 。。 ③ ③ 组成变量名的字符数不得超过组成变量名的字符数不得超过 255255 个字符。个字符。 ④ ④ 不能用不能用 VBVB 的保留字作变量名,但可以把保留字嵌入变的保留字作变量名,但可以把保留字嵌入变量名中;同时,变量名也不能是末尾带有类型说明符的保留量名中;同时,变量名也不能是末尾带有类型说明符的保留字。例如用字。例如用 PrintPrint 和和 Print$Print$ 作为变量名是非法的,而用作为变量名是非法的,而用 PrintPrint_Number_Number 作为变量名是合法的。作为变量名是合法的。
![Page 19: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/19.jpg)
2. 2. 变量命名的注意事项变量命名的注意事项 在为变量命名时应注意: ① 取名最好使用有明确实际意义和容易记忆以及通用的变量名,即要见名知义。比如用 sum (或 s )代表求和,用 Difference (或 d )代表求差等。 ② 尽可能简单明了,尽量不要使变量名太长,因为太长了不便于阅读和书写。 ③ 不能用 VB 的关键字做变量名。 VB 的关键字是指 VB 中系统已经定义的词,如语句、函数、运算符名。 ④ 变量名不能与过程名和符号常量名相同。 ⑤ 尽量采用 VB建议的变量名前缀或后缀的约定来命名,以便区分变量的类型。如: intMax , strName 。 ⑥ VB 不区分变量名和其他名字中字母的大小写,如 Hello 、 HOLLO 、 hello 指的是同一个名字。为了便于阅读,每个单词开头的字母一般用大写,即大小写混合使用组成变量名(或其他名字),例如 PrintText 。此外,习惯上符号常量一般用大写字母定义。
![Page 20: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/20.jpg)
3.3.2 3.3.2 变量的声明变量的声明 声明语句的语法为:声明语句的语法为:{Dim | Private | Static | Public}{Dim | Private | Static | Public} 〈变量名〉〈变量名〉 [As[As 〈类型〉〈类型〉 ][,][, 〈变量名〈变量名 22 〉〉 [[AsAs 〈类型〈类型 22 〉〉 ]] …]] … 说明:说明: ① ① PublicPublic 语句用来声明公有的模块级变量,语句用来声明公有的模块级变量, PrivatePrivate 或或 DimDim 语句用来声语句用来声明私有的模块级变量,明私有的模块级变量, DimDim 或或 PrivatePrivate 或或 StaticStatic 语句来声明过程级局部变语句来声明过程级局部变量。量。 ② ② 〈类型〉用来定义被声明〈变量名〉的数据类型或对象类型。变量的〈类型〉用来定义被声明〈变量名〉的数据类型或对象类型。变量的数据类型可以是表数据类型可以是表 3-13-1 中的类型,也可以是用户自定义的类型。例如中的类型,也可以是用户自定义的类型。例如Dim Ct As Integer Dim Ct As Integer ' ' 将将 CtCt 定义为定义为 IntegerInteger (整型)(整型)变量变量Private Sum1 As String, stNa As String Private Sum1 As String, stNa As String ' ' 将将 Sum1Sum1 和和 stNstNaa 定义为定义为 StringString (字符型)变量(字符型)变量Static Aver As Single Static Aver As Single ' ' 将将 AverAver 定义为定义为 SingleSingle (单精度(单精度型)变量型)变量Private Name1 As String*8 Private Name1 As String*8 ' ' 将将 Name1Name1 定义为定长字符型变定义为定长字符型变量量Dim aa Dim aa ' ' 若没有指定类型,变量是若没有指定类型,变量是 VariaVariantnt 类型类型
![Page 21: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/21.jpg)
使用声明语句建立一个变量后, VB 自动将数值类型的变量赋初值 0 ,将字符或 Variant 类型的变量赋空串,将布尔型的变量赋 False 。 使用变量时, VB 会自动转换变量值的类型,使变量的值与声明语句中的名字相匹配。例如,声明变量为:Dim Ct As Integer
当为该变量赋值时:Ct = 1.8 ' 数 1.8 为单精度型 Single
变量 Ct 自动将 1.8四舍五入转换为整型数 2 。
![Page 22: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/22.jpg)
3.4 3.4 表达式表达式3.4.1 3.4.1 算术表达式算术表达式 算术表达式的格式为:算术表达式的格式为:〈数值〈数值 11 〉〈算术运算符〉〈算术运算符 11 〉〈数值〉〈数值 22 〉〉 [[ 〈算术运算符〈算术运算符22〉〈数值〉〈数值 33〉〉 ]]
1. 1. 算术运算符算术运算符 VBVB 有有 77 个算术运算符,如表个算术运算符,如表 3-23-2 所示。所示。
![Page 23: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/23.jpg)
表表 3-2 3-2 算术运算符算术运算符 运 算 符 名 称 表 达 式 例 子
^ 乘方 a ^ b
* 乘法 a * b
/ 浮点除法 a / b
\ 整数除法 a \ b
Mod 求余的模运算 a Mod b
+ 加法 a+b
– 减法、取负 a-b , -c
![Page 24: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/24.jpg)
2. 2. 表达式的书写规则表达式的书写规则 算术表达式与数学中的表达式写法有所区别,在书写表达算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意:式时应当特别注意: ① ① 每个符号占每个符号占 11 格,所有符号都必须一个一个并排写在同格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标。例如:一横线上,不能在右上角或右下角写方次或下标。例如: 4455
要写成要写成 4^54^5 ,, xx11+x+x22 要写成要写成 x1+x2x1+x2 。。 ② ② 原来在数学表达式中省略的内容必须重新写上。例如:原来在数学表达式中省略的内容必须重新写上。例如:3xy3xy 要写成要写成 3* x * y3* x * y 。。 ③ ③ 所有括号都用小括号所有括号都用小括号 ( )( ) ,括号必须配对。例如:,括号必须配对。例如: 5[x+2(5[x+2(y+z)]y+z)] 必须写成必须写成 5 *(x+2*(y+z))5 *(x+2*(y+z)) 。。 ④ ④ 要把数学表达式中的有些符号,改成要把数学表达式中的有些符号,改成 VBVB 中可以表示的中可以表示的符号。例如:要把符号。例如:要把 πrπr22 改为改为 pi*r^2pi*r^2 。。
![Page 25: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/25.jpg)
3. 3. 算术运算符的优先级算术运算符的优先级 在算术表达式中包含各种算术运算符,必须规定各个运在算术表达式中包含各种算术运算符,必须规定各个运算的先后顺序,这就是算术运算符的优先级,如下所示。算的先后顺序,这就是算术运算符的优先级,如下所示。指数运算指数运算 ^ → ^ → 取负取负 - → - → 乘法乘法 ** 、浮点除法、浮点除法 / → / → 整除整除 \ → \ → 求模求模 Mod → Mod → 加法加法 ++ 、减法、减法 - -
3.4.2 3.4.2 字符串表达式字符串表达式 VBVB 中的字符串运算符是“中的字符串运算符是“ &”&” ,该运算符用于连接两个,该运算符用于连接两个或更多的字符串。字符串表达式的格式为:或更多的字符串。字符串表达式的格式为:〈字符串〈字符串 11〉〉 && 〈字符串〈字符串 22〉〉 [&[& 〈字符串〈字符串 33〉〉 ]]
![Page 26: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/26.jpg)
当两个字符串用连接运算符连接起来后,第二个字符串直接添加到第一个字符串的尾部,结果是一个更长的、包含两个源字符串的全部内容的字符串。如果要把多个字符串连接起来,每两个字符串之间都要用“ &” 号分隔。例如:"abc" & "ef" ' 连接后结果为: "abcef"
"欢迎你 " & " 们 " ' 连接后结果为: "欢迎你们 "
"ABC 12" & "abcd " & " 345 " ' 连接后结果为: "ABC 12abcd 345 "
另外,在 VB 中,除用“ &”作为连接运算符外,还可以用“ +” 把两个字符串连接成一个字符串。但是“ +” 容易与算术加法运算符产生混淆,所以,建议最好用“ &” 号。同时,“ &” 会自动将非字符串类型的数据转换成字符串后再进行连接,而“ +” 则不能自动转换。例如:123 & 456 & "aa" ' 连接后结果为: "123456aa"
![Page 27: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/27.jpg)
3.4.3 3.4.3 日期表达式日期表达式 日期型表达式由算术运算符“日期型表达式由算术运算符“ ++ 、–”、算术表达式、日期型常量、日期、–”、算术表达式、日期型常量、日期型变量和函数组成。日期型数据是一种特殊的数值型数据,它们之间只能进型变量和函数组成。日期型数据是一种特殊的数值型数据,它们之间只能进行加“行加“ +”+” 、减“–”运算。有下面、减“–”运算。有下面 33 种情况:种情况: ① ① 两个日期型数据可以相减,结果是一个数值型数据(两个日期相差的两个日期型数据可以相减,结果是一个数值型数据(两个日期相差的天数)。例如:天数)。例如:#05/15/2005# – #05/10/2005# #05/15/2005# – #05/10/2005# ' ' 结果为数值型数据:结果为数值型数据: 55 ② ② 一个表示天数的数值型数据可加到日期型数据中,其结果仍然为一日一个表示天数的数值型数据可加到日期型数据中,其结果仍然为一日期型数据(向后推算日期)。例如:期型数据(向后推算日期)。例如:#06/15/2005# + 30 #06/15/2005# + 30 ' ' 结果为日期型数据:结果为日期型数据: #05-07-15##05-07-15# ③ ③ 一个表示天数的数值型数据可从日期型数据中减掉它,其结果仍然为一个表示天数的数值型数据可从日期型数据中减掉它,其结果仍然为一日期型数据(向前推算日期)。例如:一日期型数据(向前推算日期)。例如:#06/15/2005# – 2 #06/15/2005# – 2 ' ' 结果为日期型数据:结果为日期型数据: #06-05-13##06-05-13#
![Page 28: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/28.jpg)
3.5 3.5 常用内部函数常用内部函数 在在 VBVB 中,有两类函数,即内部函数和用户定义函数。中,有两类函数,即内部函数和用户定义函数。 用户定义函数是由用户自己根据需要定义的函数。用户定义函数是由用户自己根据需要定义的函数。 内部函数也称标准函数,内部函数也称标准函数, VBVB 提供了大量的内部函数。提供了大量的内部函数。在这些函数中,有些是通用的,有些则与某种操作有关。在这些函数中,有些是通用的,有些则与某种操作有关。这些函数可分为:转换函数、数学函数、字符串函数、日这些函数可分为:转换函数、数学函数、字符串函数、日期时间函数、随机函数。期时间函数、随机函数。3.5.1 3.5.1 数学运算函数数学运算函数 数学运算函数用于各种数学运算。常用数学运算函数见数学运算函数用于各种数学运算。常用数学运算函数见表表 3-33-3 。。
![Page 29: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/29.jpg)
表 3-3 常用数学运算函数 函 数 说 明 函 数 说 明Sin 返回弧度的正弦 Sgn 返回数的符号值Cos 返回弧度的余弦 Sqr 返回数的平方根Abs 返回数的绝对值 Int 返回不大于给定数的最大整数Exp 返回 e 的指定次幂 Fix 返回数的整数部分
![Page 30: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/30.jpg)
3.5.2 3.5.2 字符串函数字符串函数 VBVB 提供了大量的字符串函数,具有强大的字符串处理提供了大量的字符串函数,具有强大的字符串处理能力,见表能力,见表 3-43-4 。。
表表 3-4 3-4 常用字符串函数常用字符串函数函 数 说 明 函 数 说 明Str 将数值型数据转换为字符型数据 Space 返回由指定数目空格字符组成的字符串Val 将数字字符串转换为相应的数值 Lcase 返回以小写字母组成的字符串Len 返回字符串的长度 Ucase 返回以大写字母组成的字符串
![Page 31: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/31.jpg)
3.5.3 3.5.3 日期和时间函数日期和时间函数 时间和日期函数使程序能向用户显示日期和时间,提时间和日期函数使程序能向用户显示日期和时间,提供某个事件何时发生及持续时间长短的信息。常用时间供某个事件何时发生及持续时间长短的信息。常用时间和日期函数见表和日期函数见表 3-53-5 。。
表表 3-5 3-5 常用日期和时间函数常用日期和时间函数函 数 说 明 函 数 说 明Now 返回系统日期和时间( yy
–mm–dd hh:mm:ss ) Time 返回当前时间( hh:mm:ss )Date 返回当前日期( yy–mm–d
d ) Timer 返回从午夜算起已过的秒数
![Page 32: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/32.jpg)
3.5.4 3.5.4 随机数语句和函数随机数语句和函数 在测试、模拟和游戏程序中,经常要使用随机数。随在测试、模拟和游戏程序中,经常要使用随机数。随机数语句和函数见表机数语句和函数见表 3-63-6 。。
表表 3-6 3-6 随机数函数和语句随机数函数和语句函 数 和 语 句 说 明
Randomize 语句 产生随机数的种子Rnd 函数 产生 0 ~ 1 之间的随机数
![Page 33: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/33.jpg)
3.6.1 3.6.1 程序语句的形式程序语句的形式 程序语句是程序语句是 VBVB 关键字、属性、函数、运算符以及能够生成关键字、属性、函数、运算符以及能够生成VBVB 编辑器可识别指令的符号的任意组合。一个完整的程序语句编辑器可识别指令的符号的任意组合。一个完整的程序语句可以简单到只有一个关键字,例如:可以简单到只有一个关键字,例如:PrintPrint
语句也可以是各种元素的组合,例如下面的语句,把当前系语句也可以是各种元素的组合,例如下面的语句,把当前系统时间赋值给标签的统时间赋值给标签的 CaptionCaption 属性:属性:
建立程序语句时必须遵从的构造规则称为语法。编写正确建立程序语句时必须遵从的构造规则称为语法。编写正确程序语句的前提,就是学习语言元素的语法,并在程序中使程序语句的前提,就是学习语言元素的语法,并在程序中使用这些元素正确地处理数据。用这些元素正确地处理数据。
Label1.Caption = Time
对象名 属性名 VB 函数 赋值号
![Page 34: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/34.jpg)
3.6.2 3.6.2 语句的书写规则语句的书写规则 在编写程序代码时要遵循一定的规则,这样写出的程序在编写程序代码时要遵循一定的规则,这样写出的程序既能被既能被 VBVB正确地识别,又能增加程序的可读性。正确地识别,又能增加程序的可读性。1. 1. 自动语法检查自动语法检查 如果设置了“自动语法检测”(用“工具”菜单“选如果设置了“自动语法检测”(用“工具”菜单“选项”命令中的“编辑器”)选项卡,则在输入语句的过程项”命令中的“编辑器”)选项卡,则在输入语句的过程中,中, VBVB 将自动对输入的内容进行语法检查,如果发现语法将自动对输入的内容进行语法检查,如果发现语法错误,将弹出一个信息框提示出错的原因。错误,将弹出一个信息框提示出错的原因。2. 2. 格式化处理格式化处理 VBVB 会按约定对语句进行简单的格式化处理,例如关键字、会按约定对语句进行简单的格式化处理,例如关键字、函数的第一字母自动变为大写,运算符前后加空格等。在函数的第一字母自动变为大写,运算符前后加空格等。在输入语句时,命令词、函数等可以不必区分大小写。例如,输入语句时,命令词、函数等可以不必区分大小写。例如,在输入在输入 PrintPrint 时,不管输入时,不管输入 PrintPrint 、、 printprint ,还是,还是 PRINTPRINT ,,按回车键后都变为按回车键后都变为 PrintPrint 。为了提高程序的可读性,在代码。为了提高程序的可读性,在代码中应加上适当的空格,同时应按惯例处理字母的大小写。中应加上适当的空格,同时应按惯例处理字母的大小写。
![Page 35: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/35.jpg)
3. 3. 复合语句行复合语句行 一般情况下,输入程序时要求一行一句,一句一行。但是一般情况下,输入程序时要求一行一句,一句一行。但是 VBVB 也允许也允许使用复合语句行,即把几个语句放在一个语句行中,语句之间用冒号使用复合语句行,即把几个语句放在一个语句行中,语句之间用冒号““ :”:” 隔开。一个语句行的长度最多不能超过隔开。一个语句行的长度最多不能超过 10231023 个字符。例如:个字符。例如:Label1.Caption = "Label1.Caption = " 姓名姓名 " : Label2.Caption = "" : Label2.Caption = " 性别性别 " : Label3.Caption " : Label3.Caption = "= " 学号学号 ""
4. 4. 语句的续行语句的续行 当一条语句很长时,在代码编辑窗口阅读程序时将不便查看,使用当一条语句很长时,在代码编辑窗口阅读程序时将不便查看,使用滚动条又比较麻烦。这时,就可以使用续行功能,用续行符“滚动条又比较麻烦。这时,就可以使用续行功能,用续行符“ _”_” 将一将一个较长的语句分为多个程序行。例如:个较长的语句分为多个程序行。例如:Label1.Caption = "Label1.Caption = " 本程序实现的功能为本程序实现的功能为 " & _" & _
"" 自动实现学生成绩的浏览、查询、修改、打印等自动实现学生成绩的浏览、查询、修改、打印等 ""
在使用续行符时,在它前面至少要加一个空格,并且续行符只能出在使用续行符时,在它前面至少要加一个空格,并且续行符只能出现在行尾。现在行尾。
![Page 36: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/36.jpg)
3.6.3 3.6.3 命令格式中的符号约定命令格式中的符号约定 为了便于解释语句、方法和函数,本书语句、方法和为了便于解释语句、方法和函数,本书语句、方法和函数格式中的符号采用统一约定。在各语句、方法、函函数格式中的符号采用统一约定。在各语句、方法、函数的语法格式和功能说明中,以尖括号〈 〉、方括号数的语法格式和功能说明中,以尖括号〈 〉、方括号 [ ][ ]、花括号、花括号 { }{ } 、竖线、竖线 || 、逗号加省略号、逗号加省略号 ,...,... 、省略号、省略号 ...... 作作为专用符号,这些符号的含义见表为专用符号,这些符号的含义见表 3-73-7 。。
![Page 37: 本章主要内容: ● 基本数据类型 ● 常量、变量 ● 表达式 ● 常用内部函数](https://reader034.vdocuments.site/reader034/viewer/2022050709/56813a9b550346895da2965d/html5/thumbnails/37.jpg)
符 号 含 义〈 〉 为必选参数表示符。尖括号中的中文提示说明,由使用者根据问题的需要提供具体参数。如果缺少必选参数,语句则发生语法错误[ ] 为可选参数表示符。方括号中的内容选与不选由用户根据具体情况决定,且都不影响语句本身的功能。如省略,则默认为缺省值| 为多中取一表示符,含义为“或者选择”。竖线分隔多个选择项,必须选择其中之一{ } 包含多中取一的各项, ... 表示同类项目的重复出现... 表示省略了在当时叙述中不涉及的部分
表表 3-7 VB3-7 VB 命令格式中的约定符号命令格式中的约定符号
注意:这些专用符号和其中的提示,不是语句行或函数的组成部分。在输入具体命令或函数时,上面的符号均不可作为语句中的成分输入计算机,它们只是语句、函数格式的书面表示。3.7 习题