第3章VB程序设计基础详版课资

上传人:仙*** 文档编号:41247808 上传时间:2021-11-19 格式:PPT 页数:57 大小:1.47MB
收藏 版权申诉 举报 下载
第3章VB程序设计基础详版课资_第1页
第1页 / 共57页
第3章VB程序设计基础详版课资_第2页
第2页 / 共57页
第3章VB程序设计基础详版课资_第3页
第3页 / 共57页
资源描述:

《第3章VB程序设计基础详版课资》由会员分享,可在线阅读,更多相关《第3章VB程序设计基础详版课资(57页珍藏版)》请在装配图网上搜索。

1、1课堂优质结束常量与变量常量与变量3.2变量的作用域变量的作用域3.3VB的基本数据类型的基本数据类型3.1运算符与表达式运算符与表达式3.42课堂优质结束 本章节将介绍在编写代码时用到的一些最基础的知识:VB的基本数据类型、常量与变量、运算符与表达式及常用内部函数。引言引言3课堂优质结束 数据是程序处理的对象。为了更好地处理各种各数据是程序处理的对象。为了更好地处理各种各样的数据,样的数据,VB定义了多种数据类型定义了多种数据类型 数值型数值型 字符型字符型(String) 逻辑型逻辑型(Boolean) 日期型日期型(Date) 对象型对象型(Object) 变体型变体型(Variant)

2、整数整数: 整型整型/长整型长整型(Integer/Long) 字节型字节型(Byte)实型实型: 单单/双精度双精度(Single/Double) 货币型货币型(Currency)基基本本数数据据类类型型4课堂优质结束数据类型数据类型关键字关键字类型符类型符内存字节数内存字节数范围范围字符串型字符串型String$字符的长度字符的长度最多最多65535个字符个字符整型整型Integer%2-3276832767长整型长整型Long&4-21474836482147483647字节型字节型Byte无无10255单精度型单精度型Single!41.401298E-45|x|3.402823E38

3、双精度型双精度型Double#84.94065645841247E-324|x|1.79769313486232E308货币型货币型Currency8-922337203685477.5808922337203685477.5807逻辑型逻辑型Boolean无无2True或或False日期型日期型Date无无8100.01.019999.12.31变体型变体型Variant无无根据需要根据需要5课堂优质结束 字符串型字符串型(String) 变长字符串变长字符串 0231个字符,约个字符,约21亿个字符亿个字符定长字符串定长字符串 不超不超216个字符,个字符,65535个字符个字符例:Dim

4、 s As string例:Dim s As string86课堂优质结束说明:说明:v双引号作为字符串的定界符号v在字符串中,区分字母的大小写v双引号内字符的个数叫做字符串的长度(包括空格)v长度为零的字符串叫做空字符串注意:注意: VB中中ASCII码字符和汉字均采用双字节存储码字符和汉字均采用双字节存储例:例: “姓名:”和“abc”都是字符串字符串“姓名:姓名: ”和“abc”的字符个数是3,占6个字节7课堂优质结束vVB中的数值型数据分为:整型整型实型实型整数(整数(Integer) 类型符:类型符:% -3276832767长整数长整数 (Long) 类型符:类型符:& 单精度型单

5、精度型 (Single) 类型符:类型符:! 有效数字最多有效数字最多7位位双精度型双精度型 (Double) 类型符:类型符:# 有效数字最多有效数字最多15位位字节型整数字节型整数 (Byte) 0255货币型货币型 (Currency) 类型符:类型符: 精确到小数点后精确到小数点后4位,第位,第5 位位四舍五入,整数部分最多四舍五入,整数部分最多15位位8课堂优质结束v逻辑型数据只有两个: (真真)True (假假)Falsev其它类型数据转化为逻辑数据时,非零数转换True,0转换False。v逻辑数据转化为整型数据时, True转换为-1, False转换0。9课堂优质结束vVb中

6、用#括起来放置日期和时间v允许用各种表示日期和时间的格式。日期可以用“/”、“,”、“-”分隔开,可以是年、月、日,也可以是月、日、年的顺序。时间必须用“:”分隔,顺序是:时、分、秒。例如:例如:v #1999-08-11 10:25:00 pm# 、#08/23/99# 、 #03-25-75 20:30:00# 、#98,7,18#都是有效的日期型数据。v在VB中会自动转换成mm/dd/yy(月/日/年)的形式。10课堂优质结束v通过4个字节地址来存储,用来指向应用程序中的一个对象v可以用Set语句指定一个被声明的对象数据,去引用应用程序所识别的任何实际对象v默认的初值为Nothing(无

7、指向)11课堂优质结束v变体型也称为可变类型,是一种特殊的数据类型。v是所有未定义的变量的默认数据类型v它的类型可以是数值型、日期型、字符型等,完全取决于程序的需要。从而增加了VB数据处理的灵活性。12课堂优质结束v在VB中使用用户定义数据类型定义记录结构。它由若干标准数据类型组成。例如:例如: 某个学生的信息:由学号、姓名、性别与语文、英语、数学、平均分数等基本项组合成组合项。用这些组合项来描述相应对象的若干属性,这些描述相同对象的组合项的集合形成了记录。13课堂优质结束v自定义类型由Type语句来实现:格式: Type 自定义类型名 元素名1 As 类型名 元素名2 As 类型名 元素名n

8、 As 类型名 End Type 14课堂优质结束常量常量v在程序执行的过程中保持不变的数据称为常量v在VB中,常量的分类: 一般常量 符号常量标准符号常量自定义符号常量123、 19.88 、“abc”、True、#9/4/2009#、&H123(十六进制数)15课堂优质结束1标准符号常量标准符号常量v查看标准符号常量 “视图”/“对象浏览器”或者按“F2”键例如:Form1.BackColor=VbRed 在VB中,系统定义了一系列常量。例如: Form1.Windowstate=vbMinimized 意义:将窗口最小化意义:将窗口最小化v其中vbMinimized就是一个系统定义的常量

9、,值为1。和form1.Windowstate=1相比较,更明确的表达了语句的功能。系统内部常量系统内部常量系统内部常量系统内部常量16课堂优质结束2.自定义常量(符号常量)自定义常量(符号常量)格式:const 常量名常量名As类型类型 =表达式表达式v一般将自定义常量放置于通用过程中v符号常量就是用标识符来表示一个常量例如:例如: const pi=3.14v 把3.14定义为pi,在程序代码中,就可以在使用圆周率的地方使用pi这个符号常量。17课堂优质结束v表达式可以是文字常量,也可以是运算符连接文字常量构成的表达式。v在一行中说明多个常量时用逗号分开例如:例如: Const mystr

10、 As string=Visual+Basic Const num = 85, pi As double=3.1415926v使用符号常量的好处主要在于,当我们要修改该常量时,只需要修改定义该常量的一个语句即可。18课堂优质结束v在程序执行过程中,其值可以改变的量称为变量。v在 Visual Basic 中执行应用程序期间,用变量临时存储数据。v 变量代表内存中指定的存储单元,变量以标识符命名。v每个变量都有相应的类型,类型决定了该变量的取值范围和可以执行的运算操作。19课堂优质结束1变量的声明变量的声明 在VB中用类型说明语句来定义变量(1)类型说明语句格式:格式:说明符说明符 变量名变量名

11、 As 类型类型v说明符是说明语句的关键字,它可以是 Dim、Private、Public、Static Private 定义的是局部变量定义的是局部变量 Public 定义的是全局变量定义的是全局变量 Static 定义的是静态变量定义的是静态变量20课堂优质结束(2)普通局部变量v格式:格式:Dim 变量名变量名 As 数据类型名数据类型名v这种变量只能在声明它的过程中使用,不能在这种变量只能在声明它的过程中使用,不能在一个过程中访问另一个过程中的变量。一个过程中访问另一个过程中的变量。v变量在过程执行时才分配空间,过程执行完毕变量在过程执行时才分配空间,过程执行完毕后即释放空间,变量的值

12、也就不复存在了。后即释放空间,变量的值也就不复存在了。例如:例如: Dim a as integer 把变量a定义成整数型 Dim b as long 把变量b定义成长整数型 Dim c as single 把变量c定义成单精度型21课堂优质结束说明说明v在一个说明语句中可以用逗号隔开说明多个变量,上面的三个语句可以写为:Dim a as integer ,b as long,c as singlev 可以用类型符来定义变量例如: 上面语句写成: Dim a% ,b&,c! 作用是一样的v缺省 As类型的则为变体类型22课堂优质结束 若把多个变量都定义成同一类型,如:把X,Y,Z都定义成双精度

13、型,必须写成: Dim X as double, Y as double, Z as double 若写成: Dim x,y,z as double 则x,y定义成可变类型,z定义成双精度型。23课堂优质结束v对于字符型变量,VB中分为定长和变长两种例如:例如: Dim Name as string,Id as string*10Name定义为变长字符型,其长度由接受的值决定。Id定义为定长字符型,长度为10个字符。注意:注意: 定长字符型接收数据时,不够指定长度的用空格补齐,右边超过指定长度的超出部分无效。24课堂优质结束(3)静态局部变量v格式:格式: Static 变量名变量名 As 数

14、据类型名数据类型名v这种变量只能在声明它的过程中使用,属于局部这种变量只能在声明它的过程中使用,属于局部变量。变量。v静态局部变量在整个程序运行期间均有效,并且静态局部变量在整个程序运行期间均有效,并且过程执行结束后,只要程序不结束,该变量的值过程执行结束后,只要程序不结束,该变量的值就仍然存在,该变量的占有空间不释放。就仍然存在,该变量的占有空间不释放。例如:例如: Static a as integer 变量a为静态整数型变量25课堂优质结束(4)模块变量v格式:格式: Private 变量名变量名 As 数据类型名数据类型名v这种变量必须在某个模块的声明部分进行预先声这种变量必须在某个模

15、块的声明部分进行预先声明,适用于模块内所有过程。但对其它模块不适明,适用于模块内所有过程。但对其它模块不适用。用。v模块变量在整个程序运行期间均有效。模块变量在整个程序运行期间均有效。26课堂优质结束(5)全局变量v格式:格式: Public 变量名变量名 As 数据类型名数据类型名v这种变量必须在某个模块的声明部分进行预先声明,这种变量必须在某个模块的声明部分进行预先声明,适用于该模块及其它模块内所有过程。适用于该模块及其它模块内所有过程。v模块变量在整个程序运行期间均有效。模块变量在整个程序运行期间均有效。说明:说明:l 前两类局部变量使用机会较多,可以在多个过程中使用一个变量名。l 使用

16、后两类模块中的变量时,若重名则在使用时用模块名加变量名的方法来区分重名的不同变量。27课堂优质结束(6)隐式说明vVB中使用未加说明的变量时,系统默认为可变类型(Variant),这种方式称为隐式说明。建议初学者养成对变量显示说明的习惯,以避免一些不必要的错误。v单击“工具”/“选项”,在“编辑器”页面上勾选“要求变量声明”选项;v或者直接在代码声明部分加上Option Explicit,这样在使用未说明的变量名时,系统就会发出错误警告。28课堂优质结束2可变类型变量Variantv当说明语句中,使用类型关键字Variant定义类型;或仅定义变量而不作类型声明(或变量名不带类型符),则该变量称

17、为可变类型变量。v这样变量的类型,即对数据的存储形式,将随着存放的数据变化,VB自动完成各种必要的转换。29课堂优质结束3自定义类型变量v在 Visual Basic6.0 中允许用户自己定义变量类型v在定义“自定义类型变量”前要先定义数据类型30课堂优质结束表表3-2 VB3-2 VB应用程序的组成应用程序的组成VB应用程序窗体文件模块文件类模块等文件声明部分通用过程事件过程全局声明部分模块层声明部分通用过程模块层声明部分通用过程VB应用程序的组成:应用程序的组成:31课堂优质结束3.3.1局部变量局部变量v在一个过程内部定义的变量称为局部变量在一个过程内部定义的变量称为局部变量v这个变量只

18、能在本过程中有效这个变量只能在本过程中有效例:例:Private Sub Command1_Click() Dim a As Integer a = 5 Print aEnd SubPrivate Sub Command2_Click() Dim a As String a = 你好! Print aEnd Sub32课堂优质结束说明:说明:vDim语句定义的变量其作用范围由Dim语句所在的位置决定。vDim语句出现在窗体代码的声明部分时,则窗体以及窗体中各控件的事件过程都可以使用这些变量。这种变量称为窗体级变量;v在过程内部用Dim语句声明的变量,只在该过程内有效。这种变量称为局部变量。33

19、课堂优质结束3.3.2窗体模块级变量窗体模块级变量v这种变量必须在某个模块的声明部分进行预先声明,这种变量必须在某个模块的声明部分进行预先声明,作用域为整个窗体或模块。作用域为整个窗体或模块。例:例:Private a As IntegerPrivate Sub Command1_Click() a = a + 1 Print aEnd SubPrivate Sub Command2_Click() a = a + 2 Print aEnd Sub34课堂优质结束3.3.3全局变量全局变量v全局变量在标准模块中用全局变量在标准模块中用Public或或Global 关键字关键字声明,可被程序中任

20、何一个模块和窗体访问。声明,可被程序中任何一个模块和窗体访问。例:例:在标准模块中声明:在标准模块中声明:Public b As Integer在Form1中的过程事件:Private a As IntegerPrivate Sub Command1_Click() a = a + 1 b = a * 10 Print a; bEnd SubPrivate Sub Command2_Click()a = a + 2b = a + 10Print a; bEnd Sub35课堂优质结束表表3-1三种变量的作用范围及使用规则三种变量的作用范围及使用规则过程级变量过程级变量模块级变量模块级变量全局变

21、量全局变量作用范围作用范围所在的过程所在的过程所在的窗体或模块所在的窗体或模块整个应用程序整个应用程序声明关键字声明关键字Dim、StaticDim、PrivatePublic、Global声明位置声明位置在过程中在过程中 在窗体在窗体/模块的通用声模块的通用声明段明段在窗体在窗体/模块的通用模块的通用声明段声明段被本模块的其他被本模块的其他过程存取过程存取不可以不可以可以可以可以可以被其他模块的过被其他模块的过程存取程存取不可以不可以不可以不可以可以可以36课堂优质结束vVB提供了7种算术运算符,用来连接数值型数据进行算术运算,如表3-2所示:运算符运算符说明说明示例示例优先级优先级 乘方乘

22、方xyxy1 1* *、/ /乘、除乘、除x x* *y y ,x/yx/y2 2 整除整除xyxy3 3ModMod取模取模x Mod yx Mod y4 4+ +、- -加、减加、减x+yx+y,x-yx-y5 5表表3-2 3-2 算术运算符算术运算符37课堂优质结束整除(整除()v 结果是两整数相除后的整数部分例如:例如:206,结果为3模运算模运算 (MOD) v 结果是两整数相除后的余数部分例如:例如:20 MOD 6,结果为2v 如果参与整除的或模运算的两个数是实数,如果参与整除的或模运算的两个数是实数,VB先对小数部先对小数部分四舍五入取整,然后计算分四舍五入取整,然后计算。

23、例如:例如:20.46. 9,转换为207,结果为2 20.3 MOD 6.6,转换为20 MOD 7,结果为6v 注意:注意:在“MOD”两端应加上空格38课堂优质结束v字符串连接运算:在VB中可以用“+”或“&”。注意注意“+”和和“&”的区别:的区别:v 当两个被连接的数据都是字符型时,它们的作用相同。当数字型和字符型连接时,“&”把数据都转化成字符型然后连接;“+”把数据都转化成数字型然后连接v建议尽量使用“&”;使用“&”运算符时应注意前后加空格,否则VB会当作长整数型的类型符来处理。39课堂优质结束例如:例如: ABC + DEF其值为:ABCDEF。 姓名: & 张三 其值为:姓

24、名:张三 23 & 7 其值为:237。 23+7 其值为:30。 23+7abc则会出现类型不匹配的错误。40课堂优质结束运算符运算符意义意义示例示例返回值返回值= =等于等于ABC=ABFABC=ABFFalseFalse 大于大于ABCAFABCAFFalseFalse=大于等于大于等于f = Fghf = FghTrueTrue 小于小于2545.52545.5TrueTrue=小于等于小于等于23=2323=23TrueTrue不等于不等于XYZxyzXYZxyzTrueTrueLikeLike使用通配符匹使用通配符匹配比较配比较WXYZ Like WXYZ Like * *X X*

25、 * TrueTrueIsIs引用对象比较引用对象比较Is0Is0由对象当前值决定由对象当前值决定表表3-3 VB6.03-3 VB6.0关系运算符关系运算符v关系运算符用作两个数值或字符串的比较,返回值是逻辑值True或False。如表3-3所示。41课堂优质结束(1)数值型比较与数学意义相同。(2)字符型数据的比较按照从左到右的顺序按其ASCII码值比较大小。(3)Is代替代码中引用的对象参与比较。(4)Like与通配符(*、?、# 等)结合使用,经常用于模糊查找。例如:“*X*”表示包含“X”的字符串。 “A*” 表示包含“A”开头的字符串。(5)关系运算符的优先级相同。42课堂优质结束

26、v逻辑运算符对逻辑量进行逻辑运算,除Not外都是对两个逻辑量运算。结果为逻辑值。表3-4列出了VB中的逻辑运算符。运算符运算符意义意义优先级优先级说明说明示例示例返回值返回值NotNot取反取反1 1操作数为假时,结果为真操作数为假时,结果为真Not trueNot trueFalseFalseAndAnd与与2 2两个操作数均为真时,结两个操作数均为真时,结果才为真。其余为假果才为真。其余为假False And TrueFalse And TrueTrue And TrueTrue And TrueFalseFalseTrueTrueOrOr或或3 3两个操作数只要有一个为两个操作数只要有一

27、个为真,结果为真真,结果为真False Or TrueFalse Or TrueTrue Or TrueTrue Or TrueTrueTrueTrueTrue表表3-4 VB6.03-4 VB6.0中的逻辑运算符中的逻辑运算符43课堂优质结束XorXor异或异或3 3两个操作数为一真一假时,两个操作数为一真一假时,结果为真结果为真False Xor TrueFalse Xor TrueTrue Xor TrueTrue Xor TrueTrueTrueFalseFalseEqvEqv等价等价4 4两个操作数同为真或假时,两个操作数同为真或假时,结果为真结果为真False Eqv TrueFa

28、lse Eqv TrueFalse Eqv FalseFalse Eqv FalseFalseFalseTrueTrueImpImp蕴含蕴含5 5第一个操作数为真,第二第一个操作数为真,第二个操作数为假时,结果为个操作数为假时,结果为假,其余情况都为真假,其余情况都为真True Imp FalseTrue Imp FalseFalse Imp TrueFalse Imp TrueTrue Imp TrueTrue Imp TrueFalseFalseTrueTrueTrueTrue续表续表44课堂优质结束(1)(1)表达式的组成表达式的组成v表达式由常量、变量、函数、运算符、()等按照一定的规

29、则组成,不管表达式的形式如何,都会计算出一个结果,该结果的类型由参与运算的数据和运算符决定。(2)(2)表达式的书写规则表达式的书写规则v表达式中的每个字符没有高低、大小的区别。v只能使用圆括号,可以多重使用,圆括号必须成对出现。45课堂优质结束vVB表达式中的乘号“*”不能省略。v能用系统函数的地方尽量使用系统函数例如:例如:数学公式 写成VB表达式为: (-b+sqr(b2-4(-b+sqr(b2-4* *a a* *c)/(2c)/(2* *a)a)v只有算术运算符的表达式也称为算术表达式aacbb24246课堂优质结束(3)(3)关系表达式和逻辑表达式关系表达式和逻辑表达式v当使用关系

30、运算符或逻辑运算符时,表达式又称为关系表达式或逻辑表达式。v关系运算一般表示一个简单的条件。例如: age20 、score=80、x+yz等。v逻辑表达式表示较复杂的条件例如: 数学中的0 x5,应写为 0 x And x50 x And x547课堂优质结束(4)(4)结果类型结果类型v算术表达式中,不同类型的数据计算时结果转化成精度高的类型。v关系表达式和逻辑表达式的结果是逻辑值:True、False。(5)(5)优先级优先级v圆括号、算术运算符、关系运算符、逻辑运算符v在复杂的表达式中,可以增加圆括号使表达式的运算次序更清晰。48课堂优质结束vVB提供了大量的内部函数供用户调用v函数的

31、一般调用格式:格式:函数名(函数名( 参数表参数表 )说明:说明:v参数表可以有一个参数或逗号隔开的多个参数,多数参数都可以使用表达式。函数一般作为表达式的组成部分调用。49课堂优质结束1.1.数学函数数学函数常用数学函数有:常用数学函数有:v三角函数:Sin( )、Cos( )、Tag( )、Atn( )v绝对值函数:Abs( ) v符号函数:Sgn( n )v算术平方根函数:Sqr( )v指数函数: Exp( )v取整函数:Int( n )v截取函数:Fix( n )注意:注意:三角函数的自变量以弧度表示n大于零返回大于零返回1n等于零返回等于零返回0n小于零返回小于零返回-1求不大于求不

32、大于n的最大整数的最大整数将将n的小数部分截去,的小数部分截去,保留整数部分保留整数部分50课堂优质结束2.随机函数随机函数格式:Rnd( x )v也可以写成Rndv随机函数产生一个01之间的单精度随机数v可以使用可以使用RandomizeRandomize语句来改变种子数语句来改变种子数其格式为:RandomizeRandomizev这时用系统计时器返回的值作为随机种子例如:例如:v 产生0 10 之间的随机整数: Int(Rnd*10) v 产生2位数的随机整数:Int(Rnd*90+10) 产生一个产生一个a,b之间的随机数:之间的随机数:Rnd (b-a+1)+a51课堂优质结束3.3

33、.字符串函数:字符串函数:用于字符串处理v 字符串长度测试函数:Len(字符串字符串)例:例: Len(“hello!”) 返回值为返回值为6v小写转换为大写字母函数:Ucase(字符串字符串)v大写转换为小写字母函数:Lcase(字符串字符串) v返回指定数量的字符:string(n,字符串)例:例: String(5,“hello!”) 返回值为返回值为hhhhh52课堂优质结束4.4.转换函数转换函数:用于各种类型数据之间的转换v字符转换为数值:Val()v字符转换为日期:Cdate()v数值转换为字符:CStr()v数值转换为货币:Ccur53课堂优质结束5.日期与时间函数:日期与时间函数:提供时间和日期信息vDow():返回当前系统日期和时间vDate():返回当前系统日期vWeekday(now):返回当前星期vDay(now):返回数据中当月第几天vYear(now):返回当前年份vMonth(now):返回当前月份vTime():返回当前时间vHour(now):返回当前小时54课堂优质结束图图1设计一个加法计算器(1)窗体启动画面如图1所示55课堂优质结束图图2(2)单击“出题”按钮窗体如图2所示56课堂优质结束图图3(4)单击“清除”按钮窗体如图1所示(3)单击“计算”按钮窗体如图2所示57课堂优质

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!