以下为《VB教案》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
第3章 VB语言基础 3 VB语言基础 3.1 数据类型
3.3 运算符及表达式3.2 变量与常量3.4 VB程序结构及编码规则3.5 综合应用3 VB语言基础 3 VB语言基础 VB的基本数据类型1.数值型数据(Numeric)2.日期型数据(Date)3.逻辑型数据(Boolean)4.字符型数据(string)5.对象(Object)类型的数据6.变体(Variant)数据类型3 VB语言基础 标准数据类型1.数值型数据(Numeric) 数值型数据一般分为整型数和浮点数两类。
整型数分为整数(Integer)和长整数(Long)
浮点数分为单某某浮点数(Single)和双精度浮点数(Double)。
有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。1)整数(Integer) 整数是不带小数点和指数符号的数,在机器内部以2字节二进制码形式表示。
VB中用±n[%]来表示整数,其中%为整数的类型符,可以省略。如-123%、123%都表示整数。
整数的最大值为32767,大于某某,程序运行时就会因为溢出产生中断。此时可使用长整数。长整数(Long) 长整数用4字节二进制数存储,可以表示更大的整数,其取值范围为-***48~***47。
VB中用±n&来表示长整数,其中&为长整数的类型符。如-1234&、987654&都表示长整数。2)浮点数浮点数也称为实型数或实数,由符号、指数和尾数组成,分单某某浮点数(Single)和双精度浮点数(Double),其指数部分分别用“E”(或“e”)和“D”(或“d”)表示。
单某某浮点数表示形式有三种,即带有小数点的数、在数字后加!符号和科学记数法。
例如,123.45、123.451、0.12345E+3都表示为单某某浮点数。
要表示双精度浮点数,只要在数字后加#符号或在科学记数法中用D代替E。
例如,123.45#、0.12345E+3#、0.12345D+3都表示为双精度浮点数。 3)货币型(Currency)货币型属于定点实数或整数,用8位字节存储小数点前有15位,小数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“@”。4)字节型(Byte)字节型数据用1个字节的无符号二进制数存储,取值范围为0~255。2.字符型数据(string) 字符型数据是指一切可打印的字符和字符串,它是用双引号括起来的一串字符。一个西文字符、汉字都是一个字符,它们在内存中都占两个字节。字符型数据的默认值为:“”
在VB中有两种类型字符串:
变长字符串和定长字符串。
变长字符串的长度不确定,可以是0~231个字符(约21亿)。
定长字符串长度一定,最多不超过 216 个字符
如: Dim S As String ‘变长字符串
Dim/Private/Public/ Static varname As String * 8
‘定长字符串如: Dim MyString As String * 10 ‘声明长度为10个字符的定长字符串
MyString = "Mary is 5."
Print MyString
MyString = “Mary is five years old.” ‘MyString的值为
Print MyString “Mary is fi”, 多余的部分被截断,舍弃。
说明:1)空字符串与空格串的区别;
2)在字符串中必须用两个连续的双引号来表示字符串有一个双引号。 如字符串:abc“计算机”abc,在VB中表示为:
"abc""计算机""abc"
3)Dim intX As Integer
Dim strY As String
StrY=3716 ‘将数字赋值给字符串
intX=strY ‘将字符串传递给数值变量3.逻辑型数据(Boolean) 逻辑型数据只有两个值:真(True)和假(False),用2个字节存储,经常用来表示逻辑判断的结果。Boolean 的缺省值为 False。 说明:
当把数值型数据转换为逻辑型数据时:
0——转换为False
非0——转换为 True。
反之,当把逻辑型数据转换为数值型时:
False——转换为0
True——转换为-1。4. 日期型数据(Date) 用8个字节存储, 用于存储Date 和 Time,表示的日期从公元100年1月1日~9999年12月31日,时间范围为0:00:00~23:59:59。 任何在字面上可以被认作日期的文本都可以赋值给日期变量,且日期文字必须用符号“#”括起来。默认值为:0:00:00。如: #January 15,2002#, #1985-10-1 9:45:00 PM#都是合法的日期型数据。
例如: Dim SomeDate As Date
SomeDate = #1980-03-16#
SomeDate = #3-6-93 13:20#
SomeDate = #March 27 ,2004 1:20am#4. 日期型数据(Date)数字序列表示法:
数字序列是双精度的浮点数,由VB自动解释。序号的整数部分表示日期,小数部分表示时间。
在VB中,基准日期为公元1899年12月30日,这一天的整数部分为0,比基准早的日期序号为负数,比其晚的日期序号为正数,其取值范围为657434(公元100年1月1日)到***(公元9999年12月31日)。小数部分:以某个时间点占一天24小时的比例表示。如:6:00 AM会以0.25来表示。
-2.5 表示1899-12-28 12:00:00
5.75表示1900-1-4 18:00:00
366.05表示1900-12-31 1:12:00
367.05表示1901-1-1 1:12:00
-367.05表示1898-12-28 1:12:00
5.变体(Variant)数据类型 Variant数据类型又称为变体数据类型,它是一种特殊的、可以表示所有系统定义类型的数据类型。
变体数据类型对数据的处理可以根据上下文的变化而变化,除了定长的string类型及用户自定义的数据类型之外,可以处理任何类型的数据而不必进行数据类型的转换,如上所述的数值型、日期型、对象型、字符型的数据都可表示。
Variant数据类型是VB对所有未定义的变量的缺省数据类型,能够存储所有类型的数据。
Variant型变量占用16个字节的内存。例如: Dim SomeValue
SomeValue = "17"
SomeValue = SomeValue - 15
SomeValue = "U" & SomeValue
要检测变体型变量中保存的数值究竟是什么类型,可以用函数VarType进行检测,它的返回值与数据类型如表1.3.2所示。如VarType(123)返回值为2,表示为整型。 表1.3.2 Vartype函数数据类型6.对象(Object)类型的数据 对象类型:占用4个字节的内存空间,存放的是对一个对象的引用(对象在内存中的地址),程序对对象型变量的操作等同于对它所引用对象的操作。
用 Set 语句给对象型变量赋值。未赋值之前为Nothing
如: Dim objFirst As Object | Control | 对象类型名
Set objFirst = cmdok ‘cmdok为某一按钮对象名
Set objFirst = Form
Dim objFirst As CommandButton
Set objFirst = cmdok ‘把按钮对象赋给此变量
Set objFirst = Form ‘错误,类型不匹配3.1.2 用户自定义数据类型 除了上述数据类型外,在VB中,用户可以根据需要利用Type语句定义自己的数据类型,其格式如下:[Private | Public] Type 自定义类型名
数据类型元素 As 类型名
…
End Type其中,数据类型元素名为自定义数据类型中的一个成员,
类型名为上述基本类型名或自定义数据类型名。例题:定义一个有关职工信息的自定义类型: 注意:
(1)自定义类型必须在标准模块或窗体模块的声明段中声明,在标准模块中定义时默认为全局变量(Public)。在窗体模块或类模块的声明部分定义模块级用户自定义类型时,一定要加上Private关键字。
(2)自定义类型的元素类型如果有字符串,则必须是定长字符串,即应该为:strName As String*常数(“常数”指明定长字符串的长度)用户可以像使用标准数据类型一样使用自义的数据类型 ,如:
Dim Diego As Employee ‘在过程中
Private Dona As Employee ‘在模块中
使用自定义变量中的元素,类似于对象属性的操作: Diego. Name=”Diego” Private Type Employee
ID As Integer
Name As String *20
Salary As Currency
End Type3.2 变量及常量1 变量的命名规则2 变量值的存取3 声明变量4 变量的重名5 变量的默认值6 变量类型的转换 3.2.1 变量 3.2.1 变量的命名规则变量:程序运行过程中其值可以改变的量称为变量 。
变量的形式:属性变量和内存变量。
变量的命名规则:
(1)变量名只能以字母或汉字开头,后跟字母、数字和下划线(最后一个字符可以是类型说明符);不得超过255个字符;
(2)不能包含标点符号;
(3)不得使用VB 的保留字;
(4)VB不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母表示。
为了增加程序的可读性,一般在变量名前加上一个表示
该变量数据类型的前缀。 3.2.2 变量值的存取 赋值语句又称为Let语句,其作用是把指定的值赋给某个变量或某个带有属性的对象。一般格式为:
[Let] 变量名或属性名 = 表达式
说明:
(1)“=”为赋值号,不等于数学意义上的等号。
(2)赋值语句具有赋值和计算的双重功能,即首先计算赋值号右边的表达式的值,然后赋给左边的变量。
(3)变量和表达式应具有相同的数据类型。但不管表达式是什么类型,都可以赋给一个Variant变量。
(4)如果复合语句(一行有多个语句)含有注释语句,则注释语句必定是最后一个语句。复合语句的各语句可以是任何合法的VB语句,但各语句之间必须用冒号(:)隔开。3.2.3 声明变量
变量应该先声明后使用。
声明变量就是给变量分配内存空间。
1、变量的声明方法
(1)用类型说明符表示变量(显式)
将类型说明符放在变量名的尾部,可以表示不同的变量。
%——整型 &——长整型 !——单某某型 #——双精度型 @——货币型 $——字符串型。例如:
dim strName$
private dblNum% public curWage@ (2)用声明语句声明变量(显式) 其格式为:
[Public | Private | Dim | Static] [As ]
[, [As ] ]…
例如:Dim I as integer,y as single
等价: DIM I%,y!
字符型变量——字符串长度是否固定
Dim s1 as string
Dim s1 as string*50 ‘可存放50个字符
变量的默认值一个变量在被声明之后、被首次赋值之前,变量取默认值。不同类型的变量,默认值不同:
① 数值型变量——0(或0.0)
② 逻辑型变量——False
③ 日期时间型变量——#0:00:00#
④ 变长字符串变量——“”
⑤ 定长字符串变量——“ ”
⑥ 对象型变量——Nothing
⑦ 变体类型变量——Empty
(3)隐式声明与强制显式声明变量
在默认状态下,VB中可以不进行变量声明,此时变量类型默认为变体类型,称为隐式声明,但是这样做可能由于变量名的误写而产生不良后果。
强制显式声明变量的方法是:
① 用Option Explicit语句
② “工具”—“选项”—“编辑器”—“要求变量声明”注意: 在通用声明处加 Option Explicit 语句可强制显式声明变量。 例如,可以书写这样一个函数,在其中就不必在使用变量TempVal之前先声明它。
DIM num as integer,y as single
num=100
y=500/mun *mun初值为0
Num是隐式声明的,默认为0。
会出现“除数为0”错误提示。VB分辨不出这是意味着隐式声明了一个新变量呢,还是仅仅把一个现有变量名写错了,于是只好用这个名字再创建一个新变量。
建议:先声明后使用3.2.2 常量常量是在程序运行中不变的量,VB有三种常量:
直接常量 其常数值直接反映了其类型
符号常量 用户声明,便于程序阅读或修改
Const 符号常量名 [As 类型] = 表达式
例如: Const PI = 3.14159
系统常量 系统提供许多内部常量
例如:vbCrLf 回车/换行组合符
3.2.2 常量1.直接常量
在程序代码中,以直接明显的形式给出的数据。
根据使用的数据类型,直接常量分为:字符串常量、数值常量、逻辑(布尔)常量、日期时间常量。
例如:123,123&, 123.45,1.23E2,123D3
整型 长整型 单某某 小数 指数 双精度
八进制:数值前加&O 如: &O 123
十六进制:数值前加&H 如: &H 1233.2.2 常量2.用户声明的符号常量 以符号形式表示的常量称为“符号常量”。代表常量的符号称为“常量名”。
符号常量与变量相似,它属于某一数据类型,并有一个常量名。符号常量也必须先声明后使用,而且声明时要指定符号常量的值。在运行过程中,符号常量的值不能再改变。
? 常量名的命名规则与变量名相同。声明符号常量的方法是: Const [As ] =
其中:
As 型:说明了该常量的数据类型,省略该选项,数据类型由表达式决定。用户也可在常量后加类型符。
表达式:可以是数值常数、字符串常数以及由运算符组成的表达式。对于数值常数除了可用十进制数表示外,还可以使用十六进制数(数值前加&H)和八进制数(数值前加&O)。
声明符号常量的方法是:例如:
Const PI=3.14159 声明了常量PI,代表3.14159,单某某型
Const MAX As Integer = &o144 ,声明了常量MAX,代表了八进制数144,整型
Const COUNTS# = 45.67 ,声明了常量cOUNTS,代表45 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 例如,下面是一段代码的书写例子:
Rem This is a example
Dim AnotherVar As String,Choice As Boolean,_ '续行,下行还有
BirthDate As Date
x=15:y=10
Z=(x-y)*33.5 综合应用例3.1 模仿字处理软件中字符串替换功能。
设计思路:
利用Shell函数调用winword.exe执行Word程序实现替换功能
利用查找(InStr)、取子串(Left、Mid)等函数实现替换功能
利用替换(Replace)函数实现替换功能本章目录3.5 综合应用例3-1本章小结变量:在程序运行中其存储的值可以改变
变量声明 Dim 变量名 [As 类型]
运算符 算术运算符、字符串运算符、关系运算符和逻辑运算符
函数 内部函数、用户自定义函数
调用函数形式:函数名[(参数列表)]
Shell函数 调用各种应用程序[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《VB教案》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。