




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章第三章 数据类型、常量、变量及表达式数据类型、常量、变量及表达式 本章内容及要求:本章内容及要求:1 熟悉熟悉VBVB程序中代码和语句书写规则;程序中代码和语句书写规则;2 掌握掌握VBVB的数据类型;的数据类型;3 掌握掌握VB的的 运算符和表达式的使用;运算符和表达式的使用;4 掌握常用内部函数的使用;掌握常用内部函数的使用;本章重点:本章重点: 变量和常量的定义及使用变量和常量的定义及使用、运算符和表达式的使用及常运算符和表达式的使用及常用内部函数的使用。用内部函数的使用。本章难点:本章难点: 数据类型、内部函数。数据类型、内部函数。Visual Basic 语言基础3.1 Vis
2、ual Basic 程序代码的组织方式程序代码的组织方式3.2 代码行的书写规则代码行的书写规则 3.2 Visual Basic 的数据类型的数据类型3.4 运算符表达式运算符表达式3.5 Visual Basic 公共函数公共函数 3.1 程序代码的组织方式 一个一个VB程序由程序由窗体界面窗体界面和和程序代码程序代码两部组成,两部组成,通过程序代码把窗口界面的各个对象以及应用通过程序代码把窗口界面的各个对象以及应用中的其它元素联系在一起。程序代码部分则由中的其它元素联系在一起。程序代码部分则由若干被称为若干被称为“过程过程”的代码行及向系统提供某的代码行及向系统提供某些信息的说明组成。过
3、程及说明又被组织在些信息的说明组成。过程及说明又被组织在“模块模块”之中。将设计的过程代码及相关说明之中。将设计的过程代码及相关说明合理地组织到不同的模块之中,也就是设计代合理地组织到不同的模块之中,也就是设计代码的结构,在创建码的结构,在创建VB应用程序时是最为重要应用程序时是最为重要的一个步骤。的一个步骤。一 过程 所谓所谓“过程过程”,就是具有特定书写,就是具有特定书写格式、包含若干可被作为一个整体执行格式、包含若干可被作为一个整体执行的代码的组合。根据执行方式,可把的代码的组合。根据执行方式,可把“过程过程”分为分为“事件过程事件过程”和和“通用过通用过程程”两类。两类。1 事件过程
4、VB程序是由事件驱动的,所以事件过程是程序是由事件驱动的,所以事件过程是VB 程程序中不可缺少的基本过程。为窗体以及窗体上的各种序中不可缺少的基本过程。为窗体以及窗体上的各种对象编写的用来响应由用户或系统引发的各种事件的对象编写的用来响应由用户或系统引发的各种事件的代码就是代码就是“事件过程事件过程”。 事件过程由事件过程由VB中事件调用。也就是说,当指定的事中事件调用。也就是说,当指定的事件发生时,该过程即会被激活执行。件发生时,该过程即会被激活执行。 事件过程存储在被称为事件过程存储在被称为“窗体模块窗体模块”的文件中(扩展名的文件中(扩展名“.frm”),而且在缺省情况下,而且在缺省情况
5、下,“是私有的是私有的”(private)。换言之,事件过程在未特别说明时,仅)。换言之,事件过程在未特别说明时,仅在该窗体内有效。在该窗体内有效。 事件过程的代码框架是由事件过程的代码框架是由VB系统自动提供的,系统自动提供的,用户在用户在“代码编辑器代码编辑器”窗口可通过窗口可通过“对象对象”下拉列下拉列表框选择要编写代码的具体对象,单击表框选择要编写代码的具体对象,单击“过程过程”下下拉列表框选择具体的事件,拉列表框选择具体的事件,“代码编辑器代码编辑器”窗口就窗口就给出对象响应相关事件的过程框架,在框架内加入给出对象响应相关事件的过程框架,在框架内加入代即可(图代即可(图1)。在保存窗
6、体时,窗体的外观和编写)。在保存窗体时,窗体的外观和编写的代码一保存。的代码一保存。 图12 通用过程 一个应用程序可以具有若干个窗体,每个窗体又可能一个应用程序可以具有若干个窗体,每个窗体又可能拥有相同或不同的对象,但是这些不同窗体中的对象拥有相同或不同的对象,但是这些不同窗体中的对象却有可能引发相同的操作或需在进行某些共同的处理。却有可能引发相同的操作或需在进行某些共同的处理。也就是说,一个应用程序中的多个窗体可以共享一些也就是说,一个应用程序中的多个窗体可以共享一些代码,或者一个窗体内不同的事件过程可以共享一些代码,或者一个窗体内不同的事件过程可以共享一些代码。这些可被共享的代码构成的过
7、程称为代码。这些可被共享的代码构成的过程称为“通用过通用过程程”。 通用过程是由事件过程或其他过程调用而执行的。通用过程是由事件过程或其他过程调用而执行的。这些过程在缺省情况下,是这些过程在缺省情况下,是“公有的公有的” (Public)。也就。也就是说,通用过程可被所有的窗体共享。是说,通用过程可被所有的窗体共享。二 模 块 模块是模块是VB用于将不同类型过程代码用于将不同类型过程代码组织到一起而提供的一种结构。在组织到一起而提供的一种结构。在VB中中具有三种类型的模块:具有三种类型的模块: 窗体模块窗体模块 标准模块标准模块 类模块。类模块。1 窗体模块 应用程序中的每个窗体都有一个相应应
8、用程序中的每个窗体都有一个相应的窗体模块的窗体模块 。窗体模块不仅包含有用于处。窗体模块不仅包含有用于处理发生在窗体中的各个理发生在窗体中的各个 对象的事件对象的事件 过程,过程,而且包含有窗体及窗体中各个控件对象的而且包含有窗体及窗体中各个控件对象的属性设置以及相关的说明。属性设置以及相关的说明。 如果某些通用过程仅供本窗体内的其他过如果某些通用过程仅供本窗体内的其他过程共享,则它也可包含在窗体模块之中。程共享,则它也可包含在窗体模块之中。 2 标准模块在应用程序中可被多个窗体共享的代码,应当被组织到在应用程序中可被多个窗体共享的代码,应当被组织到“标准模块标准模块”之中。标准模块文件的扩展
9、名是之中。标准模块文件的扩展名是“.bas”。 标准模块中保存的过程都是通用过程。标准过程中还标准模块中保存的过程都是通用过程。标准过程中还包含有相关的说明。包含有相关的说明。 标准模块中代码并不限于一个应用程序,还可供其他标准模块中代码并不限于一个应用程序,还可供其他应用程序重复使用。应用程序重复使用。 创建标准最简便的方法是:创建标准最简便的方法是: 单击工具栏上单击工具栏上“添加窗体添加窗体”按钮右侧按钮右侧向下的箭头,并在出现的选项表中选择向下的箭头,并在出现的选项表中选择“添加模块添加模块”(图(图2),然后再在出现),然后再在出现的的“代码编辑器代码编辑器”窗口中输入代码即可。窗口
10、中输入代码即可。3 类模块类模块 类模块包含用于创建新的对象类的属性、类模块包含用于创建新的对象类的属性、方法的定义等。方法的定义等。3.2 代码行的书写规则代码行的书写规则 1. 语句语句 语句是构成语句是构成VB程序的最基本成分。一个语句用于程序的最基本成分。一个语句用于系统提供某些必要的信息(如程序中使用的数据类型系统提供某些必要的信息(如程序中使用的数据类型等),或者规定系统应该执行的某些操作。等),或者规定系统应该执行的某些操作。语句的一般形式如下:语句的一般形式如下: 语句体语句体 语句定义符用于规定语句的功能。语句定义符用于规定语句的功能。 语句体则用于提供语句所要说明的具体内容
11、或者要语句体则用于提供语句所要说明的具体内容或者要执行的具体操作。执行的具体操作。 VB中一些语句可以没有语句定义符;也有一些语句中一些语句可以没有语句定义符;也有一些语句的语句定义符可以省略。的语句定义符可以省略。 VB程序是按行书写的。一个语句可写在一行上;程序是按行书写的。一个语句可写在一行上;也可以通过在行的末尾加上续行标志也可以通过在行的末尾加上续行标志“ -”(一个(一个空格加一个下划线字符),而分写在多行上;另空格加一个下划线字符),而分写在多行上;另外,也可在一个代码行上写入多个语句,但语句外,也可在一个代码行上写入多个语句,但语句之间需要用冒号之间需要用冒号“:”分隔。分隔。
12、例如:例如:1 一个语句分写在多行上:一个语句分写在多行上: Dim student_name As String,student_number As String,Computer As _Integer,English As Integer2 一行写多个语句:一行写多个语句:x=10:y4=Visual Basic:Z=2012. 书写规范 语句输入时,可以不区分大小写字母,一个代语句输入时,可以不区分大小写字母,一个代码行输入完后,按回车键,光标自动移向下一行,码行输入完后,按回车键,光标自动移向下一行,同时,系统还会自动把语句中所有同时,系统还会自动把语句中所有“保留字保留字”的的第一
13、个字母改为大写字母,并在其前后加上空格。第一个字母改为大写字母,并在其前后加上空格。 例如,例如,Rem是系统保留字,所以不论输入的是是系统保留字,所以不论输入的是ReM,还是还是rem或或REM,系统都会自动变换成,系统都会自动变换成Rem。 一个代码行的长度不得超过一个代码行的长度不得超过1023B,且在一行,且在一行的实际文本之前最多只能有的实际文本之前最多只能有256个前导空格。一个个前导空格。一个逻辑行最多只能有逻辑行最多只能有25个后续行。个后续行。33 Visual Basic 的数据类型 数据是程序处理的对象。数据是程序处理的对象。VB具有强大的具有强大的数据处理能力,它的具体
14、表现就是数据处理能力,它的具体表现就是VB程序不程序不仅可以处理各种数制的数,而且具有丰富的数仅可以处理各种数制的数,而且具有丰富的数据类型。据类型。一数据类型一数据类型VB支持的数据类型多达成支持的数据类型多达成12种。表种。表1列出了这些列出了这些数据类型的名称、存储大小及数据的取值范围。数据类型的名称、存储大小及数据的取值范围。例例数据类型数据类型存储大小存储大小取值范围取值范围IntegerInteger整型数整型数2 Byte2 Byte-3276832767-3276832767LongLong长整型数长整型数4 Byte4 Byte-21474836482147483647-21
15、474836482147483647SingleSingle单精度型数单精度型数4 Byte4 Byte-3.402823E38-1.401298E-45-3.402823E38-1.401298E-451.401298E-453.402823E381.401298E-453.402823E38DoubleDouble双精度型数双精度型数8 Byte8 Byte -1.79769313486232E308-1.79769313486232E308-4.9406545841247E-324-4.9406545841247E-3244.94065645841247E-3244.9406564584
16、1247E-3241.79769313486232E3081.79769313486232E308ByteByte字节型数字节型数1 Byte1 Byte02550255BooleanBoolean逻辑型数逻辑型数2 Byte2 ByteTrueTrue或或FalseFalseStringString字符串型数字符串型数(变长)(变长)10 Byte+10 Byte+串长度串长度00约定俗成约定俗成0 0亿个字符亿个字符StringString字符串型字符串型数(定长)数(定长)串长度串长度11约约6540065400个字符个字符DateDate日期型数日期型数8 Byte8 Byte1000
17、1000年年1 1月月1 1日日99999999年年1212月月3131日日CurrencyCurrency货币型货币型数数8 Byte8 Byte-922337203685447.5808-922337203685447.5808922337203685447.5807922337203685447.5807ObjectObject对象型数对象型数4 Byte4 Byte任何对象引用任何对象引用VariantVariant变体型数变体型数=16 Byte=16 Byte数值型可达数值型可达DoubleDouble型的范围;型的范围;字符型可达变长字符串型的字符型可达变长字符串型的长度长度一
18、常 量在程序中取值始终保持不变的数据称为在程序中取值始终保持不变的数据称为“常量常量”。常量可以。常量可以是具体的数值,也可以是专门说明的。是具体的数值,也可以是专门说明的。1)数值常量)数值常量一般的数值常量由正负号、数字和小数点组成,正数的正号一般的数值常量由正负号、数字和小数点组成,正数的正号可以省略。在可以省略。在VB程序中,除常用的十进制外,还可以使程序中,除常用的十进制外,还可以使用八进制数和十六进制数。用八进制数和十六进制数。 不带小数点的数称为不带小数点的数称为“整型数整型数”。VB中的整型数又中的整型数又分为整型数和长整型数。分为整型数和长整型数。 带小数点的数称为带小数点的
19、数称为“实型数实型数”或或“浮点数浮点数。根据。根据占用的存储量的大小,又分为单精度型数和双精度型占用的存储量的大小,又分为单精度型数和双精度型数。数。 在计算机程序中,很大或很小的数通常以指数形式在计算机程序中,很大或很小的数通常以指数形式表示,表示,10的幂次则以字母的幂次则以字母e或字母或字母d代表。可表示为代表。可表示为mmmEeee或或mmmDeee两种形式,其中,两种形式,其中, mmm 是尾是尾数,数,eee是指数。是指数。E表示单精度数,表示单精度数,D表示双精度数。表示双精度数。例如:例如: 123 -235 32747 (整型数)(整型数) 1758624 -3765410
20、 (长整型数)(长整型数)-762.678 0.000352 -1.243E5 1.234E-5 (单精度数)(单精度数)314159265333 -8.573264907D-15 (双精度数)(双精度数) VB中允许使用八进制数和十六进制数,它们都是无符号整中允许使用八进制数和十六进制数,它们都是无符号整型数。八进制数的表示方法是在数字前面加型数。八进制数的表示方法是在数字前面加“&O”;十六进制;十六进制数的表示方法是在数字前面加数的表示方法是在数字前面加“&H”。例如:。例如:&O137 &H1372) 字符常量字符常量 把一串字符用引号括起来,就构成一个
21、字符常量。把一串字符用引号括起来,就构成一个字符常量。例如:例如:“Visual Basic” 、 “ab”等都是合法的字符常量。等都是合法的字符常量。2) 逻辑型常量逻辑型常量逻辑型常量只有两个取值:逻辑型常量只有两个取值:True(真)和(真)和False(假)。(假)。3) 日期型常量日期型常量日期型常量的一般表示形式是:日期型常量的一般表示形式是:mm/dd/yyy, 1998年年6月月15日日可表示为:可表示为:#6/15/1998#4) 符号常量符号常量 常量在程序中也可用符号来表示。以符号形式表示的常量常量在程序中也可用符号来表示。以符号形式表示的常量称为称为“符号常量符号常量”
22、。代表常量的符号称为。代表常量的符号称为“常量名常量名”。常量。常量名是一个长度不超过名是一个长度不超过255个字符,只能由字母、数字和下划线个字符,只能由字母、数字和下划线组成且首字符必须是字母的字符串。常量名中的字母不区分组成且首字符必须是字母的字符串。常量名中的字母不区分大小写。大小写。程序中使用自定义符号常量,则应用程序中使用自定义符号常量,则应用Const语句先行说明。语句先行说明。Const语句的形式台下:语句的形式台下:Public|Private const As Type= Public选项只能用在标准模块中,用以说明可在整个应用程选项只能用在标准模块中,用以说明可在整个应用
23、程序中使用的常量;序中使用的常量;Private选项则用于说明在模块范围内使用选项则用于说明在模块范围内使用的常量,它们均不能在过程中使用。的常量,它们均不能在过程中使用。Type用于指定常量的数用于指定常量的数据类型。另外,也可以在说明时,通过数据类型符号规定常据类型。另外,也可以在说明时,通过数据类型符号规定常量的类型。例如:量的类型。例如:Const Tax As Single =1.02Public Const Country $ =CHINA,Fax_Num&=35424489用户声明常量的例子Const PI! = 3.14159 声明了常量声明了常量PI, 代表代表3.1
24、4159,单精度型,单精度型Const MAX As Integer = &O144 声明了常量声明了常量MAX,代表八进制数,代表八进制数144,整型,整型Const COUNTS# = 45.67 声明了常量声明了常量COUNTS,代表,代表45.67,双精度型,双精度型二 变 量以符号形式出现在程序中,且取值可以符号形式出现在程序中,且取值可以发生变化的数据称为以发生变化的数据称为“变量变量”。1 变量名及类型说明变量名的命名规则是:变量名的命名规则是: 首字符必须是字母;首字符必须是字母; 长度不超过长度不超过255个字符;个字符; 在作用域内必须唯一;在作用域内必须唯一; 作
25、为变量名的字符串不得包括点号和用于类型说明作为变量名的字符串不得包括点号和用于类型说明的字符的字符%、&、!、!、#、$ . 不得使用系统保留字作变量名不得使用系统保留字作变量名 有时为了提高程序的可读性,可在变量名之前加上有时为了提高程序的可读性,可在变量名之前加上一个约定的前缀,用于表示变量的数据类型。约定的一个约定的前缀,用于表示变量的数据类型。约定的前缀见表前缀见表2。表表2数据类型数据类型前缀前缀数据类型数据类型前缀前缀整型lnt长整型lng单精度型sng双精度型dbl逻辑型bln货币型cur日期型dt字串型str变体型vnt字节型byt1 变量作用域与变量说明语句变量作用域
26、与变量说明语句1)变量作用域)变量作用域 变量的有效作用范围称为变量作用域。变量的有效作用范围称为变量作用域。VB有以下三个作用域等级,见表有以下三个作用域等级,见表3:等级等级范围范围局部局部在过程中说明,仅在说明它的过程有在过程中说明,仅在说明它的过程有效效窗体窗体/ /模块模块在窗体或模块中说明,在定义该变量在窗体或模块中说明,在定义该变量的模块或窗体的所有过程内均有效的模块或窗体的所有过程内均有效全局(公有)全局(公有)在模块或窗体中说明,在工程内的所在模块或窗体中说明,在工程内的所有过程中都有效有过程中都有效2)变量说明语句)变量说明语句可使用四种说明语句说明变量的类型:可使用四种说
27、明语句说明变量的类型:Dim As, As Public As, As Private As, As Static As, As其中,其中,Public语句用于说明全局变量,语句用于说明全局变量,Private语句用于说语句用于说明窗体明窗体/模块级变量,它们都只能用在模块的通用部分;模块级变量,它们都只能用在模块的通用部分;Static语句用于说明过程级的静态变量,而语句用于说明过程级的静态变量,而Dim语句既可用语句既可用于说明模块级的变量(在模块的通用部分使用),也可用于说明模块级的变量(在模块的通用部分使用),也可用于说明过程级的变量(在过程内使用),因此较为常用。于说明过程级的变量(
28、在过程内使用),因此较为常用。用Dim语句声明变量的例子Dim iCount As IntegerDim sAllsum As SingleDim strS As String*100或 Dim iCount As Integer, sAllsum As Single模块级和公有级的变量应模块级和公有级的变量应“代码编辑器代码编辑器”窗口中的窗口中的“(通用)(通用)”或或“(声明)(声明)”部分进行说明。部分进行说明。 例如:例如:Private Const As Integer或或 Public Name As String ,age As Integer 局部变量仅在使用它的过程中说明;
29、局部变量仅在使用它的过程中说明; Public Sub Command1_Click() Dim Count As Integer End Sub 在用在用Dim语句说明一个变量后,系统自动为该变量赋予语句说明一个变量后,系统自动为该变量赋予一个初始值。若变量是数值型的,则初始值为一个初始值。若变量是数值型的,则初始值为0;若初;若初始值是字符串型的,则初始值为空;逻辑型变量的初始值是字符串型的,则初始值为空;逻辑型变量的初始值为始值为“ False”。 系统还会自动转换在代码中输入的变量名以与说明的变系统还会自动转换在代码中输入的变量名以与说明的变量名相匹配。例如,说明语句是:量名相匹配。例
30、如,说明语句是: Dim MyCountry As String 在程序中输入:在程序中输入:mycountry=”NanJing” VB将其自动转换成:将其自动转换成:MyCuntry=”NanJing” VB的这种功能,可帮助使用者输入和使用正确的的这种功能,可帮助使用者输入和使用正确的变量名。变量名。 在变量类型说明语句中,必须对在变量类型说明语句中,必须对 每个需要说明的变量逐每个需要说明的变量逐个使用个使用As Type说明,未加说明的变量将按变体型变量处理。说明,未加说明的变量将按变体型变量处理。例如:例如: Dim a ,b As Integeer中的中的a是变体型,是变体型,b
31、是整型。是整型。使用变量说明语句说明变量的数据类型,通常称为使用变量说明语句说明变量的数据类型,通常称为“显式说显式说明明”,也采用在变量名后加上一个用于规定变量类型的说明,也采用在变量名后加上一个用于规定变量类型的说明字符,来规定变量的类型,这种方法称为字符,来规定变量的类型,这种方法称为“隐式说明隐式说明”。VB规定的类型说明字符见表规定的类型说明字符见表4 说明符说明符示例示例意义意义说明符说明符示例示例意义意义% %X%X%X X是整型变量是整型变量# #X#X#X X是双精度型变量是双精度型变量& &X&X&X X是长整型变量是长整型变量 XXX X是
32、货币型变量是货币型变量! !X!X!X X是单精度变量是单精度变量$ $X$X$X X是字符型变量是字符型变量表表4用类型说明符声明变量的例子 iTem%声明整型变量sHight!声明单精度型变量strName$声明字符串变量cXyz声明货币型变量 按照缺省规定,字符变量的长度上可变的。按照缺省规定,字符变量的长度上可变的。也就是说,通过字符赋予新的数据,它的长度也就是说,通过字符赋予新的数据,它的长度可增可减。但也可以将字符串变量说明为具有可增可减。但也可以将字符串变量说明为具有固定长度。方法如下:固定长度。方法如下: Dim As String*size例如例如 Dim EmpName A
33、s String*size3) Option Explicit 语句语句 在模块中使用在模块中使用Option Explicit语句,系统将检查模块中语句,系统将检查模块中所有未加显式说明的变量,一发现有这样的变量存在,所有未加显式说明的变量,一发现有这样的变量存在,就会产生一个出错信息,提示使用者改正错误就会产生一个出错信息,提示使用者改正错误VB中的运算符和表达式可分为中的运算符和表达式可分为逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式关系运算符与关系表达式关系运算符与关系表达式算术运算符与算术表达式算术运算符与算术表达式3.4.1 算术运算符与算术表达式1 算术运算符算术运算符VB的算术
34、运算符有以下几种:的算术运算符有以下几种: 乘方乘方 负号负号* * 乘乘/ / 除除 整除整除Mod Mod 取余运算取余运算+ + 加加 减减1. 算术运算符运算符运算符说明说明优先级优先级例子例子结果结果 乘方乘方1a 229-负号负号2-a-3* *乘乘3a*a*a27/ /除除310/a3.333333333 整除整除410a3ModMod取余运算取余运算510 ModMod a1+ +加加610 + a13- - 减减610 - a7例:例:5+10 mod 10 9 / 3 +2 2 结果是:结果是: 算术表达式算术表达式把常量、变量等运算元素用算术运算符连接起来的式子称为把常量
35、、变量等运算元素用算术运算符连接起来的式子称为“算术表达式算术表达式”。例如:。例如:a*b/(c*d) 3.14159265*r2 等等带有括号的算术表达式在运算时将优先进行括号内的运算。带有括号的算术表达式在运算时将优先进行括号内的运算。注注 意意: (1)/和的区别:和的区别:1/2=0.5,12=0 (2) Mod运算中,结果与被除数同号运算中,结果与被除数同号 例如:例如:-9 Mod 7 结果为结果为 -210 字符串运算符与字符串表达式字符串运算符与字符串表达式 字符串运算符有:字符串运算符有: 、+ 。 功能是字符串连接功能是字符串连接例如:例如: ABCD + EFGHI 结
36、果为:结果为:ABCDEFGHI VB & 程序设计教程程序设计教程 结果为:结果为:VB程序设计教程程序设计教程说明:当连接符两旁的操作量都为字符串时,上述两个连接说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是:符等价。它们区别是: +(连接运算)(连接运算):两个操作数均应为字符串类型;:两个操作数均应为字符串类型; &(连接运算)(连接运算):两个操作数既可为字符型也可为数值型,:两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。行连接操作。 例:例:
37、100 + 123 100 + 123 结果为结果为 100123100123 Abc Abc + 123 + 123 出错出错 100 & 123 100 & 123 结果为结果为 100123100123 100 & 123 100 & 123 结果为结果为 100123100123 Abc Abc & 123 & 123 结果为结果为 Abc123Abc123 Abc Abc & 123 & 123 结果为结果为 Abc123Abc123 注意注意:使用运算符:使用运算符“&”时,变量与运算符时,变量与运算符“&am
38、p;”之间应之间应加一个空格。这是因为符号加一个空格。这是因为符号“&”还是长整型的类型定义符,还是长整型的类型定义符,如果变量与符号如果变量与符号“&”接在一起,接在一起,VB系统先把它作为类型定系统先把它作为类型定义符处理,因而就会出现语法错误。义符处理,因而就会出现语法错误。 3.4.2 关系运算符与关系表达式关系运算符与关系表达式 关系运算符都是双目运算,是用来比较两个运算关系运算符都是双目运算,是用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为若关系成立,结果为True,若关系不成立,结果为,若
39、关系不成立,结果为False。VB中的关系运算符如下表所示:运算运算符符 = = =IsIs功能功能小小于于小于小于等于等于大大于于大于大于等于等于不等不等于于等等于于用比较两个用比较两个对象的引用对象的引用变量变量所有关系运算优先级相同。低于算术运算的所有关系运算优先级相同。低于算术运算的加加“+”,减,减“-”运算,高于逻辑非运算,高于逻辑非“Not”运运算。算。 关系表达式关系表达式关系表达式就是用关系运算把两个比较对象连接起来的关系表达式就是用关系运算把两个比较对象连接起来的式子。式子。 比较对象可以是变量、常量和算术表达式。例如比较对象可以是变量、常量和算术表达式。例如:a=z/2
40、b$ Basic object1 is object2 关系表达式的运算是采用关系表达式的运算是采用“按值比较按值比较”的方法,即的方法,即先求出运算符两边的先求出运算符两边的“值值”,若是变量,则取其当前,若是变量,则取其当前值,如果两端的值满足条件,则结果为值,如果两端的值满足条件,则结果为“True”,否则,否则为为“False”。关系运算的规则如下:关系运算的规则如下: (1 1)当两个操作数均为数值型,按数值大小比较。)当两个操作数均为数值型,按数值大小比较。 (2)字符串比较)字符串比较,则按字符的则按字符的ASCII码值从左到右一一比较码值从左到右一一比较,直到出现不同的字符为止
41、直到出现不同的字符为止.。 例:例: ABCDE ABRA 结果为结果为 False (3)数值型与可转换为数值型的数据比较,)数值型与可转换为数值型的数据比较, 如:如:29189 ,按数值比较,结果为,按数值比较,结果为False。(4)数值型与不能转换成数值型的字符型比较,)数值型与不能转换成数值型的字符型比较, 如:如:77 sdcd ,不能比较,系统出错。,不能比较,系统出错。关系运算示例关系运算示例本示例示范各种本示例示范各种“关系运算符关系运算符”的用法。的用法。MyResultMyResult, V1, V2, V1, V2MyResultMyResult = (45 35)
42、= (45 35) 返回返回 FalseFalseMyResultMyResult = (45 = 45) = (45 = 45) 返回返回 TrueTrueMyResultMyResult = (4 3) = (4 3) 返回返回 True True V1 = V1 = This: V2 = : V2 = That 设置变量初值。设置变量初值。MyResultMyResult = (V1 V2) = (V1 V2) 返回返回 TrueTrueMyResultMyResult = (V1 = V2) = (V1 = V2) 返回返回 FalseFalseMyResultMyResult = (
43、V1 V2) = (V1 V2) 返回返回 TrueTrue 3.4.3 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 逻辑运算是对逻辑值进行的运算,逻辑运算是对逻辑值进行的运算,Not 逻辑非为单目运算符逻辑非为单目运算符(要求一个操作数),其它为双目运算符。(要求一个操作数),其它为双目运算符。 运算符运算符说明说明说明说明例例结果结果Not取反取反操作数为假,结果操作数为假,结果为真,操作数为真,为真,操作数为真,结果为假结果为假Not FTAnd与与操作数均为真时,操作数均为真时,结果才为真结果才为真T And FT And TFTOr或或操作数中有一个为操作数中有一个为真时,结果为真
44、真时,结果为真T Or FF Or FTFXor异或异或操作数相反时,结操作数相反时,结果才为真果才为真T Xor FT Xor TTF A B Not A A And B A Or B A Xor B T F F F T T F F T F F F逻辑运算的优先次序是:逻辑运算的优先次序是:NotAndOrXor2 逻辑表达式逻辑表达式逻辑表达式是用逻辑运算符把逻辑变量连接起来逻辑表达式是用逻辑运算符把逻辑变量连接起来的式子。例如:的式子。例如: a=2*3.141159*r And (x5 Or Not b) x2 Or Text1.text=”Microsoft”逻辑运算的规则如下:逻辑
45、运算的规则如下:(1)逻辑运算符的优先级不相同,)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低(逻辑非)最高,但它低于关系运算于关系运算(2)VB中常用的逻辑运算符是中常用的逻辑运算符是Not、And、Or和和Xor。它们用。它们用于将多个关系表达式进行逻辑判断。于将多个关系表达式进行逻辑判断。例如,数学上表示某个数在某个区域时用表达式:例如,数学上表示某个数在某个区域时用表达式: 10X=10 And X=265 OR (C180 and C290 and C390) b-(b2-4ac) 2a(b- (b*b-4*a*c)/(2*a)Ex+y+xy x-y(E(x+y)+x*y)
46、/(x-y)3.4.4运算规则运算规则 表达式中出现了多种不同类型的运算符时,其运算符优先表达式中出现了多种不同类型的运算符时,其运算符优先级如下:级如下: 算术运算符算术运算符=字符运算符字符运算符关系运算符关系运算符逻辑运算符逻辑运算符说明:说明: 1当一个表达式中出现多种运算符时,首先进行算术运当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次最后处理逻辑运算符,在各类运算中再按照相应的优先次序进行。序进行。 2可以用括号改变优先顺序,强令
47、表达式的某些部分可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。多重括号,总是由内到外。 例题:例题:设设a=2,b=3,c=4,d=5,求下列表达式的值:,求下列表达式的值:(1) ab AND c=d OR 2*ac(2) 32*b OR a=c AND bc OR cd(3) NOT ac OR 4*c=b2 AND ba+c 3.5 3.5 常用内部函数常用内部函数 VB提供了上百种内部函数(库函数),要求掌握这些常用提供了上百种内部函数(库函数),要求掌握这些常用函
48、数的功能及使用。函数的功能及使用。 调用方法:调用方法: 函数名(参数列表)函数名(参数列表) 有参函数有参函数 函数名函数名 无参函数无参函数说明:说明: (1) 使用库函数要注意参数的个数及其参数的数据类型使用库函数要注意参数的个数及其参数的数据类型 (2) 要注意函数的定义域(自变量或参数的取值范围)要注意函数的定义域(自变量或参数的取值范围) 例如:例如: sqr(x) 要求:要求: x=0 (3) 要注意函数的值域。要注意函数的值域。 如:如:exp(23773) 的值就超出实数在计算机中的表示的值就超出实数在计算机中的表示 范围范围。3.5 3.5 常用内部函数常用内部函数 绝对值
49、:绝对值: Abs(N) Abs(N) e e为底的指数:为底的指数:Exp(N)Exp(N) 自然对数自然对数: Log(N): Log(N) 产生随机数产生随机数: Rnd(N: Rnd(N) ) 符号函数符号函数: Sgn(N: Sgn(N) ) 平方根平方根: Sqr(N: Sqr(N) ) 三角函数三角函数Sin(N)Sin(N)、Cos(NCos(N) )、Tan(N):Tan(N):其中的其中的N N必须是弧度值必须是弧度值|-5|- Abs(-5) |-5|- Abs(-5) e e3 3 -Exp(3)-Exp(3) Ln(8) Ln(8) - Log(8)- Log(8)
50、Rnd Rnd 产生一个产生一个0 01 1之间的小数之间的小数 求求3.53.5的符号的符号- Sgn(3.5)- Sgn(3.5)(返回(返回1)1) 求求9 9的平方根的平方根- Sqr(9)- Sqr(9)Sin(60Sin(60o o) -Sin() -Sin() ) 若要产生若要产生1-100的随机整数:的随机整数: Int(Rnd *100)+1 思考:怎样产生思考:怎样产生N,M区间的随机数?区间的随机数? 3.5 3.5 常用内部函数常用内部函数 求字符串长度求字符串长度: Len(C): Len(C) 取子串:取子串:Left(C,N) Left(C,N) Right(C,N) Right(C,N) Mid(C,n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多模态融合展示-洞察及研究
- 量子安全多方计算-第1篇-洞察及研究
- 安徽省阜阳市界首市2024-2025学年七年级下学期期末道德与法治试卷(含答案)
- 租赁市场增长驱动力-洞察及研究
- 状态演化风险评估-洞察及研究
- 辩证施护的课件
- 基于双碳目标的前向多翼单吸叶轮轻量化设计与材料表面改性协同路径探索
- 城市高空作业平台与无人机协同作业的空域管理与任务调度范式重构
- 国际标准互认体系构建与全球供应链协同优化
- 变频器能效标准迭代与设备全生命周期碳足迹核算矛盾
- 社区宣传工作知识培训课件
- 瑜伽相关知识培训课件
- 犬猫免疫知识培训内容课件
- 2025年中国移动式皮带输送机市场调查研究报告
- ETL开发规范流程与案例分析文档
- 2025至2030中国无机絮凝剂行业市场深度研究及发展前景投资可行性分析报告
- 医院信息科竞职报告
- 2025年成人高考大专试卷及答案
- 交通运输行业安全生产检查表模板
- 中成药合理使用培训课件
- 贷款熔断管理办法
评论
0/150
提交评论