VB电子教材文档格式.docx

上传人:b****1 文档编号:683099 上传时间:2023-04-29 格式:DOCX 页数:88 大小:325.20KB
下载 相关 举报
VB电子教材文档格式.docx_第1页
第1页 / 共88页
VB电子教材文档格式.docx_第2页
第2页 / 共88页
VB电子教材文档格式.docx_第3页
第3页 / 共88页
VB电子教材文档格式.docx_第4页
第4页 / 共88页
VB电子教材文档格式.docx_第5页
第5页 / 共88页
VB电子教材文档格式.docx_第6页
第6页 / 共88页
VB电子教材文档格式.docx_第7页
第7页 / 共88页
VB电子教材文档格式.docx_第8页
第8页 / 共88页
VB电子教材文档格式.docx_第9页
第9页 / 共88页
VB电子教材文档格式.docx_第10页
第10页 / 共88页
VB电子教材文档格式.docx_第11页
第11页 / 共88页
VB电子教材文档格式.docx_第12页
第12页 / 共88页
VB电子教材文档格式.docx_第13页
第13页 / 共88页
VB电子教材文档格式.docx_第14页
第14页 / 共88页
VB电子教材文档格式.docx_第15页
第15页 / 共88页
VB电子教材文档格式.docx_第16页
第16页 / 共88页
VB电子教材文档格式.docx_第17页
第17页 / 共88页
VB电子教材文档格式.docx_第18页
第18页 / 共88页
VB电子教材文档格式.docx_第19页
第19页 / 共88页
VB电子教材文档格式.docx_第20页
第20页 / 共88页
亲,该文档总共88页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB电子教材文档格式.docx

《VB电子教材文档格式.docx》由会员分享,可在线阅读,更多相关《VB电子教材文档格式.docx(88页珍藏版)》请在冰点文库上搜索。

VB电子教材文档格式.docx

0~255

变长字符串

String

每个字符占1个字节,每个字符串最多可存放约20亿个字符

定长字符串

String*size

size是小于65535的无符号整常数,为字符串长度。

逻辑型

Boolean

True或False

日期型

Date

100.1.1~9999.12.31

对象型

Object

任何对象的引用

变体型

Variant

若存放数值类型数据,占16个字节,最大可达Double的范围。

若存放字符串类型数据,字符串长度与变长字符串相同。

表2-1中,“名称”用以标识变量的类型,“字节数”表示该类型数据所占内存空间的大小。

在2.1.2节,我们将介绍如何声明变量的类型。

了解不同类型变量的取值范围和有效位数,便于我们在设计时根据实际需要正确地选择数据类型。

如:

声明变量a用于存放某个同学一学期各门功课的总分(一般不超过32767),可以声明“DimaAsInteger”,VB处理系统会为变量a分配2个字节的存储空间。

声明变量b用于存放某大学所有职工的工资总和(一般不小于32767),则应声明“DimaAsLong”,VB处理系统会为变量b分配4个字节的存储空间。

又如:

计算圆柱体的体积,并存入变量v,声明v为Single类型,半径和圆周率也采用Single类型,则结果v具有7位有效数字;

如果要求计算结果具有更高的精确度,可以考虑采用Double类型。

不同类型的数值数据,其数值范围和有效位数的差别,或是由于所占用的存储空间大小不同、或是由于存储格式不同。

VB用1个字节(8个2进制位)存储Byte类型的数据,其最大值为(11111111)2,因此该类型数据的最大值为255。

又如,VB用2个字节(16个2进制位)存储Integer类型的数据,首位为符号位(正数为0、负数为1),因此其最大值为(0111111111111111)2,即32767。

至此,读者应可理解,为什么Long类型数据的数值范围超过了Integer类型的数据。

Single类型数据占用4个字节内存,第一个二进制位表示该数的符号。

因为任何一个实数都可以表示为±

Q的形式,VB将Single类型数据的后31位分成2段:

一段表示J的大小与符号,一段表示Q的数值。

Double类型数据比Single类型数据多出32位:

1位增加在表示J的段中,31位增加在表示Q的段中,因此Double类型数据比Single类型具有更大的数值范围、更多的有效位数。

特别要指出的是,VB的Single、Double类型数据,表示各自数值范围内的数据是有误差的。

读者可以做一个尝试:

将10进制数0.6转换为2进制数,会发现用2进制不可以将其精确表示。

事实上,计算机不可能用无限位数来表示一个实数,误差就是这样产生的。

2.1.1常量

常量是直接写在程序中的数据,常量的类型由它们的书写格式决定。

数值常量

VB中的整型数、长整型数、单精度浮点数、双精度浮点数、货币型数、字节型数又统称为数值型数据,在使用数值型数据时,应注意以下几点:

如果数据包含小数,则应使用Single、Double或Currency类型。

其中,Single类型的有效数字为7位,Double类型的有效数字为15位,Currency类型支持15位整数和四位小数,适用于货币计算。

在VB中,数值类型数据都有一个有效的取值范围,程序中的数如果超出这个范围,就会出现“溢出”(Overflow)错误。

VB中的常量一般采用十进制数,但有时也使用十六进制数(数值前加前缀&

h)或八进制数(数值前加前缀&

o)。

赋值语句“d=&

h1a2”的作用是,将418(10进制)送入变量d所在的存储单元。

赋值语句“d=&

o216”的作用是,将142(10进制)送入变量d所在的存储单元。

字符串常量

字符串常量是用双引号括起来的一串字符,格式为:

"

h1h2h3...hn"

每个字符占1个字节;

可以是任何合法字符,如:

VB"

、"

123"

、chr$(13)(回车符)、"

无实数解"

,等等。

逻辑常量

逻辑常量只有两个值:

真(True)和假(False)。

当把数值常量转换为Boolean时,0为False,非0值为True;

当把Boolean常量转换为数值时,False转换为0,True转换为-1。

日期常量

日期常量用来表示日期和时间,VB可以表示多种格式的日期和时间,输出格式由Windows设置的格式决定。

日期数据用两个“#”把表示日期和时间的值括起来,如:

#08/18/2001#、#08/18/200108:

10:

38AM#,等等。

符号常量

当程序中多次出现某个数据时,为便于程序修改和阅读,可以给它赋予一个名字,以后用到这个值时就用名字代表,这个名字就称为符号常量。

符号常量的定义格式如下:

Const<

符号常量名>

=<

常量>

可以在窗体模块的任何地方(通用对象声明部分或事件过程中)定义。

例2-1符号常量的作用域及应用。

Constpi=3.14159'

在通用对象声明部分声明数值符号常量

PrivateSubCommand1_Click()

Constpi=3.14

'

事件过程与通用对象声明部分声明的符号常量同名,则事件过程内部引用的是内部

'

声明的值,下列Print语句的输出结果是3.14而不是3.14159。

Printpi

EndSub

PrivateSubCommand2_Click()

'

事件过程中未声明pi,此处pi是通用对象声明部分所声明的pi,输出3.14159。

2.1.2变量

常量的类型由书写格式决定,而变量的类型由类型声明决定。

变量的命名规则

变量名由首字符为英文字母、不超过255个字符的字母、数字、下划线符组成。

如Sum、a2、x_1都是VB的变量名。

变量命名的几点说明

不能使用VB的关键字作为变量名。

关键字是指VB系统中已经定义的词,如语句、函数、运算符的名称等,如Print、If等都不能用作变量名。

变量名不能与过程名或符号常量名相同。

VB不区分变量名的大小写。

即大小写是一样的,如X1与x1是同一变量。

变量取名尽量做到“见名知义”,以提高程序的可读性。

建议根据变量类型确定变量名的首字母。

这是一个小写字母,称为变量的数据类型代码标识符。

如:

y:

字节型n:

整型l:

长整型g:

d:

双精度浮点型s:

字符串型t:

这里关于变量名首字符如何确定,提出的只是建议,而不是规定。

根据变量名的首字母并不能确定变量的类型,譬如,仅仅从变量名为“gx1”不能确定变量gx1为单精度浮点型,变量的类型只能根据变量声明来确定。

变量声明

在程序中用到的变量,一般应声明其类型,由此决定变量的存取格式、取值范围、有效数位等。

而声明变量类型的方法有两种:

隐含声明和强制声明。

隐含声明

在变量名的后面加上特定字符(后缀字符),用于规定变量类型的方法称为隐含声明。

由变量后缀字符决定变量类型的具体规定如下:

①变量后缀字符为“%”,隐含声明该变量类型为整型。

②变量后缀字符为“&

”,隐含声明该变量类型为长整型。

③变量后缀字符为“!

”,隐含声明该变量类型为单精度浮点型。

④变量后缀字符为“#”,隐含声明该变量类型为双精度浮点型。

⑤变量后缀字符为“$”,隐含声明该变量类型为字符串型。

强制声明

用Dim语句(类型强制声明语句)可以强制声明只能在本窗体中能使用的变量类型。

DimybAsByte,ycAsByte,nkAsInteger,kAsLong

DimgxAsSingle,dyAsDouble,snameAsString*10

以上语句声明yb、yc为字节变量,声明nk为整型变量,声明k为长整型变量,声明gx为单精度浮点型变量,声明dy为双精度浮点型变量,声明sname为最多10个字符的定长字符串型变量。

注意:

不可以将语句“DimmAsInteger,nAsInteger"

写作“Dimm,nAsInteger"

,后者实际上将m声明为变体类型,增加了变量m的内存开销。

若强制声明了变量类型,则不可再为变量名加后缀字符。

一个变量如没有声明,则VB将其作为变体类型变量。

好的程序设计风格是声明每一个变量的类型,一方面可以提高程序的可读性,另一方面,可避免采用变体数值类型数据,以减少程序运行时的内存开销。

变量的初始值

在程序中声明了变量以后,VB自动将数值类型的变量赋初值0,变长字符串被初始化为零长度的字符串("

),定长字符串则用空格填充,而逻辑型的变量初始化为False。

同符号常量一样,可以在窗体模块的任何地方(通用对象声明部分或事件过程中)定义变量。

例2-2变量的作用域及应用。

DimsMystringasString'

在通用对象声明部分声明字符串变量

PrivateSubForm_Load()

sMystring="

欢迎使用VB6.0"

PrivateSubForm_Click()

PrintsMystring

程序运行时,单击窗体,在窗体中显示欢迎使用VB6.0。

如果不在通用对象声明部分声明字符串变量sMystring,或将其放在Form_Click或Form_Load事件过程中声明,则程序运行后什么也显示不出来。

2.2Print语句、赋值语句

2.2.1语句、命令的语法描述规则

为便于解释语句、方法和函数,本书在各语句、方法和函数的语法格式和功能说明中采用统一的符号约定。

DIM<

变量名>

[AS<

数据类型>

][,<

]...]

各语法描述符号及它们的含义如下:

·

“<

>

”为必选参数项,尖括号中的中文提示说明,必须由使用者根据问题的需要提供具体的参数。

如果缺少必选参数,则发生语法错误。

“[]”为可选参数项,方括号中的项目由使用者根据具体问题决定选与不选。

如省略,则为缺省值。

“{}”和“|”,包含多中取一的各项,竖线分隔多个选择项,必须选择其中之一。

“...”表示同类项目的重复出现。

在书写具体的命令时,不能出现这些语法描述符号。

2.2.2Print语句

使用Print语句可以在窗体上输出表达式的值,并可在其他图形对象或打印机上输出信息。

该语句格式为:

[<

对象名称>

.]Print[<

输出项>

[[{,|;

}][<

]]...]

其中,<

可以是窗体(Form)、图片框(PictureBox)或打印机(Printer)。

输出项之间的分隔符“,”为分段格式,“;

”为紧凑格式。

语句末尾为分隔符“,”或“;

”,则该语句最后的输出位置为下一条print语句输出的起始位置。

若省略输出项,则输出一空行。

VB将一行分为若干段,每14列为1段,若两个输出项之间用逗号间隔,则第2个数据项的输出位置从下一段开始;

若两个输出项之间用分号间隔,则第2个数据以“紧凑”格式输出。

例2-3Print语句的输出格式及应用。

Print123,888,-456,3.14

Print123;

888;

-456;

3.14

Print"

;

"

888"

abc"

True;

Print123,888;

Print

运行该程序时,在窗体上的输出结果如图2-1所示。

图2-1例2-3的输出结果

从例2-3的输出结果可知:

无论是分段格式还是紧凑格式,数值数据输出后都会尾随一个空格,输出正数时正号不显示、输出一个空格。

这就是为什么图2-1第二行中的123和888之间有2个空格、而888与-456之间只有1个空格的原因。

字符串数据原样显示引号内的内容,逻辑类型数据直接输出True或False。

2.2.3赋值语句

格式:

<

=<

表达式>

或<

控件名>

.<

属性名>

功能:

计算表达式值并转换为相同类型数据后为变量或控件属性赋值。

说明:

为数值变量赋值时,表达式的值不得超过数值变量的数值范围,否则显示错误信息。

如执行语句“k%=1234567”与“f!

=1.34E39”都将出现赋值错误。

值为浮点类型的表达式四舍五入后向整型变量赋值。

如执行语句“k&

=5.76”后,k&

被赋值6;

执行语句“i%=-4.49”后,i%被赋值-4。

任何类型表达式都可以向字符串变量赋值。

如执行语句“a$=123.45”后,字符串变量a$中存放了字符串"

123.45"

赋值号不是数学中的等号。

如执行语句“a=a+8”的过程是,取变量a的值与8相加后的结果再赋值给变量a。

例2-4编写一个实现两个变量值交换的程序。

我们可以把两个变量A、B设想成分别装有牛奶和咖啡的两只杯子,现在要把牛奶倒到咖啡杯里,而将咖啡倒到牛奶杯里。

可以这样来做:

另取一只杯子(同类型变量)C,将A中的牛奶倒入杯子C,再将B中的咖啡倒入杯子A,最后将杯子C中的牛奶倒入杯子B。

程序如下:

a%=5:

b%=8

Printa%,b%'

显示交换前的值

c%=a%:

a%=b%:

b%=c%'

交换

Printa%,b%'

显示交换后的值

EndSub

显然,将交换的过程写作“a%=b%:

b%=a%”是错误的。

2.3运算符、表达式、常用内部函数

2.3.1算术运算符与算术表达式

算术运算符

如表2-2所示,VB共有7个算术运算符,除了负号是单目运算符,其他都是双目运算符。

表2-2算术运算符

运算符

实例

^

乘方

2^3值为8,-2^3值为-8

*

乘法

5*8

/

除法

7/2

\

整除

7\2值为3,12.58\3.45值为4(两边先四舍五入再运算)

Mod

求余数

7mod2值为1,12.58Mod3.45值为1(两边先四舍五入再运算)

+

加法

1+2

-

减法、取负

5-8,-3

算术运算符的优先级

算术运算符之间的运算优先级从高到低如下所示,由此可知:

指数运算优先级最高,而加、减运算优先级最低。

指数运算^→取负-→乘、除→整除\→求余Mod→加、减

其中,整除和求余运算只能对整型数据(Byte、Integer、Long)进行,如果其两边的任一个操作数为实型(Single、Double),则VB自动将其四舍五入、再用四舍五入后的值作整除或求余运算。

乘、除和加、减分别为同级运算符,同级运算从左向右进行。

在表达式中加括号可以改变表达式的求值顺序。

算术表达式

常量、变量、函数是表达式,将它们加圆括号或用运算符作有意义的连接后也是表达式,书写VB的算术表达式,应注意与数学表达式在写法上的区别。

不能漏写运算符,如3xy应写作3*x*y。

VB算术表达式中使用的括号都是小括号。

例2-5由下列数学式写出相应的VB算术表达式。

写作:

1/(1+1/(1+x))

-(a*a+b*b*b)*y^4

(-a^(b^c)+b^0.5)*(a-b)^-0.5

变量k是一个两位整数,求其个位数与十位数之和的算术表达式为:

kmod10+k\10

2.3.2字符串运算符与字符串表达式

字符串运算符有两个:

“+”和“&

”,均为双目运算符、用于连接两边的字符串表达式。

ABCD"

&

efg"

计算后所得表达式的值为"

ABCDefg"

杭州"

西湖"

杭州西湖"

字符串连接符“&

”具有自动将非字符串类型的数据转换成字符串后再进行连接的功能,而“+”则不能。

xyz"

123计算后所得表达式的值为"

xyz123"

+123出现类型不匹配错误

2.3.3关系运算符与关系表达式

关系运算符也称为比较运算符,包括<

、<

=、>

、>

=、=、<

>

六种,均为双目运算符,用于比较两边的表达式是否满足条件,运算结果为True或False。

在关系表达式求值时:

数值数据比较大小,如3<

=5为True;

日期类型数据比较先后,如#11/18/1999#>

#03/05/2001#为False;

字符类型数据比较字符的ASCII码:

若两端首字符相同则比较第2个字符……直到比较出相应字符的ASCII值大小或两端所有字符比较结束。

如"

ABCd"

="

为True

"

cd"

为False

="

两个字符串的“=”关系比较结果为True,它们必定是两个完全相同的字符串。

2.3.4逻辑运算符与逻辑表达式

常用的逻辑(布尔)运算符有三种,如表2-3所示。

逻辑运算符的优先级是:

先Not,次And,后Or。

算术运算符、关系运算符和逻辑运算符的优先级关系为:

算术运算符最高,其次是关系运算符,最后是逻辑运算符。

关系表达式的值为False或True,因此也是逻辑表达式;

逻辑表达式用逻辑运算符正确地连接后也是逻辑表达式。

表2-3逻辑运算符

实例说明

And

8Mod2=0And8Mod3=0,值为False。

只有当两个表达式的值都为真(True)时,结果才为真,否则为假(False)

Or

8Mod2=0Or8Mod3=0,值为True。

两个表达式中只要有一个为真(True)时,结果就为真;

只有当两个表达式的值都为假(False)时,结果才为假(False)

Not

Not1>

0,值为False,由真变假;

Not1<

0,值为True,由假变真

例2-6由下列条件写出相应的VB逻辑表达式。

条件“-3<

x<

3”写作逻辑表达式为:

-3<

xandx<

3

判断变量a、b均不为0的逻辑表达式为:

a*b<

0或a<

0andb<

0

判断变量a、b中必有且仅有1个为0的逻辑表达式为:

a=0andb<

0ora<

0andb=0或a*b=0anda+b<

判断整型变量k是正的奇数的逻辑表达式为:

k>

0andkmod2=1

判断变量a、b、c是否等比数列中顺序的3项,逻辑表达式为:

a/b=b/c

平面三点坐标为(x1,y1)、(x2,y2)、(x3,y3),且x1≠x2≠x3,判断它们是否共线的逻辑表达式为:

(y3-y2)/(x3-x2)=(y2-y1)/(x2-x1)

2.3.5常用内部函数

VB的内部函数是系统预定义函数,可由用户直接调用。

VB函数的自变量必须用括号括起来,并满足一定的取值要求。

这里主要介绍一些常用内部函数,其他函数可参见VB的有关资料。

1.数学函数

下列函数的参数均为数值类型。

三角函数:

Sin(x)、Cos(x)、Tan(x),反正切函数Atan(x)

以上函数分别返回正弦值、余弦值、正切值和反正切值;

VB没有余切函数,求x弧度的余切值可以表示为1/Tan(x);

函数Sin、Cos、Tan的自变量必须是弧度,如数学式Sin30°

,写作VB的表达式为Sin(30*3.1416/180);

其他反三角函数可以转换为等值的反正切函数,然后用VB的反正切函数Atan计算,如函数Atan(x/sqr(1-x*x))可以求sin-1x(不可以写作Asin(x),因为VB没有预定义反正弦函数Asin)。

Abs(x):

返回x的绝对值。

Exp(x):

返回e的指定次幂,即ex。

Log(x):

返回x的自然对数。

Sgn(x):

符号函数,当x>

0时,Sgn(x)的值为1;

当x=0时,Sgn(x)的值为0;

0时,Sgn(x)的值为-1。

Sqr(x):

返回x的平方根,如Sqr(16)的值为4,Sqr(1.44)的值为1.2。

Int(x):

返回不大于x的最大整数,如Int(7.8)值为7,Int(-7.8)值为-8。

Fix(x):

返回x的整数部分,如Fix(7.8)值为7,Fix(-7.8)值为-7。

2.字符串函数

Ltrim(x):

返回删除字符串x前导空格符后的字符串。

如Ltrim("

abc"

)的计算结果为字符串"

Rtrim(x):

返回删除字符串x尾随空格符后的字符串。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2