第2章VisualBasic的基本语法.ppt

上传人:本田雅阁 文档编号:2523166 上传时间:2019-04-05 格式:PPT 页数:49 大小:1.30MB
返回 下载 相关 举报
第2章VisualBasic的基本语法.ppt_第1页
第1页 / 共49页
第2章VisualBasic的基本语法.ppt_第2页
第2页 / 共49页
第2章VisualBasic的基本语法.ppt_第3页
第3页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第2章VisualBasic的基本语法.ppt》由会员分享,可在线阅读,更多相关《第2章VisualBasic的基本语法.ppt(49页珍藏版)》请在三一文库上搜索。

1、,第2章 Visual Basic的基本语法,数据类型,变量和常量,标准函数.,运算符与表达式,基本语句,数组,子程序,函数,文件的操作,各自展开为章节,字节(byte)和位(bit) 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 可进行的操作,字节型(byte),布尔型( boolean ),日期型(date)ex: # january 1,2008 #,通用型(Variant)也称变体型,货币型 currency 精确到小数点后4位,小数点位置不变的定点数据类型,VB 基

2、本 数 据 类 型,字符串型String $,整 型,浮点型,数值型,Vb的数据类型分为: 基本数据类型 自定义数据类型,一、数据类型,数据是程序的必要组成部分,也是程序处理的对象。 基本数据类型 VB提供的基本数据类型主要有字符串型数据和数值型数据。此外还提供了字节、货币、对象、日期、布尔和变体数据类型。 字符串(String) 例: “Hello” “We are students” “VB 程序设计” “” 默认是变长字符串 0-20亿字符 定长字符串 :星号 常数 表明字符串长度 165535 个字符 Dim str1 as string * 8,数值:分为整数和浮点数两类。 (1)整

3、数 整型数在机器内部以2字节二进制形式表示。VB中用n%来表示整数,其中%为整数的类型符,可以省略。 如-123%、123%都表示整数,可表示数值范围为-32768+32767; 长整型数在计算机中用4个字节存储, & 可表示数值范围为-2147483648+2147483647。,(2)浮点数 浮点数也称为实型数或实数,由符号、指数和尾数组成,分单精度浮点数(Single)和双精度浮点数(Double),其指数部分分别用“E”(或“e”)和“D”(或“d”)表示。 例: 123.45E3 或 123.45e+3 123.45678D3 或 123.45678d+3 单精度型(Single)以

4、4个字节(32位)存储,符号占1位, 指数占8位,尾数23位,此外还有一个附加的隐含位。 单精度型的数据可以精确到7位十进制数。 其负数的取值范围为 -3.402823E+38-14.40129E-45, 正数的取值范围为 -1.40129E-453.402823E+38。 双精度型(Double)用8个字节(64位)存储,符号位占1 位,指数占11位,尾数52位,此外还有一个附加的隐含位。双 精度型的数据可以精确到15或16位十进制数。其负数的取值范 围为-1.797693134862316D+308-4.94065D-324,正数的取值 范围为4.94065D-3241.797693134

5、862316D+308。,货币(Currency) 货币型(Currency)是一种专门为处理货币而设计的数据类型,保留小数点右边4位和小数点左边15位,在计算机中用8个字节存储。如果变量已定义为货币型,且赋值的小数点后超过4位,那么超过的部分自动四舍五入。小数点是固定的,因此称定点数据类型。 变体(Variant) 变体数据类型是一种可变的数据类型,可以表示任何值,包括数值、字符串、日期/时间等。,其他数据类型 (1)字节(Byte):用1个字节的无符号二进制数存储,取值范围为0255。 (2)布尔(Boolean):逻辑型数据用2字节二进制数存储。存放只可能为 True 或 False 的

6、值。Boolean 的默认值为 False。当 Visual Basic 将数字数据类型值转换为 Boolean 时,0 变为 False,所有其他值变为 True。当 Visual Basic 将 Boolean 值转换为数字类型时,False 变为 0,True 变为 -1。 (3)日期(Date):64位浮点数值存储, 表示的日期从公元100年1月1日9999年12月31日, 时间范围为 00:00:0023:59:59。 任何可辨认的文本日期都可以复制给日期变量 日期文字的标准格式:mm/dd/yyyy or mm-dd-yyyy : 11/18/2008 or 11-18-2008

7、日期文字以一对数字符号# #括起来。 例: #03/10/2000# #2000-03-10# #January 15,2002# #1985-10-1 9:45:00 PM#,(4)对象(Object):通过32位(4字节)来存储,表示图形或OLE对象或其他对象。,用户定义的数据类型 用户可以利用Type语句定义自己的数据类型,格式: Type 数据类型名 数据类型元素名 As 类型名 End Type 例: Type Students Name As String * 8 Age As Integer Address As String * 20 End Type,注意: (1)自定义类型

8、在使用之前,必须先在标准模块或窗体模块的声明部分定义,在标准模块中定义时默认为全局变量(Public)。在窗体模块定义时在关键字Type前应加上Private关键字。 (2)自定义类型如果包含有字符串类型元素,则必须是定长字符串,即应该使用形式为:strName As String*常数 其中“常数”指明定长字符串的长度。,二、常量和变量,常量:程序执行期间,值不会发生变化。可分为文字常量和符号常量。 文字常量: 也称为字面量(Literal),可分为字符串和数值。 (1)字符串常量 用双引号括起来的一串字符,长度不能超过65535个字符 (定长字符串)或231个字符(变长字符串)。每个字符占

9、用一个字节,如果是汉字,占用两个字节。 例: “$2500.00” “Number of Employees” (2)数值常量:整型数、长整型数、货币型数和浮点数,整型数:十进制、十六进制、八进制 十进制整型数:可带有正号或负号,范围-3276832767 例: 624 - 4536 +265 十六进制整型数:前面冠以&H(或&h),范围&H0&HFFFF 例: &H76 &H32F 八进制整型数:前面冠以&(或&O),范围&O0&O177777 例: &O347,长整型数:十进制、十六进制、八进制 十进制整型数:范围-21474836482147483647 例: 7841277 十六进制整

10、型数:以&H(或&h)开头,以&结尾。范围&H0&HFFFFFFFF& 例: &H567& 八进制整型数:前面冠以&(或&O),以&结尾。范围&O0&O37777777777& 例: &O347&,货币型数:也称定点数。 浮点数:也称实数,分为单精度浮点数和双精度浮点数。浮点数由尾数、指数、指数符号3部分组成。其中,尾数本身也是一个浮点数,指数是整数,指数符号为E(单精度)或D(双精度)。 例: 235.988E-7 2359D6,为了显式地指明常数类型,可以在常数后面加上类型说明符: % 整型 # 双精度浮点数 & 长整型 货币型 ! 单精度浮点数 $ 字符串型,符号常量:代替数值或字符串

11、const 常量名As 类型=表达式 例: Const NAME As String =“LiLin” Const NUM As Integer= 4450 Const Pi!=3.14159 Const MAX As Integer=&O155 说明:可以在常量名后面加上类型说明符; 定义符号常量后,定义变量时要注意。 Const Num As Integer = 45 Num!、Num#、Num%等,不能再做为常量名或变量名。 符号常量一般用大写字母定义以示区别。,变量(Variable):一个有名称的内存位置。 每个变量都有一个名字和相应地数据类型,通过名字来引用一个变量,数据类型决定了

12、该变量储存方式。 命名规则 (1)变量名只能用字母、数字和下划线组成。 (2)变量名的第一个字符必须是字母,最后一个字符可以是类型说明符,且组成变量名的字符数不得超过255个 (3)不得使用VB的保留名或保留名后加上类型说明符来作为变量名,如:integer 但可以把保留字嵌入变量名中。 每个单词的第一个字母用大写,如:PrintText,变量的类型和定义 任何变量都属于一定的数据类型,包括基本数据类型和用户定 义的数据类型。在VB中可以用以下几种方式来规定一个变量的 类型: (1)用类型说明符来标识 将类型说明符放在变量名的尾部,可以表示不同的变量, %表示整型、&表示长整型、!表示单精度型

13、、#表示双精度型、 表示货币型,$表示字符串型。 例如: strName$ dblNum% curWage,(2)在定义变量时指定类型 Declare 变量名 As 类型 这里的“Declare”可以是Dim,Static,Redim,Public Dim 用于在标准模块(Module)、窗体模块(Form)或过程(Procedure)中定义变量(自动变量)或数组。 例如: Dim Age As Integer Dim StrTemp As String Dim StrName As String * 10 Dim Number As Single,Count As Single Dim Nu

14、mber,Count As Single,Static 用于在过程中定义静态变量及数组变量。 用Static语句定义的变量在该函数或过程执行结束后, 它的值还能保存下来,被下一次执行时所使用。 而Dim定义的变量则会被清空。通常由Dim定义的变量称为自动变量,而把由Static定义的变量称为静态变量。 【例】 编写一个程序,观察静态变量的特点。在窗体上添加一个命令按钮,按钮的Caption属性是“执行一次过程”。命令按钮的名称为Command1,事件过程如下。 Private Sub Command1_Click() Static a As Integer (Dim a As Integer)

15、 Dim b As Integer Print “a=“; a; “ “; “b=“; b a = a + 1 b = b + 1 End Sub,Print方法的调用格式和功能。 格式:对象.Print表达式表,l; 功能:Print方法可以在相应的对象上显示文本和表达式的值。,Public 在标准模块中定义全局变量或数组。 例: Public Total As Integer Redim 定义数组。,注意: (1)实际应用中,能用整型的就不要用浮点型变量;如果要求精度不高,则应使用单精度变量,可节省内存空间,提高运行速度。 (2)用类型说明符定义的变量,在使用时可以省略类型说明符。 例:

16、Dim aStr$ 则可用aStr$和aStr来引用这个变量。 aStr = “This is a string” aStr$ = “This is a String”,变体类型变量 (1)Variant变量的定义:可以用普通数据类型变量的格式定义,也可以使用默认定义。 例:Dim SomeValue As Variant Dim SomeValue SomeValue “100” (存入字符串“100”) SomeValue SomeValue10 (SomeValue变为90) SomeValue “ABC” SomeValue (SomeValue变为字符串ABC90),注意: 如果对V

17、ariant变量进行算术运算,必须确保变量中存放的是某种形式的数值,包括整数,浮点数,定点数等。 运算符“”可以用于数值相加,还可用于字符串的连接。为了避免运算出错,字符串连接最好用运算符“&”。,变量的作用域 (1)局部变量与全局变量 VB中的变量 可以分为3类: 局部变量 模块变量 全局变量 局部变量:在过程(事件过程或通用过程)内定义的变量。 其作用域是它所在的过程。,声明部分,局部变量常用来存放中间结果或作临时变量。可以通过 “过程名.变量名”的形式分别引用不同过程中相同名字的变 量。 局部变量在过程内用Dim,Static定义: Sub Command1_Click() Dim Te

18、mpnum As Integer Static Total As Double End Sub,窗体变量:用于该窗体内的所有过程。当同一窗体内的不同过程使用相同的变量时,必须定义窗体变量。使用窗体变量之前必须先声明。 模块变量:包括窗体变量和标准模块变量。标准模块变量的声明和使用与窗体模块中窗体变量类似。 模块变量在模块的声明部分用Private或Dim声明。 Private intTemp As Integer 或 Dim intTemp As Integer,全局变量:也称全程变量。全局变量必须在标准模块的声明部分中声明。用Public和Global语句声明。 (2)默认声明 对于局部变量

19、来说,也可以不用Dim(或Static)定义,而在需要时直接给出变量名。变量的类型可以用类型说明符(%、&、!、#、$、)来标识,如果没有类型说明符,VB就把该变量指定为变体数据类型。 默认声明一般只适用于局部变量。,数学函数、随机函数、转换函数、时间/日期函数,三、常用内部函数,数学函数,说明:sin,cos,tan函数的自变量是以弧度为单位的角度。Atn 函数的自变量是正切值,返回正切值为x的角度,以弧度为 单位。 1(度)/1803.14159/180(弧度),随机函数,用Rnd函数可以返回随机数,当一个应用程序不断地重复使 用随机数时,同一序列的随机数会反复出现,用Randomize语

20、 句可以消除这种情况: Randomize(x) X是一个整型数,作为种子。,谁去打开水,Private Sub Command1_Click() Randomize temp! = Rnd() Form2.Print Int(temp! * 10*0.8); “号去吧“ End Sub,转换函数,【例3.2】 在窗体上添加一个文本框和一个命令按钮。当运行程序时,向文本框中输入一个字符,单击命令按钮,在窗体上显示该字符的ASCII码。 Private Sub Command1_Click() Print ASCII 是: ; Asc(Text1.Text) End Sub,类型转换函数 每个函

21、数都可以强制将一个表达式转换成某种特定数据类型。,日期/时间函数,【例3.3】 了解Date、Time、Now和VarType等函数的使用。窗体上只有一个命令按钮,其Caption属性为“使用日期函数”。 Private Sub Command1_Click() Print Now :; Now, VarType(Now) Print Date:; Date, VarType(Date) Print Time:; Time, VarType(Time) Print Day :; Day(Now), VarType(Day(Now) End Sub,说明: (1)日期和时间函数的自变量Now是个

22、内部变量, 不需要用户定义。 (2)在“立即”窗口中演示,日期函数 命令行解释程序(Command Line Intepreter,CLI): 通过命令行直接显示函数的执行结果。这种方式称为直 接方式,在“立即”窗口中执行。,字符处理与字符串函数 字符处理机制 早期:一个西文字符占一个字节,一个中文字符占两个字 节。这种处理机制称为ANSI方式。 现在:每个字符均用两个字节编码。这种处理机制称为 UniCode方式(统一编码方式)。 例:Print Len(“BASIC程序设计”) Print Lenb(“BASIC程序设计”),例: Private Sub Command1_Click()

23、Dim tempStr As String, newStr As String tempStr = “BASIC程序设计“ Print “tempStr=“; tempStr Print LenB(tempStr) newStr = StrConv(tempStr, vbFromUnicode) Print Print “执行newStrStrConv(tempStr,vbFromUniCode)后:“ Print “newStr“; newStr Print “LenB(newStr)“; LenB(newStr) Print “Len(newStr)“; Len(newStr) Print

24、 newStr = StrConv(newStr, vbUnicode) Print “执行newStrStrConv(newStr,vbUniCode)后:“ Print “newStr“; newStr Print “LenB(newStr)“; LenB(newStr) Print “Len(newStr)“; Len(newStr) End Sub,VB用StrConv的转换函数进行ANSI和UniCode之间的转换: 新字符串StrConv(待转换字符串,转换格式) 两种转换格式:vbUnicode:ANSIUniCode vbFromUniCode:UniCodeANSI,字符串函

25、数,SHELL函数,作用:执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。 格式:Shell(“命令行”,3) 参数2的取值:0-6 3具有焦点的最大化窗口。 0 窗口被隐藏,且焦点会移到隐式窗口。 1 窗口具有焦点,且会还原到它原来的大小和位置。 2 窗口会以一个具有焦点的图标来显示。 3 窗口是一个具有焦点的最大化窗口。 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。,四、运算符与表达式,算术运算符 算术运算符用于数学计算,V

26、B有9个算术运算符(其中减 号运算符和取负运算符形式相同),在这9个算术运算符中, 只有取负“”是单目运算符,其它均为双目运算符。,说明:“”和“&”都可以做字符串连接符。而 “&”是专用的 字符串连接符。因此它比用“”安全。,关系运算符(比较运算符) 关系运算符属于双目运算符,用来对两个表达式的值进行 比较,比较的结果为逻辑值,即若关系成立则返回True,否 则返回False。在VB中,分别用-1和0表示True和False。,说明: 数学中判断x是否在区间a,b时,习惯上写成axb,但在VB中不能写成a=x=b,应写成a=x And x=b。 字符串比较时,按其字符的ASCII值进行比较。

27、 Like运算符用来比较字符串表达式和SQL表达式中的样式,主要用于数据库查询。 Is运算符用来比较两个对象的引用变量,主要用于对象操作。,逻辑运算符 逻辑运算符的作用是将操作数进行逻辑运算,也称布尔运 算。结果是逻辑值True 或False。逻辑运算符中,除Not为单 目运算符外,其他都为双目运算符。,说明:逻辑运算符也可以进行数值运算。 例: 63 And 16 00000000 01111111 And 00000000 00010000,00000000 00010000,因此,63 And 16 的结果是16。,例: (38) And (53) Xor (58) True,表达式的执

28、行顺序 进行函数运算 进行算术运算 进行关系运算 进行逻辑运算,说明: &:在所有算术运算符之后,而在所有比较运算符前。 当指数和负号相邻时,负号优先。 例: 4-2 (4的-2次方) 乘号“ * ”不能省略,也不能用“”代替。 在表达式中只能使用圆括号。,答案 1 1,下面表达式的值为真的是 1) Mid(“visual basic”,1,12)=right(“programming language visual basic”,12) 2) “ABCRG”abcde” 3) Int(134.69)=cint(134.9) 4) 78.9/32.77-4.98 表示“xyz”正确的vb逻辑表示式是? 1)xy and yz 2)xyz 3)xy or yz 4)xy andz,

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

当前位置:首页 > 其他


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