第三章续VB程序设计基础.ppt

上传人:本田雅阁 文档编号:2258308 上传时间:2019-03-12 格式:PPT 页数:40 大小:426.51KB
返回 下载 相关 举报
第三章续VB程序设计基础.ppt_第1页
第1页 / 共40页
第三章续VB程序设计基础.ppt_第2页
第2页 / 共40页
第三章续VB程序设计基础.ppt_第3页
第3页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第三章续VB程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第三章续VB程序设计基础.ppt(40页珍藏版)》请在三一文库上搜索。

1、第三章(续) Visual Basic程序设计基础,刘杉 ,内容提要,数据类型 常量与变量 变量的作用域 常用内部函数 字符处理与字符串函数 运算符与表达式,数据类型,基本数据类型 1 字符串(String) 是一个字符序列,由ASCII字符组成。 放在双引号的若干个字符,长度为0的为空字符。 分为变长字符串 0-2的31幂,定长字符串为2的16次幂。,2.数值 整型数 整数 Interger -3276832767 两个字节 长整数 Long 四个字节 浮点数 符号、指数及尾数12.345E2 单精度浮点数Single 4个字节 双精度浮点数Double 8个字节,3 货币 Currency

2、 8个字节,小数点后四位,其余四舍五入 4 变体(Variant) 任何值(数值,字符串,日期时间) 5 其他数据类型 字节 Byte,布尔Boolean,日期Date 对象Object,Decimal数据类型,用户定义的数据类型 Type 数据类型名 数据类型元素名 as 类型名 数据类型元素名 as 类型名 。 End Type 举例,Type Student Xh As String Xm As String Xb As String Nl As Integer Cj As Single End Type,例如: 对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,

3、为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。,记录类型中可以变长字符串,也可以是定长字符串 记录类型的定义必须放在模块(标准和窗体)的声明部分。 在记录类型中不能使用动态数组。 在随机文件操作中,记录类型数据有着重要作用 枚举类型,保留字 文字常量 符号常量 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。 VB中使用关键字Const 声明符号常量。其格式如下: Const 常量名 As 类型 =常数表达式 或:Const 常量名 类型符号=常数表达式 例如: Const PI

4、 As Double=2.1415926535 等价于: Const PI#=2.1415926535,常 量,例如,要将文本框Text1的前景颜色设置为红色,可以使用下面的语句: Text1.ForeColor=vbRed 这里的vbRed就是系统常量。这比直接使用16进制数来设置要直观得多。,2.3.3 系统常量 VB系统提供的应用程序和控件的系统定义常数。它们存放于系统的对象库中,在“对象浏览器”中的 Visual Basic(VB) 和 Visual Basic for applications(VBA)对象库中列举了 Visual Basic 的常数,常 量,2.4.1 变量的命名规

5、则 1. 以字母或汉字开头,后可跟字母、数字或下划线组成. 2. 变量名最长为255个字符; 3. VB中不区分变量名的大小写,不能使用VB中的关键字; 4.字符之间必须并排书写,不能出现上下标 以下符是合法的变量名: a, x, x3, BOOK_1, sum5 以下标识符是非法的: 3s 以数字开头 s*T 出现非法字符* -3x 以减号开头 bowy-1 出现非法字符-(减号) if 使用了VB的关键字,变 量,2.4.2 变量声明 1.用Dim语句显式声明变量 形式:Dim 变量名 AS 类型 Dim 变量名类型符 例: Dim ab As integer , sum As singl

6、e 等价于 Dim ab%, sum!,变 量,用Static 声明,定义静态变量及数组变量。每次引用该变量,其值会继续保留。 Public用来在标准模块中定义全局变量或数组。 Redim用来重新定义数组 DefType可以在模块中声明部分定义变量。DefType 字母范围。,一个变量未被显式定义,则被隐含说明为变体类型。Variant DefType只对它所在的模块起作用。 使用时可以省略类型说明符。,下面是一个很简单的程序,其使用的变量a, b, Total都没有事先定义。 Private Sub Form_Click() Total = 0 a = 10: b = 20 Total =

7、a + b Print “Total=“; Total End Sub,2.隐式声明 Visual Basic允许用户在编写应用程序时,不声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是Variant数据类型。Visual Basic根据程序中赋予变量的值来自动调整变量的类型。 例如:,变 量,3.强制显式声明Option Explicit语句,良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。Visual Basic 中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句: Op

8、tion Explicit,4变量的默认值,当执行变量的声明语句后,Visual Basic系统就给变量赋值一个默认值,在变量首次赋值之前,一直保持这个默认值。对于不同类型的变量,默认值如表2-3所示。,2.4 变 量,表2-3 不同类型变量的默认值,记录类型变量 Type TypeDemo Num1 as double Var1 as String*8 End Type Static Genvar as TypeDemo Genvar.Num1;Genvar.Var1,变量的作用域,结构 应用程序 窗体模块 声明部分,通用部分,事件过程 标准模块 声明部分,通过过程 1 局部变量 在过程(事

9、件和通用)内定义的变量叫做局部变量,作用于它所在过程,2 模块变量 窗体变量可用于该窗体内的所有过程。 通用区域,显示声明 标准模块变量,对其内过程可见,其他模块内过程不可见。 3 全局变量 Public Global 每个过程和每个过模块中使用。,VB提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。 调用方法: 函数名(参数列表) 有参函数 函数名 无参函数 说明: (1) 使用库函数要注意参数的个数及其参数的数据类型 (2) 要注意函数的定义域(自变量或参数的取值范围) 例如: sqr(x) 要求: x=0 (3) 要注意函数的值域。 如:exp(23773) 的值就超出

10、实数在计算机中的表示 范围。,常用内部函数,1、数学函数 常用的数学函数有: Abs(N) Cos(N) Sin(N) Exp(N) Log(N) Sqr(N) Sgn(N) 说明: (1) 在三角函数中的自变量是以弧度为单位。 如:sin300 sin(2.14159/180*30),常用内部函数,(2)Abs(x):返回x的绝对值。 (3)Exp(x):返回e的指定次幂,即ex。 (4)Log(x):返回x的自然对数。 (5)符号函数Sgn(x),根据x值的符号返回一个整数(-1、0或1)。 1 x 0 Sgn(x)= 0 x = 0 - 1 x 0,如果x0则出错。,常用内部函数,2.

11、转换函数 说明:(1)要区别两个取整函数int()和fix() Fix(N)为截断取整,即去掉小数后的数。 Int(N)不大于N的最大整数。 N0与int(N) 相同,当N0时, int(N) 与fix(N) -1相等。 例如: Fix(9.59) =9, Int(9.59) =9 Fix(-9.59) =-9, Int(-9.59) =-10 思考:如何实现四舍五入取整? (2)Asc(“Abcd“) 值为: 65 (只取首字母的Ascii值) (3)Val(“abc123“) 值为:0, Val(“1.2sa10“) 值为1.2 注意: Val( )函数只将最前面的数字字符转换为数值。,常

12、用内部函数,3. 字符串操作函数 (1)删除空格函数 Ltrim(x) 返回删除字符串x前导空格符后的字符串。 Rtrim(x) 返回删除字符串x尾部空格符后的字符串。 Trim(x):返回删除前导和尾随空格符后的字符串。 (2)取子串函数 Left(x,n):返回字符串x前n个字符所组成的字符串。 Right(x,n):返回字符串x后n个字符所组成的字符串。 Mid(x,m,n):返回字符串x从第m个字符起的n个字符所组成的字符串。,常用内部函数,3. 字符串操作函数 (3)Len(x):返回字符串x的长度,如果x不是字符串,则返回x所占存储空间的字节数。 (4)Lcase(x)和Ucase

13、(x):分别返回以大写字母、小写字母组成的字符串。 (5)Space(n):返回由n个空格字符组成的字符串。 (6)Instr(x,y):字符串查找函数,返回字符串y在字符串x中首次出现的位置。如果y不是x的子串,即y没有出现在x中,则返回值为0。 (7)String$(n,ASCII码),String$(n,字符串)返回由N个指定字符组成的字符串。,常用内部函数,3. 字符串操作函数 例: len(“This is a book!“) 15 Left$(“ABCDEFG“,3) “ABC“ Right (“ABCDEFG“,3) “EFG“ Mid$(“ABCDEFG“,2,3) “BCD“

14、 Ucase(“ABcd“) “ABCD“ Lcase(“ABcd“) “ abcd“ Trim(“ Abcd “) “ABcd“ String(5, “A “ ) “AAAAA“ InStr(2, “ABCDEFGEF”, “EF”) 5(第一次出现的位置),常用内部函数,4. 日期、时间函数 (1)Date:返回系统当前日期。 (2)Time:返回系统当前时间。 (3)Minute(Now)、Minute(Time):返回系统当前时间“hh:mm:ss”中的mm(分)值。 (4)Second(Now)、Second(Time):返回系统当前时间“hh:mm:ss”中的ss(秒)值。,常用内

15、部函数,5. 随机函数Rnd与Randomize语句 (1)随机函数Rnd Rnd函数可以不要参数,其括号也省略。返回0 1(即包括0,但不包括1)之间的双精度随机数。若要产生1100的随机整数,则可通过下面的表达式来实现: Int(Rnd*100)+1 包括1和100 Int(Rnd*99)+1 包括1,但不包括100 产生N,M区间的随机数的Visual Basic表达式: Int(Rnd *(M-N+1)+N,常用内部函数,(2)Randomize语句 该语句的作用是初始化VB的随机函数发生器(为其赋初值),可使Rnd产生相同序列的随机数。 Randomize 语句使用形式:Random

16、ize Seed 其中:Seed是随机数生成器的种子值,若省略,系统将计时器返回的值作为新的种子值。 例如:下段程序每次运行,将产生不同序列的20个10,99之间的随机整数。 Randomize For i = 1 To 20 Print Int(Rnd * 90) + 10; Next i Print,常用内部函数,运算符和表达式,2.5.1. 算术运算符与算术表达式 1. 算术运算符 例:5+2*10 mod 10 9 / 3 +2 2 结果是:,11,(ia=3),2. 算术表达式 (书写中需注意的问题) (1)运算符不能相邻。例a+*b是错误的。 (2)乘号不能省略。例x 乘以y 应写

17、成:x*y (3)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准并排书写,不能出现上下标 (5)要注意各种运算符的优先级别,为保持运算顺序,在写VB表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。 如:,运算符和表达式,(-b-sqr(b*b-4*a*c)/(2*a),(a+b)/(a-b),2.5.2. 字符串运算符与字符串表达式 字符串运算符有: 、+ 。 功能是字符串连接 例如: “ABCD“ + “EFGHI“ 结果为:ABCDEFGHI “ VB ” & “程序设计教程” 结果为:VB程序设计教程 说明:当连接符两旁的操作量都为字符串时,上述两个连接符

18、等价。它们区别是: +(连接运算):两个操作数均应为字符串类型; &(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。,运算符和表达式,例: “100“ + 123 结果为 223 “100“ + “123“ 结果为 100123 “Abc“ + 123 出错 “100“ & 123 结果为 100123 100 & 123 结果为 100123 “Abc“ & “123“ 结果为 Abc123 “Abc“ & 123 结果为 Abc123,注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的

19、类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。,运算符和表达式,2.5.3 日期型表达式 日期型数据是一种特殊的数值型数据,只能有下面3种情况: 1一个日期型数据可以相减: DateB-DateA 结果是一个数值型整数(两个日期相差的天数)。 例如:#05/08/2002# - #05/01/2002# 其结果为数值:7 2一个日期型数据(DateA)与一数值数据(N)可作加法运算:DateA+N 其结果仍是一个日期型数据。 3.一个日期型数据(DateA)与一数值数据(N)可作减法运算: DateA-N 其结果仍是一个日期型数据。 例如:#

20、05/08/2002# - 7,运算符和表达式,2.5.4 运算符的执行顺序,表达式中出现了多种不同类型的运算符时,其运算符优先级如下: 算术运算符=字符运算符关系运算符逻辑运算,说明: 1当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符. 2可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。,运算符和表达式,运算符和表达式,表2-5 运算符的优先顺序,本章小结:,Visual Basic的数据类型分为标准类型和自定义类型两大类。,图2-2 Visual Ba

21、sic的数据类型,本章小结:,Visual Basic有4种运算符:算术运算符、连接运算符、关系运算符、逻辑运算符。由运算符、括弧、内部函数及数据组成的式子称为表达式。Visual Basic表达式的书写原则: (1)表达式中的所有运算符和操作数必须并排书写。 (2)数学表达式中省略乘号的地方,在Visual Basic表达式中不能省。 (3)要注意各种运算符的优先级别,为保持运算顺序,在写Visual Basic表达式时需要适当添加括号(),若要用到库函数,必须按库函数要求书写。 Visual Basic提供了上百种内部函数也称库函数,用户需要掌握一些常用函数的功能及使用方法。Visual Basic函数的调用只能出现在表达式中,目的是使用函数求得一个值。,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1