![VB语法基础-简单易懂_第1页](http://file4.renrendoc.com/view3/M00/27/14/wKhkFmYIsbaAMEeLAADRh4mk8Qo219.jpg)
![VB语法基础-简单易懂_第2页](http://file4.renrendoc.com/view3/M00/27/14/wKhkFmYIsbaAMEeLAADRh4mk8Qo2192.jpg)
![VB语法基础-简单易懂_第3页](http://file4.renrendoc.com/view3/M00/27/14/wKhkFmYIsbaAMEeLAADRh4mk8Qo2193.jpg)
![VB语法基础-简单易懂_第4页](http://file4.renrendoc.com/view3/M00/27/14/wKhkFmYIsbaAMEeLAADRh4mk8Qo2194.jpg)
![VB语法基础-简单易懂_第5页](http://file4.renrendoc.com/view3/M00/27/14/wKhkFmYIsbaAMEeLAADRh4mk8Qo2195.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB语法根底2.1数据类型2.2常量和变量2.3运算符和表达式2.4常用内部函数3/31/20241【目的要求】1、VB的数据类型2、掌握常量和变量的定义3、掌握VB中运算符和表达式的使用方法4、熟练使用VB内部函数【重点】掌握变量的定义方法和常用内部函数的使用方法3/31/202422.1数据类型
VB具有标准数据类型和用户自定义类型。标准数据类型是系统预定义的数据类型。表2.1VisualBasic标准数据类型
数据类型关键字类型声明符推荐前缀占用字节数取值范围整型Integer%int2-32768~32767长整型Long&lng4-2147483648~2147483647单精度Single!sng4负数:-3.402823E38~-1.401298E-45正数:1.401298E-45~3.402823E383/31/20243数据类型关键字类型声明符推荐前缀占用字节数取值范围双精度Double#dbl8负数:-1.79769313486232D308~-4.94065645841247D-324正数:4.94065645841247D-324~1.79769313486232D308货币型Currency@cur8-922337203685477.5808~922337203685477.5807字节型Bytebyt10~255的无符号数字符型String$str字符串长度0~65535个字符日期型Datedtm81/1/100~12/31/9999逻辑型Booleanbln2True或False(真或假)对象型Objectobj4任何对象引用变体型Variantvnt按需要分配3/31/20244〔1〕整型数整型数包括整数和长整数,用于保存整数,不带有小数,整数运算速度快,占用内存空间少,但表示数的范围小。整数〔Integer〕:以两个字节〔16位〕的二进制码表示和参加运算。长整数〔Long〕:以带符号的4个字节〔32位〕二进制数存储。1.数值型(Numeric)数据类型
数据值型数据整型数整型(Integer)长整型(Long)单精度(Single)双精度(Double)浮点数货币型字节型3/31/20245〔2〕浮点数单精度浮点数〔Single〕:以4个字节〔32位〕存储,可以精确到7位十进制数,正号可以省略。单精度数有两种表示方法:定点表示法和浮点表示法。定点表示法:该范围内,含有小数的数例如:-9.7734.980.000098浮点表示法:浮点表示法就是数学中的科学计数法,即以10的整数次幂表示的数,以字母“E”来表示底数10。例如:12.345E+512.345E5-4.793E-12双精度浮点数〔Double〕:以8个字节〔64位〕存储,可以精确到15或16位十进制数,正号可以省略。双精度也有两种表示方法:定点表示法和浮点表示法。3/31/20246〔4〕字节〔Byte〕型数据字节型数据为无符号的整数,以1个字节的无符号二进制数存储,范围为0~255。除一元减法外,所有可对整数进行操作的运算符均可对字节型数据操作。所有数值型变量都可相互赋值,也可对可变数据类型赋值。在将浮点数赋于整数之前,VB要将浮点数的小数局部四舍五入。〔3〕货币型〔Currency〕该类型数据以8个字节〔64位〕存储,货币型数据是一个精确的定点数据类型,支持小数点右边4位和小数点左边15位数,适用于货币计算。例如:3.56@、65.123456@都是货币型3/31/20247变长字符串是指字符串的长度是不固定的,如果对字符串变量赋予新的字符串,它的长度也随之增减。例如:Dims1asstring‘默认:没有指定长度,都属于变长字符串’定长字符串是指在程序执行过程中,始终保持其长度不变的字符串。例如:Dims2asstring*8‘说明长度为8个字符的定长字符串’2.字符(String)型数据字符型数据存放字符串数据。在VB中,字符串是放在双引号内的假设干个字符,一个英文字母或一个汉字都被认为是一个字符,都占用两个字节。有两种类型:变长字符串和定长字符串。3/31/20248注意:对于一个定长的字符串赋值时,如果所给的字符串长度超过了字符串所指定的固定长度时,VB会自动截取固定长度大小的字符串,而把后面的字符舍去。如果字符串长度小于定长,那么VB会自动在后面补充空格符。3.日期(Date)型数据
可以表示从公元100年1月1日到公元9999年12月31日的日期和从0:00:00到23:59:59的时间。日期型数据要用“#”号把表示日期和时间的值括起来。日期可以用“/”、“,”、“-”分隔开,可以是年、月、日,也可以是月、日、年的顺序。时间必须用“:”分隔,顺序是:时、分、秒。
例如:Dimdasdated=#31/12/2003#d=#03-25-7520:30:00#或d=#98,7,18#3/31/202494.逻辑(Boolean)型数据
逻辑类型即布尔类型,它只有两个值:真〔True〕和假〔False〕。注意:把数值型数据转换为逻辑型数据时,0会转换为False,而非0值转换为True。当把逻辑型数据转换为数值型数据时,False转换为0,而True转换为-1。5.对象(Object)型数据对象型数据是一个32位的引用数值,它可以作为任何对象的引用。使用时,要用关键字“Set”才可以指定对某对象的引用。6.变体(Variant)型数据是一种可变的数据类型。它能够表示所有系统定义类型的数据,变体型变量可在程序运行期间存放不同类型的数据。在程序中不特别说明时,VB会自动将该变量默认为Variant型变量。例如:DimX'默认为Variant类型X="18"'X被赋予字符串“18”X=X-5'X被赋予数值13X="Y"&X'X被赋予字串“Y13”3/31/2024107、自定义类型自定义类型由Type语句来实现:格式:Type自定义类型名元素名1As类型名元素名2As类型名……元素名nAs类型名EndType例如:TypestutypexmAsString*4xhAsIntegercsrqAsDatesxAsSingleywAsSingleyyAsSingleendtypeDimxasstudentx.xm=“rose”x.xh=23/31/2024112.2.1常量
常量是指在程序运行过程中始终保持不变的常数、字符串等。在VB中,有两种形式的常量:一种是系统提供的内部常量,另一种是用户自定义的符号常量。1.内部常量
系统内部常量是指VB内置的一些便于记忆的常量。是应用程序和控件提供的。例如:VB:表示VB和VBA中的常量Form1.BackColor=vbRed‘将窗体的背景颜色设为红色,vbRed代表红色,为内部常量’xl:表示Excel中的常量内部常量可以在对象浏览器中获得。3/31/2024122.符号常量
为了方便开发,有时程序员还需要创立自己的符号常量。声明常量的语法格式为:
[Public|Private]Const<常量名>[As<数据类型>]=<表达式>…【说明】可选项Public和Private用来限定所定义的常量的有效范围。<常量名>的命名规那么与变量名的规那么一样。<表达式>由数值、字符串等常量及运算符组成。如果在一行中声明多个常量可用逗号进行分隔。例如:ConstPIasDouble=3.1415926‘声明PI为一个双精度的常量’ConstS=”北京”‘声明S为一个字符型的常量’ConstPI=3.1415926,S=”北京”3/31/2024132.2.2变量
变量是指在程序执行过程中其值可以改变的量。与常量不同,要存储可变的数据时就要用到变量。变量就是命名的内存单元位置。变量由变量名和数据类型两局部组成。1.变量的命名规那么变量名由1~255个字符组成,可以包含数字、英文字母〔大小写均可〕或下划线,不能有“·”或其他类型说明字符,并且必须以英文字母开头。例如:xm、Room1、xy_2、name是合法的变量名in.sum、75ab是非法的变量名变量名不能是VB的关键字。例如:If、While、String都是非法的变量名,如果变量名是VB的关键字,VB编辑器会显示出错信息。变量名在同一程序区域内必须惟一。3/31/2024142.变量声明
变量的声明分为显式声明和隐式声明。〔1〕显式声明显式声明是在变量使用之前先声明变量。语法格式:{Dim|Private|Static|Public}<变量名>[As<类型>][,<变量名2>[As<类型2>]]…【说明】Public语句用来声明公有的模块级变量,Private和Dim语句用来声明公有的模块级变量,Dim,Private和Static语句用来声明过程级局部变量。<变量名>遵循标准的变量命名约定。<类型>用来定义被声明<变量名>的数据类型或对象类型。使用声明语句建立一个变量后,VB自动将数值型的变量赋初值0,将字符型或变体类型的变量赋空串,将布尔型的变量赋False.3/31/202415例如:DimaasintegerDimbaslongDimcassingle上面的3个语句可以写为:Dimaasinteger,baslong,cassingle也可以用类型符来定义变量,例如上面语句写成:Dima%,b&,c!缺省[As类型]为可变类型。另外,假设把多个变量都定义成同一类型,例如:把X,Y,Z都定义成双精度型,必须写成:DimXasdouble,Yasdouble,Zasdouble如果写成:Dimx,y,zasdouble那么x,y定义成可变类型型,z定义成双精度。3/31/202416〔2〕隐式声明VB中使用未加说明的变量时,系统默认为可变类型〔Variant〕,这种方式称为隐式说明。建议初学者养成对变量显示说明的习惯,以防止一些不必要的错误。3.强制显示声明变量语句OptionExplicit声明变量可以有效地降低错误率。为了防止写错变量名引起的麻烦,可以规定在使用变量前先用声明语句进行声明,否那么VB将发出警告“变量末定义”。可以采用下面两种方法强制显示声明变量3/31/202417在代码编辑器中从对象下拉列表选择“通用”,从过程下拉列表选择“声明”,然后输入代码“OptionExplicit”,如以下图所示在“工具”菜单中选择“选项”命令,单击“编辑器”选项卡,选择“要求变量声明”复选框,就可以在任何新模块中自动插入OptionExplicit语句。3/31/2024182.3运算符和表达式运算符是用来对运算对象进行各种运算的操作符。表达式用来表示某个求值规那么,它由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。2.3.1算术运算符用来进行简单的算术运算,运算结果是一个数值。3/31/202419优先级运算符含义示例运算结果1^乘方2^4162-取负-2-23*乘2*484/浮点除1/20.55\整数除1\206mod求余的模运算2Mod327+,-加,减2+44-262表2.2VB主要的算术运算符(注意与C语言中的区别)3/31/2024202.3.2字符串运算符字符串只有连接运算,在VB中可以用“+”或“&”。建议尽量使用“&”,使程序看起来更明了。
注意:“+”和“&”的区别。当两个被连接的数据都是字符型时,它们的作用相同。当数字型和字符型连接时,“&”把数据都转化成字符型然后连接;“+”把数据都转化成数字型然后连接。例如:“ABC”+“DEF“ 结果为:"ABCDEF"。“姓名:”&“张三” 结果为:“姓名:张三”。23&“7” 结果为:“237”。23+“7” 结果为:30。23+"7abc“ 那么会出现类型不匹配的错误3/31/2024212.3.3关系运算符和逻辑运算符
1.关系运算符
关系运算符是双目运算符,也称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真〔True〕或假〔False〕。VB提供了8个关系运算符,如下表所示。关系运算符含义示例运算结果=等于2+4=6True>大于2*3>4True<小于“D”<”C”False>=大于或等于2.5+3>=6False<=小于或等于8-3<=2*3True<>不等于2^2<>2*2FalseLike比较样式Is比较对象变量3/31/202422【说明】数值型数据按其数值大小进行比较。当对单精度或双精度数使用比较运算时,运算可能会得出非常接近但不相等的结果。例如:1.0/8.0*8.0=1.0在数学中上式是一个恒等式,但在计算机上执行时可能会给出假值〔0〕。因此应防止对两个浮点数作“相等”或“不相等”的判断。对于字符型数据,假设是单个字符,按其ASCII码值的大小比较;假设是汉字字符,那么按内码顺序比较。假设是汉字字符,那么按内码顺序比较。Like运算符用来比较字符串表达式和SQL表达式中的样式,主要用于数据库查询。Is运算符用来比较两个对象的引用变量,主要用于对象操作。此外,Is运算符还在SelectCase语句中使用。3/31/2024232.逻辑运算符
逻辑运算也称布尔运算,是将操作数进行逻辑运算,结果为逻辑值True或False。VB中的逻辑运算符有六个,如下表所示。优先级逻辑运算符含义示例运算结果1Not逻辑非Not4>5True2And逻辑与4<=5And9<=8False3Or逻辑或4<=5Or9<=8True4Xor异或4<=5Xor9<=8True5Eqv等价4<=5Eqv9<=8False6Imp蕴含4<=5Imp9<=8False3/31/2024242.3.4表达式的执行顺序
在VB中,将常量、变量、函数和常数用运算符和圆括号连接起来组成的有意义的式子称为表达式。根据表达式结果的数据类型,可将表达式分为数值表达式、字符串表达式和逻辑表达式等。1.表达式的书写规那么每个符号占1格,所有符号都必须并排写在同一横线上。例如:24写成2^4,A1+A2在数学表达式中省略的内容必须重新写上。例如:3xy要写成3*x*y。在表达式中所有的括号都用圆括号表式,括号必须配对。表达式中不能使用非法的字符,如π。3/31/202425第一级:函数运算第二级:算术运算^→-〔取负〕→*,/→\→Mod→+,-第三级:关系运算<,<=,=,>=,>,<>第四级:逻辑运算Not→And→Or→Xor→Eqv→Imp【说明】当乘法和除法同时出现在表达式中时,将按照它们从左到右出现的顺序进行计算。用括号可以改变表达式的优先顺序。字符串连接运算符〔&〕不是算术运算符,就其优先顺序,它在所有算术运算符之后,而在所有关系运算符之前。当幂和负号相邻时,负号优先。例如:2^-2的运算结果是0.252.表达式的执行顺序(优先级)
一个表达式中可能有多种运算,计算机将按一定的顺序对表达式求值。3/31/202426[例2.2]求表达式NOT2<=4OR4*4=3^2AND3<>2+3的值。
本例按下面的步骤进行计算。
〔1〕算术运算NOT2<=4OR12=9AND3<>5
〔2〕关系运算NOTTrueORFalseANDFalse
〔3〕逻辑非运算FalseORFalseANDFalse
〔4〕结果False[课堂练习](P40)填空题:1、2、43/31/2024272.4常用内部函数 VB提供了大量的内部函数供用户调用。本节将分类介绍一些常用的内部函数。 函数的一般调用格式: 格式:函数名〔[参数表]〕 说明:参数表可以有一个参数或逗号隔开的多个参数,多数参数都可以使用表达式。函数一般作为表达式的组成局部调用。3/31/2024281、数学函数
VB提供了大量的数学函数。常用数学函数有三角函数、算术平方根函数、对数函数、指数函数及绝对值函数等。2、转换函数转换函数用于各种类型数据之间的转换。3、字符串函数VB具有很强的字符串处理能力。4、日期与时间函数日期与时间函数提供时间和日期信息。3/31/202429函数名功能说明示例结果Abs(N)求绝对值Abs(-15.8)15.8Exp(N)求以e为底的指数Exp(2)7.389Fix(N)返回N的整数部分Fix(-15.8)-15Int(N)返回不大于N的最大整数Int(-15.8)-16Log(N)求N的自然对数Log(10)2.3Sgn(N)返回N的符号值Sgn(-15.8)-1Sqr(N)平方根函数Sqr(64)8Sin(N)正弦函数Sin(0)0Cos(N)余弦函数Cos(0)0Tan(N)正切函数Tan(0)0Atn(N)反正切函数Atn(0)0Rnd(N)产生随机数10*Rnd产生[0,10)之间的随机数Round(N1[,N2])四舍五入(N2省略则取整)Round(15.848,2)Round(15.848)15.8516常用的数学函数3/31/202430说明:1.在三角函数中的自变量是以弧度为单位。如:sin300sin(3.14159/180*30)2.Rnd函数:返回[0,1)区间的随机数的双精度随机数。当一个应用程序不断地重复使用随机数时,同一序列的随机数会返复出现,用Randomize语句可以消除这种情况。其格式为:Randomize(N)如果希望产生[A,B]之间的随机整数,可通过以下语句实现:Int((B-A+1)*Rnd+A)例如:要产生[1,100]的随机整数:Int(Rnd*100)+13/31/202431常用的字符函数函数名功能说明示例结果Asc(C)返回字符串首字符的ASCII码值Asc("Visual")86Chr(N)返回ASCII码值所代表的字符Chr(86)VSpace(N)产生N个空格"Visual"&Space(2)&"Basic""VisualBasic"Len(C)返回字符串的长度Len("VB程序设计")6Left(C,N)取字符串C左边N个字符Left("VB程序设计",2)VBRight(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")VisualRtrim(C)去掉字符串右边的空格Rtrim("Visual")VisualTrim(C)去掉字符串左边和右过的空格Trim("Visual")VisualInStr([N1,]C1,C2)在C1中从N1位置开始查找C2,并返回C2第一次出现的位置值InStr(2,"Visual","al")53/31/202432说明:如果返回是字符型,那么函数后有“$”字符。当然一般也可以不写,习惯都写上。例如:len("Thisisabook!")15Left$("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()函数只将最前面的数字字符转换为数值。3/31/202433常用的转换函数函数名功能说明示例结果Str(N)将数字转换成字符Str(123)"123"Val(C)将字符转换成数字Val("123")123LCase(C)将大写字母转换成小写字母LCase("Visual")"visual"UCase(C)将小写字母转换成大写字母UCase("Visual")"VISUAL"CBool(C|N)任何有效的数字字符串或数值转换成逻辑型CBool(5)CBool("0")TrueFalseCByte(N)将0~255之间的数值转换成字节型CByte(8)8CCur(N)数值型转换成货币型CCur(3.1415926)3.1416CDate(D)有效的日期字符串转换成日期型CDate(#2005-12-28#)2005-12-28CDbl(N)数值型数据转换成双精度CDbl(3.1415926)3.1415926CInt(N)数值型数据转换成整型,小数部分四舍五入CInt(3.1415926)3CSng(N)数值型数据转换成单精度CSng(3.1415926)3.141593CVar(N)转换成变体类型CVar("123")+"V""123V"3/31/202434常用的日期和时间函数函数名功能说明示例结果Now返回当前系统日期和时间Now2006-2-1712:39:54Date()返回当前系统日期Date()或Date2006-2-17Year(C|N)返回年代号(1753~2078)Year("2006-2-17")2006Month(C|N)返回月份值(1~12)Month("2006-2-17")2Day(C|N)返回日期值(1~31)Day("2006-2-17")17MonthName(N)返回月份中文名MonthName(2)二月Time()返回当前系统时间Time()或Time12:39:54WeekDay(C|N)返回星期代号(1~7)WeekDay("2006-2-17")6(即星期五)WeekDayName(N)返回数值N对应的星期名称WeekDayName(1)星期日3/31/202435测试函数函数名功能说明示例结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论