VB程序设计基础简单易懂.docx

上传人:b****7 文档编号:10174103 上传时间:2023-02-09 格式:DOCX 页数:29 大小:93KB
下载 相关 举报
VB程序设计基础简单易懂.docx_第1页
第1页 / 共29页
VB程序设计基础简单易懂.docx_第2页
第2页 / 共29页
VB程序设计基础简单易懂.docx_第3页
第3页 / 共29页
VB程序设计基础简单易懂.docx_第4页
第4页 / 共29页
VB程序设计基础简单易懂.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

VB程序设计基础简单易懂.docx

《VB程序设计基础简单易懂.docx》由会员分享,可在线阅读,更多相关《VB程序设计基础简单易懂.docx(29页珍藏版)》请在冰豆网上搜索。

VB程序设计基础简单易懂.docx

VB程序设计基础简单易懂

4.1VB中常用的标准数据类型

数据是程序处理的对象,常量和变量是VB中最常见的两种数据。

在VB中,凡是与数据有关的东西就与数据类型有关。

数据类型是用来存储数据和处理数据的载体,是任何一门编程语言的基础。

各种计算机语言都会规定各具特色的数据类型,虽然名称可能不同,但内容与作用都是相似的,都是进行程序设计的基础。

VB不仅可以处理各种数制的数据,而且具有丰富的数据类型。

因此,VB具有强大的数据处理能力。

VB中常用的标准数据类型如表4.1-1所示。

表4.1-1标准数据类型

数据类型

类型名称

类型声明符

占用字节

表示数的范围

整数

整型

Integer

%

2

-32768到32767

长整型

Long

&

4

-2147483648到2147483647

浮点数

单精度型

Single

!

4

双精度型

Double

#

8

字符串型

String

$

一个字节/每字符

 

日期型

Date

 

8

 

布尔型

Boolean

 

2

True或False

变体型

Variant

 

可变

 

 

一、数值型

用于存放各种精度的数值,可以是整数、浮点数、正数、负数等类型。

其中,整数又分为整型和长整型,浮点数又分为单精度型和双精度型。

二、字符串型

用于存放文本和字符串。

三、日期型

用于存放日期和时间。

四、布尔型

用来存放逻辑值True和False,当某个量的值是“True/False”、“Yes/No”、“ON/Off”时可使用布尔型。

提示:

在VB中,布尔型数据用两个字节存放,而在内存中,布尔值实际上是-1(True)和0(False)。

五、变体型

是一种特殊的数据类型,可以存放上述各种类型的数据。

变体型(Variant)除包括上述的几种数据类型外,还可以包括两个特殊的数据。

1、1、 Empty(空):

表明未指定确定的数据。

2、2、 Null(无效):

表示数据不合法。

提示:

类型声明符是附加到变量名上的字符,指出变量的数据类型,用户根据类型声明符可以很容易判断出变量的类型。

定义数据类型的原因之一是,现实生活当中实际存在着各种数据类型,计算机应能够对其进行处理;原因之二是,不同的数据占用不同的内存空间,例如整型(Integer)数据占2字节,而长整型(Long)数据占4个字节,定义合适的数据类型,可以提高程序运行的效率,节省内存空间。

所以,一定要根据具体的应用情况和要求,选择合适的数据类型,如能用整型数表示的地方,就不用长整型和浮点数;能用单精度数表示的地方,就不用双精度数。

4.2变量

VB中的数据以四种形式存储:

变量、常量、数组和记录。

每一种形式都适合于不同的特定任务,参见表4.2-1。

表4.2-1数据存储形式

名字

能够存储的数据

变量

一个可以改变的值

常量

一个固定的值

数组

多个相同数据类型的值

记录

多个不同数据类型的数据值

计算机在处理数据时,必须将其装入内存。

在高级语言中,需要将存放数据的内存单元命名,通过内存单元来访问其中的数据。

命了名的内存单元,就是常量或变量。

变量是指在程序运行期间可以变化的量,为具有名称的临时内存存储单元,它以符号形式出现在程序中,用于程序运行期间保存数值。

每个变量都有一个名字和相应的数据类型,变量名是用来引用该变量所含的值的符号,程序通过变量名对变量进行存取操作,而变量的数据类型则决定了该变量可以存储的数据的种类。

一、变量的命名规则

1、变量名必须以英文字母开头。

2、名字只能由字母、数字、下划线"_"组成。

3、变量名的有效字符为40个,最长不可超过255个字符。

4、变量名不能和关键字同名。

提示:

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

二、声明变量

变量在使用之前必须先声明,即创建该变量,通过声明把变量通知给程序,以便系统为它分配存储单元。

声明变量有两种方式:

显式声明和隐式声明。

1、隐式声明

VB允许设计者不进行数据类型声明而在程序中通过变量名直接引用。

如果没有指定变量的类型,则此变量默认数据类型为Variant型。

可在变量名后加上一个用于规定变量类型的说明字符,来规定变量的类型。

VB规定的变量说明字符为:

%(整型)、&(长整型)、!

(单精度)、#(双精度)、@(货币型)、$(字符串型)。

例如:

Age%,Number#,Name$

2、显式声明

用声明语句来说明变量的类型。

VB提供四种声明语句来显式说明变量的类型,其语法为:

Dim<变量名>[As类型][,<变量名>As<类型>]

Public<变量名>As<类型>[,<变量名>As<类型>]

Private<变量名>As<类型>[,<变量名>As<类型>]

Static<变量名>As<类型>[,<变量名>As<类型>]

其中,Dim语句既可用于说明局部变量,又可用于说明窗体/模块级变量;Public语句用于说明全局变量;Private语句用于说明窗体/模块级变量;Static用于说明静态变量。

例如:

DimX‘X为变体型

DimXAsVariant‘X为变体型

DimZhangAsString‘Zhang为字符串型

DimAgeAsInteger‘Age为整型

DimAgeAsSingle,NameAsString‘同时声明Age和Name两个变量

DimBirthdayAsDate‘Birthday为日期型

DimIsVisibleAsBoolean‘IsVisible为布尔型

提示:

1)、一条Dim语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声明不能共用。

例如:

DimIntIASInteger,LngLASLong,SngSASSingle,DubDASDouble

等价于:

DimIntI%,LngL&,SngS!

DubD#

DimX,YASInteger则创建了变体型变量X、整型变量Y。

2)、对于字符串变量类型,根据其存放的字符串长度是否固定,其定义方法有两种:

DimStrXAsString‘定义变长字符串,最多可存放2M个字符。

DimStrYAsString*字符数n‘定义定长字符串,最多可存放n个字符。

例如:

DimStrYAsString*50

若StrY中赋的字符少于50个,则右方补空,若多于50个,则多余部分被裁去。

3、强制显式说明

OptionExplicit语句

在模块中使用该语句,当遇到未经显式说明的变量时,就会发出错误警告。

三、变量的作用域

变量不仅有类型,还有起作用的范围,变量的作用范围就是变量的作用域。

1、在过程(事件过程或通用过程)内用Dim声明的变量称为局部变量,其只在此过程内有效。

该类变量只在该过程执行时才存在,过程一结束,该变量的值也就消失了。

另外,在一个过程中无法访问其它过程中声明的变量,因此,在不同过程中可以使用相同的变量名。

如图4.2-1所示,在Command1_Click()和Command1_Click()两个事件过程中分别定义了X、Y两个变量。

该类变量在每一次过程重新执行时,变量的内容将被重新初始化。

对于数值型初始化为0,对于字符型初始化为“空串”。

由于局部变量只有在声明它的过程中才能被识别,通常用来存放中间结果或用作临时变量。

2、在过程内用Static声明的变量称为静态变量

用Static声明的局部变量,即使过程结束,变量的值也依然会保留着,VB在任何时候都不会去初始化静态变量。

例如:

StaticiasInteger

Fori=0to10

Printi

Nexti

执行结果为:

3、在窗体模块、标准模块的声明段中用Dim(或Private)声明的变量为模块变量,对整个模块内的所有过程均有效。

如果要在同一模块的所有过程分享同一变量,就该把此变量声明为模块级的。

模块变量对该模块内的所有过程均有效,但对于其它模块内的代码不可用。

如图4.2-2所示,在窗体模块Form1的声明部分用Dim声明了两个模块变量X、Y,它们在本模块的Command1_Click()和Command1_Click()两个事件过程中均有效。

在声明模块变量时,Private和Dim之间没有什么区别,但相比之下Private更好些,因为很容易把它和Public区分开来。

3、3、在窗体模块、标准模块的声明段中用Public声明的变量为全局变量

如图4.2-3所示,在标准模块Model1的声明部分用Public声明了一个全局变量X,它在本工程的所有过程均有效。

用Public声明的变量,不但在本模块有效,在其它模块同样有效。

但在窗体模块定义的全局变量被其它模块调用时必须指明窗体名。

全局变量的值可用于应用程序的所有过程。

提示:

1、使用隐式声明的主要缺点:

1)1) 除非一行一行查阅整个过程,否则不容易搞清过程中到底使用了几个变量。

2)变量名拼错也难以发现。

3)局部变量与全局变量、模块级变量同名时易引发错误。

所以,应尽量采用显式声明。

2、VB优先识别作用域小的变量,凡是能用局部变量表示的地方,就不用模块变量和全局扁量。

 

4.3常量

常量是指在程序的运行过程中其值不发生变化的量,常量可以是具体的数值,也可以是专门说明的符号。

VB中常量有如下五种:

数值常量、字符常量、逻辑型常量、日期常量、符号常量。

一、数值常量

VB中的数值常量,由正负号、数字和小数点组成,正数的正号可以省略。

不带小数点的数称为“整数”。

带小数点的数称为“实型数”或“浮点数”。

VB中的整数又可分为整数和长整数,整数用2个字节存放,表示范围较小(-32768~32767);

长整数用4个字节存放,表示的范围较大。

浮点数分为单精度和双精度。

二、字符常量

VB中的字符常量由用引号括起的一串字符构成,字符常量容纳的字符数(长度)最多可达65535个。

三、逻辑型常量

逻辑型常量(布尔型常量)只有两个取值:

True(真)和False(假)。

四、日期常量

日期常量的一般表示形式是:

#mm/dd/yyyy#或#mm-dd-yyyy#

五、符号常量

以符号形式表示的常量称为“符号常量”,代表常量的符号称为“常量名”。

常量名的命名规则:

只能由字母、数字和下划线组成且首字符必须是字母的字符串。

常量名长度不超过255个字符,其中的字母不区分大小写。

1、1、 自定义符号常量

如果希望某个量的值保持不变,应该将其声明为常量。

应用Const语句声明,Const语句形式如下:

[Public|Private]Const<常量名>[AsType]=<表达式>

Public选项表示符号常量可在整个应用程序中使用;Private选项表示符号常量只在声明的范围内可以使用;Type用于指定常量的数据类型,省略该选项,数据类型由表达式决定。

用户也可在常量名后加类型说明符规定常量的类型。

例如:

ConstPI=3.14159‘将PI声明为常量,其值为3.14159,单精度型。

ConstE#=2.71828‘将E声明为常量,其值为2.71828,双精度型。

2、系统内部常量

VB系统提供了应用程序和控件的系统定义的常量,系统定义的常量位于对象库中,在“对象浏览器“中的VB、VBA等对象库中列举了VisualBasic的常量,这些常量可与应用程序的对象、方法和属性一起使用。

在使用程序代码为窗体及各种控件的某些属性赋值时,可以直接使用相应的内置符号常量,使得代码更加清晰易懂。

例如:

窗体状态属性WindowState可接受下列常量,VbNormal(正常)、VbMinimized(最小化)、VbMaximized(最大化)。

在后续学习InputBox、MsgBox函数时,会用到VbOkOnly、VbOkCancel、VbOk、VbCancel、VbYesNo、VbYes、VbNo等一系列内部常量。

在设置控件的前景色、背景色等颜色属性时,会用到VbRed、VbYellow、VbBlue等一系列内部常量。

 

4.4常用内部函数

vb提供许多内建的函数和语句,这些函数和语句按功能可分为如下几类:

数学函数、字符串函数、日期和时间函数、类型转换函数

一、数学函数

数学函数用来完成特定的数学计算。

下面通过列表的形式简要介绍常见的数学函数(如表4.4-1所示):

函数名

功能

举例

结果

Abs(N)

求绝对值

Abs(-3.5)

Atn(N)

反正切函数

 

 

Cos(N)

余弦函数

Cos(0)

1

Exp(N)

求以e为底的指数

Exp

(1)

Fix(N)

取整数,对负数取较大的

Fix(3.5)

3

Int(N)

取整数,对负数取较小的

Int(-3.5)

-4

Log(N)

求以e为底的对数

Log(10)

Rnd(N)

产生一个0~1间的随机数

Rnd()

 

Sgn(N)

求数字符号

Sgn(-3.5)

-1

Sin(N)

正弦函数

 

 

Sqr(N)

求平方根

Sqr(9)

3

Tan(N)

正切函数

 

 

提示:

1、1、 在三角函数中,自变量以弧度表示。

2、2、 Rnd(N)产生一个0~1间的双精度随机数。

VB用于产生随机数的公式取决于称为种子的初始值。

默认情况下,每次运行一个程序,VB提供相同的种子,既Rnd产生相同序列的随机数。

为了每次运行时产生不同的随机数,可执行Randomize语句。

形式如下:

Randomize[Number]

用Number将Rnd函数的随机数生成器初始化,该随机数生成器给Number一个新的种子值。

如果省略Number,则用系统计时器返回的值作为新的种子值。

二、字符串函数

字符串函数用来完成对字符串的操作和处理,如截取字符串、查找和替换字符串、对字符串进行大小写处理等。

VB6.0新添了许多字符串函数,加上原有的字符串函数,在对字符串的处理方面功能非常全面。

下面通过列表的方式简要介绍字符串处理函数(如表所示):

函数名

功能

举例

结果

Len(C)

求字符串长度

Len(“甲A”)

2

Mid(C,N1,N2)

取给定字符串的子串

Mid(“开封大学,3,2”)

“大学”

Left(C,N)

从字符串的左边取指定长度的子串

Mid(“开封大学”,2)

“开封”

Right(C,N)

从字符串的右边取指定长度的子串

Right(“开封大学”,2)

“大学”

Ltrim(C),Rtrim(C),Trim(C)

去掉字符串的前导空格、尾随空格

Rtrim(“ABCD“)

“ABCD”

三、日期和时间函数

VB提供了丰富的关于日期和时间的函数,这些函数和语句不仅可以用来返回和设置当前的时间和日期,还可以从日期和时间中提取年、月、日、时、分、秒以及可以对时间和日期进行格式化等。

下面通过列表简要介绍日期和时间的函数(如表4.4-3所示):

函数名

功能

Date

取得系统当前日期

Time

取得系统当前时间

Now

取得系统当前日期和时间

Year

返回指定日期中的年份

Month

返回指定日期中的月份(1-12)

Day

返回指定日期中天(1-31)

Weekday

返回指定日期为星期几

Hour

返回指定时间量中的小时

Minute

返回指定时间量中的分钟

Second

返回指定时间量中的秒

DateSerial

返回指定年月日的日期

TimeSerial

返回指定小时分秒的时间

DateValue

将字符串表示的日期转化为Variant日期

TimeValue

将字符串表示的时间转化为Variant时间

DateAdd

返回指定日期加上一定时间间隔后的日期

DateDiff

返回两个日期的时间间隔

DatePart

返回指定日期的特定部分

四、类型转换函数

当我们要对不同类型的变量进行赋值操作或表达式中的运算时,就要进行类型转换,所有的类型转换函数见表4.4-4。

表4.4-4类型转换函数

函数名

功能

举例

结果

Asc(C)

字符转Ascii值

Asc(“A”)

65

Lcase(C)

大写转小写

Lcase(“ABC”)

“abc”

Ucase(C)

小写转大写

Ucase(“abc”)

ABC

Str(N)

数值转字符串

Str(123.45)

Val(C)

字符串转数值

Val(“123AB”)

123

 

 

4.5运算符与表达式

运算符是用来对运算对象进行各种运算的操作符号,即通知VB以什么方式来操作数据的符号。

而表达式是由运算符将常量、变量、函数等连接起来形成的合法算式。

可以把常量、变量和函数看作是没有运算符的表达式。

vb中的运算符分为五类:

算术运算符、连接运算符、关系运算符、逻辑运算符和特殊运算符,主要有三种表达式:

算术表达式、关系表达式和逻辑表达式。

一、一、  算术运算

1、算术运算符

VB的算术运算符有如下几种:

^(乘方);+(加);-(减(负号));*(乘);/(除);\(整除);Mod(取余)。

算术运算符的运算次序如下:

^→(负号-)→*和/→\(整除)→Mod→+和-。

2﹒算术表达式

将常量、变量等运算元素用算术运算符连接起来的式子。

提示:

在算术表达式中,可用圆括号来改变运算次序。

算术运算就是我们经常做的加减乘除以及指数等数学运算。

表4.3-5显示了VB所有的算术运算及示例。

运算符(名称)

示例

结果

操作数类型

^(指数)

2^3

8

Integer,Long,Single,Double,Currency

+(加或取正值)

Integer,Long,Single,Double,Currency

-(减或取负值)

5-2

3

Integer,Long,Single,Double,Currency

*(乘)

2*5

10

Integer,Long,Single,Double,Currency

/(除)

Integer,Long,Single,Double,Currency

\(整数除法)

5\3

1

Integer,Long

Mod(求余)

5Mod3

2

Integer,Long

(1)^(幂运算符)

幂运算符用来计算某个数或表达式的某次方的值。

其中,幂运算符右边的数或表达式是次方数。

例如:

DimMyValueasInteger

MyValue=2^2'返回4。

MyValue=10^-2'返回0.01。

MyValue=8^(1/3)'返回2。

MyValue=(-5)^3'返回-125。

(2)*(乘法运算符)

乘法运算符用来计算两个数或表达式的积。

例如:

DimMyValue

MyValue=2*2'返回4。

MyValue=459.35*334.90'返回153836.315。

(3)/(除法运算符)

执行标准除法操作,其结果为浮点数。

例如:

DimMyValue

MyValue=3/2‘

(4)\(整除运算符)

整除的操作数一般为整型值,当操作数带有小数时,首先被四舍五入为整型数或长整型数,然后进行整除运算。

其运算结果被截断为整型数或长整型数,不进行舍入处理。

例如:

DimMyValue

MyValue=3\2‘返回1

MyValue=25.63\6.78‘返回3

(5)Mod(求余运算符)

和整数除法密切相关,它返回第一个操作数整除第二个操作数所得到的余数。

例如:

DimMyValue

MyValue=21Mod4‘返回1。

MyValue=7Mod4‘返回3。

MyValue=25.63Mod6.78‘返回5

二、连接运算

VB中的字符串连接运算是将两个表达式(一般是字符串表达式)连接起来,生成一个新的字符串。

1﹒字符串连接运算符

VB中的字符串连接运算符包括+和&。

&运算用来强制两个表达式作字符串连接;而+运算则有些不同,如果两个表达式都为字符串,则将两个字符串连接,如果一个是字符串而另一个是数字则进行相加操作。

即使用+作为字符串连接时操作数必须为字符串;而使用&作为字符串连接时则无此限制。

2﹒字符串表达式

值为一连串字符的表达式。

表4.5-2比较了两种连接运算的不同。

表4.5-2两种连接运算符&和+的比较

表达式1

表达式2

进行"&"运算的结果

进行"+"运算的结果

"123"

"3"

"1233"

"1233"

23

3

"1233"

126

"123"

3

"1233"

"126"

"123a"

3

"12a3"

报错

例如:

DimMyStr

MyStr="VB"&"OK!

"'返回"VBOK!

"。

MyStr="VB"&6.0&"OK!

"'返回"VB6.0OK!

"。

MyStr="VB"+"OK!

"'返回"VBOK!

"。

它们的区别在于:

&强制两个表达式(它们的类型可能不同)作字符串连接;而当+运算符两边的表达式中混着数值字符串及数值的话,其结果会是数值的求和,如果都是字符串,则返回连接起来的字符串。

例如:

DimMyNumber,Var1,Var2'声明Vairant变量MyNumber、Var1、Var2。

Var1="34":

Var2=6'初始化Variant变量的值。

MyNumber=Var1+Var2'返回40。

Var1="34":

Var2=6'初始化Variant变量的值。

MyNumber=Var1&Var2'首先数值6被强制转换为"6",然后字符串相连接,'返回"346"。

Var1="34":

Var2="6"'用字符串初始化Variant变量的值。

MyNumber=Var1+Var2'返回"346"(字符串被串接起来)。

Var1=34:

Var2="abc"'初始化Variant变量的值。

MyNumber=Var1+Var2'返回:

类型不匹配。

Var1=34:

Var2="abc"'用字符串初始化Variant变量的值。

MyNumber=Var1&Var2'数值34先被强制转换为"34",然后进行字符串的连接,返回"34abc"。

在使用+运算符时有可能无法确定是做加法还是做字符串连接。

为避免混淆,可使用&运算符进行字符串连接,从而提高程序代码的可

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1