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