visialbasic速成.ppt_第1页
visialbasic速成.ppt_第2页
visialbasic速成.ppt_第3页
visialbasic速成.ppt_第4页
visialbasic速成.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第第2 2章章VBVB语法基础语法基础 2.1 数据类型 2.2 常量和变量 2.3 运算符和表达式 2.4 常用内部函数 *1 【目的要求】 1、VB的数据类型 2、掌握常量和变量的定义 3、掌握VB中运算符和表达式的使用方法 4、熟练使用VB内部函数 【重点】 掌握变量的定义方法和常用内部函数的使用方法 Date2 2.1 数据类型 VB具有标准数据类型和用户自定义类型。标准数据 类型是系统预定义的数据类型。 表.1 Visual Basic 标准数据类型 数据类型关键字 类型 声明符 推荐前缀 占用 字节数 取值范围 整型Integer%int2-32 768 32 767 长整型Long&lng4 -2 147 483 648 2 147 483 647 单精度Single!sng4 负数:-3.402823E38 - 1.401298E-45 正数:1.401298E-45 3.402823E38 Date3 数据类型关键字 类型 声明 符 推荐前 缀 占用 字节数 取值范围 双精度Double#dbl8 负数:-1.79769313486232D308- 4.94065645841247D-324 正数:4.94065645841247D-324 1.79769313486232D308 货币 型Currencycur8 -922 337 203 685 477.580 8 922 337 203 685 477.580 7 字节型Bytebyt10 255的无符号数 字符型String$str字符串长度0 65535个字符 日期型Datedtm81/1/100 12/31/9999 逻辑 型Booleanbln2True或False(真或假) 对象型Objectobj4任何对象引用 变体型Variantvnt按需要分配 Date4 (1)整型数 整型数包括整数和长整数,用于保存整数,不带有小数,整数 运算速度快,占用内存空间少,但表示数的范围小。 整数(Integer):以两个字节(16位)的二进制码表示和参加运 算。 长整数(Long):以带符号的4个字节(32位)二进制数存储。 1.数值型(Numeric)数据类型 数据值型 数据 整型数 整型(Integer) 长整型(Long) 单精度(Single) 双精度(Double) 浮点数 货币型 字节型 Date5 (2)浮点数 单精度浮点数(Single):以4个字节(32位)存储,可以精确到7 位十进制数,正号可以省略。单精度数有两种表示方法:定点表示法和浮 点表示法。 定点表示法:该范围内,含有小数的数 例如:-9.77 34.98 0.000098 浮点表示法: 浮点表示法就是数学中的科学计数法,即以10的整数次幂表示 的数,以字母“E”来表示底数10。 例如:12.345E+5 12.345 E5 -4.793E-12 双精度浮点数(Double):以8个字节(64位)存储,可以 精确到15或16位十进制数,正号可以省略。双精度也有两种表 示方法:定点表示法和浮点表示法。 Date6 (4)字节(Byte)型数据 字节型数据为无符号的整数,以1个字节的无符号二进 制数存储,范围为0255。除一元减法外,所有可对整数进行操 作的运算符均可对字节型数据操作。 所有数值型变量都可相互赋值,也可对可变数据类型赋值 。在将浮点数赋于整数之前,VB要将浮点数的小数部分四舍五入 。 (3)货币型(Currency) 该类型数据以8个字节(64位)存储,货币型数 据是一个精确的定点数据类型,支持小数点右边4位和小数 点左边15位数,适用于货币计算。 例如:3.56 、 65.123456都是货币型 Date7 l变长字符串 是指字符串的长度是不固定的,如果对字符串变量赋予 新的字符串,它的长度也随之增减。 例如: Dim s1 as string 默认:没有指定长度,都属于变长 字符串 l定长字符串 是指在程序执行过程中,始终保持其长度不变的字符串 。 例如: Dim s2 as string*8 说明长度为8个字符的定长字符串 2.字符(String)型数据 字符型数据存放字符串数据。在VB中,字符串是 放在双引号内的若干个字符,一个英文字母或一个汉字都 被认为是一个字符,都占用两个字节。 有两种类型:变长字符串和定长字符串。 Date8 注意:对于一个定长的字符串赋值时,如果所给的字符串长度超 过了字符串所指定的固定长度时,VB会自动截取固定长度大小的 字符串,而把后面的字符舍去。如果字符串长度小于定长,则VB 会自动在后面补充空格符。 3.日期(Date)型数据 可以表示从公元100年1月1日到公元9999年12月 31日的日期和从0:00:00到23:59:59的时间。 l日期型数据要用“#”号把表示日期和时间的值括起来。 l日期可以用“/”、“,”、“-”分隔开,可以是年、月、日,也可以 是月、日、年的顺序。 l时间必须用“:”分隔,顺序是:时、分、秒。 例如: Dim d as date d=#31/12/2003# d= #03-25-75 20:30:00# 或d=#98,7,18# Date9 4.逻辑(Boolean)型数据 逻辑类型即布尔类型,它只有两个值:真(True)和假( False)。注意:把数值型数据转换为逻辑型数据时,0会转换为 False,而非0值转换为True。当把逻辑型数据转换为数值型数 据时,False转换为0,而True转换为-1。 5.对象(Object)型数据 对象型数据是一个32位的引用数值,它可以作为任何对象的 引用。使用时,要用关键字“Set”才可以指定对某对象的引用。 6.变体(Variant)型数据 是一种可变的数据类型。它能够表示所有系统定义类型的数 据,变体型变量可在程序运行期间存放不同类型的数据。 在程序中不特别说明时,VB会自动将该变量默认为Variant型 变量。 例如:Dim X 默认为Variant类型 X = “18“ X被赋予字符串“18” X= X - 5 X被赋予数值13 X= “Y“ & X X被赋予字串“Y13” Date10 7、自定义类型自定义类型 自定义类型由Type语句来实 现: 格式:Type 自定义类型名 元素名1 As 类型名 元素名2 As 类型名 元素名n As 类型名 End Type 例如: Type stutype xm As String*4 xh As Integer csrq As Date sx As Single yw As Single yy As Single endtype Dim x as student x.xm=“rose” x.xh=2 Date11 2.2.1 常量 常量是指在程序运行过程中始终保持不变的常数、字符 串等。在VB中,有两种形式的常量:一种是系统提供的内部 常量,另一种是用户自定义的符号常量。 1.内部常量 系统内部常量是指VB内置的一些便于记忆的常量。是应 用程序和控件提供的。 例如: VB:表示VB和VBA中的常量 Form1.BackColor=vbRed 将窗体的背景颜色设为红色, vbRed代表红色,为内部常量 xl:表示Excel中的常量 内部常量可以在对象浏览器中获得。 Date12 2.符号常量 为了方便开发,有时程序员还需要创建自己的符号常量。 声明常量的语法格式为: Public|Private Const As = 【说明】 l可选项Public和Private用来限定所定义的常量的有效范围。 l的命名规则与变量名的规则一样。 l由数值、字符串等常量及运算符组成。 l如果在一行中声明多个常量可用逗号进行分隔。 例如: Const PI as Double=3.1415926 声明PI为一个双精度 的常量 Const S=”北京” 声明S为一个字符型的常量 Const PI=3.1415926,S=”北京” Date13 2.2.2 变量 变量是指在程序执行过程中其值可以改变的量。与常量不 同,要存储可变的数据时就要用到变量。变量就是命名的内 存单元位置。变量由变量名和数据类型两部分组成。 1.变量的命名规则 变量名由1255个字符组成,可以包含数字、英文字母 (大小写均可)或下划线,不能有“ ”或其他类型说明字符,并且 必须以英文字母开头。例如: xm、Room1、xy_2、name 是合法的变量名 in.sum、75ab 是非法的变量名 变量名不能是VB的关键字。 例如:If、While、String都是非法的变量名,如果变量 名是VB的关键字,VB编辑器会显示出错信息。 变量名在同一程序区域内必须惟一。 Date14 2.变量声明 变量的声明分为显式声明和隐式声明。 (1)显式声明 显式声明是在变量使用之前先声明变量。语法格式: Dim |Private|Static|Public As , As 【说明】 Public语句用来声明公有的模块级变量,Private和Dim语句用来声明 公有的模块级变量,Dim,Private和Static语句用来声明过程级局部变量 。 遵循标准的变量命名约定。 用来定义被声明的数据类型或对象类型。 使用声明语句建立一个变量后,VB自动将数值型的变量赋初值0,将 字符型或变体类型的变量赋空串,将布尔型的变量赋False. Date15 例如: Dim a as integer Dim b as long Dim c as single 上面的3个语句可以写为: 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,Zas double 如果写成:Dim x,y,z as double 则x,y定义成可变类型型,z定义成双精度。 Date16 (2)隐式声明 VB中使用未加说明的变量时,系统默认为可变类 型(Variant),这种方式称为隐式说明。建议初学者养成对 变量显示说明的习惯,以避免一些不必要的错误。 3.强制显示声明变量语句Option Explicit 声明变量可以有效地降低错误率。为了避免写 错变量名引起的麻烦,可以规定在使用变量前先用声明 语句进行声明,否则VB将发出警告“变量末定义”。可以 采用下面两种方法强制显示声明变量 Date17 l在代码编辑器中从对象下拉列表选择“通用”,从过程 下拉列表选择“声明”,然后输入代码“Option Explicit”,如 下图所示 在“工具”菜单中选择“选项”命令,单击“编辑器”选项卡,选择“ 要求变量声明”复选框,就可以在任何新模块中自动插入 Option Explicit语句。 Date18 2.3 运算符和表达式 l运算符是用来对运算对象进行各种运算的操作符。 l表达式用来表示某个求值规则,它由运算符和配对的圆括 号将常量、变量、函数、对象等操作数以合理的形式组合而 成。 2.3.1 算术运算符 用来进行简单的算术运算,运算结果是一个数值。 Date19 优先级运算符含 义示 例运算结果 1 乘方2416 2-取负-2-2 3*乘2*48 4/浮点除1/20.5 5整数除120 6mod求余的模运算2 Mod 32 7+,-加,减 2+4 4-2 6 2 表2.2 VB主要的算术运算符 (注意与C语言中的区别) Date20 2.3.2 字符串运算符 字符串只有连接运算,在VB中可以用“+”或“&”。建议 尽量使用“&”,使程序看起来更明了。 注意:“+”和“&”的区别。当两个被连接的数据都是字符型 时,它们的作用相同。当数字型和字符型连接时,“&”把数据 都转化成字符型然后连接;“+”把数据都转化成数字型然后连 接。例如: “ABC”+“DEF“结果为:“ABCDEF“。 “姓名:” & “张三” 结果为:“姓名:张三”。 23 & “7” 结果为:“237”。 23+“7” 结果为:30。 23+“7abc“则会出现类型不匹配的错误 Date21 2.3.3 关系运算符和逻辑运算符 1.关系运算符 关系运算符是双目运算符,也称比较运算符,用来对两个表 达式的值进行比较,比较的结果是一个逻辑值,即真(True)或 假(False)。VB提供了8个关系运算符,如下表所示。 关系运算符含 义示 例运算结果 =等于2+4=6True 大于2*34True =大于或等于2.5+3=6False 不等于225True 2And逻辑 与 4=, , 第四级:逻辑运算 Not And Or Xor Eqv Imp 【说明】 当乘法和除法同时出现在表达式中时,将按照它们从左到右 出现的顺序进行计算。用括号可以改变表达式的优先顺序。 字符串连接运算符(&)不是算术运算符,就其优先顺序, 它在所有算术运算符之后,而在所有关系运算符之前。 当幂和负号相邻时,负号优先。例如:2-2的运算结果是 0.25 2.表达式的执行顺序(优先级) 一个表达式中可能有多种运算,计算机将按一 定的顺序对表达式求值。 Date26 例2.2求表达式NOT 22+3的值。 本例按下面的步骤进行计算。 (1)算术运算 NOT 25 (2)关系运算 NOT True OR False AND False (3)逻辑非运算 False OR False AND False (4)结果 False 课堂练习 (P40)填空题:1、2、4 Date27 2.4 常用内部函数 VB提供了大量的内部函数供用户调用。本 节将分类介绍一些常用的内部函数。 函数的一般调用格式: 格式:函数名(参数表) 说明:参数表可以有一个参数或逗号隔开 的多个参数,多数参数都可以使用表达式。函数一般作 为表达式的组成部分调用。 Date28 1、数学函数 VB提供了大量的数学函数。常用数学函数有三角函 数、算术平方根函数、对数函数、指数函数及绝对值函 数等。 2、转换函数 转换函数用于各种类型数据之间的转换。 3、字符串函数 VB具有很强的字符串处理能力。 4、日期与时间函数 日期与时间函数提供时间和日期信息。 Date29 函数名功能说明示 例结 果 Abs(N)求绝对值Abs(-15.8)15.8 Exp(N)求以e为底的指数Exp(2)7.389 Fix(N)返回N的整数部分Fix(-15.8)-15 Int(N)返回不大于N的最大整数Int(-15.8)-16 Log(N)求N的自然对数Log(10)2.3 Sgn(N)返回N的符号值Sgn(-15.8)-1 Sqr(N)平方根函数Sqr(64)8 Sin(N)正弦函数Sin(0)0 Cos(N)余弦函数Cos(0)0 Tan(N)正切函数Tan(0)0 Atn(N)反正切函数Atn(0)0 Rnd(N)产生随机数10*Rnd产生0,10)之间的随 机数 Round(N1,N2) 四舍五入(N2省略则取整 ) Round(15.848,2) Round(15.848) 15.85 16 常用的数学函数 Date30 说明: 1. 在三角函数中的自变量是以弧度为单位。 如:sin300 sin(3.14159/180*30) 2. Rnd函数:返回0,1) 区间的随机数的双精度随机数。当一个 应用程序不断地重复使用随机数时,同一序列的随机数会返复出现, 用Randomize语句可以消除这种情况。其格式为: Randomize(N) 如果希望产生A,B之间的随机整数,可通过下列语句实现 :Int(B-A+1)*Rnd+A) 例如:要产生1,100的随机整数: Int(Rnd *100)+1 Date31 常用的字符函数 函数名功能说明示 例结 果 Asc(C)返回字符串首字符的ASCII码值 Asc(“Visual“)86 Chr(N)返回ASCII码值 所代表的字符Chr(86)V Space(N)产生N个空格“Visual“ & Space(2) & “Basic“ “Visual Basic“ Len(C)返回字符串的长度Len(“VB程序设计 “)6 Left(C,N)取字符串C左边N个字符Left(“VB程序设计 “,2) VB Right(C,N)取字符串C右边N个字符Right(“VB程序设计 “,2) 设计 Mid(C,N1,N2)从字符串C的N1位置开始取长度 为N2的字符 Mid(“VB程序设计 “,3,2) 程序 String(N,C)返回字符串C中由N个首字符组 成的字符串 String(4, “Visual“)“VVVV“ Ltrim(C)去掉字符串左边的空格Ltrim(“ Visual“)Visual Rtrim(C)去掉字符串右边的空格Rtrim(“Visual “)Visual Trim(C)去掉字符串左边和右过的空格Trim(“ Visual “)Visual InStr(N1,C1,C2)在C1中从N1位置开始查找C2, 并返回C2第一次出现的位置 值 InStr(2, “Visual“,“al“)5 Date32 说明: 如果返回是字符型,则函数后有“$”字符。当然一般也可以不写, 习惯都写上。 例如: len(“This is a book!“) 15 Left$(“ABCDEFG“,3) “ABC“ Mid$(“ABCDEFG“,2,3) “BCD“ InStr(2, “ABCDEFGEF”, “EF”) 5(第一次出现的位置) Asc(“Abcd“) 值为: 65 (只取首字母的Ascii值) Val(“abc123“) 值为:0, Val(“1.2sa10“) 值为1.2 注意: Val( )函数只将最前面的数字字符转换为数值。 Date33 常用的转换函数 函数名功能说明示 例结 果 Str(N)将数字转换成字符Str(123)“123“ Val(C)将字符转换成数字Val(“123“)123 LCase(C)将大写字母转换成小写字母LCase(“Visual“)“visual“ UCase(C)将小写字母转换成大写字母UCase(“Visual“)“VISUAL“ CBool(C|N)任何有效的数字字符串或数值 转换成逻辑型 CBool(5) CBool(“0“) True False CByte(N)将0255之间的数值转换 成字 节型 CByte(8)8 CCur(N)数值型转换成货币型CCur(3.1415926)3.1416 CDate(D)有效的日期字符串转换成日期 型 CDate(#2005-12- 28#) 2005-12-28 CDbl(N)数值型数据转换成双精度CDbl(3.1415926)3.1415926 CInt(N)数值型数据转换成整型,小数 部分四舍五入 CInt(3.1415926)3 CSng(N)数值型数据转换成单精度CSng(3.1415926)3.141593 CVar(N)转换成变体类型CVar(“123“)+“V“123V“ Date34 常用的日期和时间函数 函数名功能说明示例结果 Now返回当前系统日期 和时间 Now2006-2-17 12:39:54 Date()返回当前系统日期Date()或Date2006-2-17 Year(C | N)返回年代号( 17532078) Year(“2006-2-17“)2006 Month(C | N)返回月份值(112) Month(“2006-2-17“)2 Day(C | N)返回日期值(131) Day(“2006-2-17“)17 MonthName(N)返回月份中文名MonthName(2)二月 Time()返回当前系统时间Time()或Time12:39:54 WeekDay(C | N)返回星期代号(17) WeekDay(“2006-2- 17“) 6(即星期五) WeekDayName(N)返回数值N对应的星 期名称 WeekDayName(1)星期日 Date35 测试函数 函数名功能说明示例结 果 TypeName() 测试 表达式的数据类型TypeName(“3.14“) String IsArray测试变 量是否为数组IsArray(变量名) 返回Boolean 型数据 IsDate测试 表达式是否为日期

温馨提示

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

评论

0/150

提交评论