VB程序设计第2版第3章-VB程序设计代码基础课件_第1页
VB程序设计第2版第3章-VB程序设计代码基础课件_第2页
VB程序设计第2版第3章-VB程序设计代码基础课件_第3页
VB程序设计第2版第3章-VB程序设计代码基础课件_第4页
VB程序设计第2版第3章-VB程序设计代码基础课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章VB程序设计代码基础本章要点:字符集 数据类型常量、变量常用内部函数运算符与表达式1第3章VB程序设计代码基础本章要点:1命令格式中的符号约定 必选参数表示符。如缺少必选参数,则语句发生语法错误。 可选参数表示符。如方括号中的内容省略,则VB会使用该参数的缺省值。 | 多个取一表示符。分隔多个选择项,必须选择其中之一。 括起多个选择项。, 同类项目的重复出现。 省略了在当时叙述中不涉及的部分。注意:这些专用符号和其中的提示,不是语句行或函数的组成部分,在输入具体命令或函数时,上述符号均不能作为语句的组成部分。2命令格式中的符号约定注意:这些专用符号和其中的提示,不是语句3.1 字符集1.

2、 字符集 使用Unicode字符集,其基本字符集包括: 数字: 09 英文字母: az,AZ 特殊字符: 空格 ! # $ % & ( ) * + - / , . : ; ? _ | 等。2. 关键字 关键字又称为保留字 VB自动将关键字的首字母转换为大写字母 例如: PRINT 5+6 转换成 Print 5+6 33.1 字符集1. 字符集33标识符 用于标记用户自定义的类型、常量、变量、过程、控件等的名字。标识符的命名规则如下:第一个字符必须是字母。长度不超过255个字符。控件、窗体、模块的名字不能超过40个字符。不可以包含小数点或者内嵌的类型声明字符。不能使用关键字。 例如,Sum、A

3、ge、Average、stuName等都是合法的标识符。 习惯上,将组成标识符的每个单词的首字母大写,其余字母小写。Visual Basic不区分标识符的大小写。例如,标识符A1和标识符a1是等价的。 43标识符 用于标记用户自定义的类型、常量、变量、过3.2 数据类型基本数据类型:数值型字符串型布尔型日期型对象型可变类型用户自定义的数据类型基本数据类型分为53.2 数据类型基本数据类型:用户自定义的数据类型基本数据3.2.1 数值型数据Integer(整型)Long(长整型)Single(单精度浮点型)Double(双精度浮点型)Currency(货币型)Byte(字节型)63.2.1 数值

4、型数据Integer(整型)61. 整数类型 (1) 整型(Integer) 以2个字节存储 十进制表示: 由+ -号,09 组成 范围: -3276832767 八进制表示: 以&O开头,由 07组成 范围: &O0 &O177777 十六进制表示: 以&H开头,由 09,AF组成 范围: &H0 &HFFFF 例: -325 0 56 +100 &O456 &O36 &H1AC &H38 &H271. 整数类型 (1) 整型(Integer)7 (2) 长整型(Long) 以4个字节存储 十进制表示: 由+ -号,09 组成 范围: -2147483648+2147483647 八进制表示

5、: 以&O开头,以&结束 范围: &O0& &O37777777777& 十六进制表示: 以&H开头,以&结束 范围: &H0& &HFFFFFFFF& 例: 453466 -34568 +1000000 &O456& &O36& &H1AC& &H38& &H2&8 (2) 长整型(Long) 82. 实数类型 浮点数采用IEEE格式, 由尾数及指数组成: +|-. E|D +|-(1) 单精度浮点型(Single) 以4个字节存储,可以精确到7位十进制数例: 3.234E+2 表示3.234102 -28E9 表示-28109 4.56E-17 表示4.5610-17(2) 双精度浮点型(

6、Double) 以8个字节存储,可以精确到16位十进制数 3.234D+2 表示3.234102 -28D9 表示-28109 4.56D-17 表示4.5610-17尾数部分指数部分e|d92. 实数类型(1) 单精度浮点型(Single)尾数部分指(3) 货币型(Currency) 以8个字节存储 用于表示定点数,其小数点左边有15位数字,右边有4位数字。3. 字节型(Byte) 用一个字节存储数据,其取值范围为0255。10(3) 货币型(Currency)103.2.2 字符串型数据(String) 由双引号括起来的一串符号例: abc ABC 计算机 12.34 3+2 (空串) 如

7、果字符串本身包括双引号,可用连续两个双引号表示。例: 要打印以下字符串: You must study hard, he said. 在程序中需要将该字符串表示成: You must study hard , he said. 113.2.2 字符串型数据(String) 由双引号3.2.3 布尔型数据(Boolean)用于表示某个条件的成立或不成立。只有True和False两个值123.2.3 布尔型数据(Boolean)用于表示某个条件的3.2.4 日期型数据(Date) 用于表示日期和时间 格式: # VB接受许多种日期时间格式 例: 下面的 Date/Time 值全部有效。 #3-6-

8、93 13:20# #March 27,1993 1:20am# #Apr-2-93# #14 April 1993# #12/18/1999#3.2.5 对象型数据(Object) 以4个字节存储,用于引用程序中的对象。3.2.6 可变类型数据(Variant) 可以包含任何类型的数据。133.2.4 日期型数据(Date) 用于表示日期和时3.2.7 枚举类型用于建立名称与常量数值的关联。枚举类型可以在窗体模块、标准模块或类模块的通用声明部分声明。格式: Public | Private Enum = 常量表达式1 = 常量表达式2 End Enum143.2.7 枚举类型用于建立名称与常

9、量数值的关联。14参数:枚举类型名和各成员名应符合标识符的命名规则。成员名用于定义该枚举类型的组成元素的名称。常量表达式:可选项,为各成员所对应的值(为Long类型),可以是其他的枚举类型。Public:为可选项。表示该枚举类型在整个工程中都是有效的。当省略Public和Private时,默认为Public。Private:为可选项。表示该枚举类型只在所声明的模块中是有效的。15参数:15说明:1)在缺省常量表达式的情况下,枚举中的第一个常量被初始化为0,其后的常量则初始化为比其前面的常量大1的数值。例:Public Enum Days Sunday 初始值为0 Monday 初始值为1 Tu

10、esday Wednesday Thursday Friday Saturday End Enum16说明:162)可以使用赋值语句显式地给枚举中的常量赋值。所赋的值可以是任何长整数,包括负数。例:Public Enum WorkDays Saturday 初始化为0 Sunday = 0 被赋值0 Monday 初始化为1 Tuesday Wednesday Thursday Friday Invalid = -1 被显式赋值为-1End Enum 172)可以使用赋值语句显式地给枚举中的常量赋值。所赋的值可以是3)VB将枚举中的常量数值看作为长整数。如果将一个浮点数值赋给一个枚举中的常量,

11、Visual Basic将该数值取整为最接近的长整数。4)当向一个枚举中的常量赋值时,也可以使用另一个枚举中的常量数值。Public Enum WorkDays Sunday = 0 Monday Tuesday Wednesday Thursday Friday Saturday = Days.Saturday 6 Invalid = -1End Enum 183)VB将枚举中的常量数值看作为长整数。如果将一个浮点数值赋5)声明枚举类型后,就可以声明该枚举类型的变量,然后使用该变量存储枚举常量的数值。例: 声明枚举类型的变量 Dim MyDay As WorkDays Saturday 的数

12、值为0 MyDay = Saturday6)当引用单个常量时,为了避免混淆,应在常量名称前冠以枚举名。 Debug.Print Days.Saturday = & Days.Saturday Debug.Print WorkDays.Saturday = & _ WorkDays.Saturday7)VB提供了系统定义的枚举vbDayOfWeek,它包括了与星期的七天相对应的常量。 195)声明枚举类型后,就可以声明该枚举类型的变量,然后使用该变3.2.8 用户自定义类型 是用户自己定义的类型,这种类型可以包含多个基本类型。使用Type语句定义。 Type语句格式: Private|Publi

13、c Type (下标) As End Type203.2.8 用户自定义类型 是用户自己定义的类型,这说明:1)、应遵循标识符的命名规则。可以是Visual Basic系统提供的基本数据类型或已声明的用户自定义类型。缺省Private|Public选项时,默认是Public。2)用户自定义类型必须在窗体模块或标准模块的通用声明段进行声明。在窗体模块中定义用户自定义类型时必须使用Private关键字。3)如果用户自定义类型的元素为数组,则需要使用参数。 4)在使用用户自定义类型前,必须先声明用户自定义类型的变量。21说明:21引用用户自定义类型元素的格式: .例:定义一个Students数据类型

14、,该类型中的每一个数又包含了学生的系、班级、姓名、年龄信息。定义格式为:Private Type Students Dept As String * 20 系 ClassNo As String * 10 班级 Name As String 姓名 Age As Integer 年龄End Type 22引用用户自定义类型元素的格式:22 声明一个用户自定义类型的变量StudDim Stud As Students 给变量的元素赋值Stud.Dept = 计算机系Stud.ClassNo = 软件2001-1Stud.Name = 张三Stud.Age = 18 输出各元素的值Print Stu

15、d.Dept, Stud.ClassNo, Print Stud.Name, Stud.Age23 声明一个用户自定义类型的变量Stud235)如果两个变量都属于同一个用户自定义类型,也可以将其中一个变量赋给另一个变量。这种赋值是将一个变量的所有元素赋给另一个变量的对应元素。 例: Dim Stud1 As Students, Stud2 As Students Stud2 = Stud1245)如果两个变量都属于同一个用户自定义类型,也可以将其中一个6)用户自定义类型可以包含其他的用户自定义类型。 例: Private Type Address Addr As String 地址 Zip A

16、s Integer 邮政编码 Phone As String 电话 End Type Private Type Student Name As String 姓名 Age As Byte 年龄 TosAddr As Address 声明为Address的变量 End Type256)用户自定义类型可以包含其他的用户自定义类型。253.3 常量 指在程序运行期间其值不发生变化的量。 两种形式: 直接常量;符号常量3.3.1 直接常量 例: 欢迎使用Visual Basic 字符串常量 12345 数值型常量 True 布尔型常量 #11/10/2001# 日期型常量3.3.2 用户自定义符号常量

17、 格式: Const As = 类型: Integer Long Single Double String String*n Boolean Date Currency Byte Variant263.3 常量 指在程序运行期间其值不发生变化例: Const Pi = 3.14159 Const Max As Integer = 9 Const BirthDate = #1/1/01# Const MyString = friend 用逗号分隔多个常量声明 Const Pi = 3.14, Max = 9, MyStr=Hello 用先前定义过的常量定义新常量 Const Pi2 = Pi *

18、 2 表达式中不能使用内部函数 Const sinx = Sin(20 * 3.14 / 180) 使用: 在程序中引用 如: AREA=Pi*R2 在程序中不可修改 如: Pi=3.1427例: Const Pi = 3.1415927 VB内部已定义,可以直接使用的常量 查看内部常量: 视图对象浏览器 选择库、类、 成员 如: 库 VBRUN 类 ColorConstants ShapeConstants 成员 Vbred vbShapeCircle 例: Private Sub Form_Activate() Const A As String = 各种常量的使用 Form1.BackC

19、olor = vbGreen Form1.ForeColor = vbRed Form1.FontSize = 14 Print A End Sub3.3.3 系统定义符号常量28 VB内部已定义,可以直接使用的常量3.3.3 系统3.4 变量一个有名称的内存单元称为变量。5A1. 什么是变量? 程序执行期间,用变量临时存储数值。变量的值可以发生变化。 每个变量都有名称和数据类型。293.4 变量一个有名称的内存单元称为变量。5A1. 2. 变量的命名遵循标识符的命名规则,即第一个字符必须是字母 长度不超过255个字符 不可以包含小数点或者内嵌的类型声明字符 不能使用关键字 不能与过程名或符号

20、常量同名例: Student1 MyName intMax strName 不区分大小写;变量名应便于识别、记忆302. 变量的命名遵循标识符的命名规则,即第一个字符必须是字母3. 变量的声明(1) 显式声明格式:Dim|Private|Public| Static As 说明:Dim: 在窗体模块、标准模块或过程中声明变量。Private: 在窗体模块或标准模块中声明变量,使变量仅在该模块中有效。Public: 在标准模块中声明全局变量,使变量在整个应用程序中有效。Static: 在过程中定义静态变量,即使该过程结束,也仍然保留变量的值。313. 变量的声明31例: Dim Sum As L

21、ong Dim Address As String Dim No As String * 8 Private b As Integer Dim Num, Total As Integer Num为可变类型 Public Average As Single Static A As Long(2) 隐式声明 可变类型。易出错、浪费空间(3) 强制显式声明 在模块的声明段中使用语句: Option Explicit 如果设置: 工具选项编辑器要求变量声明 则在后续模块中自动插入Option Explicit32例: Dim Sum As Long 例: 窗体模块和过程中使用 Dim语句的区别。 设在

22、窗体中放置按钮Command1和Command2 Dim a As Integer Private Sub Command1_Click() a = a + 10 Print a End Sub Private Sub Command2_Click() a = a + 15 Print a End Sub 观察程序运行结果将Dim a As Integer放到过程内,观察运行结果。33例: 窗体模块和过程中使用 Dim语句的区别。33例: Static的作用。 设在窗体中放置按钮C1Private Sub C1_Click() Static a As Integer a = a + 10 Pr

23、int aEnd SubPrivate Sub C1_Click() Dim a As Integer a = a + 10 Print aEnd Sub运行时,多次单击命令按钮C1,比较以上两个事件过程的执行效果34例: Static的作用。Private Sub C1_C3.5 常用内部函数 函数形式: 函数名() 参数:常量、变量或表达式。 若有多个参数,参数之间以逗号分隔。 函数值:也叫“返回值” 函数的使用: 函数在表达式中被调用。函数分类内部函数用户自定义函数353.5 常用内部函数 函数形式: 函数名(参数表例: Fix(45.67) 结果为45 Int(45.67) 结果为45

24、 Fix(-2.89) 结果为-2 Int(-2.89) 结果为-3 Abs(-4) 结果为4 Log(10) 结果为2.30258509299405 Sgn(3) 结果为1 Sgn(-6) 结果为-1 Sgn(0) 结果为0例: 求sin300 Sin(30 * 3.14 / 180) 参数以弧度为单位 3.5.1 数学函数36例: Fix(45.67) 结果为453.5例: 判断一个整数Y能否被另一个整数X整除 如果 Int(Y/X)=Y/X 则整除例: 常用对数log10X的求法 用换底公式: 即: Log(X)/Log(10)例: 求e3 正确: Exp(3) 错误: e3(错)37例

25、: 判断一个整数Y能否被另一个整数X整除 即: 例: LTrim(ABC) 结果为ABC表示空格RTrim(ABC) 结果为ABCTrim(ABC) 结果为ABCLeft(ABCDE,2) 结果为ABRight(ABCDE,2) 结果为DEMid(ABCDE,2,3) 结果为BCDMid(ABCDE,2,6) 结果为BCDELen(ABCDE) 结果为5String(3,ABC) 结果为AAAString(3,65) 结果为AAAInStr(ABCDECDE,DE) 结果为4InStr(5,ABCDECDE,DE) 结果为7UCase(Abc) 结果为ABCLCase(ABc) 结果为abc3

26、.5.2 字符串函数38例: LTrim(ABC) 1. 随机函数 Rnd(x) 产生0,1)之间的单精度随机数。 x0: 以上一个随机数作种子,产生序列中的下一个随机数。 x=0: 产生与最近生成的随机数相同的数。 省略x: 同x02. Randomize语句 初始化随机数发生器,格式: Randomizen n:种子,省略时以系统时间作为种子3.5.3 随机函数391. 随机函数3.5.3 随机函数39 生成a,b 范围内的随机整数 Int( b-a+1) *Rnd +a)例:生成1,99之间的随机整数的表达式为: Int(99*Rnd+1)例:生成(1,99)之间的随机整数的表达式为:

27、Int(97*Rnd+2)40 生成a,b 范围内的随机整数40例: Asc(A) 结果为65 Asc(ABC) 结果为65 Chr(65) 结果为A Str(123) 结果为123 Str(-123) 结果为-123 Val(123) 结果为123 Val(123AB) 结果为123 Val(.123AB) 结果为.123 Val(a123AB) 结果为0 Val(12E2ABC) 结果为12003.5.4 转换函数41例: Asc(A) 结 Hex(27) 结果为1B Hex(45.7) 结果为2E Oct(27) 结果为33 Oct(45.7) 结果为56 CInt(5.3) 结果为5

28、CInt(-5.7) 结果为-6 CInt(32766.6) 结果为32767 CInt(32767.8) 溢出错误 CInt(0.5) 结果为0 CLng(10.5) 结果为10 CSng(123.56789) 结果为123.5679 CDbl(123.56789) 结果为123.56789 42 Hex(27) CCur(123.56789) 结果为123.5679 CBool(5.8 * 4) 结果为True CBool(-5.8) 结果为True CBool(0) 结果为False CBool(12) 结果为True CBool(0) 结果为False CBool(abc) 出错 43

29、 CCur(123.56789) 结3.5.5 日期和时间函数Now:返回系统日期和时间。Date:返回系统日期。Time:返回系统时间。Day(d):返回参数d中指定的日期是月份中的第几天。WeekDay(d):返回参数d中指定的日期是星期几。Month(d):返回参数d中指定日期的月份。Year(d):返回年份。 返回系统的日期和时间、或返回指定日期和时间的一部分。443.5.5 日期和时间函数Now:返回系统日期和时间。 Hour(d):返回小时(023)。Minute(d):返回分钟(059)。Second(d):返回秒(059)。Timer:返回从午夜开始到现在经过的秒数。45Hou

30、r(d):返回小时(023)。45例: Format(123.45, 0000.000) 结果为0123.450 Format(123.45, 0.0) 结果为123.5 Format(123.45, #.#) 结果为123.45 Format(123.45, #.#) 结果为123.5 Format(0.123, .#) 结果为.12 Format(0.123, 0.#) 结果为0.12 Format(HELLO, ) 结果为THIS IS IT 注: 经Format函数格式化后的结果为字符串类型例: Format(123) + Format(456) 结果为123456区别: Str(12

31、3) + Str(456) 结果为1234563.5.6 格式输出函数46例: Format(123.45, 0000.000) Shell函数用于调用Windows下的应用程序。格式:Shell(,) 参数: : 要执行的可执行文件名,包含路径。 : 决定程序运行时窗口的样式。如果省略,则程序以具有焦点的最小化窗口执行。取值见P54表3-1。3.5.7 Shell函数 例:运行时单击窗体,打开计算器: Private Sub Form_Click() Shell c:winntsystem32calc.exe, vbNormalFocus End Sub这里Shell函数以语句形式出现,没有

32、返回值。47 Shell函数用于调用Windows下的应用程序。33.6 运算符与表达式 操作数: 常量、变量、函数、对象 运算符: 圆括号 算术运算符(算术表达式) 字符串运算符(字符串表达式) 关系运算符(关系表达式) 布尔运算符(布尔表达式)483.6 运算符与表达式 操作数: 常量、变量、函数、对3.6.1 算术运算符与算术表达式优先级运算符运算示例1乘方322-取负-93 *乘法3*53/浮点除法10/34 整数除法10/35Mod取模10 mod 36+加法2+36 -减法2-3书 写: 一条线、无 、无 493.6.1 算术运算符与算术表达式优先级运算符运算示例1例: 将以下表达

33、式写成VB合法的表达式 (xy)za1+a2a-b+a(-b) a1+a2 a(-b)+a*(-b) (xy)z a(1/n) y/(-x)+x/(-y)A/(4+(8/(3+B)50例: 将以下表达式写成VB合法的表达式 (xy)za1+a21. 乘方运算 例: 102 10的平方,结果为100 10(-2) 10的平方的倒数,结果为0.01 223 运算顺序从左到右,结果为64 (-8)(-1/3) 错误,当底数为负时,指数应为整数2. 整数除法 例: 104 结果为2 25.686.99 先四舍五入再整除,结果为33. 取模运算 例: 10 Mod 4 结果为2 25.68 Mod 6.

34、99 先四舍五入再求余数,结果为5 11 Mod 4 结果为3 -11 Mod 5 结果为-1 -11 Mod -3 结果为-2结果符号同第一个操作数511. 乘方运算结果符号同第一个操作数51 字符串运算符有两个: & + &:自动将两侧的操作数作为字符进行连接例: Hello & World 结果为Hello World Check & 123 结果为Check123 123 & 456 结果为123456 123 & 456 结果为123456:仅当两侧操作数都为字符串时才做字符串连接 123 + 456 结果为579 123 + 456 结果为579 123 + 456 结果为1234

35、56 Check + 123 错误3.6.2 字符串运算符与字符串表达式52 字符串运算符有两个: & +3.6.21. 关系运算符(比较运算符) (小于) (大于) =(大于或等于) =(等于) (不等于)2. 关系表达式: 例:X Y+Z A = 5 StudName Shelly3.6.3 关系运算符与关系表达式531. 关系运算符(比较运算符) 3.6.3 关系运算符与关3. 如何比较数值比较 按数值大小单字符比较 在模块的通用声明部分使用语句 Option Compare Binary 缺省状态下,则按字符的内部二进制表示比较,典型的二进制排序顺序如下: 019 AB Z abz字符

36、串比较:根据当前的比较方式从左开始逐个比较543. 如何比较544. 比较结果: True False例: 45 35 结果为 False 45 = 45 结果为True 4 3 结果为True abc cdf 结果为False for fortran 结果为True 例: 要判断两个单精度型变量A和B的值是否相等,可以用下式判断: Abs(A-B) 例如: 要判断1除以3是否等于0.3333,可写成: Abs(1/3-0.3333)1E-5554. 比较结果: True False551. 布尔运算符: Not And Or2. 布尔表达式: 3. 优先级: NotAndOr例: A = 10: B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论