《VB程序设计基础.ppt》由会员分享,可在线阅读,更多相关《VB程序设计基础.ppt(57页珍藏版)》请在三一办公上搜索。
1、,Visual basic,程序设计,第三章,第3章 VB程序设计基础,本章节将介绍在编写代码时用到的一些最基础的知识:VB的基本数据类型、常量与变量、运算符与表达式及常用内部函数。,引言,数据是程序处理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型 数值型 字符型(String)逻辑型(Boolean)日期型(Date)对象型(Object)变体型(Variant),整数:整型/长整型(Integer/Long)字节型(Byte)实型:单/双精度(Single/Double)货币型(Currency),基本数据类型,3.1 VB的基本数据类型,表3-1 VB中的标准数据类型,3
2、.1.1 字符串型(String),说明:双引号作为字符串的定界符号在字符串中,区分字母的大小写双引号内字符的个数叫做字符串的长度(包括空格)长度为零的字符串叫做空字符串,注意:VB中ASCII码字符和汉字均采用双字节存储例:“姓名:”和“abc”都是字符串字符串“姓名:”和“abc”的字符个数是3,占6个字节,VB中的数值型数据分为:,3.1.2 数值型,整型,实型,整数(Integer)类型符:%-3276832767,长整数(Long)类型符:&,单精度型(Single)类型符:!有效数字最多7位,双精度型(Double)类型符:#有效数字最多15位,字节型整数(Byte)0255,货币
3、型(Currency)类型符:精确到小数点后4位,第5 位四舍五入,整数部分最多15位,3.1.3 逻辑型(Boolean),逻辑型数据只有两个:(真)True(假)False其它类型数据转化为逻辑数据时,非零数转换True,0转换False。逻辑数据转化为整型数据时,True转换为-1,False转换0。,3.1.4 日期型(Date),Vb中用#括起来放置日期和时间允许用各种表示日期和时间的格式。日期可以用“/”、“,”、“-”分隔开,可以是年、月、日,也可以是月、日、年的顺序。时间必须用“:”分隔,顺序是:时、分、秒。例如:#1999-08-11 10:25:00 pm#、#08/23/
4、99#、#03-25-75 20:30:00#、#98,7,18#都是有效的日期型数据。在VB中会自动转换成mm/dd/yy(月/日/年)的形式。,3.1.5 对象型(Object),通过4个字节地址来存储,用来指向应用程序中的一个对象可以用Set语句指定一个被声明的对象数据,去引用应用程序所识别的任何实际对象默认的初值为Nothing(无指向),3.1.6 变体型(Variant),变体型也称为可变类型,是一种特殊的数据类型。是所有未定义的变量的默认数据类型它的类型可以是数值型、日期型、字符型等,完全取决于程序的需要。从而增加了VB数据处理的灵活性。,3.1.7 自定义类型,在VB中使用用户
5、定义数据类型定义记录结构。它由若干标准数据类型组成。例如:某个学生的信息:由学号、姓名、性别与语文、英语、数学、平均分数等基本项组合成组合项。用这些组合项来描述相应对象的若干属性,这些描述相同对象的组合项的集合形成了记录。,自定义类型由Type语句来实现:格式:Type 自定义类型名 元素名1 As 类型名 元素名2 As 类型名 元素名n As 类型名 End Type,3.2 常量与变量,3.2.1 常量在程序执行的过程中保持不变的数据称为常量在VB中,常量的分类:一般常量 符号常量,标准符号常量自定义符号常量,123、19.88、“abc”、True、#9/4/2009#、&H123(十
6、六进制数),1标准符号常量查看标准符号常量“视图”/“对象浏览器”或者按“F2”键例如:Form1.BackColor=VbRed 在VB中,系统定义了一系列常量。例如:Form1.Windowstate=vbMinimized 意义:将窗口最小化其中vbMinimized就是一个系统定义的常量,值为1。和form1.Windowstate=1相比较,更明确的表达了语句的功能。,系统内部常量,系统内部常量,2.自定义常量(符号常量)格式:const 常量名As类型=表达式一般将自定义常量放置于通用过程中符号常量就是用标识符来表示一个常量例如:const pi=3.14 把3.14定义为pi,在
7、程序代码中,就可以在使用圆周率的地方使用pi这个符号常量。,表达式可以是文字常量,也可以是运算符连接文字常量构成的表达式。在一行中说明多个常量时用逗号分开例如:Const mystr As string=Visual+Basic Const num=85,pi As double=3.1415926使用符号常量的好处主要在于,当我们要修改该常量时,只需要修改定义该常量的一个语句即可。,3.2.2 变量在程序执行过程中,其值可以改变的量称为变量。在 Visual Basic 中执行应用程序期间,用变量临时存储数据。变量代表内存中指定的存储单元,变量以标识符命名。每个变量都有相应的类型,类型决定了
8、该变量的取值范围和可以执行的运算操作。,1变量的声明 在VB中用类型说明语句来定义变量(1)类型说明语句格式:说明符 变量名 As 类型说明符是说明语句的关键字,它可以是 Dim、Private、Public、Static Private 定义的是局部变量 Public 定义的是全局变量 Static 定义的是静态变量,(2)普通局部变量格式:Dim 变量名 As 数据类型名这种变量只能在声明它的过程中使用,不能在一个过程中访问另一个过程中的变量。变量在过程执行时才分配空间,过程执行完毕后即释放空间,变量的值也就不复存在了。例如:Dim a as integer 把变量a定义成整数型 Dim
9、b as long 把变量b定义成长整数型 Dim c as single 把变量c定义成单精度型,说明在一个说明语句中可以用逗号隔开说明多个变量,上面的三个语句可以写为:Dim a as integer,b as long,c as single 可以用类型符来定义变量例如:上面语句写成:Dim a%,b&,c!作用是一样的缺省 As类型的则为变体类型,注意:若把多个变量都定义成同一类型,如:把X,Y,Z都定义成双精度型,必须写成:Dim X as double,Y as double,Z as double 若写成:Dim x,y,z as double 则x,y定义成可变类型,z定义成双
10、精度型。,对于字符型变量,VB中分为定长和变长两种例如:Dim Name as string,Id as string*10Name定义为变长字符型,其长度由接受的值决定。Id定义为定长字符型,长度为10个字符。注意:定长字符型接收数据时,不够指定长度的用空格补齐,右边超过指定长度的超出部分无效。,(3)静态局部变量格式:Static 变量名 As 数据类型名这种变量只能在声明它的过程中使用,属于局部变量。静态局部变量在整个程序运行期间均有效,并且过程执行结束后,只要程序不结束,该变量的值就仍然存在,该变量的占有空间不释放。例如:Static a as integer 变量a为静态整数型变量,
11、(4)模块变量格式:Private 变量名 As 数据类型名这种变量必须在某个模块的声明部分进行预先声明,适用于模块内所有过程。但对其它模块不适用。模块变量在整个程序运行期间均有效。,(5)全局变量格式:Public 变量名 As 数据类型名这种变量必须在某个模块的声明部分进行预先声明,适用于该模块及其它模块内所有过程。模块变量在整个程序运行期间均有效。说明:前两类局部变量使用机会较多,可以在多个过程中使用一个变量名。使用后两类模块中的变量时,若重名则在使用时用模块名加变量名的方法来区分重名的不同变量。,(6)隐式说明VB中使用未加说明的变量时,系统默认为可变类型(Variant),这种方式称
12、为隐式说明。建议初学者养成对变量显示说明的习惯,以避免一些不必要的错误。单击“工具”/“选项”,在“编辑器”页面上勾选“要求变量声明”选项;或者直接在代码声明部分加上Option Explicit,这样在使用未说明的变量名时,系统就会发出错误警告。,2可变类型变量Variant当说明语句中,使用类型关键字Variant定义类型;或仅定义变量而不作类型声明(或变量名不带类型符),则该变量称为可变类型变量。这样变量的类型,即对数据的存储形式,将随着存放的数据变化,VB自动完成各种必要的转换。,3自定义类型变量在 Visual Basic6.0 中允许用户自己定义变量类型在定义“自定义类型变量”前要
13、先定义数据类型,3.3 变量的作用域,表3-2 VB应用程序的组成,VB应用程序的组成:,局部变量在一个过程内部定义的变量称为局部变量这个变量只能在本过程中有效例:Private Sub Command1_Click()Dim a As Integer a=5 Print aEnd SubPrivate Sub Command2_Click()Dim a As String a=你好!Print aEnd Sub,说明:Dim语句定义的变量其作用范围由Dim语句所在的位置决定。Dim语句出现在窗体代码的声明部分时,则窗体以及窗体中各控件的事件过程都可以使用这些变量。这种变量称为窗体级变量;在过
14、程内部用Dim语句声明的变量,只在该过程内有效。这种变量称为局部变量。,窗体模块级变量这种变量必须在某个模块的声明部分进行预先声明,作用域为整个窗体或模块。例:Private a As IntegerPrivate Sub Command1_Click()a=a+1 Print aEnd SubPrivate Sub Command2_Click()a=a+2 Print aEnd Sub,全局变量全局变量在标准模块中用Public或Global 关键字声明,可被程序中任何一个模块和窗体访问。例:在标准模块中声明:Public b As Integer在Form1中的过程事件:Private
15、a As IntegerPrivate Sub Command1_Click()a=a+1 b=a*10 Print a;bEnd Sub,Private Sub Command2_Click()a=a+2b=a+10Print a;bEnd Sub,表3-1三种变量的作用范围及使用规则,3.4 运算符与表达式,1.算术运算符VB提供了7种算术运算符,用来连接数值型数据进行算术运算,如表3-2所示:,表3-2 算术运算符,整除()结果是两整数相除后的整数部分例如:206,结果为3模运算(MOD)结果是两整数相除后的余数部分例如:20 MOD 6,结果为2如果参与整除的或模运算的两个数是实数,V
16、B先对小数部分四舍五入取整,然后计算。例如:20.46.9,转换为207,结果为2 20.3 MOD 6.6,转换为20 MOD 7,结果为6注意:在“MOD”两端应加上空格,2.字符串运算符字符串连接运算:在VB中可以用“+”或“&”。注意“+”和“&”的区别:当两个被连接的数据都是字符型时,它们的作用相同。当数字型和字符型连接时,“&”把数据都转化成字符型然后连接;“+”把数据都转化成数字型然后连接建议尽量使用“&”;使用“&”运算符时应注意前后加空格,否则VB会当作长整数型的类型符来处理。,例如:ABC+DEF其值为:ABCDEF。姓名:&张三 其值为:姓名:张三 23&7 其值为:23
17、7。23+7 其值为:30。23+7abc则会出现类型不匹配的错误。,表3-3 VB6.0关系运算符,3.关系运算符关系运算符用作两个数值或字符串的比较,返回值是逻辑值True或False。如表3-3所示。,注意:(1)数值型比较与数学意义相同。(2)字符型数据的比较按照从左到右的顺序按其ASCII码值比较大小。(3)Is代替代码中引用的对象参与比较。(4)Like与通配符(*、?、#等)结合使用,经常用于模糊查找。例如:“*X*”表示包含“X”的字符串。“A*”表示包含“A”开头的字符串。(5)关系运算符的优先级相同。,4.逻辑运算符逻辑运算符对逻辑量进行逻辑运算,除Not外都是对两个逻辑量
18、运算。结果为逻辑值。表3-4列出了VB中的逻辑运算符。,表3-4 VB6.0中的逻辑运算符,续表,5.表达式(1)表达式的组成表达式由常量、变量、函数、运算符、()等按照一定的规则组成,不管表达式的形式如何,都会计算出一个结果,该结果的类型由参与运算的数据和运算符决定。(2)表达式的书写规则表达式中的每个字符没有高低、大小的区别。只能使用圆括号,可以多重使用,圆括号必须成对出现。,VB表达式中的乘号“*”不能省略。能用系统函数的地方尽量使用系统函数例如:数学公式 写成VB表达式为:(-b+sqr(b2-4*a*c)/(2*a)只有算术运算符的表达式也称为算术表达式,(3)关系表达式和逻辑表达式
19、当使用关系运算符或逻辑运算符时,表达式又称为关系表达式或逻辑表达式。关系运算一般表示一个简单的条件。例如:age20、scorez等。逻辑表达式表示较复杂的条件例如:数学中的0 x5,应写为 0 x And x5,(4)结果类型算术表达式中,不同类型的数据计算时结果转化成精度高的类型。关系表达式和逻辑表达式的结果是逻辑值:True、False。(5)优先级圆括号、算术运算符、关系运算符、逻辑运算符在复杂的表达式中,可以增加圆括号使表达式的运算次序更清晰。,3.5 常用内部函数,VB提供了大量的内部函数供用户调用函数的一般调用格式:格式:函数名(参数表)说明:参数表可以有一个参数或逗号隔开的多个
20、参数,多数参数都可以使用表达式。函数一般作为表达式的组成部分调用。,1.数学函数常用数学函数有:三角函数:Sin()、Cos()、Tag()、Atn()绝对值函数:Abs()符号函数:Sgn(n)算术平方根函数:Sqr()指数函数:Exp()取整函数:Int(n)截取函数:Fix(n)注意:三角函数的自变量以弧度表示,n大于零返回1n等于零返回0n小于零返回-1,求不大于n的最大整数,将n的小数部分截去,保留整数部分,2.随机函数格式:Rnd(x)也可以写成Rnd随机函数产生一个01之间的单精度随机数可以使用Randomize语句来改变种子数其格式为:Randomize这时用系统计时器返回的值
21、作为随机种子例如:产生0 10 之间的随机整数:Int(Rnd*10)产生2位数的随机整数:Int(Rnd*90+10),产生一个a,b之间的随机数:Rnd(b-a+1)+a,3.字符串函数:用于字符串处理 字符串长度测试函数:Len(字符串)例:Len(“hello!”)返回值为6小写转换为大写字母函数:Ucase(字符串)大写转换为小写字母函数:Lcase(字符串)返回指定数量的字符:string(n,字符串)例:String(5,“hello!”)返回值为hhhhh,4.转换函数:用于各种类型数据之间的转换字符转换为数值:Val()字符转换为日期:Cdate()数值转换为字符:CStr()数值转换为货币:Ccur,5.日期与时间函数:提供时间和日期信息Dow():返回当前系统日期和时间Date():返回当前系统日期Weekday(now):返回当前星期Day(now):返回数据中当月第几天Year(now):返回当前年份Month(now):返回当前月份Time():返回当前时间Hour(now):返回当前小时,作业,图1,设计一个加法计算器(1)窗体启动画面如图1所示,图2,(2)单击“出题”按钮窗体如图2所示,图3,(4)单击“清除”按钮窗体如图1所示,(3)单击“计算”按钮窗体如图2所示,
链接地址:https://www.31ppt.com/p-5451932.html