第4章 VB程序设计基础.ppt
《第4章 VB程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第4章 VB程序设计基础.ppt(79页珍藏版)》请在三一文库上搜索。
1、第4章 VB程序设计基础,本章内容及要求:,4.1 数据类型 4.2 常量和变量 4.3 变量的作用域 4.4 常用内部函数 4.5 字符处理与字符串函数 4.6 运算符与表达式,4.1 数据类型,数据是信息在计算机内的表现形式,也是程序处理的对象。VB提供了系统定义的基本数据类型,还允许用户定义自己的数据类型。,4.1 数据类型,一、基本数据类型,1.字符串型String 字符串是一个字符序列,由ASCII字符组成。字符串通常要用双引号括起来。 例如: “Hello!” “湖南省衡阳市“ “8888” “*” “” 空字符串 “ “ 有一个空格的字符串 若字符串中有双引号,例如ABD“XYZ
2、,则用连续两个双引号表示,即:“ABD“XYZ“,4.1 数据类型,VB中的字符串分为两种:变长字符串和定长字符串。 变长字符串的长度是不确定的,可以从0231(约21亿)个字符。 定长字符串含有确定个数的字符,最大长度不超过216(65535)个字符。,4.1 数据类型,2.数值型 数值型数据分为整型数和浮点数两类。 (1)整型数 整型数是不带小数点和指数符号的数,在机器内部以二进制补码形式表示。正数的补码和它的二进制形式(即源码)相同;负数的补码为该数的绝对值的二进制形式取反加1。 例如,整型数4,-4分别以下面的形式存放:(最高位为符号位,其中0为正,1为负) 4 00000000 00
3、000100 -4 11111111 11111100 整数的运算速度快,而且比其他数据类型占据的内存少。,4.1 数据类型,整型数又分为整数和长整数: 整数Integer 以2个字节(16位)的二进制数存储,取值范围为 -32,76832,767。 长整数Long 以4个字节(32位)的二进制数存储,取值范围为 -2,147,483,6482,147,483,647。,4.1 数据类型,思考:为什么16位整数Integer的取值范围为-32,76832,767?,4.1 数据类型,注意:16位整数Integer如果超出了这个取值范围(-32,76832,767),数据便会溢出。请看下面的代码
4、:,Private Sub Form_Load() Dim a As Integer a = 32767 a = a + 1 MsgBox a End Sub,4.1 数据类型,(2)浮点数 浮点数也称实数,是带有小数部分的数值。分为单精度浮点数和双精度浮点数。 单精度Single 以4个字节(32位)存储,可以精确到7位十进制数。其中符号占1位,指数占8位,其余23位表示尾数,还有一个附加的隐含位。其负数的取值范围为-3.402823E+38 -1.401298E-45,正数的取值范围为1.401298E-45 3.402823E+38。 表示形式为: n.nEm 其中n.n是尾数,m是指数
5、(以10为底的幂) 例:-123.4E-3或-123.4e-3,相当于-0.1234 1.2345E3或1.2345e3,相当于1234.5,4.1 数据类型,双精度Double 以8个字节(64位)存储,可以精确到15到16位十进制数。其中符号占1位,指数占11位,其余52位表示尾数,还有一个附加的隐含位。 表示形式为: n.nDm 其中n.n是尾数,m是指数(以10为底的幂) 例:123.4567D3或123.4567d+3,相当于123456.7,4.1 数据类型,(3)货币型Currency 货币数据类型通常用于表示钱款。以8个字节(64位)存储,精确到小数点后面4位(小数点前面有15
6、位)。在小数点后4位以后的数字将被舍去。其取值范围为-922,337,203,685, 477.5808 -922,337,203,685,477.5807 浮点数中的小数点是“浮动”的,小数点可以出现在数的任何位置,而货币型数据的小数点是固定的,因此称为定点数据类型。,4.1 数据类型,(4)字节型Byte 以1个字节(8位)的无符号二进制数存储,其取值范围为0255。 注:在实际应用中,应根据需要使用数据类型。能用整型就不要用浮点型或货币型;如果要求的精度不高,则应使用单精度变量。这样不仅节省内存空间,而且可以提高处理速度。,4.1 数据类型,3.布尔型Boolean 布尔型数据是一个逻辑
7、值,用2个字节存储,它只取两个值:True/False。布尔型变量的默认值为False。 将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True, 0为False。 例如,下面的代码定义一个布尔型变量,并输出该变量: Dim mybln As Boolean mybln=3 MsgBox mybln,4.1 数据类型,4.日期型Date 日期型数据占用8个字节,以浮点数形式存储。小数点左边的数值表示日期(距离1899-12-30的天数),小数点右边的数值表示时间。 日期型数据的日期表示范围:100年1月1日9999年12月31日,时间表示范围:0:00
8、:0023:59:59。日期常数必须用“#”符号括起来。 例如:下面的几种日期型数据的格式都是合法的: #9/1/2009# 或 #2009-09-01# #September 1,2009# #08:30:00 AM# #2002-5-4 14:30:00 PM#,4.1 数据类型,5.变体型Variant 变体数据类型是一种可变的数据类型,可以表示任何值,包括数值、字符串、日期/时间等。 当变体数据为数值时,以16个字节存储,最大可达Double的取值范围;当变体数据为字符时,以22字节+字符串长,与变长String有相同的取值范围 。 6.对象型Object 对象型数据作为32位(4个字
9、节)地址来存储,该地址可以引用程序中的任何对象。,4.1 数据类型,7.Decimal数据类型 Decimal数据以12个字节存储,最多支持29个有效数位,在内存中的表示形式比浮点数更精确。适用于要求使用大量有效的整数及小数位数,并且不能容忍舍入误差的财务计算。 Decimal数据类型只能在变体类型(Variant)中使用,不能把一个变量声明为Decimal类型。,4.1 数据类型,二、用户定义的数据类型,用户自定义类型,也称为记录类型,通过Type语句来实现,其语法格式如下: Type 数据类型名 元素名 As 类型名 元素名 As 类型名 End Type,4.1 数据类型,例如: 对于一
10、个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型) Type Student Xh As String Xm As String Xb As String Nl As Integer Score As Single End Type,二、用户定义的数据类型,4.1 数据类型,使用Type语句,应注意以下几点: 1.记录类型的定义必须放在模块(包括标准模块和窗体模块)的声明部分,在使用记录类型之前,必须用Type语句加以定义。 2.一般情况下,记录类型在标准模块中定义,其变量可以出现在工程的任何
11、地方。当在标准模块中定义时,关键字Type前可以有Public(默认)或Private;而如果在窗体模块中定义,则必须在前面加上关键字Private。 3.在记录类型中不能使用动态数组。,4.1 数据类型,下面的代码声明了一个Student类型变量st,然后为其各个元素赋初值,最后输出: Private Sub Form_Load() Dim st As Student st.Xh = “20050001“ st.Xm = “王一“ st.Xb = “男“ st.Nl = 17 st.Score = 92.5 MsgBox “学号:“ & st.Xh & Chr(10) & “姓名:“ & s
12、t.Xm & Chr(10) & “性别:“ & _ st.Xb & Chr(10) & “年龄:“ & st.Nl & Chr(10) & “入学成绩:“ & st.Score End Sub,4.2 常量和变量,一、常量,在VB中有三类常量:普通常量 、符号常量和系统常量 1.普通常量 普通常量指的是具体的常数,其类型有字符串型、整型、浮点型、布尔型、日期型等。,不同类型的数据可以常量的形式出现,也可以变量的形式出现。常量在程序运行过程中其值不会发生变化。而变量的值是可变的,它代表内存中指定的存储单元。,4.2 常量和变量,整型常数有3种形式: 十进制:由八进制数字(09)组成。如125,
13、0,-89。 八进制:由八进制数字(07)组成。以&或&O(字母O)开头,以&结尾。 例如:&O25&表示八进制整数25,即(25)8 ,等于十进制数21。 十六进制:由十六进制数字(09及AF)组成。以&H开头,以&结尾。 例如:&H25表示十六进制整数25,即(25)16 ,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。,4.2 常量和变量,VB在判断常量类型时存在多义性。例如,值3.01可能是单精度类型,也可能是双精度类型或货币类型。为了显式地指明常数的类型,可以在常数后面加上类型说明符。 % 整型 & 长整型 ! 单精度浮点数 # 双精度浮点数 货币型 $ 字符串型 字节、
14、布尔、日期、对象及变体类型没有类型说明符。,4.2 常量和变量,2.符号常量 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。 VB中使用关键字Const 声明符号常量。其格式如下: Const 常量名 As 类型|类型符号=表达式 , 常量名=表达式 注:表达式由普通常量、算术和逻辑运算符组成,但不能使用变量及函数。例如: Const Maxchars = 254, Maxbue = Maxchars + 1 注意顺序 Const PI#=3.1415926 等价于: Const PI As Double=3.141
15、5926,4.2 常量和变量,3.系统常量 VB系统提供了应用程序和控件的系统定义常数。 例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句: Text1.ForeColor=vbRed 这里的vbRed就是系统常量,这比直接使用16进制数来设置要直观得多。 又如,窗口状态属性WindowsState可取0,1,2三个值,对应三种不同状态。在程序中使用语句 :Myform.WindowsState=vbMaxmized,将窗口最大化,显然要比使用语句Myform.WindowsState=2 易于阅读和理解。,4.2 常量和变量,二、变量,变量是在程序运行时,其值不断发生改变的
16、量。一个变量对应着计算机内存中的一块存储单元。 例如,有两个存储单元,名称分别为User和Password,存放的值分别为“管理员”和“111”,如图所示: 也可以将这两个存储单元的值改为“普通用户”和“222” :,4.2 常量和变量,1.变量命名规则 只能由英文字母、汉字、数字和下划线组成,中间不能出现空格或小数点等; 例如:变量名file_name是合法的,而file name是非法的。 必须以字母或汉字开头,最后一个符号可以是类型说明符; 例如:book3、a%这两个变量名是合法的;而3book是非法的。 VB中不区分变量名的大小写; 例如,Hello、HELLO 、hello指的是同
17、一个名字。,4.2 常量和变量,变量名长度可达255个字符; VB中的关键字不能单独作为变量名;VB关键字包括预定义语句(If,For,Loop等)、操作符(And,Mod等)和函数(Int,Sqr等)。 例如,Print是非法变量名,但Print_3或Print3是合法的。 为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。变量名一般大小写混合使用。 例如:strAbc(字符串变量) intCount(整型变量),思考与练习 1.下列哪个符号不能作为VB中的变量名? (1)ABCabc (2) b1234 (3) 28wed (4) cmd 2. 下列符号哪一个是VB
18、中的合法变量名? (1) x23 (2) 8xy (3) END (4) x8B,变量命名规则,4.2 常量和变量,2.变量的声明 在VB程序中,使用变量前,一般要先声明变量的名称和数据类型。 VB中可以强制显式声明变量,方法是在窗体模块、标准模块和类模块的通用声明段中添加语句: Option Explicit 也可以设置为自动添加,方法是:选择“工具”“选项” “要求变量声明”。建议在程序设计的开始就设置。,4.2 常量和变量,变量的声明可以采用三种方式: 用声明语句显式声明变量 用DefType语句声明变量 隐式声明变量 (1)用声明语句显式声明变量 格式: Dim|Static|Publ
19、ic|Private 变量名 As 数据类型,4.2 常量和变量,Dim 用于在标准模块、窗体模块中定义模块级变量或在过程中定义局部变量。例如: Dim Str As String Dim Total As Integer Dim Var1 As String, Var2 As Double 定义多个变量 Dim Var1, Var2 As Integer 注意:该语句并不能把两个变量同时定义为整型,4.2 常量和变量,可以使用类型说明符来替代As语句: Dim Str$ Dim Total% Dim Var1$, Var2# 则在引用该变量时可以省略类型说明符。例如,下面两个语句都是正确的:
20、 Var1 = “This is a string“ Var1$ = “This is a string“,4.1 数据类型,用As String 可以定义变长字符串变量,也可以定义为定长字符串变量。 变长字符串变量:其长度取决于赋给它的字符串常量的长度。 例如:Dim Namevar As String 定义为变长字符串变量 Namevar = “湖南省衡阳市” 定长字符串变量:事先定义字符串的长度,在程序运行过程中,始终保持其长度不变。当给它赋值时,不足的部分用空格填满;多出的字符被截去。 例如:Dim MyName As String * 4 定义为定长字符串变量 MyName = “湖
21、南省衡阳市“,4.2 常量和变量,Static Static用于在过程中定义静态变量,每次引用该变量定义时,其值会继续保留。由Dim定义的变量称为自动变量,每次引用该变量定义时,变量值会被重新设置(数值变量设置为0,字符串变量设置为空)。 例如:下面的程序中变量Var1和Var2的值会相同吗? Private Sub Form_Click() Dim Var1 As Integer Static Var2 As Integer Var1 = Var1 + 1 Var2 = Var2 + 1 Print Var1, Var2 End Sub 每单击一次窗体,静态变量Var2累加1,而自动变量Va
22、r1会被置0,4.2 常量和变量,Public 用来在标准模块中定义全局变量。 Private 用来在标准模块、窗体模块的声明部分定义模块级变量。,4.2 常量和变量,(2) 用DefType语句声明变量 用DefType语句可以在标准模块、窗体模块的声明部分定义变量,且只对它所在的模块起作用 。 一般格式: Def Type 字母范围 Type可以是Int、Lng、Sng、Dbl、Cur、Str、Byte、Bool、Date、Obj、Var。DefType语句中说明的字母、以及以该字母开头的变量名都是那种类型的变量名。 例如:DefDbl L-P 凡是变量名以字母L到P开头的变量都定义为双精
23、度型。 类型说明符(%!$)总是比DefType语句优先起作用。,4.2 常量和变量,(3) 隐式声明变量 VB允许用户不显式声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是Variant数据类型。VB根据程序中赋予变量的值来自动调整变量的类型。,下面的程序中使用的变量a, b, Total都没有事先定义: Private Sub Form_Click() Total% = 0 a = 10: b = 20 Total = a + b Print “Total=“; Total End Sub,4.3 变量的作用域,每个变量都有它的作用范围,即
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 VB程序设计基础 VB 程序设计 基础
链接地址:https://www.31doc.com/p-2973950.html