高中vb程序设计第2章_第1页
高中vb程序设计第2章_第2页
高中vb程序设计第2章_第3页
高中vb程序设计第2章_第4页
高中vb程序设计第2章_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第2章变量、常量、

数组与数据类型VB中的数据又以四种形式存储:变量、常量、数组和记录,如表2-1所示。每一种都适合于不同的特定任务。名字能够存储的数据变量常量数组记录一个可以改变的单值一个固定的单值多个同一数据类型的值多个不同数据类型的数据值表2-1 数据存储形式2.1.1变量

在程序运行期间,有一些数据是要经常变化的,为了方便起见,就用变量来表示这些数据,变量具有变量名和数据类型,为了使用变量,最好事先声明这个变量,所谓的声明变量就是定义变量名和变量类型。在定义变量时应该注意以下几点:1、变量名必须以字母开头。2、变量名中不能包含句号、空格、!、#、$、@、%、&、+、-等特殊字符。3、变量名长度不得超过255个字符。4、变量名在同一个有效范围内必须是唯一的,不能重名,声明变量要使用Dim语句。声明变量格式:Dim/static变量名[As数据类型]如:DimXAsInteger‘声明X为整形变量‘staticSumAsLong‘声明“Sum”为一静态变量,类型为长整形。(静态变量在过程结束后保存变量的值,下次使用时值不会丧失。)DimNameAsString‘声明Name为字符串变量‘注:声明一个变量后并不是在程序中的任何位置都可以使用,如果在一个过程的内部声明变量时,只有过程内部的代码才能访问或改变那个变量的值。如果在窗体代码窗口的通用区域声明一个变量,那么该变量可以在该窗体的任何事件过程中使用,叫做窗体级变量它只在窗体加载时执行一次。如果在事件过程中声明,需要在其它位置中也能使用,可以使用Public语句定义。2.1.2声明变量例2-1-1Public(全局变量声明)语句其语法格式为:Public变量名As数据类型如果在声明变量时没有指定数据类型,那么该变量会默认被定义为Variant类型〔变体型〕如:DimX‘变量X的类型是Variant通常把变量名分为两局部:前缀+描述性字符‘英语单词首字母大写其余小写;前缀通常使用三个小写字母来表示例如:要声明一个String类型的变量用于保存姓名,声明一Single类型的变量用于保存单价,声明语句如下:DimstrNameAsstringDimsngUnitPriceAsSingle2.1.3.变量的作用域例2-1-21、变量在程序中的位置不同,变量的作用域就不同。2、局部变量:有窗体变量、模块变量、过程变量、类变量及语句变量。

3、全局变量及其作用域Public声明的变量可以被工程中的任一窗体、任一模块中的任一过程程序使用。

表2-2常用的变量名前缀数据类型前缀数据类型前缀BytebytDatedtmIntegerintBooleanblnLonglngVariantvarSinglesngCurrencycurDoubledblObjeactobjStringstr表2-3变量后后缀及其表示类型后缀表示类型%Integer&Long!Single#Double$String除了使用Dim语句声明一个变量外,VB还允许使用变量后缀来表示一局部变量或数据的局部类型。如:ProductName$表示一个String类型的局部变量,ProductID&表示一个Long类型的局部变量。2.1.4变量名冲突程序可以在不同地方声明变量,上面已经讲过。

2.1.5变量的赋值声明完变量后,就可以给变量赋值。

2.1.6变量的精度每个变量都有其类型,每种类型都有其自身的存储定义(在后面会讲到),因而每个变量都有其范围。

2.2常量〔1〕系统内在常量这种常量是系统提供的自身拥有的常量。例如,表2-3所示是VB中的表示颜色的常量,可在代码中的任何地方代替实际值。表2-4 系统常量中的颜色值常量值描述VbBlack0x0黑色VbRed0xFF红色VbGreen0xFF00绿色VbYellow0xFFFF黄色VbBlue0xFF0000蓝色VbMagenta0xFF00FF紫红色VbCyan0xFFFF00青色VbWhite0xFFFFFF白色〔2〕符号常量(自定义常量)在程序设计中使用Const声明的常量。在声明一个常量后就可以用常量名来引用其代表的常量,常量的定义语法如下:[Public|Private]Const变量名[As数据类型]=表达式例2-2-1计算球体积注意以下几点:①用Const声明的常量在程序运行的过程中是不能被重新赋值的。②在常量声明的同时赋值。③可以为声明的常量指定类型,如ConstconValAsCurrency=3.78,缺省时为所赋值的类型。④用常量为常量初始化时,注意循环引用易出错。表2-5 VB的标准数据类型数据类型类型名称类型声明字符字节有效值字节型Byte

10~255布尔型Boolean

2True或False整型Integer%2–32768~32767长整型Long&4–2147483648~21474836472.3VB的标准数据类型单精度型Single!4负数:–3.402823E38~–1.40298E–45正数:1.401298E–45~3.402823E38双精度型Double#8负数:–1.79769313486232E308~–4.94065645841247E–324正数:4.94065645841247E–324~1.79769313486232E308货币型Currency@8–922337203685477.5808~

922337203685477.5807日期型Date

8January1100~December319999对象型Object

4任何对象的引用变长字符串型String$字符串长度,1字节/字符

定长字符串型String*Num$Num

可变类型Variant

不定

注意:1、在上述数据类型中,当需要表达String类型的数据时,要使用双引号将具体内容括住。如:“Apple”,”计算机“。2、当需要表达Date类型的数据时,需要用#号将具体内容括住。如2005年5月16日,那么表达为:#2005-5-16#例2-3-1以print语句为例printa与print“a”的不同2.3.2数值数据类型数值数据类型有整型、长整型、单精度型、双精度型及货币型。

2.3.2.1整型整型以Integer表示,变量存储为16位(2个字节),数值范围为–32768~32767之间,当给Integer类型的变量赋值时,如果值大于32767或小于–32768便会溢出,因此当某个整数的值超出Integer的范围时,必须用Long类型。2.3.2.2长整型Long(长整型)变量存储为32位(4个字节),1个符号位,31个数据位。

返回目录2.3.2.3单精度型单精度型也称为Single数据类型。Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值形式,一个符号位,8个指数位,23个数据位。2.3.2.4双精度型双精度型也称Double数据类型。

2.3.2.5货币型货币型也称currency数据类型Currency变量存储为64位(8个字节)整型数值形式,然后除以10000给出一个定点数,其小数点左边有15位数字,右边有4位数字。

2.3.3字符串字符串是保持字符信息的根本数据类型。字符串变量可以包含大约65535字节(64KB),可以为定长,也可以为变长,每个字节包含一个字符。2.3.3.1可变长字符串大多数字符串变量是可变长字符串类型,存储在其中的字符串长度可以为0~65535个字符之间。可变长字符串变量一次只能存储一个字符串,但其长度可以随程序运行而改变。2.3.3.2定长字符串定长字符串类型的变量,可以定义从0~32767个字符的固定长度。程序可以改变定长字符串变量的内容,但是不能改变其长度。返回目录2.3.3.3使用字符串应注意的问题〔1〕0结束字符串有些WindowsAPI接口函数是用C++编写的,字符串最后一个字符是CHR(0),因而要将WindowsAPI函数转换到VB中来,必须经过包装转换。〔2〕字符串中的大小区别VB对其语法的大小写没有区别,但在字符串中,VB对大小写有区别,如果想无视字符串大小的区别,可以加上Optioncomparetext语句。〔3〕字符串函数2.3.4Variant数据类型Variant数据类型是没被显式声明(用如Dim、Private、Public或Static等语句)为其他类型变量的数据类型,Variant数据类型没有类型声明字符。Variant是一种特殊的数据类型,除了定长String数据及用户定义类型外,可以包含任何种类的数据。

返回目录2.3.5Date数据类型Date变量存储为IEEE64位(8个字节)浮点数值形式,其表示的日期范围为100年1月1日~9999年12月31日,时间范围为0∶00∶00~23∶59∶59。

返回目录2.3.6Decimal数据类型Decimal变量存储为96位(12个字节)无符号的整型形式,值为除以一个10的幂数所得结果。Decimal数据类型只能在Variant中使用,也就是说,不能声明变量为Decimal类型。

返回目录2.3.7数据类型转换一些编程语言对不同类型数据的处理比较严格。将不同类型的值赋给了变量,可能会产生逻辑错误。返回目录表2-4 数据类型转换函数函数转换后的类型

函数转换后的类型CboolBoolean

CSngSingleCbyteByte

CStrStringCcurCurrency

CvarVariantCdateDate

CVErrErrorCDblDouble

Hex十六进制数Chr返回字符码对应的字符

Oct八进制数CintInteger

Str将字符串以数字返回CLngLong

Val返回字符串内的数字2.3.8数组数组是有序数据的集合。数组中的元素属于同一数据类型。数组的下标是有界的,分为下界和上界。数组可以用Dim、Private、Public或Static来声明,它们的语法格式相同。下面只讲用Dim声明数组。返回目录2.3.8.1固定大小数组固定大小数组是指数组元素的个数是固定不变的。根据固定大小数组的维数,可以将它分为一维数组和多维数组。1.一维数组2.多维数组Dim数组名([下标边界列表])[As数据类型]下标边界的定义形式:[下标下界]To[下标上界]下标边界列表指用逗号分开的数组各维的下标边界,即[下标下界]To[下标上界],[下标下界]To[下标上界],……,[下标下界]To[下标上界](第一维)(第二维)(第n维)2.3.8.2动态数组如果把数组的大小定义到足够大来满足任意的实际应用需要,这种方法效率很低且浪费内存空间。在声明数组时,假设不给出维数列表,那么是将数组声明为动态数组。例如: DimMyArry()AsInteger2.数组的高级功能数组常用来存储成组的变量,但在别的一些方面数组也是很有用的。〔1〕数组赋值给维数或数据类型不同的数组赋值,成功或失败取决于以下几个因素:①赋值符左边的数组类型(固定数组或动态数组)是否与右边匹配。②赋值符左边数组的维数是否和赋值符右边数组的维数匹配。

温馨提示

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

评论

0/150

提交评论