VB讲课笔记04:数据类型、运算符与表达式、常用函数

VB讲课笔记04:数据类型、运算符与表达式、常用函数

一、标识符
VB6.0中,标识符分两类,一类是系统内部定义的标识符, 一类是用户定义的标识符。
系统内部定义的标识符又称关键字或保留字,主要用于标识内部符号常量、内部函数和语句关键字等。这类标识符由系统定义,具有特定的含义,用户在自定义标识符时,不能用这些标识符用作自定义标识符,以免发生错误。
例如:vbOk、vbTab(符号常量),Int、MsgBox(内部函数)、If、For (语句关键字)等都是系统内部定义的标识符。
在程序设计中,用户要为变量、过程、对象等命名,这就要用到自定义标识符。用户自定义标识符应遵循以下规则:
(1)组成:字母、数字、下划线和汉字
(2)打头:字母或汉字
(3)长度不超过255个字符
(6)不能使用VB保留字

选择题真题演练

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第1张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第2张图片
二、数据类型
数据是程序处理的对象。为了满足数据处理的需要和节省资源,高级语言都对数据进行分类处理。数据类型不同所占存贮空间不尽相同,所适用的操作也有所不同。VB6.0提供了系统定义的基本数据类型,也允许用户定义自己的数据类型。

1、基本数据类型
数据类型 
关键字 
类型符 
字节数 
字节型 
Byte 
无 
逻辑型 
Boolean 
无 
整型 
Integer 
长整型 
Long
单精度型 
Single 
! 
双精度型 
Double
#
8
货币型 
Currency 
字符串型 
String(定长)  
串长度 
字符串型
String(变长)
日期型 
Date 
无  
对象型 
Object 
无 
变体型 
Variant 
无 
不定 

2、用户自定义数据类型
Private|Public Type <类型名>
元素1 As 类型1
元素2 As 类型2
……
End Type
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第3张图片
在通用段里定义Student类型,并在按钮单击事件里测试Student类型的变量stu1,给stu1的各个成员赋值,并打印出stu1的成员值。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第4张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第5张图片
三、常量和变量
常量是其值不能改变的量,而变量是在执行过程中可以改变的量。变量有四个要素:类型、名称、值和作用域。掌握了变量的使用,就掌握了程序设计的精髓。
(一)常量
在程序运行的过程中,其值不能发生改变的量称之为常量。下面介绍几种常量:数值常量、字符串常量、逻辑常量、日期型常量、符号常量。

1、数值常量
VB6.0提供了不同规格的数值常量,通常是整型或实型常量。可以在常量后加类型说明符来规定常数的数据类型,比如123.45678@,则为货币型常量,而1.23#,则为双精度常量。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第6张图片
2、字符串常量
字符串常量是指用双引号括起的一串字符。括号类字符的个数为字符串的长度。长度为0的字符串称为空串,即"",只有空格或制表符的字符串称为空白串,比如" "。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第7张图片
3、逻辑常量
逻辑常量用于表示逻辑真与逻辑假,取值为True或False。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第8张图片
4、日期型常量
日期型常量主要是以文本型日期和用#号限定的数字日期。文本型日期实质上是字符号,将其赋给日期型变量时,系统自动将其转化为日期值。日期的分隔符常用“/”或“-”,而时间用“:”分隔,日期时间写在一起,用空格分隔。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第9张图片

5、符号常量
(1)用户自定义符号常量
在VB6.0中,可以用Const语句定义符号常量,用来代替指定的数值或字符串。
格式: [Private|Public ] Const 常量名 [As 类型名] = 表达式
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第10张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第11张图片
说明:如果没有使用类型说明符或As指定常量类型,那么其类型根据其存放的数据来确定其类型。

数值型(Integer、Long、Single、Double)可以相互转换;数值型可以转换成字符型,反过来就会报错;日期不能转换成数值型,但是可以转成字符型。逻辑型也可以转换成字符型。

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第12张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第13张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第14张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第15张图片
(2)系统符号常量
为了方便数据的引用和程序的阅读,VB6.0定义了一些与控件相关的系统常量:vbOKOnly、vbCancel、vbYesNo、vbNormal等。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第16张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第17张图片
(二)变量
在程序运行的过程中,其值可以发生改变的量称之为变量。变量有两个基本属性,一个是名,一个是值。变量显示为一个名称, 值为变量中存贮的内容。每一个变量都有名称和数据类型,名称用于标识变量,数据类型则表明该变量在内存中占据空间大小,以及可以进行哪些运算。变量名的命名要符合自定义标识符的要求。变量的使用一般遵循先声明,再使用的原则,不定义就使用,则变量为变体型。

(一)变量的声明
1、用DIM等命令声明变量
(1)格式
Dim | Public | Private | Static 变量名 [ As 类型名]
(2)示例
Dim a1 As Integer
Private s1, s2 As String 's1是变体型,s2是字符串
Public n, m As Integer
(3)说明
Dim 用于声明窗体级、模块级或过程级变量。
Private 用于声明窗体级或模块级变量。
Public 用于全局变量。
Static 用于声明静态变量。

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第18张图片
运行程序,单击四次窗体:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第19张图片
每次窗体单击过程结束后,静态变量count的值依然保存,所以count可以统计单击窗体的次数。

如果count不是static变量,那么每次执行事件过程都会初始化成0,然后加1,于是每次都显示count=1。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第20张图片
运行程序,单击四次窗体:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第21张图片

测试定长字符串

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第22张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第23张图片
运行程序,结果如下:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第24张图片

选择题真题演练

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第25张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第26张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第27张图片
2、用类型说明符标识变量的类型
格式:变量名<类型说明符>
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第28张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第29张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第30张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第31张图片

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第32张图片
3、用类型定义语句声明变量
VB6.0提供了类型定义语句,在窗体级或模块级中使用,用于声明以某些字母开头的变量名的数据类型,这种声明方式通常称为声明缺省类型
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第33张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第34张图片

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第35张图片

(二)变量的赋值
用赋值语句可以将常量、变量、函数和表达式的值赋给某变量。
1、格式
[Let] <变量名> = < 常量|变量|函数|表达式 >
2、功能
将赋值号右边的值赋给左边的变量。
3、说明
(1)在某一个时刻,一个变量只能存放一个数据,变量值的使用特点是“取之不尽,去旧纳新”。
(2)赋值时表达式值的类型与变量类型不一定完全一致,系统根据自动转换的原则先转换再赋值。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第36张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第37张图片
运行程序:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第38张图片
单击【赋值】按钮:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第39张图片
(三)变量作用域
由于变量声明使用的命令不同,声明的地点不同,变量的作用范围即作用域也不相同。在VB6.0中,变量的作用域分三级:过程级、窗体级和模块级
1、过程级变量
过程级变量,又称为局部变量,其作用域为声明该变量的过程或函数。不同过程中声明的变量,即使变量名相同,也占用不同的内存空间,分别存贮各自的值。
局部变量使用Dim语句或Static在过程中声明变量。用Static声明的变量称为静态变量。静态变量中的值会一直保存到程序结束为止。
2、窗体级变量
窗体级变量是在窗体级通用代码处用Dim、Private、或Public声明的变量,其作用域为整个窗体及所有过程。在VB6.0中,窗体和类等对象模块是私有模块,若用Public声明的变量,在其它窗体中不能直接使用,但可以通过声明它的窗体来引用。
引用格式为:窗体名.变量名
3、模块级变量
模块级变量是在模块中声明的变量。用Dim或Private声明的变量,其作用域为本模块及内部所有过程。用Public声明的变量,作用域为整个应用程序。


演示变量作用域案例

1、创建工程,改名为“演示变量作用域”,窗体改名为frmVariableScope
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第40张图片

2、添加两个按钮
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第41张图片

3、在Command1的单击事件代码里声明过程级别变量x,给它赋值
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第42张图片
变量x是过程级别,因此只在Command1的单击事件过程里有效,其它过程无法访问。

4、在Command2的单击事件代码里访问变量x
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第43张图片

此时运行程序,先单击Command1按钮,再单击Command2按钮,结果如下:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第44张图片

5、将变量x的级别从过程级提高到窗体级
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第45张图片
此时,运行程序,先单击Command1,再单击Command2,结果如下:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第46张图片
6、添加第二个窗体,改名为frmVariableScope2
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第47张图片

7、在窗体frmVariableScope2里添加一个按钮Command1
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第48张图片

8、编写Command1的单击事件处理代码,访问frmVariableScope的窗体级变量x,看行不行
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第49张图片
9、修改frmVariableScope窗体里Command1的单击事件处理代码
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第50张图片

10、运行程序,单击第一个窗体的Command1按钮,再单击第二个窗体的Command1按钮,看看会发生什么事情
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第51张图片

说明窗体级别的变量不能被其它窗体或模块访问,除非将窗体级别的变量提高为全局级别,采用关键字Public来修饰变量x。

11、修改第一个窗体通用段代码
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第52张图片

12、运行程序,单击第一个窗体的Command1按钮,再单击第二个窗体的Command1按钮,就可以访问到全局变量x了,如下图所示:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第53张图片

上面演示了窗体级别的变量,如果用Dim或Private声明,那么只能在本窗体范围内有效,不能被其它窗体或模块访问。只有用Public声明的窗体级变量,才可以被其它窗体或模块访问,但是变量必须加上窗体名作为前缀。

下面演示模块级别的变量,如果用Dim或Private声明,那么只能在本模块范围内有效,不能被其它窗体或模块访问。只有用Public声明的模块级变量,才可以被其它窗体或模块访问,注意,变量无须加上模块名作为前缀。

13、添加标准模块Module1
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第54张图片
在通用段声明一个全局变量:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第55张图片

14、修改第一个窗体Command1的单击事件代码,设置模块Module1里定义的全局变量gAmount
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第56张图片

15、修改第二个窗体Command1的单击事件代码,访问Module1里定义的全局变量gAmount
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第57张图片

16、运行程序,单击第一个窗体的Command1,再单击第二个窗体的Command1,看能否访问到模块Module1里定义的全局变量gAmount
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第58张图片

选择题真题演练

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第59张图片
四、运算符与表达式
程序中,对数据的处理,主要是依靠运算符来实现。
VB6.0运算符的类型有:算术运算符、比较运算符、连接运算符、逻辑运算符。由运算符及括号将运算对象连接构成的式子称为表达式。VB表达式分为算术表达式、关系表达式、逻辑表达式和字符串表达式。

(一)算术运算符与算术表达式
1、算术运算符
算术运算符用于实现算术运算,其运算对象和结果都是数值型数据。VB6.0提供的八种算术运算及运算优先级。
运算优先级:
^
-(取负 )
*
/
\
Mod
+
-
注意:在表达式中乘号(*)不能省略。

2、算术表达式
算术表达式是用算术运算符和括号将数值数据连接而成的式子。数学中的代数式并不一定是VB中的算法表达式,在书写算术表达式时应注意以下问题。
(1)表达式要在同一行上书写成线性序列
(2) 乘号“*”不能省略,也不能用“×”代替。
(3) 表达式中只能使用圆括号,且可以嵌套,不能使用方括号和花括号。
(4)表达式中不能出现л、α、β、λ等希腊字母,可用其它字符串来替代

3、优先级
当表达式中有多个运算符时,此时表达式要按运算符的优先级进行运算。在 Visual Basic 6.0算术表达式中,运算按括号、函数、指数运算(^)、取负运算(-)、乘法和除法运算(*、/)、整除运算(\)、取余运算(mod)、加法和减法运算(+、-)的顺序进行。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第60张图片

选择题真题演练

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第61张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第62张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第63张图片

案例:求解一元二次方程

1、创建工程,在窗体里添加按钮,设置相关属性
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第64张图片

2、编写按钮单击事件处理代码
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第65张图片
3、运行程序,单击【求解方程】按钮
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第66张图片
4、修改a, b, c的值
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第67张图片
5、运行程序,单击【求解方程】按钮
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第68张图片
(二)关系运算符与关系表达式
1、关系运算符
关系运算的运算对象是数值型数据和字符型数据,是对两个数进行比较的运算,关系运算符有:=、< >、>、>=、<、<=
关系运算的结果是逻辑型的值。当关系成立时,结果为True;当关系不成立时,结果为False。
当比较两个字符串数据时,从第一个字符开始依次比较对应位置字符的ASCII码值,直到遇到第一对ASCII码不相等的字符为止,ASCII码大的字符串大。
2、优先级
关系运算符的优先级相同。若关表达式中又有算术表达式,则先进行算术运算,再进行关系运算。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第69张图片
(三)逻辑运算符与逻辑表达式
1、逻辑运算符
逻辑运算符是对操作数进行逻辑运算,运算的结果为逻辑型数据。当逻辑关系成立时,运算结果为True;当逻辑关系不成立时,运算结果为False。几种常用的逻辑运 :
非-NOT 与-AND 或-OR
(1)And(逻辑与)
当且仅当参与运算的两个数都为True时,运算结果为True。否则,只要参与运算的两个操作数中有任何一个为False时,运算结果都为False。
(2) Or(逻辑或)
当且仅当参与运算的两个数都为False时,运算结果为False。否则,只要参与运算的两个操作数中有任何一个为True时,运算结果都为True。
(3)Not(逻辑非)
是单目运算符。当参与运算的数为False时,运算结果为True。当参与运算的数为True时,运算结果为False。
2、优先级
逻辑运算符的优先级为:非与或。当逻辑表达式中有关系表达式或算法表达式,运算顺序为:先算术运算,再关系运算,后逻辑运算


案例:闰年判断

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第70张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第71张图片

运行程序,单击【判断】按钮:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第72张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第73张图片
再单击【判断】按钮,重新输入一个年份来测试:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第74张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第75张图片
其实闰年判断的条件做点修改也同样可行:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第76张图片
(四)字符连接运算符
字符串运算符包含“+”和“&”两个运算符,它们的作用是将两个操作数连接起来,成为一个字符串,操作对象可以是字符型、数值型和可变型数据。
  • “+”是直接将两个字符串从左至右原样连接,生成一个新的字符串。参与运算的两个数据必须是字符型数据。
  • “&”是将参与运算的两个数据强制性地按字符串类型连接在一起,生成一个新的字符串。参与运算的两个数据可以是字符型、数值型和可变型数据。

注意:若在变量后使用运算符“&”,应在变量和“&”之间加一个空格。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第77张图片
整数不能与字符串相加,必须利用Str函数将整数转换成字符串:
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第78张图片
但是利用&运算符,就不用使用Str函数来转换了,它会自动转换的。
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第79张图片

五、常用内部函数

在VB6.0中,为了方便用户进行一些操作或运算,VB将其定义为内部函数。在程序中要使用一个函数时,用户只要知道该函数的名称和使用格式,就可以方便地使用。VB6.0常用内部函数根据功能可以分为:数学函数、字符串函数、转换函数、日期函数等。
Visual Basic6.0约定:n表示数值表达式,c表示字符串表达式,d表示日期表达式。若函数名后有$符号,则表示该函数返回值为字符串。

1、数学函数
数字函数包括平方根函数、三角函数、对数函数、指数函数以及其它数学函数,主要用来完成一些基本的数学运算。
Sin(x)、Cos(x)、Tan(x)、Atan(x)、Sqr(x)、Exp(x)、Log(x)、Rnd(x)、Sgn(x)、CInt(x)、Fix(x)、Int(x)、Abs(x)

说明:CInt函数跟Int和Fix函数,后两个函数都是去尾取整,但是CInt是四舍五入取整,不过有个特殊情况,当分数部分恰好为 0.5 时,CInt 函数通常将其四舍五入为最接近的偶数。例如,0.5 被四舍五入为 0,而1.5 被四舍五入为 2。

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第80张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第81张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第82张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第83张图片
2、字符串函数
字符串函数主要包括字符串整理函数、取子串函数、测长度函数、字母大小写转换函数等。
Len(c)、Left(c, n)、Right(c, n)、Mid(c, n1, n2)、Asc(c)、Chr(n)、Str(n)、Val(c)
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第84张图片

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第85张图片

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第86张图片

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第87张图片
3、日期函数
日期函数主要用于对日期和时间的操作 。
Time、Date、Now()、Year(d)、Month(d)、Day(d)、Hour(d)、Minute(d)、Second(d)、Weekday(d) VB讲课笔记04:数据类型、运算符与表达式、常用函数_第88张图片 VB讲课笔记04:数据类型、运算符与表达式、常用函数_第89张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第90张图片
4、其它函数
Format()、Shell()、VarType()、TypeName()、IIf()
(1)Format()
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第91张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第92张图片
(2)Shell()
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第93张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第94张图片
(3)VarType()、TypeName()
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第95张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第96张图片

(4)IIf()函数
IIf(expL, exp1, exp2)
如果expL = True,那么返回exp1;
如果expL = False,那么返回exp2;

VB讲课笔记04:数据类型、运算符与表达式、常用函数_第97张图片
VB讲课笔记04:数据类型、运算符与表达式、常用函数_第98张图片

你可能感兴趣的:(VB编程)