第3章计算机基础_第1页
第3章计算机基础_第2页
第3章计算机基础_第3页
第3章计算机基础_第4页
第3章计算机基础_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第三章VisualBasic语言基础本章学习目标掌握VisualBasic应用程序的基本元素,包括字符集、关键字、标识符、数据类型、常量、变量、运算符、表达式等,对VisualBasic的编程环境有一个全面的了解。3.1字符集、关键字、标识符字符集是构成程序语言的最小单位。VisualBasic使用Unicode字符集,包含所有的常用字符,如数字、英文字母、常用汉字等,也包含一些特殊符号,如空格、换行符等。全角或中文符号不能作为语言成分符号。VisualBasic的基本字符集包括:1、数字0—92、英文字母(26个,不区分大小写)3、特殊字符(Space!“$%#&‘()*+-,./:;<=>?@[\]^_{|})等3.1字符集、关键字、标识符关键字又称保留字,在语法上有固定的意义,是VisualBasic语言的组成部分,往往表示系统提供的标准过程、函数、运算符、数据类型、命令等(如Integer,End,Sub,Rnd),用户在自定义自己的标识符时,不能与这些关键字同名。VisualBasic中约定关键字的首字母为大写字母,但输入时不区分大小写,系统能够识别并自动转换为标准形式。标识符是由若干字符组成的字符串,主要用来标记用户自己定义的常量、类型、变量、控件、过程或函数等的名字。在VisualBasic中,标识符的命名须遵循如下规则:

1、首字符必须是字母;

2、长度不超过255个字符,用于控件、窗体和模块的名字不能超过40个字符;

3、不能和关键字同名;

4、作为变量名的字符串内不得包括用于类型说明的字符,如%、@、!、#、@、$等。3.1字符集、关键字、标识符数据类型在各种程序设计语言中的规定和处理方法是不相同的。VisualBasic不但提供了丰富的标准数据类型,还可以由用户自定义数据类型。3.2数据类型基本数据类型是VisualBasic系统定义的数据类型,用户可以直接使用它们来定义常量和变量。分为数值型数据、字符型数据、日期型数据、逻辑型数据、变体型数据、对象型数据等。3.2.1基本数据类型数值型(Numeric)数据:VisualBasic的数值型数据又分为整型、浮点型、字节型和货币型。其中整型数据又分为整数和长整数,浮点数据分为单精度浮点数和双精度浮点数。3.2.1基本数据类型——数值型数据(1)整型数据。整型数据是不带小数点和指数符号的数据,在机器内部以二进制补码表示。整数(Integer):以2个字节(16位)的二进制码表示,其取值范围为-32768-32767。长整数(Long):以带符号的4字节(32位)表示,其取值范围为-2147483648-2147483647。要表示长整型数,只要在数字后加&符号即可,例如,364&。(2)浮点数据。浮点数据也称实数,是带有小数部分的数值,它由3部分组成:符号、指数和尾数。单精度浮点数(Single):以4个字节(32位)存储,其取值范围为-3.402823E+38~3.402823E+38。双精度浮点数(Double):用8个字节(64位)存储,其取值范围-1.79769313486232D+308~1.79769313486232D+308。(3)字节型数据(Byte)。字节型数据表示无符号的整型,范围为0~255,主要用于存储二进制数。(4)货币型数据(Currency)。货币型数据的小数位固定为4位,专门用来表示货币数量。它的取值范围是-922337203685477.5808~922337203685477.5807,存储时要占用8个字节。其表示形式是在数字后面加@符号,例如,213.34@。3.2.1基本数据类型——数值型数据字符型(String)数据:字符串是一个字符序列,在VisualBasic中字符串是放在双引号内的若干个字符。VisualBasic中的字符串分为变长字符串和定长字符串,其中变长字符串的长度是不确定的,最长约为21亿个字符,而定长字符串的长度是确定的,最长不超过65535个字符。需要特别注意字符型数据和数值型数据的不同。如果要在文本框中显示数值,就需要把数值转换成字符串:反之,如果要取出在文本框中输入的数字进行数学运算,也需要先把它转换成数值型。VisualBasic提供了字符型与数值型相互转换的命令。3.2.1基本数据类型——字符型数据日期型(Date)数据:日期型数据表示由年、月、日组成的日期信息或由时、分、秒组成的时间信息,占用8个字节的内存空间。书写格式为:mm/dd/yyyy或者mm-dd-yyyy(月-日-年),或者是可以辨认的文本日期,要用“#”括起来。例如:#07/13/2010#或#07-13-2010#表示2010年7月13日,#Januaryl5,2010#表示2010年1月15日。3.2.1基本数据类型——日期型数据逻辑型(Boolean)数据:也叫做布尔型数据,占2个字节内存,取值只有“True”和“False”两种。3.2.1基本数据类型——逻辑型数据变体型(Variant)数据:可以表示任何类型的数据,即变体型数据的类型是可变的。当用户给它赋一个字符型数据时,它就是字符型数据;当用户给它赋一个数值型数据时,它就是数值型数据。看起来很方便,但它占用的存储空间较大,所以在实际编写代码的时候,很少使用变体型数据。3.2.1基本数据类型——变体型数据对象型(Object)数据:可用来表示应用程序中的对象(用4个字节存储),可以用Set语句来指定一个被声明为Ob6eet的变量,去引用应用程序中的任何实际对象。3.2.1基本数据类型——对象型数据3.2.2用户自定义数据类型VisualBasic允许用户使用Type语句自定义数据类型,自定义数据类型通常是由标准类型组合而成。例如,定义一个有关学生家庭信息的自定义类型,包括“学号”、“姓名”、“街区”、“电话”等数据,为了处理的方便,可以把这些数据组合成一个新的数据类型(如Address类型),这种结构的数据类型称为“记录”类型。Type语句的格式为:

Type数据类型名元素名1As类型元素名2As类型

元素名NAs类型

EndType3.2.2用户自定义数据类型用户自定义Address类型的代码如下:

TypeAddress

Xhasstring

XmasstringStreetASStringPhoneASStringEndtype定义了类型后,就可以像使用标准数据类型一样来使用了3.2.2用户自定义数据类型3.3常量与变量常量变量常量是在程序运行过程中其值不能被改变的量。在VisualBasic中有三类常量:普通常量、符号常量、系统常量。普通常量可在字面上区分数据类型;符号常量是用一个字符串(称为符号或者常量名)代替程序中的某一个常数;系统常量是VisualBasic系统定义的常量,存在于VisualBasic系统的对象库中。3.3.1常量1、普通常量(1)整型常量:通常所说的整型常量指的是十进制整数,但VisualBasic中也可以使用八进制和十六进制形式的整型常数,因此整型常数有如下三种形式:

1)十进制整数。表示-32768~32767之间的整数,如100,0,89,-20。

2)八进制整数。以&或&O(字母0)开头的整数是八进制整数,如&O25表示八进制整数25,即(25)8,等于十进制数21。

3)十六进制整数。以&H开头的整数是十六进制整数,如&H25表示十六进制整数25,即(25)16,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。上面三种表示的是整形(Integer)的整数,若要表示长整形(Long)整数,只需在数的最后加上符号“&”。例如,126&、&O126&、&H126&分别是十进制、八进制、十六进制长整形整数。3.3.1常量(2)实型常量:VisualBasic实数有单精度(Single)实数和双精度(Double)实数,它们在内存中是以浮点数形式存放的,故又称为浮点实数。实型常量有两种表示形式:

1)十进制小数形式:如0.12,12.34,1234!,11.23#。

2)指数形式:如1.23E+4、1.23D+4均表示1.23×104。实数写成指数形式时,指数部分的正号可以省略,如1.23E+4、1.23D+4可写成1.23E4、1.23D4。同一个实数可以有多种指数形式,如1234.5可以表示为:1234.5E0,123.45E+1,12.345E+2,1.2345E+3,一般将1.2345E+3称为“规范化的指数形式”。直接写出来的实数常数系统默认为双精度型,即231与231#是等价的。3.3.1常量(3)字符串常量:是用双引号(””)括起来的一串字符。可以是所有西文字符和汉字、标点符号等,例如”ABC”、”abc”、”456”、”程序设计”等。其中,双引号(")起到字符串的标志作用,本身不是字符串值的一部分。""代表空字符串,其值是什么也没有的字符串;而""是空格字符串,其值是一个空格。若字符串中有双引号,则用连续两个双直引号来表示字符串中的双直引号。如字符串"123""45"表示的是字符123"45。(4)逻辑常量:只有两个值:真(True)和假(False)。当把数值常量转换为逻辑常量时,0为False,非0值为True;当把逻辑常量转换为整数数值时,False转换为0,True转换为-1。(5)日期常量:用字符“#”括起来。如,#08/18/2010#、#08/18/201008:10:38#、#08/18/201008:10:38PM#等。3.3.1常量2、符号常量 当某个数据在程序中多次出现时,可以给它赋予一个名字,以后就用这个名字来代替此数据。这样不仅书写方便,而且便于程序修改和阅读。符号常量要先定义后使用。3.3.1常量定义复合符号常量的方法是:[格式][Private|Public]Const<符号常量名>[As<数据类型>]=<常数表达式>[说明]:

1)可选项Private|Public决定了符号常量的作用域,Private表示只在本窗体(模块)内有效,后者在整个工程中有效(需要在“通用”、“声明”部分定义)。若在过程内定义,则只在本过程中有效。

2)符号常量名的命名规则与变量名的命名规则相同,为了便于与一般变量名区别,常常使用大写字母。

3)常数表达式可以是普通常量、系统常量或在此前已声明了的符号常量,或由这些常量和运算符组成的表达式,但不能有函数调用和变量。

4)As<数据类型>来说明符号常量的数据类型,缺省取决于“=”右边常数表达式的类型。3.3.1常量3、系统常量VisualBasic系统提供了应用程序和控件的系统定义常量,它们存放于系统的对象库中。这些常量可与应用程序的对象、方法和属性一起使用,在代码中可以直接使用它们。在“对象浏览器”中查看系统常量。选择“视图”菜单中的“对象浏览器”窗口,在下拉列表框中选择VBA对象库,然后在“类”列表框中选择“全局”,右侧的成员列表中可以显示预定义的系统常量,窗口底端的文本区域中将显示该常量的功能。3.3.1常量3.3.1常量在为属性或变量输入数据时,应该检查一下是否有系统已经定义好的常量可供使用,使用系统常量可使代码具备自我解释功能,易于阅读和维护。同时,系统常量的值在不同版本中可能会不同,系统常量的使用也可使程序保持兼容性。变量是在程序运行期间其值发生变化的量,变量名是一个符号地址,代表内存中指定的存储单元。在对程序编译连接时,由系统给每一个变量分配一个内存地址,变量名就是内存中对应单元的名字,而变量的值就是该内存单元中存放的值。每个变量都有一个相应的数据类型,包括数值型、字符型、逻辑型、日期型、对象型和可变类型等。不同的数据类型决定了变量的存储方式和在内存中占据的存储单元数量。程序通过变量名来引用变量的值。变量名的命名遵循标识符的命名规则。3.3.2变量VisualBasic允许对变量不定义就使用,但为了节省内存开销与增强程序纠错性,建议大家养成良好的编程习惯,在使用变量时,要“先声明,后使用”,即首先定义变量为某一种数据类型,以便系统为其合理分配存储单元。变量名由首字符为英文字母、不超过255个字符的字母、数字以及下划线符组成。3.3.2变量变量的声明

任何变量都属于某一种数据类型,系统根据就是类型来为变量分配存储单元,在VisualBasic中变量的声明分为隐式声明和显式声明两种。

(1)显式声明变量

[格式]声明符<变量名1>[As<类型>][,<变量名2>[As<类型>]]……[说明]1)<声明符>是用于声明变量的关键字,可以是Dim、Private、Static、Public中的一个,选择不同的关键字或者在不同的位置声明变量,其变量的作用域是不同的,一个语句可以声明多个变量。

2)<类型>是声明变量的数据类型,可以是基本类型,也可以是自定义类型或者枚举类型,缺省该项将变量定义为可变类型。

3)变量名后面可以加类型说明符。

4)字符串变量的声明有定长和不定长的区别。3.3.2变量(2)隐式声明在VisualBasic中,允许变量不声明就使用,这些变量被默认为可变类型,这种方式为隐性声明。(3)设置强制显式声明变量语句声明变量可以有效地降低错误率。为了避免写错变量名引起的麻烦,可以规定在使用变量名前,必须先用声明语句进行声明。要强制显式声明变量,可以在每个类模块、窗体模块或标准模块的声明段中加入语句OptionExplicit;或从“工具”菜单中执行“选项”命令,在打开的“选项”对话框中选择“编辑器”选项卡,再复选“要求变量声明”选项,这样VB会在后续的窗体模块、标准模块及类模块中自动插入OptionExplicit语句,这一句总是显示在代码编辑窗口的通用声明部分。3.3.2变量变量的默认值当VisualBasic执行变量的声明语句后,变量就取得系统赋予的一个默认值,不同类型的变量,其默认值如表3-2所示。变量类型默认值数值型0或0.0逻辑型False日期型#0:00:00#变长字符串空字符串""定长字符串空格字符串,其长度为定长字符串的长度对象型Nothing变体类型Empty3.3.2变量VisualBasic中变量的作用域分为:工程级、模块级、过程级。1、工程级变量:又称做全局变量,在整个工程中都有效,这种变量必须用Public在模块“通用”、“声明”中声明。2、模块级变量:又称局部变量,它的作用范围在本模块内使用。模块级变量用Dim或Private在模块的“通用”、“声明”中声明,该模块中的各(事件)过程中的同名变量(若没重新声明)其值是相同的。3、过程级变量:又称局部变量、屏蔽变量或者隐藏变量,其作用范围最小,只在本过程中有效,不同过程中定义的变量,其它过程是不能引用的,即便是同明变量在不同的过程中声明,其值也各不相同,所以过程级变量对非本过程起到了“屏蔽”的作用,使得同一模块中的各过程中的变量,同名可以不同值。过程级变量在事件过程内用Dim或Static声明,不能使用Public和Private声明。3.3.3变量的作用域3.4运算符和表达式计算机处理信息一定包含大量的数据运算,数据类型不同,使用的运算符和表达式也各不相同,VisualBasic提供了多种运算符,主要包括算术运算符、关系运算符、逻辑运算符、字符串连接符和日期运算符等。3.4.1算术运算符与算术表达式运算符名称实例+加法1+9值为10-减法或负号5-8值为-3*乘法5*4值为20/除法5/2值为2.5\整除7\2值为3,12.58\3.45值为4(两边先四舍五入取整后再运算)Mod求余数9mod2值为1,12.58Mod3.45值为1(两边先四舍五入取整后再运算)^乘方2^3值为8,-2^4值为-16算术运算符的优先级从高到低依次是:(括号运算())→(指数运算^)→(取负-)→(乘*、除/)→(整除\)→(求余Mod)→(加+、减-),其中,乘、除和加、减分别为同级运算符,同级运算从左向右进行。3.4.1算术运算符与算术表达式3.4.2关系运算符与关系表达式关系运算符用来比较两个操作数或者表达式大小的运算符,又称比较运算符,VisualBasic提供了六种运算符:=(等于)、<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、<>(不等于)六种,它们的优先级相同,即从左至右运算。关系表达式是由关系运算符和操作数组成的式子,运算的结果为逻辑值(布尔值)True或False。关系运算的规则如下:

1)当两个操作数均为数值型,按数值大小比较。

2)当两个操作数均为字符类型数据时,从左到右逐个字符比较,第一个不相同字符的ASCII码值大的,字符串为大。

3)当两个操作数均为日期类型数据,比较先后,现在的日期比过去的大。

4)逻辑型数据的取值只有False和True,并且False>True,这是因为VisualBasic把任何非0值都认为逻辑值为真,但一般以-1表示True,以0表示False。3.4.2关系运算

温馨提示

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

评论

0/150

提交评论