1 / 35

第三章 VB 语言基础

( 1 )理解变量与常量的概念、掌握其定义和使用; ( 2 )掌握各种常用数据类型的数据在内存中的存放形式, ( 3 )掌握各种运算符、表达式的使用方法; ( 4 )掌握常用内部函数的使用。. 第三章 VB 语言基础. 本章主要任务:. 一 . 标准数据类型. 3.1 数据类型. 3.1 数据类型. 二、自定义类型. 在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。 使用形式: Type 自定义类型名 元素名 [([ 下标 ])] As 类型名

orrick
Download Presentation

第三章 VB 语言基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. (1)理解变量与常量的概念、掌握其定义和使用;(1)理解变量与常量的概念、掌握其定义和使用; (2)掌握各种常用数据类型的数据在内存中的存放形式, (3)掌握各种运算符、表达式的使用方法; (4)掌握常用内部函数的使用。 第三章 VB语言基础 本章主要任务:

  2. 一.标准数据类型 3.1数据类型

  3. 3.1数据类型 二、自定义类型 在模块级别中使用,用于定义包含一个或多个元素的用户自定义的数据类型。 使用形式: Type 自定义类型名 元素名 [([下标])] As 类型名 元素名 [([下标])] As 类型名 . . . End Type 说明

  4. 3.1数据类型 例如: 对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。 Type Student Xh As String Xm As String Xb As String Nl As Integer Score As Single End Type

  5. 3.2 常量 • 在程序运行过程中,其值不能被改变的量称为常量。在VB中有三类常量: • 普通常量 符号常量 系统常量。 • 一、普通常量 • 1.整型常量 • (1)整型(Integer):表示-32768至32767之间的整数 • 例如:10 110 20 • (2)长整型(Long): • 表示-2,147,483,648至2,147,483,647之间的整数 • 例如:长整型常数的书写: 23&

  6. 3.2 常量 通常我们说的整型常量指的是十进制整数,但VB中可以使用八进制和十六进制形式的整型常数,因此整型常数有如下三种形式: 1)十进制整数。如125,0,-89。20 2)八进制整数。以&或&O(字母O)开头的整数是八进制整数,如&O25表示八进制整数25,即(25)8,等于十进制数21。 3)十六进制。以&H开头的整数是十六进制整数,如&H25表示十六进制整数25,即(25)16,等于十进制数37。VB中的颜色数据常常用十六进制整数表示。

  7. 3.2 常量 2、实数 1)单精度实型(Single):有效数为7位 2)双精度实型(Double):有效数为15位 常量的表示: 1)十进制小数形式。它是由正负号(+,-)、数字(0~9)和小数点(.)或类型符号(!、#)组成,即±n.n,±n!或±n#,其中n是0~9的数字。 例如0.123、.123、123.0、123!、123#等 2)指数形式。 ±nE±m 或±n.nE±m, ±nD±m 或±n.nD±m 例:1.25E+3 和1.25D+3相当于1250.0 或者1.25×103。

  8. 3.2 常量 3、字符串常量 在VB中字符串常量是用双引号“"”括起的一串字符,可以是所有西文字符和汉字、标点符号等; 例如"ABC","abcdefg","123","0","VB程序设计"等。 说明: (1)""表示空字符串,而" "表示有一个空格的字符串; (2)若字符串中有双引号,例如ABD"XYZ,则用连续两个双引号表示,即: "ABD""XYZ“ 4、逻辑(Boolean)数据类型 只有两个值True,或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True, 0为False。

  9. 3.2 常量 5、日期常量 日期(Date)型数据按8字节的浮点数来存储,表示日期范围从公元100年1月1日~9999年12月31日,而时间范围从0:00:00~23:59:59。 一种在字面上可被认作日期和时间的字符,只要用号码符“#”括起来,都可以作为日期型数值常量。 例:#09/02/99#、#January 4,1989#,#2002-5-4 14:30:00 PM#都是合法的日期型常量。

  10. 3.2 常量 二、符号常量 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。 VB中使用关键字Const 声明符号常量。其格式如下: Const 常量名[As 类型] =常数表达式 或:Const [类型符号]=常数表达式 例如: Const PI As Double=3.1415926535 等价于: Const PI#=3.1415926535

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

  12. 一. 变量的命名规则 1. 以字母或汉字开头,后可跟字母、数字或下划线组成. 2. 变量名最长为255个字符; 3. VB中不区分变量名的大小写,不能使用VB中的关键字; 4.字符之间必须并排书写,不能出现上下标 以下符是合法的变量名: a, x, x3, BOOK_1, sum5 以下标识符是非法的: 3s 以数字开头 s*T 出现非法字符* -3x 以减号开头 bowy-1 出现非法字符-(减号) if 使用了VB的关键字 3.3 变 量

  13. 二.变量声明 1.用Dim语句显式声明变量 形式:Dim 变量名 [AS 类型] Dim 变量名[类型符] 例: Dim ab As integer , sum As single 等价于 Dim ab%, sum! 3.3 变量

  14. 下面是一个很简单的程序,其使用的变量a, b, Total都没有事先定义。 Private Sub Form_Click() Total = 0 a = 10: b = 20 Total = a + b Print “Total="; Total End Sub 3.3 变量 2.隐式声明 Visual Basic允许用户在编写应用程序时,不声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是Variant数据类型。Visual Basic根据程序中赋予变量的值来自动调整变量的类型。 例如:

  15. 3.3 变量 3.强制显式声明——Option Explicit语句 良好的编程习惯都应该是“先声明变量,后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。Visual Basic 中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句: Option Explicit

  16. 3.3 变量 4.变量的默认值 当执行变量的声明语句后,Visual Basic系统就给变量赋值一个默认值,在变量首次赋值之前,一直保持这个黑认值。对于不同类型的变量

  17. 一. 运算符 1. 算术运算符 例:5+2*10 mod 10 \ 9 / 3 +2 ^2 结果是: 3.4 运算符和表达式 11 (ia=3)

  18. 2. 字符串运算符与字符串表达式 字符串运算符有:& 、+ 。 功能是字符串连接 例如: "ABCD" + "EFGHI" ' 结果为:ABCDEFGHI “ VB ” & “程序设计教程” ' 结果为:VB程序设计教程 说明:当连接符两旁的操作量都为字符串时,上述两个连接符等价。它们区别是: +(连接运算):两个操作数均应为字符串类型; &(连接运算):两个操作数既可为字符型也可为数值型,当是数值型时,系统自动先将其转换为数字字符,然后进行连接操作。 3.4 运算符和表达式

  19. 例: "100" + 123 ' 结果为223 "100" + "123" ' 结果为100123 "Abc" + 123 ' 出错 "100" & 123 ' 结果为100123 100 & 123 ' 结果为100123 "Abc" & "123" ' 结果为Abc123 "Abc" & 123 ' 结果为Abc123 3.4 运算符和表达式 注意:使用运算符“&”时,变量与运算符“&”之间应加一个空格。这是因为符号“&”还是长整型的类型定义符,如果变量与符号“&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。

  20. 3.4.3 关系运算符与关系表达式 运算符 含义 优先级 实例 结果 < 小于 所有关系运算优先级相同。低于算术运算的加“+”,减“-”运算,高于逻辑非“Not”运算。 15+10<20 False <= 小于或等于 10<=20 True > 大于 10>20 False >= 大于或等于 "This">= "That" True = 等于 "This"= "That" False <> 不等于 "This"<> "That" True Like 字符串匹配 "This" Like "*is" True Is 对象比较 3.4 运算符和表达式 比较两个运算量之间的关系,关系表达式的运算结果为逻辑量。若关系成立,结果为True,若关系不成立,结果为False。 VB中的关系运算符如下表所示。

  21. 3.4 运算符和表达式 关系运算的规则如下: (1)当两个操作式均为数值型,按数值大小比较。 (2)字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。 例: " ABCDE " > " ABRA " 结果为 False (3)数值型与可转换为数值型的数据比较, 如:29>"189" ,按数值比较,结果为False。 (4)数值型与不能转换成数值型的字符型比较, 如:77>" sdcd" ,不能比较,系统出错。 (5)“Like”运算符是VB6.0新增加的。 其使用格式为:str1 Like str2

  22. 3.4.4 逻辑运算符与逻辑表达式 逻辑运算符:Not,And,Or Xor Eqv Imp 3.4 运算符和表达式

  23. 3.4 运算符和表达式 说 明: (1)逻辑运算符的优先级不相同,Not(逻辑非)最高,但它低于关系运算,Imp(逻辑蕴含)最低。 (2)VB中常用的逻辑运算符是Not、And和Or。它们用于将多个关系表达式进行逻辑判断。 例如: 数学上表示某个数在某个区域时用表达式:10≤X<20 用VB程序中应写成:X>=10 And X<20 如果写成如下形式将是错误的: 10<=x<20 或10<=x Or x<20

  24. 3.4 运算符和表达式 例:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科: 写成条件VB的表达式: 年龄<=39 性别=“女” 学历=“专科” 学历=“本科” Or And ( ) And

  25. 3.4 运算符和表达式 4.4.5 日期型表达式 日期型数据是一种特殊的数值型数据,只能有下面3种情况: 1.一个日期型数据可以相减:DateB-DateA 结果是一个数值型整数(两个日期相差的天数)。 例如:#05/08/2002# - #05/01/2002# 其结果为数值:7 2.一个日期型数据(DateA)与一数值数据(N)可作加法运算:DateA+N 其结果仍是一个日期型数据。 3.一个日期型数据(DateA)与一数值数据(N)可作减法运算:DateA-N 其结果仍是一个日期型数据。 例如:#05/08/2002# - 7

  26. 3.4.6 运算符的执行顺序 3.4 运算符和表达式 表达式中出现了多种不同类型的运算符时,其运算符优先级如下: 算术运算符>=字符运算符>关系运算符>逻辑运算 说明: 1.当一个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑运算符. 2.可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由内到外。

  27. 3.4 运算符和表达式 3. 表达式的书写中需注意的问题 (1)运算符不能相邻。例a+*b是错误的。 (2)乘号不能省略。例x 乘以y 应写成:x*y (3)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准并排书写,不能出现上下标 (5)要注意各种运算符的优先级别,为保持运算顺序,在写VB表达式时需要适当添加括号(),若用到库函数必须按库函要求书写。 如: (b-sqr(b*b-4*a*c))/(2*a) (a+b)/(a-b)

  28. VB提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。 调用方法: 函数名(参数列表) 有参函数 函数名 无参函数 说明: (1) 使用库函数要注意参数的个数及其参数的数据类型 (2) 要注意函数的定义域(自变量或参数的取值范围) 例如: sqr(x) 要求: x>=0 (3) 要注意函数的值域。 如:exp(23773) 的值就超出实数在计算机中的表示 范围。 3.5 常用内部函数

  29. 1、数学函数 常用的数学函数见表3-8所示 Abs(N) Cos(N) Sin(N) Exp(N) Log(N) Sqr(N) Rnd[(N)] Sgn(N) 说明: (1) 在三角函数中的自变量是以弧度为单位。 如:sin300 sin(3.14159/180*30) (2)Rnd函数返回0 ~ 1(包括0和不包括1)之间的双精度随机数。 若要产生1-100的随机整数: Int(Rnd *100)+1 提问:怎样产生[N,M]区间的随机数? 3.5 常用内部函数

  30. 2. 转换函数 常用的转换函数见表3-9所示 说明:(1)要区别两个取整函数int()和fix() Fix(N)为截断取整,即去掉小数后的数。 Int(N)不大于N的最大整数。 N>0与int(N) 相同,当N<0时, 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( )函数只将最前面的数字字符转换为数值。 3.5 常用内部函数

  31. 3. 字符串操作函数(常用的字符串函数见表3-10) 说明: 如果返回是字符型,则函数后有“$”字符。当然一般也可以不写,习惯都写上。例如: len("This is a book!") 15 Left$("ABCDEFG",3) "ABC" Right ("ABCDEFG",3) “EFG" Mid$("ABCDEFG",2,3) "BCD“ Ucase("ABcd") "ABCD" Lcase("ABcd") " abcd" Trim(" Abcd ") "ABcd" String(5, "A " ) "AAAAA" InStr(2, “ABCDEFGEF”, “EF”) 5(第一次出现的位置) 3.5 常用内部函数

  32. 3.5 常用内部函数 4. 日期、时间函数 常用的日期时间函数见表3-11 掌握: Time( ) Date( ) Now Year( ) Month( ) Day( ) 5.格式输出函数 使用格式: Format$(表达式[,“格式字符串”]) 功能:按用户指定格式返回表达式,常常用在print方法中。 使用形式:print Format$(表达式[,“格式字符串”]) 表达式:可以是数值、日期或字符串型表达式。 格式字符串:表示输出表达式时采用的输出格式。不同数据类型所采用的格式字符串是不同的。

  33. (1)数值型数据格式化(见表3-12) 注意:对于符号:0与#,当数值的实际位数比格式控制给定的位数多时,系统将按四舍五入返回给定的位数。 如:Format(3.14159, “###.###”), 其值为 3.142 Format(3.14159,“000.000”), 其值为 003.142 (2)日期和时间型数据格式化(见表3-13) 缺省日期格式为:“mm/dd/yy”, 缺省时间格式:“hh:mm:ss” (3)字符串类型数据格式化(见表3-14) 3.5 常用内部函数

  34. 3.5.6 其它函数 除上面常用的四类函数,VB中还有测试函数(见表3-15)、与文件操作有关的函数(见表3-16)及其它函数(见表3-17) 3.5 常用内部函数

  35. 本章作业: 1. 思考题: (Pg.63) 要求找到本应书上的内容,并认真理解 一、1、5、6、7 直接做在书上:(Pg.69) 三(全部各小题,抽查若没做,将作为没有成作业处理,记为K3) 做在作业本上: (Pg.68、70) 一、10 (2)(4)(6)(8) 11 (1)(3)(5) 二 全部 实验第2题

More Related