数据表达式与简单程序设计PPT课件_第1页
数据表达式与简单程序设计PPT课件_第2页
数据表达式与简单程序设计PPT课件_第3页
数据表达式与简单程序设计PPT课件_第4页
数据表达式与简单程序设计PPT课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章 VB中的数据与表达式4.1 VB中程序代码的组织形式4.2 代码书写规则4.3 VB 中的数据4.4 运算符和表达式4.5 赋值语句4.6 VB中的公共函数4.7 InputBox和MsgBox函数第1页/共86页4.1 Visual Basic程序代码的组织方式 v Visual Basic 程序由窗体界面和程序代码两部分组成 ;v 程序代码由过程及说明组成;第2页/共86页工程工程窗体模块窗体模块1 窗体模块窗体模块2 标准模块标准模块1 标准模块标准模块2 类模块类模块1 类模块类模块2 .过程过程1过程过程2第3页/共86页4.1.1 过程“过程”是具有特定格式,包含若干可被作

2、为一个整体执行的代码行的组合事件过程 由事件调用,当指定事件发生时执行;存储在“窗体”模块内。通用过程 具有特定功能,可被其他过程共享(调用)的过程。第4页/共86页4.1.2 模块“模块”是VB用于组织不同类型过程代码的一种结构1、窗体模块 每个窗体都有一个相对应的窗体模块。窗体模块包含:(1)有各个对象的事件过程;(2)窗体及窗体中各个控件对象的属性设置与相关说明;(3)窗体模块中还可包含仅供本窗体其他过程调用的通用过程。第5页/共86页4.1.2 模块2. 标准模块 应用程序中可被多个窗体共享的代码,应当被组织到所谓的“标准模块”之中。 标准模块文件的扩展名是.bas; 标准模块中保存的

3、过程都是通用过程。除了这些通用过程之外,标准模块中还包含有相关的说明。 创建标准模块 的方法。第6页/共86页4.2 代码的书写规则VB源程序的书写格式(1)一般情况下要求一行一句,一句一行, 一行可以写多个语句,但语句之间要加冒号(:),字母不区分大小写;(2)一个语句可分多行写,但在每行末尾要加续行符:空格符下划线( _)。例如:例如: Form1.Print Form1.Print 学好学好VB VB 要多学多练要多学多练 Form1.Hide Form1.Hide Form2.Show Form2.Show第7页/共86页(3 3)所有的语句标点符号(冒号、点号、逗号、分号、界定字)所

4、有的语句标点符号(冒号、点号、逗号、分号、界定字符串的双引号、注释用的单引号等),都必须是符串的双引号、注释用的单引号等),都必须是英文的字符英文的字符。如果出现中文标点将归结为语法错误。如果出现中文标点将归结为语法错误。(4 4)程序书写时最好按层次缩进书写,这样程序可读性好。)程序书写时最好按层次缩进书写,这样程序可读性好。1) 1) 代码不区分字母的大小写,如:代码不区分字母的大小写,如:Ab Ab 与与ABAB等效;等效;2) 2) 系统对用户程序代码进行自动转换;系统对用户程序代码进行自动转换; 对于关键字,首字母被转换成大写,其余转换成小对于关键字,首字母被转换成大写,其余转换成小

5、写写 对于用户定义的变量、过程名,以首次定义为准进对于用户定义的变量、过程名,以首次定义为准进行转换行转换第8页/共86页 4.34.3数据类型数据类型 VB数据类型用户自定义类型用户自定义类型 基本数据类型基本数据类型数值型其它类型整数型 实数型 ByteIntegerLong SingleDoubleCurrency dateStringObjectVariant数据类型规定了程序中数据的取值范围、占用内存空间的大数据类型规定了程序中数据的取值范围、占用内存空间的大小小 、以及在这些值上允许的操作、以及在这些值上允许的操作 。第9页/共86页 Visual Basic 的基本数据类型(数值

6、型)数据类型数据类型关键字关键字类型类型符符前缀前缀所占字所占字节数节数范范 围围整型整型Integer%int2- 32768 32767长整型长整型Long&lng4- 2147483648 2147483647单精度型单精度型Single!sng4双精度型双精度型Double#dbl8货币型货币型CurrencyCurrency curcur8 8字节型字节型ByteByte无无bytbyt1 1第10页/共86页数据类型数据类型关键字关键字类型类型符符前缀前缀所占字节数所占字节数范范 围围逻辑型逻辑型Boolean无无bln2 True 与与 False日期型日期型Date(t

7、ime)无无dtm8 01,01,100 12,31,9999字符型字符型String$str与字符串长度有关与字符串长度有关065535个字符个字符对象型对象型Objiect无无obj4任何对象引用任何对象引用变体型变体型Variant无无vnt根据分配确定根据分配确定第11页/共86页4.3.14.3.1基本数据类型基本数据类型1 1、字符串型数据(、字符串型数据(stringstring) 字符串型数据是指一切可打印的字符和字符串,它是用双引号括起来的一串字符。一个西文字符、汉字都是一个字符,在VB中有两种类型字符串: 和 的长度不确定的 长度固定的如: 变长字符串 定长字符串第12页/

8、共86页 Dim M As String Dim M As String * * 10 10 M = Mary is 5.M = Mary is 5. 赋给M M的字符少于1010个,则用空格将不足部分填满,超过1010个将被截去。说明:1 1)空与空格字符的区别; 2 2)在字符串中必须用两个连续的双引号来表示字符串有一个双引号。 如字符串:abc abc 计算机 abc abc,在VBVB中表示为:abcabc计算机abc abc 第13页/共86页2、数值型数据数值型数据一般分为整型数和浮点数两类。整型数分为整数(Integer)和长整数(Long)。浮点数分为单精度浮点数(Single

9、)和双精度浮点数(Double)。有时也把货币型数据(Currency)和字节型数据(Byte)划归数值型数据。第14页/共86页(1 1)整数()整数(IntegerInteger) 整数是不带小数点的数,在机器内部以2字节(16位)二进制码形式表示。VB中用n%来表示整数,其中%为整数的类型符,可以省略。如-123%、123%都表示整数。取值范围:-32768至+32767第15页/共86页(2 2)长整数(LongLong) 整数的最大值为32767,大于此数,程序运行时就会因为溢出产生中断。此时可使用长整数。 长整数用4字节(32位)二进制数存储,可以表示更大的整数,VB中用n&

10、;来表示长整数,其中&为长整数的类型符。如-1234&、987654&都表示长整数。第16页/共86页(3 3)浮点数浮点数也称为实型数或实数,由符号、指数和尾数组成,分单精度浮点数(Single)和双精度浮点数(Double),其指数部分分别用“E”(或“e”)和“D”(或“d”)表示。例如:1.23E3或1.23e+3 单精度 1.23D3或1.23d+3 双精度 单精度浮点型(Single):占内存四个字节,精度为7位。双精度浮点型(Double):占内存八个字节,精度为16位。尾数指数第17页/共86页(4 4)货币型()货币型(CurrencyCurrency

11、)货币型属于定点实数或整数,用8个字节存储小数点前有15位,小数点后有4位,其余的数字被舍去,其表示形式为在数字后加上“”。(5 5)字节型()字节型(ByteByte)字节型数据用1个字节的无符号二进制数存储,取值范围为0-255。第18页/共86页(6)日期型数据(Date)日期型数据按64位浮点数值存储(8个字节),表示的日期从公元100年1月1日-9999年12月31日,时间范围为0:00:00-23:59:59。日期文字必须用符号“#”括起来,如#January 15,2002#,#1985-10-1 9:45:00 PM# ,#6/12/2008#都是合法的日期型数据。第19页/共

12、86页(7 7)布尔(BooleanBoolean) 逻辑型数据只有两个值:真(True)和假(False),用2字节二进制数存储,经常用来表示逻辑判断的结果。 把数值型数据转换为布尔型数据时,0会转换为False,其它非0值转换为 True。反之,当把逻辑型数据转换为数值型时,False转换为0,True转换为-1第20页/共86页(9 9)变体(VariantVariant)数据类型 Variant数据类型又称为万用数据类型,它是一种特殊的、可以表示所有系统定义类型的数据类型。如上所述的数值型、日期型、对象型、字符型的数据类型。 Variant数据类型是VB对所有未定义的变量的缺省数据类型

13、的定义。第21页/共86页4.3.2 常量常量:程序运行过程中其值始终不变的量1、数值常量2、字符常量3、逻辑常量4、日期常量5、符号常量第22页/共86页数值常量整型常量 : %长整型常量 : &单精度型常量:!双精度型常量 : #货币型: 字符串型: $ Visual Basic Visual Basic在判断常量的数据类在判断常量的数据类型时,有时存在多义性。例如,值型时,有时存在多义性。例如,值3.013.01可能是单精度类型,也可能是双精度类可能是单精度类型,也可能是双精度类型或货币类型。型或货币类型。为了显式地指明常数的类型,可以在常为了显式地指明常数的类型,可以在常数后面

14、加上类型说明符,数后面加上类型说明符,例如例如:3.01# :3.01# 是一个双精度浮点型常数。是一个双精度浮点型常数。 10.05 10.05 是一个货币型常数。是一个货币型常数。第23页/共86页字符串常量字符串常量是用双引号括起来的字符序列。例如: abcdefg 中华人民共和国,A=This is a book , 当字符串常量包含一个数字值时可以赋值给数值型变量,包含一个日期值时,可以赋值给日期型变量 第24页/共86页逻辑常量逻辑常量只有两个取值:True和False第25页/共86页日期常量1、表示形式:mm/dd/yyyy2、用“#”括起来,例如#5/12/2010#第26页

15、/共86页符号常量符号常量用来代替程序中出现的很大的数据或很长的字符串。格式:Public|PrivateConst 常量名 As 类型 表达式在一行中可放置多个常数说明,可用逗号分隔例:例:Private Const Pi As Single = 3.14159, T$ = “CHINAPrivate Const Pi As Single = 3.14159, T$ = “CHINA第27页/共86页 4.3.3 变量程序运行过程中其值可以改变的量称为变量 。变量名表示内存位置(存储单元的代号)三个问题:1. 变量命名规则2. 变量类型说明语句3. 变量的作用域第28页/共86页1、变量的命

16、名规则(1)变量名只能以字母(或汉字)开头,后跟字母(或汉字) 、数字和下划线(2)不能包含标点符号以及类型说明符(&、!、#、$)(3)不得超过255个字符;(4)不得使用VB 的保留字;(5)在同一个作用域内,变量名必须是唯一的。(6)为了增加程序的可读性,一般在变量名前加上一个第29页/共86页以下是一些非法的标识符的例子:4yz 数字开头 x z 不允许出现减号 xy.t 不允许出现小数点If 不允许关键字Print$ 不允许关键字第30页/共86页2、变量的类型和定义 (1)用类型说明符表示变量 将类型说明符,可以表示不同的变量。 声明变量的目的:根据声明的类型决定系统为它分

17、配的存储单元。第31页/共86页%整型 &长整型 !单精度型 #双精度型 货币型 $字符串型。 dim Name$dim Name$ private Num% private Num% public Wage public Wage第32页/共86页(2)用声明语句声明变量其格式为: Public | Private | Dim | Static As , As 例如:例如: Dim X As Integer,Y As DoubleDim X As Integer,Y As Double Static D As Integer Static D As Integer Public K

18、As long Public K As long Dim a,b as integerDim a,b as integer思考:a,b是什么数据类型A:empty第33页/共86页3、变量的作用域 局部变量、模块级变量与全局变量局部变量、模块级变量与全局变量 第34页/共86页1 1、局部变量:在过程中定义的变量,仅在说明它的过程中有效 格式:Dim | Static 变量名 As 类型名 , 说明:Dim过程执行完毕,释放内存空间; (只在过程执行期 间才存在)。 Static静态变量。程序启动时分配内存空间,程序结束时清除。(在整个应用程序运行期一直存在)第35页/共86页2、模块级变量(

19、窗体变量和标准模块变量): 模块级变量:在定义该变量的模块内的所有过程内均有效。 该变量在窗体或标准模块通用声明段中说明。 格式:Private | Dim 变量名 As 类型名 Private 、Dim等价(一般用Private)第36页/共86页3、全局变量: 在标准模块或窗体模块的通用段中说明,在工程内的所有过程中都有效(其值可用于应用程序的所有过程)。格式:Public 变量名 As 类型名 ,说明: 全局变量也是在启动时创建,程序结束时被清除。 访问本模块中定义的全局变量时,可直接使用变量名;访问其他窗体模块中定义的全局变量时,必须在变量名前加 “模块名.”;如在Form1窗体的通用

20、声明部分定义了全局变量APublic A as integer在Form2中使用全局变量AB=Form1.A+8第37页/共86页区别作用范围作用范围定义方法定义位置局部变量当前过程Dim|Static在过程内窗体/模块变量当前窗体或模块中的所有过程Private|Dim在窗体或模块的声明部分全局变量工程内的所有过程Public在窗体或模块的声明部分总结总结 第38页/共86页注意定义一个变量后,系统自动为该变量赋予一个初值:1、变量是数值型的,初值为0:2、变量是变长字符串型的,初值为空;3、变量是定长字符串型的(设长度为n),初值为n个空格字符串;4、变量是逻辑型的,初值为False.5、

21、标准模块中的定长字符串变量可以说明为public或private,在窗体模块中只能将定长字符串变量说明为private第39页/共86页默认声明 在默认状态下,VB中可以不进行变量声明,此时,也,但是这样做可能由于变量名的误写而产生不良后果。 用 “工具”“选项”“编辑器”“要求变量声明 默认声明一般只适用于局部变量,模块级变量和全局变量必须用Private、Dim或Public语句显式声明。第40页/共86页4.4 运算符与表达式 4.4.1 4.4.1 算术运算符 指数运算()浮点数除法(/ /)与整数除法( ) ) 取模运算(ModMod)算术运算符的优先级 字符串连接 第41页/共86

22、页运算符含义优先级算术表达式 结果() 括号 1 (3+1)/2 2 幂运算 2 -16(1/2) -4- 负号 3 4*-3 -12* 乘 4 1/3*3 1 除 4 10/3 33333333 整除 5 103 3Mod 取余数 6 10 Mod 3 1+ 加 7 -3+4 1- 减 7 6-4 2高高低低算术运算符算术运算符第42页/共86页例题:设A=7,B=4,C=6, 则表达式A Mod 3+B3/C5的值为A1 B2 C3 D出错小数在进行mod、运算时,vb会先将前后的两个数四舍五入取整(就是全部转化成long型),然后再运算。 第43页/共86页运算符运算符含义含义 关系表达

23、式关系表达式 结果结果= 等于等于 3*4=12 True 大于大于 abcdeabr False= 大于等于大于等于 5*6=24 True 小于小于 abcAbc False= 小于等于小于等于 5/2=10 True 不等于不等于 dD TrueLike 字符串匹配字符串匹配 fist like f*“ True第44页/共86页注意注意: (1 1)关系运算符)关系运算符“= =”与赋值运算符与赋值运算符“= =” 不同。不同。 (2 2)日期按先后比较()日期按先后比较(日期在前为小日期在前为小),字符串按),字符串按ASCIIASCII码值比较大小。首先比较两个字符串的第一个字符,

24、码值比较大小。首先比较两个字符串的第一个字符,ASCIIASCII码值较大的字符所在的字符串大。若相同则比较的二码值较大的字符所在的字符串大。若相同则比较的二个,个,自左至右按照自左至右按照“逐个比较,遇大则大,长大短小,完逐个比较,遇大则大,长大短小,完全相同,才是相等全相同,才是相等”的原则进行。的原则进行。汉字字符大于西文字符汉字字符大于西文字符 (3 3)关系运算符的优先级相同。)关系运算符的优先级相同。 第45页/共86页逻辑表达式的运算对象为逻辑型数据或数值型数据。Not取反,将两个逻辑值互相转换And与,两个操作数都为真,结果才为真,否则为假Or或者,两个操作数中只要有一个为真,

25、结果为真Xor异或,两个操作数不同时为真,否则为假高高低低4.4.3 4.4.3 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式第46页/共86页 A B Not A A And B A Or B A Xor B T F F F T T F F T F F F写出逻辑表达式: 选拔优秀生的条件选拔优秀生的条件:三门功课英语(C1)、数学(C2)、计算机(C3),总分至少265分,或C2、C3分别大于90分且C1不低于80分。C1+C2+C3 =265 OR (C180 and C290 and C390)第47页/共86页其他:字符串连接 可用“+ +”或“& &”将两个字符串连

26、接起来 例如:a=a=“VisualVisual”,b=,b=“BasicBasic” c=a+b c=a+b 则c c的值为”VisualBasicVisualBasic”第48页/共86页1 1连接运算符:“+ +”运算对象必须为字符串。2 2连接运算符:“& &” 连接的对象可以不同; “ABCDABCD” & 1234 & 1234 结果:ABCD1234ABCD1234 因此使用”& &”比”+ +”更安全第49页/共86页在表达式求值的过程中,各种运算必须按运算符的优先级依次进行。运算符的优先级如下: 算术运算符关系运算符逻辑运算符

27、4.4.4 运算规则第50页/共86页例题:设例题:设a=2, b=3, c=4, d=5, a=2, b=3, c=4, d=5, 下列表达式的值是下列表达式的值是 Not a=c Or 4Not a=c Or 4* *c=b2 And ba+cc=b2 And ba+c A A)-1 B-1 B)1 C1 C)True DTrue D)FalseFalse第51页/共86页1 1、相同数据类型的数据进行运算,结果为同一类型、相同数据类型的数据进行运算,结果为同一类型2 2、不同数据类型的数据进行运算,结果的类型为两、不同数据类型的数据进行运算,结果的类型为两个运算对象中存储长度较长的那个对

28、象的类型。个运算对象中存储长度较长的那个对象的类型。比如:一个整型数与一个长整型数进行运算,结果就比如:一个整型数与一个长整型数进行运算,结果就是长整型;一个整型数与一个单精度数进行运算,结是长整型;一个整型数与一个单精度数进行运算,结果为单精度型,但一个果为单精度型,但一个LongLong型数与一个型数与一个SingleSingle型数运型数运算,结果则为算,结果则为DoubleDouble类型,依次类推。类型,依次类推。 第52页/共86页注意:除法运算和幂运算是个例外,结果均为为双精度类型(Double)。 Dim a As Integer, b As Integer Dim c As

29、Single a = 5 : b = 9 c = b / a.第53页/共86页例题:假设变量Lng为长整形变量,下面不能正常执行的语句是(注意运算步骤)ALng=16384*2 BLng=4*0.5*16384CLng=1902 DLng=32768*2运算结果为两个运算对象中存储长度较长的那个运算结果为两个运算对象中存储长度较长的那个对象的类型对象的类型第54页/共86页A中:16384将被VB视为Integer(-32,768 到 32,767),2也为Integer,因此运行结果VB也将视为Integer,结果32768大于32767,溢出;换成16384*2&就可以了。B中:

30、先运行48*0.5,由于0.5视为single,因此结果为single, 再乘16384,结果仍然为single; C中:平方运算不需要遵循:Integer的平方仍然是Integer。因此可以执行,结果为double型。若换做190*190则溢出错误,理由同A; D中:32768超过32767将不会被视为Integer,因此再乘2不会溢出。 另外,大家不要被A是长整型这个条件迷惑。运算是分步骤进行的,还没有来得及做长整型转换,A已经产生溢出错误了。第55页/共86页4.5、赋值语句 用赋值语句可以把指定的值赋给某个变量或某个带有属性的对象。一般格式为: 格式1:变量名=表达式 格式2:对象名.

31、属性名=表达式在格式2中,若对象名省略,则默认对象为当前窗体 如:a=34 b=“city” Text1.text=“Visual Basic” StartTime=Now text2.text=text1.text text1.text=Str$(a)第56页/共86页说明1、赋值语句兼有赋值与计算双重功能。 如: b=a22、“=”是赋值号,与数学上的等号意义不一样。第57页/共86页 Boolean 数值型True为-1;False为0 Boolean 数值型 非0为True;0为False 例例: Dim v As Integer: Dim v As Integer Dim book

32、As String Dim book As String* *8 8 Dim sum As Double Dim sum As Double Dim Bool As Boolean Dim Bool As Boolean v=26 v=26 v=v+12.3 v=v+12.3 sum=v sum=v* *123.4+56.7123.4+56.7 v= v=“126126” sum= sum=“123ab123ab” v=True v=True sum=False sum=False Bool=123 Bool=123 Bool=0 Bool=0(1) 右边表达式的值右边表达式的值成左边变量的类

33、型成左边变量的类型(2) 若不能实现类型转换,若不能实现类型转换, 出现出现“”错错第58页/共86页注释语句 为了提高程序的可读性,可以在程序的适当位置加上必要的注释,对语句的功能加以解释。VB中的注释语句以一个撇号()或REM开始。一般格式为: | REM 例如:a=45 给变量a赋值Rem不能出现在程序行的后面,可单独一行书写 如: a=45 Rem 给变量a赋值 是错误的第59页/共86页说明1、注释语句是非执行语句2、任何字符都可以放在注释行中作为注释内容3、注释语句不能放在续行符的后面第60页/共86页结束语句格式:END END语句用来结束一个程序的执行。当在程序中执行END语句时,当前程序将终止运行,所有变量都将重置,并关闭所有的数据文件 为了保持程序的完整性,应在程序中包含END语句并通过END语句来结束程序。第61页/共86页例如: sub command1_click End End sub End除用来结束程序外,还有其他一些用途,包 括: End sub:结束过程 End Type:结束自定义类型的定义 End Function:结束自定义function End If:结束if End Select:结束select第62页/共86页4.6常用公共函数 函数是VB的一种程序模块,可以完成特定的功能。函数有用户自定义函数和内部函数。

温馨提示

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

评论

0/150

提交评论