第04章VB简单程序设计.ppt

上传人:sccc 文档编号:4873690 上传时间:2023-05-20 格式:PPT 页数:62 大小:181.01KB
返回 下载 相关 举报
第04章VB简单程序设计.ppt_第1页
第1页 / 共62页
第04章VB简单程序设计.ppt_第2页
第2页 / 共62页
第04章VB简单程序设计.ppt_第3页
第3页 / 共62页
第04章VB简单程序设计.ppt_第4页
第4页 / 共62页
第04章VB简单程序设计.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《第04章VB简单程序设计.ppt》由会员分享,可在线阅读,更多相关《第04章VB简单程序设计.ppt(62页珍藏版)》请在三一办公上搜索。

1、第四章 VB程序设计语言基础,第一节 数据类型,数据是程序处理的对象,数据类型体现了数据结构的特点,第一节数据类型,如:“Hello”“Visual Basic 6.0”“”,一、基本数据类型,2.数值 整型数和浮点数,1.字符串(String)a.一个字符序列。标准ASC字符和扩展ASC字符b.放在双引号内的若干字符。空字符串长度为0,(1)整型数:不带小数点和指数符号。,整 数:2个字节(16位)二进制码。长整型:带有符号 4个字节(32位)。,单精度浮点数(E)123.45E3或123.45e+3 4个字节(32位)存储,(2)浮点数:实形数或实数。由符号、指数及尾数组成。,双精度浮点数

2、(D)123.45678D3或123.45678d+3 8个字节(64位)存储,5.其它数据类型,4.变体(Variant)是一种可变的数据类型 数值、字符串、日期/时间等,Byte(字节型)一个字节的无符号二进制数存储,Boolean(布尔型)逻辑值.True或False,3.货币型(Currency)定点数据类型(小数点是固定的)8个字节(64位)存储,Date(日期时间型)存储为IEEE 64位(8个字节)浮点数值形式。日期文字须以数字符号(#)括起来。例如:#January 1,2001#。,Object(对象型)用来表示图形或OLE对象等。(OLE插入或嵌入)用4个字节存储。,二、用

3、户自定义数据类型,例如:描述学生对象,包括学号、姓名、性别、年龄、所在系、专业等。,将不同类型的变量组合起来形成新的数据类型,称为“用户自定义数据类型”(在C语言中称为“结构”)。,1.创建“用户自定义数据类型”,Private|Public Type 自定义类型名 元素名 As 数据类型 End Type,在窗体模块中,只能声明为私有的。,使用Type语句,且Type语句必须放在模块的 通用声明部分。,在标准模块中,可声明为公有的或私有的。,例:创建一个“学生信息”自定义数据类型,Private Type Student Num As String 学号 Name As String 姓名

4、Age As Integer 年龄 Sex As String 性别 Class As String 班级 End Type,Student为自定义数据类型的类型名,Num、Name等为Student的成员。,2.声明“用户自定义数据类型”变量在 创建之后才能声明该类型变量。,Dim 变量名 As 自定义数据类型 例:Dim Stu As Student 或 Dim AllStu(1 To 10)As Student,声明语句:,3.引用“用户自定义数据类型”变量,自定义类型变量名.自定义类型成员名 例:Stu.Name=“Peter”Stu.Age=20 或 AllStu(1).Num=“9

5、812A00”,引用方式:,三、枚举类型,Public|PrivateEnum类型名称成员名=常数表达式成员名=常数表达式End Enum,枚举类型提供了一种方便的方法,用来处理有关的常数,或者使名称与常数数值相关联。,枚举类型放在窗体模块、标准模块或公用类模块中的声明部分,通过Enum语句来定义,格式如下:,第二节常量和变量,一.常量,文字常量、符号常量。,1.文字常量 分字符串和数值两种,(1)字符串常量 a.除双引号和回车符之外的任何ASCII字符 b.定长字符串;变长字符串。,(2)数值常量 整型数、长整型数、货币型数和浮点数。a.整型数和长整型数都有3种形式,即十进制 十六进制和八进

6、制。b.货币型常数的小数点位置是固定的,因此 也称定点数。c.浮点数也称实数,其小数点是“浮动”的,分为单精度浮点数和双精度浮点数。,(3)类型说明符 整型 长整型!单精度浮点数#双精度浮点数 货币型$字符串型字节、布尔、日期、对象及变体类型没有类型说明符。,2.符号常量用来代替数值或字符串,格式:Const常量名=表达式,常量名=表达式,常量名:变量的构成规则命名表达式:文字常量、运算符(算术、逻辑)。不能用字符串连接运算符、变量以及用 户定义的函数或内部函数。,注意:(1)可以在常量名后面加上类型说明符。(2)在程序中引用符号常量时,通常省略类型 说明符。(3)类型说明符不是符号常量的组成

7、部分,定 义符号常量后,在定义变量时要慎重。,变量:一个有名称的内存位置称为变量。应用程序在运行期间用变量来临时存 储数据。,名字:在程序中标识变量,变量的特性:,数据类型:确定了变量中可以保存哪类数据,在程序执行的每个瞬间,变量的值是确定的、已知的;但在程序执行的整个过程中,它的 值是可变的。,二.变量,1.变量的命名规则,必须以字母开头,其它字符可是字母、数字 或下划线。最后一个字符可以是类型说明符,不能用Visual Basic的保留字作变量名,但可 以把保留字嵌入变量名中。最后一个字符不 能是类型说明符保留字。,有效字符255个。,VB不区分变量名和其他名字中字母的大小写。,2.变量的

8、类型和定义,基本数据类型和用户定义的数据类型,(1)用类型说明符来标识 把类型说明符放在变量名的尾部,可以标识不同的变量类型。其中表示整型,表示长整型,!表示单精度型,#表示双精度型,表示货币型,$表示字符串型。,Total%Amount#Lname$,(2)在定义变量时指定其类型 格式:Declare 变量名 As 类型Declare:可以是Dim、Static、Redim、Public;As:是关键字;类型:可以是基本数据类型或用户定义的类型。,Dim 用于在标准模块、窗体模块或过程中定义 变量或数组(自动变量)。例:Dim Varl As Integer Dim MyName As St

9、ring*10,注意:在一个Dim语句中定义多个变量时,用AS子 句声明其类型,否则被看作变体类型。,Static在过程中定义静态变量及数组变量(静态变量)。,例:Dim Var1,Var2 As Double,例:Dim Var1 As integer,Var2 As Double,用Static定义的变量每次引用时其值会继续保留。,Sub test()Static var1 As Integer var1=var1+1 End Sub,Sub test()Dim var1 As Integer var1=var1+1 End Sub,每调用一次Test过程,静态变量Var1累加1。,每次调

10、用Test过程时,自动变量就被置为0。,(3)用DefType语句定义 用DefType语句可以在标准模块、窗体模块的 声明部分定义变量。格式:DefType 字母范围 字母范围 用“字母-字母”形式 字母AZ中的任一个(大小写均可),Public在标准模块中定义全局变量或数组。,注意:,如果一个变量未被显式定义,末尾也没有类型 说明符,则被隐含地说明为变体类型变量。,类型说明符总是比DefType语句优先起作用。,记录类型变量的定义与基本数据类型变量的定义没有什么区别,但必须用“变量.元素”的格式引用记录中的各个成员。,3.记录类型变量,在实际应用中,应根据需要设置变量的类型;尽 可能节省内

11、存空间,以便提高处理速度。,用类型说明符定义的变量,在使用时可以省略类 型说明符。,Dim aStr$aStr=This is a stringaStr$=This is a string,第三节变量的作用域,指的是变量的有效范围。即变量的“可见性”,一、局部变量与全局变量,1.局部变量(过程变量),在过程(事件过程或通用过程)内定义的变量。通常用来存放中间结果或用作临时变量。在不同的的过程中可以定义相同名字的局 部变量。,2.模块变量(窗体变量和标准模块变量),用于该模块内的所有过程。同一模块内的不同过程使用相同的变量时,必须定义模块变量。在使用窗体层变量前,必须先声明。,只含有程序代码的应

12、用程序文件。.bas 工程添加模块(对话框中选“新建”)。用Private 或Dim来声明,建议用Private.,3.标准模块变量,4.全局变量(全程变量),在工程的每个模块、每个过程。不能用Dim语句声明,更不能用Private语句声明。不能在过程或窗体模块中声明只能在标准模块中 声明。用Public(或Global)语句声明。,变量的作用域,二、默认声明,一般只适用于局部变量。对于局部变量来说,可以不用Dim(或Static)定 义,而在需要时直接给出变量名。变量的类型可以用类型说明符(、&、!、#、$、)来标识。,第四节常用内部函数,1.内部函数可分为5类,转换函数数学函数字符串函数时

13、间日期函数随机数函数等五类,详见:P68,2.参数,“自变量”在高级语言中称为参数。内部函数仍称为自变量。用户编写的过程,一律称为参数。,3.说明,三角函数的自变量X是一个数值表达式,单位为弧度。日期和时间函数的自变量Now是一个内部变 量,不需要用户定义。直接方式在立即窗口中执行(可以通过命令 行直接显示函数的执行结果)。,4.立即窗口,通过命令行在立即窗口中直接显示函数执行结果。视图立即窗口。Ctrl+G。,例:x=2500 Print x 2500?X+200 2700 Print sqr(2)1.4142135623731,第五节字符处理与字符串函数,一、Visual Basic的字符

14、处理机制,1.大字符编码(4.0版以上),又称:“UniCode方式”(统一编码方式)把西文字符和中文字符作为一个整体进行统一编码,每个字符均用两个字符进行编码,这种机制下,一个英文字符或一个汉字都看做是一个字符,所占用的存储空间均为两个字节。,2.字符串处理函数,解决中西文混合字符串处理问题方案:新增加的函数与原有的字符串处理函数 相对应,在原函数名的后面增加了一个字母“B”。如:LenB,LeftB,RightB等。Print Len(“BASIC程序设计”)9 Print LenB(“BASIC程序设计”)13单字节处理方式(ANSI),3.“UniCode”与“ANSI”,转换函数(S

15、trConv)的格式:新字符串=StrConv(待转换字符串,转换格式),“待转换字符串”可以是字符串常量,也可以是字符串变量,例4.1 编写程序,测试StrConv函数的功能,二、字符串函数,Visual Basic提供了处理字符串的函数,用这些函数可实现字符串的截取、长度测试、大小写转换、字符匹配等操作。,字符串函数一般以类型说明符$结尾,$可省略。用于处理ANSI格式的函数,这类函数以字母“B”结尾。同一个字符串函数可能会有4种形式。,例:以Left函数为例 Left$(字符串,n)Left(字符串,n)LeftB$(字符串,n)LeftB(字符串,n)其中有“B”的函数用于ANSI格式

16、的字符串。,1.删除空白字符函数,Ltrim$(字符串):去掉“字符串”左边的空白字符。Rtrim$(字符串):去掉“字符串”右边的空白字符。Trim$(字符串):去掉“字符串”两边的空白字符。空白字符包括空格、Tab键,例:a$=“Good Morning”b$=LTrim$(a$)c$=RTrim$(b$)Print b$;c$;“ABC”Good Morning Good MorningABC,2.字符串截取函数 左部、右部和中部截取,左部截取 格 式:Left$(字符串,n)字符串:可以是常量、变量、函数或字符串连 接表达式 例:a$=“ABCDEF”Print Left$(a$,4)

17、ABCD,中部截取 格式:Mid$(字符串,p,n),3.字符串长度测试函数,格式:Len(字符串)Len(变量名)可以测量变量的存储空间P73,a$=ABCDEFGHIJK Print Mid$(a$,3,4),右部截取 格式:Right$(字符串,n),CDEF,注:n省略,从P开始截取到字符串的末尾。,例:a$=ABCDEFGHIJK Print Len(a$)b=Len(testvar1#)c=Len(testvar2!)d=Len(testvar3%)Print b,c,d,结果:11 8 4 2,4.String$函数,格式:String$(n,ASC码)String$(n,字符串

18、),返回由n个指定字符组成的字符串为ASC码返回由该ASC码对应的n个字符为字符串,返回由该字符串第一字符组成的n个 字符的字符串。,例:a$=String$(5,65)b$=String$(5,“-”)c$=String$(5,“abcde”)Print a$;b$;c$AAAAA-aaaaa,5.空格函数,例:a$=“a”+Space$(4)+“b”Print a$a b,6.字符串匹配函数,格式:InStr(首字符位置,字符串1,字符串2,n)例:a$=“Microsoft Visual Basic”x=InStr(a$,“Visual”)Print x 11,InStr函数的返回值见P

19、74,格式:Space$(n),说明:字符串2的长度小于65535。(216)InStr返回一个长整型数。首字符位置,从该位置开始查找。n,取值0、1、2(0进行二进制比较,区分大小写;1比较时忽略大小写;2基 于数据库中包含的信息进行比较。,7.字母大小写转换,格式:Ucase$(字符串)(小转大)Lcase$(字符串)(大转小),8.插入字符串语句,格式:Mid$(字符串,位置,L)=子字符串 含L自变量,替换的内容是“子字符串”左部的L个字符。,1、运算符 运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符。例:+、-、*、/、and、or等,第六节 运算符和表达式,一、运算符

20、和表达式,2、表达式,表达式用来表示某个求值规则,由运算符、数字、常量、变量、函数、对象和配对的圆 括号以合理的形式组合而成。,表达式用于执行某种特定的运算、操作字符 或测试数据。,每个表达式只产生一个结果。,表达式的定义方法:1.常数、常量、变量是表达式 2.表达式、运算符及表达式的组合仍是表达式,3、表达式的数据类型,常量、常数表达式的类型仍为常量的类型。,包含运算符的表达式,将根据操作数的类型 决定结果的类型。,1.若表达式中的操作数类型相同,则结果的类 型不变。2.若表达式中的操作数类型不同,则结果的类 型为占存储单元多的数据类型。,例:,两个长整型数据相加,其结果类型为:长整型(Lo

21、ng),一个整型数与一个单精度浮点数相加,其结果类型为:单精度浮点型(Single),4、表达式赋值,在赋值语句中,表达式结果的类型应与变量 的类型相同。,若不同,VB将表达式结果的类型转换为变量 的类型。,二、算术运算符,1.算术运算符 9个算术运算符,取负是单目运算符,其余均为双目运算符。幂;(-)取负;*;/浮点除;整数除;Mod模运算;+;-;&连接(同“+”)。,例:53=1。例:5 MOD 3=2 例:102表示10的二次方,103表示10的三次方,250.5 表示25的平方根,8(1/3)表示8的立方根。,浮点数除法运算符(/)执行标准除法操作,与数学中的除法一样,其结果为浮点数

22、。整数除法运算符()执行整除运算,其结 果为整型值。,2.浮点数除法与整数除法,3.取模运算,取模运算符 Mod 用来求余数。浮点数先进行四舍五入。,4.算数运算符的优先级,幂;(-)取负;*或/浮点除;整数除;MOD;+或-;&连接。含括号先算括号内的运算。,5.算术运算表达式,由算术运算符、常数、常量、变量构成的表达式。,例:50*2+(70-6)/8(x+y)*100*Abs(z)/conPi x=50*2+(70-6)/8 y=(x+y)*100*Abs(z)/conPi,三、关系运算符和关系表达式,Visual Basic提供了8个关系运算符,包括:=(相等)、或(不相等)、(小于)

23、、(大于)、=(小于或等于)、=(大于或等于)、Like(比较样式)、Is(比较对象变量)。,关系运算方式:将运算符左右两边的表达式 进行比较,若比较式成立,则运算结果为True,否则运算结果为False。,关系表达式:用关系(比较)运算符将两个表 达式连接起来的表达式。结果是一个Boolean类 型的值,即True和False。一般-1表示真,0表 示假。,例:5*23*3 结果为True 5*2=10 结果为True 5*210 结果为False,四、逻辑运算符和逻辑表达式,逻辑运算也称布尔运算。逻辑运算符连接两个或多个关系式,组成一个 布尔表达式。VisualBasic的逻辑运算符有以下

24、6种:Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(等价)、Imp(蕴含)。逻辑运算表达式的结果:True 或 False。,1.Not(非),由真变为假或由假变为真,进行“取反”运算。,例:38 False;Not(38)True。,2.And(与),两个关系表达式的值进行比较,如果两个表达式的值为True,结果才为True;否则为False.,例:(38)And(56)结果:False,3.Or(或),两个关系表达式的值进行比较,如果其中一个表达式的值为True,结果就为True;只有两个表达式的值均为False时,结果才为False.,例:(38)Or(56)结果:Tr

25、ue,4.Xor(异或),如果两个关系表达式同时为True或同时为False,则结果为False;否则为True.,例:(83)Xor(56)结果:False,5.Eqv(等价),如果两个关系表达式同时为True或同时为False,则结果为True.,例:(38)Eqv(1020)结果:True,6.Imp(蕴含),当第一个表达为True,且第二个表达式为False时,结果为False.,例:63 And 16,00000000 01111111 And 00000000 00010000 00000000 00010000,63 And 16 的结果为 16。,逻辑运算真值表,五、表达式的执

26、行顺序,1首先进行函数运算2接着进行算术运算 其次序为:(1)指数()(2)取负(-)(3)乘、浮点除(*、)(4)整除()(5)取模(Mod)(6)加、减(+、-)(7)连接(&)3然后进行关系运算(=、=、=)4最后进行逻辑运算 其顺序为:(1)Not(2)And(3)Or(4)Xor(5)Eqv(6)Imp,运算的优先顺序,2+35 And 5=5 Or 4*77 结果为:True x=10 x10 Or 53 结果为:True y=2 Not y=10 结果为:True,例:,连接运算符将两个字符串或数据串接起来,形成新的数据。,例:Dim I As Integer I=10 Prin

27、t“数字是:”+Str$(I)结果是字符串:“数字是:10”。,六、连接运算符,“+”符号:字符串拼接运算符。,2.“&”符号:连接运算符,可将各种数据类型 的数据串联起来,其结果为字符串。,例:Dim I As Integer I=10 Print“数字是:”&I 结果是字符串:“数字是:10”。,注意:&强制两个表达式作字符串连接。+如果有数字,则作相加运算,否则作字 符串连接。,比较:A B A&B A+B“123”“3”“1233”“1233”123 3“1233”126“123”3“1233”126“123a”3“123a3”报错,本章小结,VB有丰富的数据类型,可以保存和处理数字、字符、日期等类型的数据。,常量用于保存静态不变的数据,变量用于存 储可变数据,它们都需要先声明后使用。变 量在声明时可以指定其作用域。,VB有以下几类运算符:赋值运算符、算术运 算符、连接运算符、比较运算符和逻辑运算 符,利用它们可以构造不同类型的表达式。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号