VB程序设计基础简单易懂.docx
- 文档编号:10174103
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:29
- 大小:93KB
VB程序设计基础简单易懂.docx
《VB程序设计基础简单易懂.docx》由会员分享,可在线阅读,更多相关《VB程序设计基础简单易懂.docx(29页珍藏版)》请在冰豆网上搜索。
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"。
在使用+运算符时有可能无法确定是做加法还是做字符串连接。
为避免混淆,可使用&运算符进行字符串连接,从而提高程序代码的可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计 基础 简单 易懂
![提示](https://static.bdocx.com/images/bang_tan.gif)