【精品】visual basic程序设计基础(可编辑.ppt

上传人:1595****071 文档编号:86273642 上传时间:2023-04-14 格式:PPT 页数:117 大小:909KB
返回 下载 相关 举报
【精品】visual basic程序设计基础(可编辑.ppt_第1页
第1页 / 共117页
【精品】visual basic程序设计基础(可编辑.ppt_第2页
第2页 / 共117页
点击查看更多>>
资源描述

《【精品】visual basic程序设计基础(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】visual basic程序设计基础(可编辑.ppt(117页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Visual Basic程序设计基础本章主要内容本章主要内容&Visual Basic语言字符集及编码规则语言字符集及编码规则&数据类型数据类型&常量和变量常量和变量&运算符和表达式运算符和表达式&常用内部函数常用内部函数学习重点学习重点&清楚各种常用数据类型,掌握其表示以及各类数据清楚各种常用数据类型,掌握其表示以及各类数据在内存中的存放形式,了解自定义数据类型在内存中的存放形式,了解自定义数据类型&理解常量和变量的概念、掌握其定义和使用理解常量和变量的概念、掌握其定义和使用&掌握各类运算符、表达式和常用内部函数的功能和掌握各类运算符、表达式和常用内部函数的功能和使用方法使用方法4.1.1

2、Visual Basic语言字符集语言字符集&VB语言字符集与其他高级程序设计语言的字符集类语言字符集与其他高级程序设计语言的字符集类似,包含字母、数字和专用字符三大类,共计似,包含字母、数字和专用字符三大类,共计89个个字符:字符:字母:大写英文字母AZ;小写英文字母az数字:09专用字符:共计27个,见表4-1 4.1.2 编码规则(编码规则(1)&Visual Basic中的语句是执行具体操作的指令,中的语句是执行具体操作的指令,每每条语句以回车键结束条语句以回车键结束。在一般情况下,输入程序时。在一般情况下,输入程序时要求按行书写,要求按行书写,一行上书写一条语句,一句一行一行上书写一

3、条语句,一句一行。&Visual Basic允许使用复合语句行,即在允许使用复合语句行,即在同一行上同一行上书写多条语句,则各语句间必须用冒号书写多条语句,则各语句间必须用冒号“:”隔开隔开;注;注意:一个语句行的长度最多不能超过意:一个语句行的长度最多不能超过1023个字符,个字符,且在一行的实际文本之前最多只能有且在一行的实际文本之前最多只能有256个前导空格。个前导空格。&Visual Basic允许允许一条较长的语句分多行书写,但一条较长的语句分多行书写,但必须在续行的行末加入续行符必须在续行的行末加入续行符“_”(一个空格和下一个空格和下划线划线),表示下一行与该行属于同一个语句行;

4、一,表示下一行与该行属于同一个语句行;一个逻辑行最多只能有个逻辑行最多只能有25个后续行。个后续行。4.2 数数 据据 类类 型型&数值数据类型数值数据类型&字符数据类型字符数据类型String&逻辑数据类型逻辑数据类型Boolean&日期数据类型日期数据类型Date&对象数据类型对象数据类型Object&变体数据类型变体数据类型Variant注意点注意点&注注1:数据类型问题:数据类型问题选用什么类型什么类型满足数据的表示要求如何用最节约、最有效率最节约、最有效率的方法表示数据原则:能用占用较少字节的类型尽量使用占用字节较少的数据类型&注注2:对象属性类型:对象属性类型Width、Heigh

5、t、Top、Left属性取值为数值类型Caption、Text属性取值为字符串类型Visible、Enabled属性取值为布尔类型1Integer和和Long&用于保存带有符号的、不带小数点和指数符号的整用于保存带有符号的、不带小数点和指数符号的整数,存放整数的字节最高位是符号位。整数运算速数,存放整数的字节最高位是符号位。整数运算速度快、精确,但表示数的范围小。度快、精确,但表示数的范围小。&整数的表示形式为整数的表示形式为n%或或 n&Integer型整数能表示型整数能表示-32768+32767范围内的整范围内的整数,数,%是是Integer整型的类型说明符,可省略整型的类型说明符,可省

6、略&Long型整数能表示型整数能表示-2147483648,2147483647范范围内的整数,围内的整数,&是是Long长整型的类型说明符。长整型的类型说明符。356、+356、-356、356%合法Integer型常量35689、-1246978、356&合法Long型常量2Single、Double&用于保存浮点实数(带有小数部分的数值),浮点用于保存浮点实数(带有小数部分的数值),浮点实数表示数的范围大,但有误差,且运算速度慢。实数表示数的范围大,但有误差,且运算速度慢。&单精度浮点数精度为单精度浮点数精度为7位,双精度浮点数精度为位,双精度浮点数精度为1516位。位。&单精度型和双精

7、度型常量有两种表示形式,即单精度型和双精度型常量有两种表示形式,即小数小数形式和形式和指数指数形式。形式。指数形式由符号符号、指数指数和尾数尾数3部分组成单精度浮点数和双精度浮点数的指数指数分别用“E”(或“e”)和“D”(或“d”)来表示,含义为“乘以乘以10的幂次的幂次”。2Single、Double&单精度型表达形式:单精度型表达形式:n!、nEm、n.nEm&双精度型表达形式:双精度型表达形式:n.n、n#、nDm、n.nDm其中,其中,n、m是无符号整数是无符号整数-2.15!、0.123!、0.34625E+3、2.34E8、123.4E-3表示合法的单精度数-346.25、123

8、4567.89、90.3#、3D10、1.2D-6、0.34625E+3#表示合法的双精度数2Single、Double&单精度型和双精度型常量的小数形式若超出有效位单精度型和双精度型常量的小数形式若超出有效位数,进行小数部分的截取;若整数部分超出有效位数,进行小数部分的截取;若整数部分超出有效位数,自动转为指数形式表示。数,自动转为指数形式表示。&当幂为正数时,正号可以省略当幂为正数时,正号可以省略2.34E8等价于2.34E+83D10等价于3D+10&同一个实数有多种表示形式同一个实数有多种表示形式-346.25可以表示为-3.4625D+2、-0.34625D+3、-34.625D+1

9、、-3462.5D-1、-34625.D-2等一般将-3.4625D+2称为“规格化指数形式”&默认情况的默认情况的直接实型常数都是双精度类型直接实型常数都是双精度类型-346.25与-346.25#是等价的双精度类型常数。3Currency&货币数据类型是为表示钱款而设置的,是定点实数货币数据类型是为表示钱款而设置的,是定点实数或整数,精确到或整数,精确到小数点后小数点后4位位和和小数点前小数点前15位位,用于,用于货币运算。货币运算。&表示形式在数字后加表示形式在数字后加符号符号-346.25、2346、0.1234都是合法的货币数据形式。4Byte&字节实际上是一种数值类型,以字节实际上

10、是一种数值类型,以1个字节的无符号二个字节的无符号二进制数存储。进制数存储。说明说明&不同类型的数据取值的范围、所适应的运算不同,不同类型的数据取值的范围、所适应的运算不同,在内存中所分配的存储单元数目也不同,因此正确在内存中所分配的存储单元数目也不同,因此正确地区分和使用不同的数据类型,不仅可满足处理问地区分和使用不同的数据类型,不仅可满足处理问题表示数据的要求,而且可使程序运行时占用较少题表示数据的要求,而且可使程序运行时占用较少的内存,确保程序运行的正确性和可靠性的内存,确保程序运行的正确性和可靠性&Visual Basic规定在数值型常数后加类型说明符可规定在数值型常数后加类型说明符可

11、以改变数据的类型,从而改变数据在内存中的存储以改变数据的类型,从而改变数据在内存中的存储空间大小。空间大小。3456%、3456&、3456!(或0.3456E+4)、3456#(或3456.0、0.3456D+4、0.3456E+4#)、3456都表示与3456同值的数据,但是类型不同在计算机内存中所占用的空间不同。4.2.2 字符数据类型字符数据类型String&字符串是字符序列,由西文字符、汉字和标点符号字符串是字符序列,由西文字符、汉字和标点符号组成,在组成,在VB中字符串常量两端用中字符串常量两端用双引号双引号 括起括起456VB程序设计“01/02/2008,PM-12:30:24

12、&说明:说明:(1)是长度为0(既不含任何字符)的字符串,称为空字符串(或空串空串)。(2)若字符串中有双引号,可用连续的两个双引号表示字符串中的,示例如下:v学习VB课程 表示字符串:学习VB课程(3)Visual Basic中的字符串变量有定长和变长两种,在定义时是有区别的。4.2.3 逻辑数据类型逻辑数据类型Boolean&逻辑数据类型又称布尔类型,用于逻辑判断,只有逻辑数据类型又称布尔类型,用于逻辑判断,只有True和和False两种取值,描述两种取值,描述“真真/假假”、“对对/错错”、“是是/否否”、“开开/关关”等两种状态信息。等两种状态信息。&Enabled、Visible、F

13、ontBold等就是取值为等就是取值为True或或False的逻辑型属性,因此常常与条件判断语句配合,的逻辑型属性,因此常常与条件判断语句配合,获取对象的状态信息。获取对象的状态信息。4.2.4 日期数据类型日期数据类型Date&日期型数据以日期型数据以8个字节的浮点数值表示,可以表示的个字节的浮点数值表示,可以表示的日期范围为公元日期范围为公元100年年1月月1日日9999年年12月月31日,时日,时间范围为间范围为0:00:0023:59:59。&日期型数据的两种表示法:日期型数据的两种表示法:任何在字面上表示日期和时间的字符,两端用“#”括起来v#3/8/2008#v#3-8-2008#

14、v#March 8 2008#v#2008-3-8 20:20:20 PM#数值表示:数值的整数部分表示距离1899年12月30日的天数,小数部分表示时间,0为午夜,0.5为中午12点,负数负数代表的是1899年年12月月31日日之前的日期和时间。4.2.5 对象数据类型对象数据类型Object&对象型数据用来表示图形、对象型数据用来表示图形、OLE对象或其他对象,对象或其他对象,也可以使用对象型数据的属性和方法。也可以使用对象型数据的属性和方法。4.2.6 变体数据类型变体数据类型Variant&变体数据类型是一种可变的数据类型,可以表示任变体数据类型是一种可变的数据类型,可以表示任何值,包

15、括数值、字符串、日期何值,包括数值、字符串、日期/时间等。变量如果时间等。变量如果不加类型说明,系统默认为变体型(不加类型说明,系统默认为变体型(Variant),可),可使用使用VarType函数检测变体型变量中保存的数值究竟函数检测变体型变量中保存的数值究竟是何类型。是何类型。&Variant类型的变量还可以包含类型的变量还可以包含Empty(未赋值)、(未赋值)、Null(未知或缺少的值,常见于数据库)和(未知或缺少的值,常见于数据库)和Error(出现错误时的值)(出现错误时的值)3个特殊值,可以使用个特殊值,可以使用IsEmpty函数来测试一个函数来测试一个Variant变量是否被赋

16、过值,使用变量是否被赋过值,使用IsNull函数来测试一个函数来测试一个Variant变量是否具有变量是否具有Null值。值。4.3 常量和变量常量和变量&4.3.1 数据的存储数据的存储程序运行时,使用的各种类型数据都是存放在内存单元中,并且给内存单元取名,计算机就是通过内存单元名来访问其中的数据。内存中的存储单元分为静态存储区和动态存储区。静态存储区中的存储单元一旦分配,要到应用程序结束时才释放空间;动态存储区中的单元则可以在应用程序执行中释放,数据也可以被多次更新。VB中数据都有常量常量和变量变量形式。常量是存放在静态存储区的常量区中的数据。常量区一旦放入数据就不允许用户修改,即常量常量

17、在程序执行期间,其值是不发生变化其值是不发生变化的,直到数据单元被释放。变量是存储单元的代号,对应于存放在动态存储区的单元或静态存储区的非常量区;程序执行过程中,使用变量来暂时存放程序中有用的数据,变量变量的内内容可以允许多次更新容可以允许多次更新(存入新的数据)。4.3.2 常量常量&根据表示形式可以将常量分为根据表示形式可以将常量分为直接常量直接常量和和符号常量符号常量&1直接常量(字面常量)直接常量(字面常量)直接常量可从形式上判断其类型和大小v#3/8/2008#为日期型常量v230.0为Double型常量vasdf、230.0为字符串常量可以在常量值后加类型说明符(%、&、!、#、)

18、来说明常数的数据类型v345%为Integer类型常量在VB中的整型常量中,默认是用十进制表示的数值v八进制常数在数值前加&O,如&O567,&O777等v十六进制常数在数值前加&H,如&H189,&HFFFF等。VB中的颜色数据常用十六进制整数表示,如&H0000FF00表示绿色。2符号常量符号常量&Visual Basic中的符号常量分为用户自定义符号常中的符号常量分为用户自定义符号常量和系统符号常量。量和系统符号常量。&Const语句语句用户自定义用户自定义符号常量符号常量来代替指定的值来代替指定的值格式:格式:Private|Public Const 常量名常量名 As 类型名类型名=

19、表达式表达式Const PI As Double=3.1415926535 声明PI为双精度符号常量,值为3.1415926535Const NATIONALDAY As Date=#10/1/1949#声明NATIONALDAY为日期常量,值为1949年10月1日Const a As Integer=5,b As Double=12.5 一句语句中定义多个常量,中间用逗号隔开Const语句格式说明语句格式说明&常量名的命名遵循常量名的命名遵循Visual Basic标识符的命名规标识符的命名规则,符号常量名常常使用大写字母。则,符号常量名常常使用大写字母。&As类型名:说明该符号常量的数据类

20、型,若缺省,类型名:说明该符号常量的数据类型,若缺省,则由其右侧表达式的数据类型决定常量类型。则由其右侧表达式的数据类型决定常量类型。&用户也可以在常量名后加类型说明符,定义该常用户也可以在常量名后加类型说明符,定义该常量的类型量的类型Const PI#=3.1415926535 声明PI为双精度双精度符号常量,值为3.1415926535&表达式可以由运算符、常量(直接常量和已定义表达式可以由运算符、常量(直接常量和已定义的符号常量)组成,必须具有一个确定的值;注意,的符号常量)组成,必须具有一个确定的值;注意,该表达式中绝对不允许使用变量、函数。该表达式中绝对不允许使用变量、函数。Cons

21、t TAXMIN!=0.05Const TAXMAX!=10*TAXMINConst语句格式说明语句格式说明&Public选项只能用在标准模块的通用部分,表示选项只能用在标准模块的通用部分,表示该符号常量可以在整个应用程序中使用,该符号常量可以在整个应用程序中使用,Private选选项则可用在模块(包括窗体模块和标准模块)的通项则可用在模块(包括窗体模块和标准模块)的通用部分,表示该符号常量可以在该模块范围内使用。用部分,表示该符号常量可以在该模块范围内使用。默认情况为默认情况为Private。&符号常量一旦声明,在之后的代码中只能引用,符号常量一旦声明,在之后的代码中只能引用,不能再次定义或

22、赋值。不能再次定义或赋值。(2)系统符号常量)系统符号常量&VB系统本身提供了一些符号常量,存放于系统的对系统本身提供了一些符号常量,存放于系统的对象库中。如象库中。如vbOK、vbRed、vbYes等,用户可以在等,用户可以在“对象浏览器对象浏览器”中查看中查看&Visual Basic for Applications(VBA)、)、ActiveX控件、控件、Microsoft Excel和和Microsoft Project等提供等提供对象库的应用程序也提供了符号常量,这些符号常对象库的应用程序也提供了符号常量,这些符号常量可与应用程序的对象、方法和属性一起使用量可与应用程序的对象、方法

23、和属性一起使用&为避免不同对象中同名变量的混淆,在引用时使用为避免不同对象中同名变量的混淆,在引用时使用2个小写字母前缀,区分引用哪个对象库中符号常量个小写字母前缀,区分引用哪个对象库中符号常量vb表示引用VB和VBA中的符号常量xl表示引用Excel中的符号常量db表示引用Data Access Object中的符号常量(2)系统符号常量)系统符号常量&在使用时既可以使用系统符号常量,也可以直接使在使用时既可以使用系统符号常量,也可以直接使用系统符号常量对应的数值。用系统符号常量对应的数值。Form1.BackColor=vbRedForm1.BackColor=255Form1.BackC

24、olor=&HFF以上3条语句执行时都能将窗体的背景色更新为红色,显然使用系统符号常量vbRed,程序代码的可读性更强。4.3.3 变量变量&在程序运行过程中,内存单元中数据值可以改变的在程序运行过程中,内存单元中数据值可以改变的称为变量。一个变量必须有一个名字和相应的数据称为变量。一个变量必须有一个名字和相应的数据类型,通过名字来引用一个变量,而数据类型则决类型,通过名字来引用一个变量,而数据类型则决定了该变量的存储方式和在内存中占据存储单元的定了该变量的存储方式和在内存中占据存储单元的大小大小&变量名实际上是一个符号地址,程序编译连接时,变量名实际上是一个符号地址,程序编译连接时,由系统给

25、每一个变量分配一个内存地址,在该地址由系统给每一个变量分配一个内存地址,在该地址的存储单元中存放变量的值。在程序中从变量中取的存储单元中存放变量的值。在程序中从变量中取值,实际上是通过变量名找到相应的内存地址,从值,实际上是通过变量名找到相应的内存地址,从其存储单元中取数据。注意变量名和变量值这两个其存储单元中取数据。注意变量名和变量值这两个概念的区别。概念的区别。4.3.3 变量变量&在在Visual Basic中,变量有两种形式,即对象的中,变量有两种形式,即对象的属属性变量性变量和和内存变量内存变量&创建对象时,创建对象时,Visual Basic系统会自动为它创建一系统会自动为它创建一

26、组变量即属性变量,并为每一个属性变量设置其默组变量即属性变量,并为每一个属性变量设置其默认值。这类变量可供程序员直接使用,如引用其值认值。这类变量可供程序员直接使用,如引用其值或赋予新值或赋予新值&本章讨论的是本章讨论的是内存变量内存变量,它是用户根据需要所声明,它是用户根据需要所声明的。的。1变量的声明(显式声明)变量的声明(显式声明)&与符号常量一样,要求变量与符号常量一样,要求变量“先声明,后使用先声明,后使用”。声。声明变量就是定义变量名和变量数据类型,从而决定明变量就是定义变量名和变量数据类型,从而决定系统为它分配多少存储单元存放数据。系统为它分配多少存储单元存放数据。&(1)在定义

27、变量时指定其数据类型)在定义变量时指定其数据类型格式:格式:Declare 变量名变量名 As 类型名类型名&说明:说明:Declare可以是Dim、Public、Private、Static Dim用于在模块的通用部分定义模块级变量以及在过程中定义过程级变量。Private用于在模块的通用部分定义模块级变量。Public用于在模块的通用部分定义全局变量。Static用于过程中定义过程级静态变量。(1)在定义变量时指定其数据类型)在定义变量时指定其数据类型&说明:说明:仅在某个过程中使用的变量,就在该过程中用Dim声明定义,若要在多个过程中使用公共变量,则必须在模块的通用部分用Dim、Priv

28、ate、Public声明定义此变量 变量名遵循Visual Basic标识符的命名规则。命名时应尽量有意义,做到“顾名思义”。vSum、Ave_Score、PersonId是合法的变量名可在变量名前加一个缩写的前缀来表明该变量的数据类型vintSum、sngAveScore、strPersonId As类型名:类型名可以是基本数据类型和用户定义的类型,也可以省略,省略后变量为默认数据类型(默认情况下为变体型),但变体型占用内存空间较多,执行效率低vPublic a As Integer 定义一个Integer型全局变量avDim d 定义一个变体型变量d,等价Dim d As Variant(

29、1)在定义变量时指定其数据类型)在定义变量时指定其数据类型&说明:说明:定义字符串类型的变量:Dim 字符串变量名 As String 变长字符串变量Dim 字符串变量名 As String*字符数 定长字符串变量v定长字符串变量的长度,由*号后面的字符数决定,若赋予变量的字符数少于指定的字符数,则尾部用空格补足;若超过指定的字符数,系统自动截去尾部超出部分的字符。vDim strExpress1 As String 定义变长字符串变量strExpress1vDim strId As String*8 定义定长字符串变量strId存放8个字符 一条声明语句可将多个声明组合起来,在这种格式下,即

30、使几个变量的类型一致,也必须分别用“As 类型名”声明各自的类型。vDim YourName As String*20,BillsPaid As CurrencyvDim i As Long,j As LongvPrivate a,b,c As Integer 这里a和b为Varient型,c为Integer型(2)用类型说明符定义变量)用类型说明符定义变量&对于具有类型说明符的数据类型,采用简单格式定对于具有类型说明符的数据类型,采用简单格式定义变量:义变量:Declare 变量名变量名类型说明符类型说明符&说明说明:Declare可以是Dim、Public、Private、Static中的

31、任意关键字 基本类型的类型说明符(%、&、!、#、)在表4-2类型说明符列中列举出 变量名与类型说明符之间没有空格vDim i&,J#,K!定义长整型变量i,双精度变量J,单精度变量K2变量的默认声明(隐式声明)变量的默认声明(隐式声明)&Visual Basic系统允许用户不作声明而直接使用变系统允许用户不作声明而直接使用变量,这样的变量是过程级的变体型变量,只能在过量,这样的变量是过程级的变体型变量,只能在过程中使用。程中使用。J以下事件过程中的变量以下事件过程中的变量a未经声明定义未经声明定义Private Sub Form_Click()a=Val(Text1.Text)Print a

32、End SubE代码等价于代码等价于 Private Sub Form_Click()Dim a As Variant a=Val(Text1.Text)Print aEnd Sub3 Option Explicit强制显式声明强制显式声明&Visual Basic系统提供了强制用户对变量进行强制系统提供了强制用户对变量进行强制显式声明的措施:显式声明的措施:在模块代码窗口的通用部分开头直接输入Option Explicit语句语句执行“工具工具”菜单的菜单的“选项选项”命令命令,在“编辑器”选项卡中,选中“要求变量声明要求变量声明”复选框,Visual Basic系统就自动生成语句Optio

33、n Explicit,并加到模块的声明部分&通过对变量进行强制显式声明,凡是发现程序中使通过对变量进行强制显式声明,凡是发现程序中使用未经显式声明的变量,系统将自动显示一个用未经显式声明的变量,系统将自动显示一个“变量变量未定义未定义”错误警告信息框。错误警告信息框。4变量默认数据类型的设置变量默认数据类型的设置&VB系统允许用户在声明变量前,自行设置或修改变系统允许用户在声明变量前,自行设置或修改变量默认的数据类型。量默认的数据类型。&格式:格式:DefType 字母范围字母范围&说明说明:(1)DefType语句放在模块声明部分的开头,设置指定字母范围开头的变量的默认数据类型(2)Def是

34、系统关键字,Type是基本数据类型标志是基本数据类型标志,用以下格式分别表示各基本类型:Byte、Int、Lng、Sng、Dbl、Cur、Str、Bool、Date、Obj、Var。注意,在Def和类型标志之间不能有空格(3)字母范围采用“字母-字母”的形式表示,其中字母可以是AZ中的任何一个(大小写均可)。语句中说明的字母可以作为该类型的变量名,而且以该字母开头的变量名也是那种类型的变量。4变量默认数据类型的设置变量默认数据类型的设置&说明说明:(4)DefType语句不允许重复定义例1vDefSng C-F 该语句定义后,CF以及凡是用CF开头命名的变量默认类型是单精度型vDim a As

35、 Integer,b,c As Double,d,f 定义a为整型变量,b为变体型变量,c为双精度型变量,d和f均为单精度型变量例2:若要将模块中的变量的默认类型全部设置为单精度型,可以在模块的通用部分按如下方法定义vDefSng A-ZvDim a As Integer,b,c As Double,d,f 定义a为整型变量,c为双精度型变量,b、d和f均为单精度型变量5变量的赋值变量的赋值&给变量赋值实际就是将数据放入指定变量的内存空给变量赋值实际就是将数据放入指定变量的内存空间。使用声明语句定义一个变量后,间。使用声明语句定义一个变量后,Visual Basic系系统会自动给变量赋予一个默

36、认的初始值。统会自动给变量赋予一个默认的初始值。(1)数值数值类型变量的初值为0(2)字符串字符串型变量的初值为空串空串(“”)(3)布尔布尔类型变量的初值为False(4)日期日期类型变量的初值为#1899-12-30 0:00:00#(5)变体变体类型变量的初值为Empty赋值语句赋值语句&格式:格式:变量名变量名=表达式表达式Let 变量名变量名=表达式表达式&作用:将赋值运算符作用:将赋值运算符“=”右侧表达式的值赋给左侧的右侧表达式的值赋给左侧的变量。变量。&说明说明:(1)两种格式完全等价,通常采用第采用第1种格式种格式(2)左侧的变量包括属性变量和内存变量(3)表达式包括常量(直

37、接常量和已定义的符号常量)、变量、对象属性、函数形式以及由它们与运算符的组合形式。赋值注意以下问题赋值注意以下问题&(1)给变量赋值的语句兼有计算和赋值双重功能,)给变量赋值的语句兼有计算和赋值双重功能,即即先先完成赋值号完成赋值号右侧表达式的计算右侧表达式的计算,然,然后后将计算好将计算好的表达式的值的表达式的值赋给左侧的变量赋给左侧的变量。a=12.4+56.12先计算右侧表达式,后将计算结果赋给左侧变量a&(2)在某一个时刻,变量的内存单元只能存放一个)在某一个时刻,变量的内存单元只能存放一个数据,要修改数据则采用赋值的方法实现。注意,数据,要修改数据则采用赋值的方法实现。注意,变量总是

38、按语句执行次序,存放最近一次赋值的数变量总是按语句执行次序,存放最近一次赋值的数据。据。赋值注意以下问题赋值注意以下问题&(3)一般要求赋值号两边的数据类型一致,这样才)一般要求赋值号两边的数据类型一致,这样才能完成正确的赋值,即赋值号左侧的数据一般情况能完成正确的赋值,即赋值号左侧的数据一般情况下只能接收与它类型相同的表达式的值。当赋值时下只能接收与它类型相同的表达式的值。当赋值时表达式的值的类型并不完全和变量类型相同时,系表达式的值的类型并不完全和变量类型相同时,系统根据自动转换的原则将值转换成与变量相同的类统根据自动转换的原则将值转换成与变量相同的类型后赋值,一旦自动转换失败,则赋值也失

39、败,系型后赋值,一旦自动转换失败,则赋值也失败,系统出错统出错赋值注意以下问题赋值注意以下问题&(4)Variant数据类型可在不同场合代表不同数据数据类型可在不同场合代表不同数据类型。当指定变量为类型。当指定变量为Variant变量时,变量时,Visual Basic会自动完成各种必要的类型转换。会自动完成各种必要的类型转换。&(5)区分赋值号和关系运算符中的判等号。在)区分赋值号和关系运算符中的判等号。在Visual Basic中,系统会根据等号所处的位置来区分中,系统会根据等号所处的位置来区分是赋值号还是判等号:仅在赋值语句最左端的等号是赋值号还是判等号:仅在赋值语句最左端的等号是赋值号

40、,其余的均为判等号。判等号所在的表达是赋值号,其余的均为判等号。判等号所在的表达式一般不能单独以语句的形式出现,而赋值号则是式一般不能单独以语句的形式出现,而赋值号则是以赋值语句形式出现;赋值号两边的数据是不能随以赋值语句形式出现;赋值号两边的数据是不能随便相互交换的,否则可能运行出错或产生逻辑上的便相互交换的,否则可能运行出错或产生逻辑上的错误,而判等号两边的数据是可以相互交换的。错误,而判等号两边的数据是可以相互交换的。4.4 运算符和表达式运算符和表达式&碰到具体问题时,不光是要表示待处理的数据,而碰到具体问题时,不光是要表示待处理的数据,而且还要运用有效的方案处理数据、解决问题。例如,

41、且还要运用有效的方案处理数据、解决问题。例如,已知三边,求三角形的面积。与数学中一样,计算已知三边,求三角形的面积。与数学中一样,计算机语言中,对数据的加工处理称为运算(即操作);机语言中,对数据的加工处理称为运算(即操作);被运算的对象,即数据,称为操作数(或运算量);被运算的对象,即数据,称为操作数(或运算量);用运算符或操作符来描述最基本的运算形式。因此用运算符或操作符来描述最基本的运算形式。因此合理地运用运算符描述对哪些数据、以何种顺序、合理地运用运算符描述对哪些数据、以何种顺序、进行什么样的操作,是本节学习的关键。进行什么样的操作,是本节学习的关键。&Visual Basic中定义了

42、丰富的运算符,包括算术运中定义了丰富的运算符,包括算术运算符、字符串运算符、关系运算符和逻辑运算符和算符、字符串运算符、关系运算符和逻辑运算符和对应的表达式。对应的表达式。4.4.1 算术运算符和表达式算术运算符和表达式&1算术运算符算术运算符+加加 -减减(负号负号)*乘乘 /除除 整除(取商的整数部分、要求操作数为整型数据)Mod 取余运算取余运算(要求操作数为整型数据要求操作数为整型数据)乘方运算符乘方运算符&字符串连接运算字符串连接运算4.4.1 算术运算符算术运算符幂运算幂运算&用来计算乘方和方根用来计算乘方和方根5 2 5的平方5 3 5的立方,即5*5*5,结果为1255 -3

43、5的立方的倒数,即1/125,结果为0.00825 0.5 25的平方根,结果为5125 (1/3)125的立方根&注意,由于幂运算的运算优先级最高,当指数部分注意,由于幂运算的运算优先级最高,当指数部分是一个表达式,必须加上括号,否则上述表达式是一个表达式,必须加上括号,否则上述表达式125 1/3,将先完成,将先完成125 1运算,后进行除运算,后进行除3运算,即运算,即改变了原运算顺序。改变了原运算顺序。4.4.1 算术运算符算术运算符整除和取余运算整除和取余运算&整除(整除()运算是整数之间的除运算,其结果是)运算是整数之间的除运算,其结果是商的商的整数部分整数部分(即普通除运算结果的

44、整数部分),所以(即普通除运算结果的整数部分),所以又称为商取整除法又称为商取整除法8 5 8整除5,结果为1&取余(取余(Mod)运算是整数之间的取余运算,结果为)运算是整数之间的取余运算,结果为第第1个操作数整除第个操作数整除第2个操作数后所得的个操作数后所得的余数部分余数部分。取余运算结果的正负号始终与第一个操作数的符号取余运算结果的正负号始终与第一个操作数的符号相同相同8 Mod 5 结果为38 Mod 5 结果为3-8 Mod 5 结果为-3-8 Mod 5 结果为-3算术运算符注意问题算术运算符注意问题&(1)算术运算符要求参与运算的操作数是数值型,)算术运算符要求参与运算的操作数

45、是数值型,运算结果也是数值型;若操作数是表示数值的字符运算结果也是数值型;若操作数是表示数值的字符串或逻辑型,则按自动转换的原则转换成数值类型串或逻辑型,则按自动转换的原则转换成数值类型后参与运算。后参与运算。2*“3.14”*3数值字符串3.14“转换为3.14参与算术运算,结果是18.84“3D2”+20 5数值字符串3D2“转换为300.0参与算术运算,结果是315.0False+10 True逻辑值False转换为0、True转换为-1参与算术运算,结果是11算术运算符注意问题算术运算符注意问题&(2)除(取相反数)为单目运算符外,其余的算术)除(取相反数)为单目运算符外,其余的算术运

46、算符均为双目运算符。运算符均为双目运算符。&(3)在算术运算中若操作数的数据类型相同,则运)在算术运算中若操作数的数据类型相同,则运算结果的数据类型也为该类型;若数据类型不一致,算结果的数据类型也为该类型;若数据类型不一致,具有不同的数据精度,则具有不同的数据精度,则Visual Basic根据精度大小根据精度大小(数值型数据按精度大小从小到大排序为(数值型数据按精度大小从小到大排序为IntegerLongSingleDoubleCurrency),将精),将精度低的数据转换成精度高的数据类型后进行运算,度低的数据转换成精度高的数据类型后进行运算,规定运算结果的数据类型以精度高的数据类型为准规

47、定运算结果的数据类型以精度高的数据类型为准256+890 加号两侧操作数均为Integer型,运算结果也是Integer型483*12.3!乘号左侧操作数为Integer型,右侧为Single型,运算结果以精度高的Single型为准算术运算符特例算术运算符特例&当当Long型数据与型数据与Single型数据运算时,结果为型数据运算时,结果为Double型数据型数据&除法和幂运算的结果总是除法和幂运算的结果总是Double型,与操作数类型,与操作数类型无关型无关&整除(整除()和取余()和取余(Mod)运算时,若操作数为实)运算时,若操作数为实数,则先对其进行四舍六入五成双的取整,然后完数,则先

48、对其进行四舍六入五成双的取整,然后完成整除或取余,结果仍为整型或长整型成整除或取余,结果仍为整型或长整型4 3幂运算的结果是Double型8.5 5.56先将操作数8.5和5.56进行四舍六入五成双的取整,分别得到8和6,整除结果是18.5 Mod 5.56先将操作数8.5和5.56进行取整,分别得到8和6,取余结果是22算术表达式算术表达式&由算术运算符、圆括号、函数、常量和变量组成的由算术运算符、圆括号、函数、常量和变量组成的式子称为算术表达式,算术表达式的值是数值型的。式子称为算术表达式,算术表达式的值是数值型的。0.5*g*t 2+v0*t(x%Mod 10)*10+x%10&算术表达

49、式的值是有类型的,所以也存在着值的溢算术表达式的值是有类型的,所以也存在着值的溢出(超出取值范围)现象,运算时要注意。出(超出取值范围)现象,运算时要注意。235+32760 出错“溢出”,表达式的值也是Integer型,32995超出了整型数据的范围&提醒:在合理选择数据类型描述数据时,不仅要从提醒:在合理选择数据类型描述数据时,不仅要从描述数据目前的值考虑,还要从它参与的运算角度、描述数据目前的值考虑,还要从它参与的运算角度、运算结果等方面考虑运算结果等方面考虑 3日期型表达式日期型表达式&日期型数据是一种特殊的数值型数据,它们之间只日期型数据是一种特殊的数值型数据,它们之间只能进行加(能

50、进行加(+)、减()、减()算术运算。日期型表达式)算术运算。日期型表达式由算术运算符由算术运算符“+”、“”、算术表达式、日期型常量、算术表达式、日期型常量和变量、函数组成。一般有以下和变量、函数组成。一般有以下3种情况:种情况:(1)两个日期型数据进行减法运算,结果是一个数值型数据(两个日期相差的天数)。#05/09/2008#-#05/01/2008#表达式值为8(2)一个日期型数据与一数值型数据进行加法运算,结果是一个日期型数据。#05/01/2008#+8值为日期型数据#05/09/2008#(3)一个日期型数据与一数值型数据进行减法运算,结果是一个日期型数据。#05/09/2008

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁