好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第二章vb程序设计基础.ppt

94页
  • 卖家[上传人]:ni****g
  • 文档编号:571379101
  • 上传时间:2024-08-10
  • 文档格式:PPT
  • 文档大小:833.50KB
  • / 94 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第二章第二章 vb程序设计基程序设计基础础 2.1 基本数据类型基本数据类型ØVisual BasicVisual Basic定义了多种数据类型,每种定义了多种数据类型,每种类型的数据占用一定数量的存储空间,表类型的数据占用一定数量的存储空间,表示的值也有一定的范围示的值也有一定的范围 ØVisual Basic Visual Basic 的基本数据类型依次为:的基本数据类型依次为:数值型数值型字符型字符型 逻辑型逻辑型 日期型日期型 2.1.1 2.1.1 数值型数值型 1..Integer(整型)(整型) IntegerInteger类类型型的的数数据据不不带带小小数数部部分分,,它它可可以以是是正正整整数数、、负负整整数数或或者者0 0整整型型数数据据在在计计算算机机中中占占用用2 2个个字字节节((1616位位))的的内内存存空空间间,,可可表表示示的的数数值值范范围围用用十十进进制制表表示示是是 --32768 32768 ~~ ++32767 32767 2..Long(长整型)(长整型) LongLong类类型型的的数数据据在在计计算算机机中中占占用用4 4个个字字节节((3232位位))存存储储空空间间,,可可表表示示的的数数值值范范围围用用十十进进制制表表示是示是: : --21474836482147483648~+~+21474836472147483647 3..Single((单精度型单精度型))Ø单单精精度度型型数数据据表表示示带带有有小小数数的的实实数数,,在在计计算算机机中中占占用用4个个字字节节的的存存储储空空间间,,可表示的正数范围可表示的正数范围:1.401298×10--45~~3.402823×1038 可表示的负数范围可表示的负数范围:--3.402823×1038~-~-1.401298×10--45 4..Double((双精度型双精度型))双双精精度度型型数数据据在在计计算算机机中中每每个个双双精精度度型型数数据据占占用用8个个字字节节((64位位))的的存储空间,可表示的正数范围存储空间,可表示的正数范围: 4.94065645841247×10--324 ~~1.79769313486232×10308 可表示的负数范围是可表示的负数范围是: --1.79769313486232×10308 ~-~-4.94065645841247×10--324 5..Currency((货币型货币型))ØCurrency类类型型的的数数据据是是专专门门为为表表示示货货币币值值而而设设置置的的数数据据类类型型,,它它占占用用8个个字字节节((64位位))的的存存储储空空间间,,是是一一种种特特殊殊的的实实数数,,表表示示的的数数可可以以有有15位位整整数数和和4位位小小数,取值范围为数,取值范围为: --922337203685477.5808 ~+~+922337203685477.5807 6..Byte((字节型字节型)) Byte型数据只占用型数据只占用1个字个字节(节(8位)的存储空间,用位)的存储空间,用来表示无符号数,即表示来表示无符号数,即表示非负数,表示的范围是非负数,表示的范围是 0~~255 2.1.2 String(字符串)型(字符串)型Ø字符串字符串是指用是指用双引号双引号括起来括起来的字符序列。

      字符串数据一的字符序列字符串数据一般用于在屏幕或打印机上输般用于在屏幕或打印机上输出字符或字符串一个西文出字符或字符串一个西文字符占用字符占用1 1个字节的存储空个字节的存储空间,一个汉字或全角字符占间,一个汉字或全角字符占2 2个字节的存储空间个字节的存储空间 Ø字符串型字符串型数据分为数据分为变长字变长字符串型符串型和和定长字符串型定长字符串型定长字符串型数据包含的定长字符串型数据包含的字符个数是一定的,变长字符个数是一定的,变长字符串型数据包含的字符字符串型数据包含的字符个数是可变的个数是可变的 2.1.3 Boolean(逻辑、布尔)型(逻辑、布尔)型 ØBoolean Boolean 类型的数据只有两类型的数据只有两个值:个值:TrueTrue((逻辑真)和逻辑真)和FalseFalse((逻辑假),用来表示逻辑假),用来表示逻辑判断的结果逻辑型数逻辑判断的结果逻辑型数据要占用据要占用2 2个字节的存储空间个字节的存储空间 2.1.4 Date(日期时间)型(日期时间)型 ØDateDate类型类型数据占用数据占用8 8个字节的内存个字节的内存空间,存放日期和时间信息。

      空间,存放日期和时间信息Ø除了以上这些数据类型之外,除了以上这些数据类型之外,VBVB的基本数据类型还包括的基本数据类型还包括 ObjectObject((对象)型和对象)型和VariantVariant((可变)型,可变)型,详细内容将在详细内容将在 “ “2.2 2.2 常量与变量常量与变量””中讲解 2.2 常量与变量常量与变量 常量常量是指在程序运行过程中其值是指在程序运行过程中其值始终保持不变的量在始终保持不变的量在VB VB 中,中,常量分为两种,一种是常量分为两种,一种是直接常量直接常量,,另一种是另一种是符号常量符号常量直接常量直接常量即即是基本数据类型中的数据本身,是基本数据类型中的数据本身,符号常量符号常量则是用标识符代表常量则是用标识符代表常量值 与与VB VB 的基本数据类型相对应,的基本数据类型相对应,直接常量和符号常量可分为直接常量和符号常量可分为整型常量、整型常量、长整型常量长整型常量、、单单精度型常量精度型常量、、双精度型常量双精度型常量、、货币型常量货币型常量、、字节型常量字节型常量、、字符串型常量字符串型常量和和日期时间型日期时间型常量常量。

      2.2.1 直接常量直接常量 1.整型、长整型和字节型常量.整型、长整型和字节型常量 以上三种数据类型的直接常量既可以以上三种数据类型的直接常量既可以用通常的十进制数表示,也可以用八用通常的十进制数表示,也可以用八进制数和十六进制数表示进制数和十六进制数表示 ⑴⑴十进制表示十进制表示 整型、长整型和字节型常量的十进制整型、长整型和字节型常量的十进制表示与平时的书写方法相同,正号可表示与平时的书写方法相同,正号可以省略如:以省略如:-22-22,,0 0,,2222,,-12345 -12345 100&100& ⑵⑵八进制表示八进制表示 以以““&O&O””(字母(字母O O)开头,后面是由)开头,后面是由0 0~~7 7组成的八进制数如果要表示长组成的八进制数如果要表示长整型数,末尾要加一个整型数,末尾要加一个““& &””符号如:如:&O&O1515,,&O&O770770,,&O&O176340176340 ⑶⑶十六进制表示十六进制表示 以以““&H&H””开头,后面接由开头,后面接由O O~~F F组成的组成的十六进制数如果要表示长整型,末十六进制数。

      如果要表示长整型,末尾要加尾要加“&”“&”符号如&H&H1010,,&H&HFEFE,,&H&HFFFFFFFF 2.实型常量.实型常量 实实型型常常量量包包括括单单精精度度型型和和双双精精度度型型常常数数实实型型常常量量可可以以用用常常规规带带有有小小数的实数表示,数的实数表示, 如如 2.5658,,-0.00326 可可以以在在实实型型常常量量后后面面加加感感叹叹号号“!!”或或“##”号号来来指指明明该该常常量量是是单单精精度度型型常常量量还还是是双双精精度度型型常常量量,,否否则则,,VB会自动识别会自动识别 实型常量也可以用科学计数法表示,实型常量也可以用科学计数法表示,用用mEn或或mDn表示表示m×10n其中m为数字,可以是整数,也可以是小为数字,可以是整数,也可以是小 数;数;“E”或或“e”用来表示该数为单精用来表示该数为单精度数,如:度数,如: --6.68E5,,0.0056E-22分别表示分别表示 ―6.68×105 , 0.0056×10--22;;“D”或或“d”用来表示该数为双精度数,用来表示该数为双精度数, --6.1234587668D56表示表示 --6.1234587668×1056。

      3.字符串型常量.字符串型常量•字符串常量要用字符串常量要用英文半角的双引号英文半角的双引号把字把字符串括起来,如:符串括起来,如:" "HelloHello" ",," "328.45328.45" ",," "HappyHappy New YearNew Year" "•双引号是字符串的双引号是字符串的““界定符界定符””,表示字,表示字符串的开始与符串的开始与结束字符串常量中可以束字符串常量中可以包括任何可包括任何可输入的字符,空格也是合法入的字符,空格也是合法的字符如果两个引号之的字符如果两个引号之间没有任何字没有任何字符符"""" ,,则表示一个表示一个空字符串空字符串,空字符,空字符串是一个特殊的字符串,它与只有串是一个特殊的字符串,它与只有空格空格的字符串是不同的的字符串是不同的 4 4.逻辑型常量.逻辑型常量 逻辑型常量中有两个,型常量中有两个,分分别是是TrueTrue和和FalseFalse 5.日期时间型常量.日期时间型常量日期时间型常量,既可以表示一个日期,日期时间型常量,既可以表示一个日期,也可以表示一个时间,或者同时表示日也可以表示一个时间,或者同时表示日期与时间。

      期与时间日期日期时间型常量使用两个型常量使用两个““##””符号把符号把表示日期和表示日期和时间的数据括起来,一般可的数据括起来,一般可辨辨认的表示日期和的表示日期和时间的数据都可以作的数据都可以作为日期日期时间型常量如:如:##3/5/20093/5/2009##,,##2009-3-52009-3-5##,,##March 5,1998March 5,1998## 都表示都表示20092009年年3 3月月5 5日 •##12:00:00PM12:00:00PM##,,##12:00:00AM12:00:00AM##分分别表示表示中午中午1212点点和和午夜午夜1212点点,, ##3/5/2009 6:16:06AM3/5/2009 6:16:06AM##表示表示20092009年年3 3月月5 5日凌晨日凌晨6 6点点1616分零分零6 6秒 •在在VBVB的程序代的程序代码中中输入日期和入日期和时间常量常量时,,Visual BasicVisual Basic会自会自动转换为内部内部统一的格式,即一的格式,即##月月/ /日日/ /年年##格式,如格式,如 ##3/15/19993/15/1999##。

      显示示19301930~~20292029年日年日期之期之间的年份,会被省略掉前两位数,的年份,会被省略掉前两位数,如:如:“99-3-15”“99-3-15”表示表示“1999“1999年年3 3月月1515日日”” 2.2.2 变量变量 变量是指在程序的运行过程中,其值可以改变量是指在程序的运行过程中,其值可以改变的量程序利用变量来保存数据,传送数程序利用变量来保存数据,传送数据和处理数据每个变量都对应某种数据类据和处理数据每个变量都对应某种数据类型,变量的数据类型决定了变量在内存中占型,变量的数据类型决定了变量在内存中占用多少个字节每个变量都有一个内存地址,用多少个字节每个变量都有一个内存地址,但通过变量的地址对变量进执行操作不方便,但通过变量的地址对变量进执行操作不方便,所以为每个变量都定义一个变量名,在程序所以为每个变量都定义一个变量名,在程序中使用变量名就可以对内存中变量的值进行中使用变量名就可以对内存中变量的值进行存取,不用使用复杂的变量内存地址存取,不用使用复杂的变量内存地址 Visual Basic Visual Basic中变量有两种:中变量有两种: 一种是程序开发人员根据程序设计一种是程序开发人员根据程序设计的需要自己定义的变量,称为的需要自己定义的变量,称为内存内存变量变量;另一种是;另一种是Visual BasicVisual Basic系统系统本身为应用程序所使用的各种对象本身为应用程序所使用的各种对象创建的创建的属性变量属性变量,,VBVB为每个属性变为每个属性变量还设置了默认值,也可以改变其量还设置了默认值,也可以改变其值。

      没有特别强调,变量通常是指值没有特别强调,变量通常是指程序开发人员自己定义的变量程序开发人员自己定义的变量 1.变量的命名规则.变量的命名规则⑴⑴第第1个字符必须是个字符必须是字母字母,其它位置,其它位置的字符可以是字母、数字以及下划的字符可以是字母、数字以及下划线 如:如:aver、、sum1是正确的变量是正确的变量名,名,3aver是错误的变量名是错误的变量名 ⑵⑵不能包含不能包含+、、-、*、、*、/、、$、、&、%、、%、!、#、?、!、#、?、小数点等字符小数点等字符 如:如:aver.1是错误的变量名是错误的变量名 ⑶⑶变变量量名名的的长长度度不不能能超超过过255个个字符⑷⑷变变量量名名不不能能与与系系统统的的关关键键字字(如(如End、、Sub等)重名等)重名⑸⑸在同一作用域中,变量名不在同一作用域中,变量名不能重复 2.变量的声明.变量的声明 在在VB中,使用变量之前应先中,使用变量之前应先声明即定义变量声明变量包括指声明即定义变量声明变量包括指定变量名、变量的数据类型和变量定变量名、变量的数据类型和变量的作用域变量的数据类型一旦确的作用域。

      变量的数据类型一旦确定,就决定了变量占用多少内存空定,就决定了变量占用多少内存空间声明变量的格式为:间声明变量的格式为: <变量名变量名> [As 数据类型数据类型] 说明:说明:⑴⑴Public|Private|Dim|Static四个选项中四个选项中选择其一,决定变量的作用域和生命选择其一,决定变量的作用域和生命期⑵⑵“As 数据类型数据类型”用来定义变量的数据类用来定义变量的数据类型如型如 Integer、、Single等中括号表示等中括号表示其中的内容可以省略当省略变量的其中的内容可以省略当省略变量的数据类型时,变量默认的数据类型是数据类型时,变量默认的数据类型是Variant(可变)型可变)型 ⑶⑶一条语句可以声明多个变量,被声一条语句可以声明多个变量,被声明的各变量之间用逗号分隔例如:明的各变量之间用逗号分隔例如: Dim X As Integer ,,Y As String 声明一个整型、字符串型变量声明一个整型、字符串型变量 3..变量的作用域与生命期变量的作用域与生命期⑴⑴过程级变量过程级变量 过程级变量又称为过程级变量又称为局部变量局部变量,如,如“事件过程事件过程”的变量。

      过程级变量在过程中声明,并只能的变量过程级变量在过程中声明,并只能在该过程中使用可在过程中的的任何位置在该过程中使用可在过程中的的任何位置声明过程级变量,但只有在声明之后才能使声明过程级变量,但只有在声明之后才能使用声明过程级变量的语句为:用声明过程级变量的语句为: <变量名变量名> [As 数据类型数据类型] 如:如:Dim N1 As Integer 声明一个整型变量声明一个整型变量N1 Static Name As String 声明一个字符串型静态变量声明一个字符串型静态变量 Name ⑵⑵模块级变量模块级变量 模模块块级级变变量量是是指指声声明明变变量量所所在在的的模模块块中中的的所所有有过过程程都都可可以以访访问问的的变变量量如如“窗窗体体模模块块”级级的的变变量量,,在在该该窗窗体体中中的的所所有有过过程程都都可可以以访访问问但但一一个个模模块块中中的的过过程程不不能能访访问问其其它它模模块块中中的的模模块块级级变变量量,,如如窗窗体体Form1中中的的过过程程不不能能访访问问窗窗体体Form2中中的的模模块块级级变变量量。

      声声明明模模块块级级变变量量的的语句为:语句为: <变量名变量名> [As 数据类型数据类型] 声声明明模模块块级级变变量量的的语语句句,,要要放放在在模模块块代代码码段段的的通通用用声声明明段段中中,,声声明明段段位位于于模模块块代代码码窗窗口口中的顶部,在所有过程的前面中的顶部,在所有过程的前面 (举例)举例) ⑶⑶应用程序级变量应用程序级变量 应应用用程程序序级级变变量量又又称称为为全全局局变变量量,,应应用用程程序序所所包包含含的的所所有有模模块块对对其其都都可可以以访访问问全全局局变变量量也也要要在在模模块块的的通通用用声声明明段段中中定定义义,,使使用用PublicPublic关关键键字字声声明明应应用程序级变量的语句为:用程序级变量的语句为: < <变量名变量名> [As > [As 数据类型数据类型] ] (举例)举例) ** 4..String、、Object、、Variant型型变变量量和和自自定定义义类型变量类型变量⑴String⑴String(字符串)型(字符串)型 字字符符串串型型变变量量分分为为定定长长字字符符串串变变量量和和变变长长字字符符串变量串变量两种。

      声明变长字符串变量的语句为:两种声明变长字符串变量的语句为: < <变量名变量名> As String> As String 如:如:Dim Str1 As StringDim Str1 As String 声明声明Str1Str1为变长字符串变量为变长字符串变量 Str1=“Str1=“北京北京”” 给变量给变量Str1Str1赋值赋值 声明定长字符串变量的语句为:声明定长字符串变量的语句为: < <变变量量名名> > As String *As String *字符串长度字符串长度 如:如:Dim Str2 As String *20Dim Str2 As String *20 声明声明Str2Str2为定长字符串变量为定长字符串变量 Str2="Happy New Year"Str2="Happy New Year" 给变量给变量Str2Str2赋值赋值 **⑵⑵Object(对象)型(对象)型 对对象象型型变变量量占占用用4个个字字节节的的内内存存空空间间,,保保存存的的是是对对一一个个对对象象引引用用的的指指针针,,即即对对象象在在内内存存中中的的地地址址。

      当当定定义义了了一一个个对对象象型型的的变变量量时时,,程程序序对对对对象象型型变变量量的的操操作作等等同同于于对对它它所所引引用用的的对对象的操作例如:象的操作例如: Dim objA As CommandButton ′声明声明objA为命令按钮对象型变量为命令按钮对象型变量 Set objA=Command1 ′把把Command1命令按钮对象赋给变量命令按钮对象赋给变量objA objA.Caption="OK" ′改变命令按钮对象的标题属性值为改变命令按钮对象的标题属性值为OK ** ⑶⑶Variant(可变)型(可变)型 可可变变型型变变量量除除不不能能存存储储定定长长字字符符串串型型和和自自定定义义类类型型数数据据外外,,可可以以存存储储Visual Basic系系统统定定义义的的其其它它所所有有类类型型数数据据把把某某种种类类型型的的数数据据赋赋给给可可变变型型变变量量时时,,可可变变型型变变量量的的数数据据类类型型会会随随之之变变化化,,自自动动完完成成转转换换。

      例如:例如: Dim varA As Variant 声明可变型变量声明可变型变量varA varA="OK" varA变变量量的的数数据据类类型型转转换换为为变变长长字符串型,值为字符串型,值为OK varA=15 varA变变量量的的数数据据类类型型转转换换为为数数值值型型,,值值为为15 可可变变型型是是Visual Basic变变量量的的默默认认数数据据类类型型,,因因此此在在声声明明可可变变型型变变量量时时可可以以省省略略“As Variant”可可变变型型变变量量占占用用的的内内存存空空间间较较大大,,使使用用过过程程中中也也容容易易产产生生错误,一般应少使用错误,一般应少使用Variant型变量 *⑷自定义数据类型和自定义类型变量 要使用自定义数据类型变量,首先要声明自定义的数据类型,自定义数据类型是由Visual Basic的各种数据类型组合而成的声明自定义数据类型的语句,必须写在声明段中语句的格式为: <自定义数据类型名自定义数据类型名> <成员成员1 As 数据类型数据类型> <成员成员2 As 数据类型数据类型> <成员成员3 As 数据类型数据类型> …… 5. 变量的数据类型与变量的值变量的数据类型与变量的值 与与VB的数据类型相对应,按数据类的数据类型相对应,按数据类型划分,变量可分为型划分,变量可分为整型变量、长整整型变量、长整型变量、单精度型变量、双精度型变型变量、单精度型变量、双精度型变量、字符串型变量、货币型变量、日量、字符串型变量、货币型变量、日期时间型变量变量、可变型变量以及期时间型变量变量、可变型变量以及对象型变量对象型变量。

      其中数值型、字符串型、其中数值型、字符串型、日期时间型变量表示的数据范围和占日期时间型变量表示的数据范围和占用的内存空间,分别与对应数据类型用的内存空间,分别与对应数据类型的直接常量相一致的直接常量相一致 每个变量对应内存一个区域,因每个变量对应内存一个区域,因此对变量可以赋值,也可以使用此对变量可以赋值,也可以使用变量的值进行计算声明变量后,变量的值进行计算声明变量后,变量的数据类型随之确定,可以变量的数据类型随之确定,可以通过赋值语句给变量赋值语句通过赋值语句给变量赋值语句格式为:格式为: [Let] <变量名变量名> = <表达式表达式> •在在计计算算机机程程序序设设计计中中,,“=”被被称称为为“赋赋值值号号”,,不不要要理理解解为为数数学学上上的的“相相等等”含含义义Let是是赋赋值值关关键键字字,,可可以以省省略略表表达达式式指指的的是是用用运运算算符符连连接接变变量量((包包括括属属性性变变量量和和内内存存变变量量))、、常常量量和和函函数数等等形形成成的的式式子子,,当当然然表表达达式式也也可可以以是是单单个个的的变变量量、、常常量量和和函数 如:如:intPrice=30 把把30赋给变量赋给变量intPrice 6.数据类型声明符.数据类型声明符(了解)(了解) 除除了了使使用用前前面面讲讲解解的的语语句句声声明明变变量量外外,,还还可可以以使使用用“数数据据类类型型声声明明符符”来来声声明明变变量量。

      如如表表2-2-1所示表表2-2-1数据类型声明符数据类型声明符 使用数据类型声明符声明变量的语句格式为:使用数据类型声明符声明变量的语句格式为:< <变量名变量名> <> <类型声明符类型声明符> >使使用用类类型型声声明明符符可可以以省省略略DimDim声声明明语语句句,,只只要要在在第第一一次次使使用用变变量量时时,,在在变变量量名名的的前前面面加加一一个个类类型型声声明明符符即即可可生生成成变变量量其其中中声声明明字字符符串串型型变变量量时时,,系系统统默默认认为为变变长长字字符符串型如:串型如: Price Price! !=36.5 =36.5 声明一个单精度型变量并赋值声明一个单精度型变量并赋值 Name Name$ $=“=“李明李明” ” 声明变长字符串变量并赋声明变长字符串变量并赋值值 Num Num% %=368 =368 声明一个整型变量并赋值声明一个整型变量并赋值 7. 变量的强制声明变量的强制声明•在在Visual Visual BasicBasic集集成成开开发发环环境境中中设设计计应应用用程程序序时时,,默默认认情情况况下下变变量量不不被被声声明明就就可可以以直直接接使使用用,,未未被被声声明明而而被被直直接接使使用用的的变变量量被被认认为为是是VariantVariant型型的的过过程程级级变变量量。

      这这样样很很容容易易发发生生错错误误,,如如把把一一个个变变量量拼拼写写错错误误就就会会产产生生一一个个新新的的变变量量为为了了避避免免发发生生以以上上问问题题,,导导致致程程序序错错误误,,可可以以规规定在使用变量前必须声明变量定在使用变量前必须声明变量•要要强强制制声声明明变变量量,,可可以以在在模模块块的的声声明明段段中中加加入入语句:语句: Option ExplicitOption Explicit 2.2.3 符号常量符号常量 •符号常量是常量的一种,是用标识符表示的符号常量是常量的一种,是用标识符表示的常量 •符号常量与直接常量比较,它的优点在于可符号常量与直接常量比较,它的优点在于可以使用具有描述性的标识符代替一个直接常以使用具有描述性的标识符代替一个直接常量,如使用量,如使用PI代表圆周率代表圆周率3.14159 •符号常量有两种,用户定义的符号常量和由符号常量有两种,用户定义的符号常量和由系统定义的内部符号常量系统定义的内部符号常量 1.用户定义的符号常量.用户定义的符号常量 在在应应用用程程序序中中要要使使用用符符号号常常量量,,需需要要先先进进行行定定义义,,或或者者说说要要先先进进行行声声明明。

      定定义义符符号号常量的语句格式是:常量的语句格式是: [Private|Public] <符号常量名符号常量名> [As 数据类型数据类型] = <表达式表达式> Const是是VB的关键字,表示本语句为定的关键字,表示本语句为定义符号常量的语句义符号常量的语句 Private(模块级)、(模块级)、Public(全局(全局) 用来定义符号常量的作用范围,用来定义符号常量的作用范围,可以省略可以省略 2.内部定义的符号常量.内部定义的符号常量 Visual Basic预定义了许多符预定义了许多符号常量,由系统和控件提供内号常量,由系统和控件提供内部定义的符号常量名一般都具有部定义的符号常量名一般都具有“vb”前缀,它们可以不被声明,前缀,它们可以不被声明,直接就能够使用,在集成环境的直接就能够使用,在集成环境的“对象浏览器对象浏览器”窗口中可以查询到它窗口中可以查询到它们 2.3 运算符、表达式、函数运算符、表达式、函数2.3.1 运算符运算符 v应用程序通过运算对数据进行加应用程序通过运算对数据进行加工和处理,要运算就要有运算符。

      工和处理,要运算就要有运算符VB提供了大量的运算符,包括提供了大量的运算符,包括算算术运算符、字符运算符、关系运术运算符、字符运算符、关系运算符、逻辑运算符算符、逻辑运算符 2.3.1 运算符运算符算术运算符算术运算符 字符串运算符字符串运算符关系运算符关系运算符逻辑运算符逻辑运算符 1 1、算术运算符、算术运算符 算术运算符算术运算符通常要求参与运通常要求参与运算的运算量是算的运算量是数值型数值型,包括,包括整型、长整型、字节型、单整型、长整型、字节型、单精度型、双精度型、货币型精度型、双精度型、货币型等等数据 运运 算算 符符名名 称称 示示 例例 结结 果果+加法运算加法运算4.8+11.816.6 --减法运算减法运算6-8-2*乘法运算乘法运算2*510/除法运算除法运算4/5.8\整除运算整除运算4\50 P41Mod求余运算求余运算5 Mod 41 P41^幂运算幂运算2^38 整整除除运运算算时时,,若若两两个个操操作作数数中中有有小小数数部部分分,,则则先先对对小小数数部部分分按按四四舍舍五五入入的的原原则则处处理理,,将将操操作作数数转转换换为为整整型型数数,,计计算算的的结结果果如如果果有有小小数数,,也也要要截截去去小小数数部部分分变变为为整整型型数数。

      求求余余运运算算同同样样要要求求运运算算量量为为整整型型数数,,若若两两个个操操作作数数中中有有小小数数部部分分,,同同样样先先对对小小数数部部分分按按四四舍舍五五入入的的原原则则处处理理,,将将操操作作数数转转换换为为整整型型数数,,求求余余运运算算结结果果的的正正负负符符号号与与第第一一个个运运算算量量的的符符号号相相同同绝绝对对值值小小于于0.50.5的的数数不不能能作作整整除除运运算算和和求求余余运运算算的的除除数数,,否则会出现否则会出现“除数为除数为0 0”的错误 日日期期时时间间型型数数据据也也可可以以进进行行““+””、、““- -””运运算算两两个个日日期期时时间间型型数数据据进进行行相相减减运运算算,,结结果果是是一一个个数数值值型型数数据据,,表表示示两两个个日日期期时时间间型型数数据据之之间间的的天天数数差 字符串运算符有字符串运算符有“&”和和“+”两个,如表所示:两个,如表所示:运算运算符符说说 明明 示示 例例结结 果果&连接两个字连接两个字符串表达式符串表达式"Micro" & "soft""Microsoft"+计算和,也计算和,也可连接字符可连接字符串串"123"+"456" "123456"2、字符串运算符、字符串运算符 3 3、关系运算符、关系运算符 关系运算符又称为比较运关系运算符又称为比较运算符,用来对两个数据进行算符,用来对两个数据进行比较,比较的结果为逻辑值比较,比较的结果为逻辑值(布尔值)(布尔值)TrueTrue或或FalseFalse。

      Visual BasicVisual Basic的关系运算符的关系运算符在下表中列出在下表中列出 关系运关系运算符算符含含 义义实实 例例结结 果果=等于等于"abc"="ABC"False>大于大于"abc">" ABC "True>=大于等于大于等于 "abc">="甲乙丙甲乙丙"False<小于小于2<3True<=小于等于小于等于 "12"<="3"True<>不等于不等于"abc"< >"ABC"True 4.逻辑运算符逻辑运算符 逻辑运算符又称布尔运算符,逻辑运算符又称布尔运算符,逻辑运算符是专门对逻辑值进行运逻辑运算符是专门对逻辑值进行运算的,运算的结果为一个逻辑值算的,运算的结果为一个逻辑值True(真)或(真)或False(假)Visual Basic提供了六种逻辑运算符,包括提供了六种逻辑运算符,包括And、、Or、、Not、、Xor、、Equ、、Imp,它们的运算规则见下表它们的运算规则见下表 2.3.2 表达式1.表达式的组成.表达式的组成 表达式由变量、常量、运算符、函数和圆表达式由变量、常量、运算符、函数和圆括号按一定的规则组成,表达式的运算结果的括号按一定的规则组成,表达式的运算结果的类型由参与运算的数据类型和运算符共同决定。

      类型由参与运算的数据类型和运算符共同决定2.表达式的种类.表达式的种类 根据表达式中运算符的类别可以将表达式根据表达式中运算符的类别可以将表达式分为算术表达式、字符串表达式、日期表达式、分为算术表达式、字符串表达式、日期表达式、关系表达式和逻辑表达式等关系表达式和逻辑表达式等 3.表达式的书写规则.表达式的书写规则((1)每个符号占)每个符号占1格,所有符号都必须格,所有符号都必须一个一个并排写在同一基准上,不能出现一个一个并排写在同一基准上,不能出现上标和下标上标和下标2)不能按常规习惯省略的乘号)不能按常规习惯省略的乘号*,如:,如: 2x要写成要写成2*x3)只能使用小括号(),且必须配对只能使用小括号(),且必须配对 ((4)不能出现非法的字符,如)不能出现非法的字符,如π 4.表达式中不同数据类型的转换.表达式中不同数据类型的转换 如果表达式中操作数具有不同如果表达式中操作数具有不同的数据精度,则将较低精度转换为操的数据精度,则将较低精度转换为操作数中精度最高的数据精度,即按作数中精度最高的数据精度,即按Integer、、Long、、Single、、Double、、Currency的顺序转换,且的顺序转换,且Long型数型数据和据和Single型数据进行运算时,结果型数据进行运算时,结果总是总是Double型数据。

      型数据 5.运算符的优先级.运算符的优先级 当表达式中存在多种运算当表达式中存在多种运算符共存时,按如下优先级的先符共存时,按如下优先级的先后进行运算:后进行运算: 算术运算符算术运算符>字符运算符字符运算符>关系关系运算符运算符>逻辑运算符逻辑运算符 2.3.3 常用内部函数常用内部函数 在在VB中有两类函数,一是内部函数中有两类函数,一是内部函数(标准函标准函数数);二是用户定义函数,是由程序开发者根据;二是用户定义函数,是由程序开发者根据程序需要定义的函数过程程序需要定义的函数过程 VB提供了大量的内部函数,开发者可以直提供了大量的内部函数,开发者可以直接调用完成特定的功能,这些内部函数包括数接调用完成特定的功能,这些内部函数包括数学函数、字符串函数、数据类型转换函数、日学函数、字符串函数、数据类型转换函数、日期时间函数、随机函数、格式输出函数等每期时间函数、随机函数、格式输出函数等每种函数完成特定的功能,在程序中使用它们时,种函数完成特定的功能,在程序中使用它们时,只要给出函数名和参数,便可以实现函数的功只要给出函数名和参数,便可以实现函数的功能并得到相应的函数值。

      能并得到相应的函数值 转换函数转换函数字符串函数字符串函数数学函数数学函数 格式输出函数格式输出函数日期和时间函数日期和时间函数随机函数随机函数 1.数学函数数学函数⑴ Abs(X) ⑴ Abs(X) 绝对值函数绝对值函数 计计算算X的的绝绝对对值值,,X为为一一个个数数值值表表达达式式例如:例如: Abs(-0.5)=0.5 设设x=-18,则,则Abs(5*x)=9⑵ Sqr(X) ⑵ Sqr(X) 算术平方根函数算术平方根函数 X必必须须为为非非负负数数,,该该函函数数是是返返回回X的的算算术术平方根,返回值为双精度型数值平方根,返回值为双精度型数值 ⑶ Sin(X)⑶ Sin(X)、、Cos(X)Cos(X)、、Tan(X)Tan(X)、、Atn(X) Atn(X) 三角函数三角函数 这四个函数分别返回这四个函数分别返回X的正弦、余弦、的正弦、余弦、正切和反正切函数值,返回值为双精正切和反正切函数值,返回值为双精度型,度型,X的单位为弧度的单位为弧度⑷ Sgn(X) ⑷ Sgn(X) 符号函数符号函数 该该函函数数的的功功能能是是判判断断X的的符符号号。

      当当X>0时时,,函函数数值值为为1;;当当X<0时时,,函函数数值值为为-1;当;当X=0时,函数值为时,函数值为0 ⑸⑸ Exp(X) 幂运算函数幂运算函数返返回回e的的X次次幂幂的的值值,,返返回回值值为为双双精度型数值精度型数值⑹⑹Log(X) 自然对数函数自然对数函数返返回回X的的自自然然对对数数,,即即数数学学中中的的Ln(X)的值,返回值为双精度型的值,返回值为双精度型 2. 字符串函数⑴⑴ Len (String) 计算字符串长度函数计算字符串长度函数 返返回回字字符符串串String中中字字符符的的个个数数一一个个汉汉字字为为一一个个字字符符,,空空格格也也为为一一个个字字符符,,空字符串的长度为空字符串的长度为0 例如:例如:Len("ComputerNetwork") 值为值为16Len(“计算机网络计算机网络”) 的返回值为的返回值为5 ⑵⑵ Left (String,,n) 从字符串的左边取从字符串的左边取n个字符个字符 如:如:Left("Visual Basic",6) 的值为的值为“Visual”⑶⑶Right(String,,n) 从字符串的右边取从字符串的右边取n个字符个字符 如:如:Right("Visual Basic",5) 的值为的值为“Basic” ⑷⑷Mid(String,,n,,m)从从字字符符串串String的的第第n个个字字符符开开始始向向右右取取m个个字字符符。

      如如果果n的的值值超超过过了了字字符符串串的的最最大大长长度度,,函函数数将将返返回回空空字字符符串串Mid函函数可以实现数可以实现Left和和Right两个函数的功能两个函数的功能如:如:Mid("Visual Basic",8,3) 的值为的值为“Bas” ⑸⑸Ltrim(String)、、Rtrim(String) Trim(String) Ltrim(String)函函数数功功能能是是返返回回删删除除了了字字符符串串String左左边边空空格格之之后后的的剩剩余余部部分分;;Rtrim(String)函函数数功功能能是是返返回回删删除除了了字字符符串串String右右边边空空格格之之后后的的剩剩余余部部分分;;Trim(String)函函数数组组合合了了前前两两个个函函数数的的功功能能,,返返回回删删除除字字符符串串String左左右右空空格格之之后后的剩余部分的剩余部分 Ltrim(" Good")的返回值为的返回值为“Good” ⑹⑹String(n,,String) 返回由返回由n个重复的字符组成的字符串,个重复的字符组成的字符串,这个字符为字符串这个字符为字符串String的首字符。

      的首字符如:如:String(5,,“Word") 的返回值为的返回值为“WWWWW” ⑺⑺InStr(n,,String1,,String2) 该该函函数数的的功功能能是是从从字字符符串串String1的的第第n个个字字符符开开始始搜搜索索字字符符串串String2第第一一次次出出现现的的位位置置省省略略n时时,,则则从从字字符符串串String1的的开开头头搜搜索 当当字字符符串串String1中中包包含含字字符符串串String2时时,,返返回回值值是是从从字字符符串串String1第第一一个个字字符符算算起起出出现现字字符符串串String2的的字字符符位位置置如如果果String1中不包含中不包含String2,返回值为,返回值为0如如::InStr(3,,"studystudy",,"tu") 的的返返回回值为值为7 ⑻⑻Space(n) 返回一个由返回一个由n个空格组成个空格组成的字符串,的字符串,n应为非负整数应为非负整数 3. 转换函数 ⑴⑴Int(X)、、Fix(X) 这这两两个个函函数数都都是是把把X变变为为整整数数的的取取整整函函数数。

      当当X为为正正时时,,两两个个取取整整函函数数都都是是删删除除X的的小小数数部部分分,,返返回回其其整整数数部部分分,,不不进进行行四四舍舍五五入入;;当当X为为负负时时,,Int(X)返返回回小小于于或或等等于于X的的最最大大整整数数,,Fix(X) 返返回回大大于于或或等等于于X的的最最小小整整数数X可可以以是实数型或货币型数据是实数型或货币型数据例如:例如:Int(-6.6)的返回值为的返回值为-7; Fix(-6.6)的返回值为的返回值为-6Int(6.6)的返回值为的返回值为6; Fix(6.6)的返回的返回值为值为6 ⑵⑵Asc(String) 返返回回字字符符串串String的的第第一一个个字字符符的的ASCII码值例如:码值例如: Asc(“ABC”)的返回值为的返回值为65⑶⑶Chr(X) 该该函函数数的的功功能能与与Asc(String)函函数数的的功功能能正正相相反反,,它它是是将将ASCII码码值值X转转换换为为相相对对应应的的字字符,即返回值是只有一个字符的字符串符,即返回值是只有一个字符的字符串例如:例如:Chr(65)的返回值为的返回值为“A” Chr(13)的返回值为的返回值为“回车回车”(换行)(换行) ⑷⑷Lcase(String) 、、Ucase(String) 函数函数Lcase(String)是把字符串是把字符串String中中的大写字母转换为小写形式。

      的大写字母转换为小写形式 Ucase(String)函数是把字符串函数是把字符串String中中的小写字母转换为大写形式例如:的小写字母转换为大写形式例如:Lcase("Computer ")的返回值为的返回值为“computer”Ucase(" abcd " ))的返回值为的返回值为“ABCD” ⑸⑸Str(X) 该该函函数数的的功功能能是是把把数数值值表表达达式式X的的值值转转换换为相应的字符串为相应的字符串例如:例如:Str(-36.8)的返回值为的返回值为“-36.8”⑹⑹Val(String) 把把包包含含有有数数值值信信息息的的字字符符串串String转转换换为为数数值值型型数数据据,,从从左左到到右右转转换换,,直直至至遇遇到到不不能能进进行行转转换换的的字字符符为为止止,,即即返返回回字字符符串串String中中的第一个字符前的所有数字的第一个字符前的所有数字例如:例如:Val("2002马到成功马到成功")的返回值为的返回值为2002 4.日期与时间函数 ⑴⑴Date 该函数按该函数按“yy-mm-dd”或或“yyyy-mm-dd”的格式,返回系统的当前的格式,返回系统的当前日期,为日期时间型数据。

      日期,为日期时间型数据⑵⑵Time 该该函函数数的的功功能能是是按按“hh:mm:ss”格格式式,,返返回回系系统统当当前前时时间间,,为为日日期期时间型数据时间型数据 ⑶⑶Now Now函函数数的的功功能能是是返返回回系系统统当前的日期和时间当前的日期和时间 以以上上三三个个函函数数都都是是无无参参数数函函数数另另外外,,Date和和Time还还可可以以作作语语句句使使用用,,用用来来重重新新设设置置系系统统的的日日期期和时间 5.随机数函数 Rnd[(X)] Rnd函数用于返回或者说产生一个小于函数用于返回或者说产生一个小于1 但大于或等于但大于或等于 0 的的Single类型的随机数需要类型的随机数需要明确的是,计算机系统本身的随机数生成器,明确的是,计算机系统本身的随机数生成器,在生成随机数时有一定的算法,但首先需要为在生成随机数时有一定的算法,但首先需要为它提供一个它提供一个“种子种子”不同的种子种子,可使随机数,可使随机数生成器生成不同的随机数;在同一个生成器生成不同的随机数;在同一个“种子种子”下,下,生成的随机数相同。

      生成的随机数相同Rnd函数使用不同的参数,函数使用不同的参数,确定使用不同的随机数确定使用不同的随机数“种子种子”,从而产生不同,从而产生不同的随机数的随机数. X值值函数函数 Rnd(x)的返回值的返回值X>0使用前一次调用使用前一次调用Rnd函数产生的随机数作函数产生的随机数作为本次产生随机数的种子一般通过使用为本次产生随机数的种子一般通过使用该参数获得不同的随机数序列该参数获得不同的随机数序列X<0使用使用X作为随机数种子,用于产生相同的作为随机数种子,用于产生相同的随机数序列随机数序列X=0返回最近一次调用返回最近一次调用Rnd函数生成的随机数函数生成的随机数 省略省略X调用调用Rnd函数之前,如果没有执行函数之前,如果没有执行Randomize语句,则与语句,则与X>0时的情况相同时的情况相同反之,如果执行了反之,如果执行了Randomize语句,则语句,则Rnd函数使用函数使用Randomize语句提供的新种语句提供的新种子值,返回随机数子值,返回随机数 3.5.4 格式输出函数格式输出函数•使用格式化函数Format()可以使数值、日期或字符型数据按指定的格式输出Format函数的语法格式为:Format(表达式(表达式 [,格式字符串,格式字符串])) 数值格式化实例数值格式化实例 日期与时间格式日期与时间格式 •常用的数值型格式说明字符字符说说 明明#数字占位符。

      显示一位数字或什么都不显示如果表达式在格式字符数字占位符显示一位数字或什么都不显示如果表达式在格式字符串中串中#的位置上有数字存在,那么就显示出来,否则,该位置什么都不的位置上有数字存在,那么就显示出来,否则,该位置什么都不显示显示0数字占位符显示一位数字或是零如果表达式在格式字符串中数字占位符显示一位数字或是零如果表达式在格式字符串中0的位的位置上有一位数字存在,那么就显示出来,否则就以零显示置上有一位数字存在,那么就显示出来,否则就以零显示.小数点占位符小数点占位符,千分位符号占位符千分位符号占位符%百分比符号占位符表达式乘以百分比符号占位符表达式乘以100而百分比字符(而百分比字符(%)会插入到格)会插入到格式字符串中出现的位置上式字符串中出现的位置上$在数字前强加在数字前强加$+在数字前强加在数字前强加+-在数字前强加在数字前强加-E+用指数表示用指数表示E-用指数表示用指数表示 2.4 VB程序的书写规则程序的书写规则 2.4.1 关键字与标识符关键字与标识符 关键字又称为系统保留字,是具有固关键字又称为系统保留字,是具有固定含义和使用方法的字母组合如:定含义和使用方法的字母组合。

      如:PrivatePrivate、、 SubSub、、CaptionCaption、、PrintPrint、、ExpExp等关键字用来表示系统提供的标等关键字用来表示系统提供的标准过程、方法、属性、函数和各种运准过程、方法、属性、函数和各种运算符等 标识符是由程序开发人员定义的,用作变标识符是由程序开发人员定义的,用作变量名、符号常量名、控件名称和过程名称量名、符号常量名、控件名称和过程名称等的字母组合应用程序设计中,不能将等的字母组合应用程序设计中,不能将关键字用作标识符定义标识符时应遵循关键字用作标识符定义标识符时应遵循以下原则:以下原则: ①①标识符的第一个字符必须是字母标识符的第一个字符必须是字母②②后续的字符可以是字母、数字和下划线后续的字符可以是字母、数字和下划线③③关键字不能被定义为标识符关键字不能被定义为标识符④④标识符的长度不能超过标识符的长度不能超过255个字符 2.4.2 语句语句 语句是程序的基本功能单位语句是程序的基本功能单位,每条语句都,每条语句都有确切的含义使用不同关键字的语句,有确切的含义使用不同关键字的语句,完成不同的功能语句是由完成不同的功能。

      语句是由Visual BasicVisual Basic可识别的关键字、变量、常量、函数、运可识别的关键字、变量、常量、函数、运算符等按照语句的书写规则组合形成的算符等按照语句的书写规则组合形成的如:如:“Private Sub Command1_Click()” “Private Sub Command1_Click()” 是一条语句,表明一个事件过程的开始,是一条语句,表明一个事件过程的开始,“End Sub”“End Sub”语句表示一个过程的结束这语句表示一个过程的结束这两条语句之间还可以写其它的语句,多条两条语句之间还可以写其它的语句,多条语句便构成了程序语句便构成了程序 2.4.3 续行续行 通常情况下,每条语句占一行但在代码窗口通常情况下,每条语句占一行但在代码窗口输入语句的过程中,当语句很长超过屏幕行宽输入语句的过程中,当语句很长超过屏幕行宽时,并不自动换行,所以太长的语句不便阅读时,并不自动换行,所以太长的语句不便阅读为了阅览程序更加直观,可以人为地把较长的为了阅览程序更加直观,可以人为地把较长的语句分为多行书写语句分为多行书写 Visual Basic的的续续行行符符为为“_”符符号号,,在在它它前前面面还还至至少少要要加加一一个个空空格格。

      具具体体续续行行的的方方法法是是::一一条条长长语语句句写写到到要要换换行行时时,,首首先先输输入入空空格格,,然然后后输输入入“_”,,按按回回车车键键另另起起一一行行再再继继续续输输入入语语句句的的剩剩余余部分如:部分如: Student.Caption=" "姓名姓名"+"+txtName.Text+ _ " "年龄年龄"+txtAge.Text+""+txtAge.Text+"性别性别"+txtSex.Text"+txtSex.Text 2.4.4 一行书写多条语句一行书写多条语句 通常情况下每行写一条语句,但也可把通常情况下每行写一条语句,但也可把多条语句写在一行上,语句之间用多条语句写在一行上,语句之间用“:”分分隔如:如:Form1.Caption="Form1.Caption="学籍管理学籍管理" "::Form1.Height=1000Form1.Height=1000::Form1.Width=1000Form1.Width=10002.4.5 注释注释 为了便于读懂程序,可以在程序中加入为了便于读懂程序,可以在程序中加入注释。

      注释Visual Basic把把“ ′”(英文的单引号)(英文的单引号)作为注释符引导注释内容,程序运行过作为注释符引导注释内容,程序运行过程中,注释内容不被执行程中,注释内容不被执行 2.5 命令格式中的符号约定命令格式中的符号约定 为为了了更更好好地地解解释释语语句句、、方方法法和和函函数数,,在在各各语语句句、、方方法法和和函函数数的的语语法法格格式式和和功功能能说说明明中中,,采采用用统统一一约约定定的的一一些些符符号号,,符符号号的的含含义义列列于于下下表表中中,,这这些些符符号号不不是是语语句句或函数的组成部分或函数的组成部分 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.