您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 电力拖动与自动控制系统。第2章
第2章VisualBasic语言基础2.1VB语言的基本概念2.2数据类型和常量、变量2.3运算符和表达式2.4常用内部函数2.5InputBox函数、MsgBox函数和Print方法2.1VB语言的基本概念2.1.1标识符标识符是编程时为变量、常量、数据类型、过程、函数、类等定义的名字。练习命名规则:(1)标识符由字母、数字或下划线(_)组成,不能包含标点符号、空格等。(2)标识符必须以字母开头,不能以数字或其他字符开头。(3)标识符最长不能超过255个字符。(4)自定义的变量、过程名等不能和VB中的关键字同名。2.1.2书写规范1.VB代码中字母的大小写2.语句按行书写多个语句合并到同一行上,语句间用“:”号分隔;单行语句可以通过续行符“_”将一行分成若干行书写。3.注释语句Rem注释文本'注释文本2.2数据类型和常量、变量2.2.1数据类型VB具有丰富的数据类型,可以存储各种不同的数据。数据类型多达12种,包括:Integer、Long、Single、Double、Currency、Byte、String(包括变长和定长)、Boolean、Date、Object和Variant。表2.1数据类型以及存储空间大小与范围数据类型存储空间(字节)范围Byte10~255Boolean2True或FalseInteger2-32,768~32,767Long4-2,147,483,648~2,147,483,647Single4-3.402823E38~-1.401298E-451.401298E-45~3.402823E38Currency8-922,337,203,685,477.5808~922,337,203,685,477.5807Date8100年1月1日~9999年12月31日Double8-1.79769313486232E308~-4.94065645841247E-3244.94065645841247E-324~1.79769313486232E308Object4任何ObjectString(变长)10+串长0~大约20亿String(定长)串长1~大约65,400Variant(数字)16任何数字值,最大可达Double的范围Variant(字符)22+串长与变长String有相同的范围2.2.2常量常量可分为一般常量和符号常量。1.一般常量(1)数值常量数值常量由正负号、数字和小数点等组成。整数大多数都是以十进制表示的,十六进制数用前缀&H引导,八进制数用前缀&O引导。定点数:带有小数点的正数或负数,表示数的范围比较小。浮点数:分为单精度浮点数和双精度浮点数,分别表示为mEn和mDn。(2)字符常量字符常量是用双引号(“”)括起来的一串字符。(3)逻辑常量逻辑常量只有两个:True(真)、False(假)。(4)日期常量日期常量是用前后两个“#”把表示日期和时间的值括起来。练习2.符号常量(1)用户定义常量[Public|Private]Const常量名[As数据类型]=表达式例如:ConstPI=3.1415926ConstPIAsSingle=3.1415926PrivateConstPIAsSingle=3.1415926(2)系统内置常量系统内置常量与应用程序的对象、方法和属性一起使用,一般以Vb为前缀。BD在“对象浏览器”中选择“VBA”库,在“constants”中查看“vbcrlf”的说明:2.2.3变量1.变量的声明(1)显式声明语法:Dim变量名[As数据类型]Dim变量名[As数据类型],变量名[As数据类型]…Dim变量名AsString*长度练习Dima,bAsDoubleDimaasDouble,bAsDouble练习:下面语句声明的变量有什么不同?第一句:a变量为variant,b变量为Double。在声明变量时有几点需要说明:在用Dim语句声明一个变量后,VB系统自动为该变量赋初值。若变量是数值型,则初值为0;若变量为String(字符串)型,则初值为空字符串;若变量是Boolean(布尔)型,则初值为False。当没有声明字符型变量的长度,则默认为变长字符串。如果没有声明变量的数据类型,则VB把它看作变体型(Variant)。另外,显式声明还有Static、Public、Private语句,声明变量的语法格式与Dim语句相似。Public变量名[As数据类型],[变量名[As数据类型]…]Private变量名[As数据类型],[变量名[As数据类型]…]Static变量名[As数据类型],[变量名[As数据类型]…](2)隐式声明隐式声明是用一个特殊的类型符号加在变量名后面来声明数据类型,而在使用一个变量之前不需要声明这个变量。声明符号数据类型含义%Integer整型&Long长整型$String字符型!Single单精度浮点型#Double双精度浮点型@Currency货币型(3)OptionExplicit语句使VB只要遇到一个未经显式声明的变量名,就发出错误警告。2.变量的赋值语法:[Let]变量=表达式(1)当“=”右边的表达式与变量兼容,会强制将该值转换为变量的数据类型。(2)当数值型变量赋值超出其范围时,会提示溢出出错。(3)当对定长字符型变量赋值时,如果字符串长度少于定长,则用空格将不足部分填满;如果字符串的长度太长,则截去超出部分的字符。分析变量a的值:DimaAsIntegera=TrueDimaAsBooleana=5DimaAsStringa=5DimaAsStringa=TrueDimaAsDatea=5DimaAsIntegera=123456789DimaAsString*5a=abcdefg2.3运算符和表达式2.3.1运算符和表达式1.算术运算符和表达式算术运算符包括+、-、*、/、\、^和Mod。\:用于两个数的除法运算并返回一个整数商。^:用于求一个数的幂运算即指数运算。Mod:用于两个数的除法运算并返回余数。练习2.关系运算符和表达式关系运算符包括、=、、=、=、以及Is和Like:=:等于符,与赋值符号“=”不同。:不等于符。Is:比较两个对象是否一致。Like:比较两个字符串的模式是否匹配。字符的ASCⅡ码大小顺序为:空格0~9A~“Za~z汉字表2.4Like匹配模式表通配符含义实例可匹配字符串*可匹配多个字符a*a1,abc,…?可匹配单个字符a?a1,ab,…#可匹配单个数字123#1234,1238,…[list]可匹配列表中的单个字符[a-e]a,b,c,d,e[!list]可匹配列表以外的单个字符[!a-e]G,h,f,…例如:aBBBaLikea*aTrueaBBBaLike[a-e]*True3.连接运算符和表达式连接运算符是用来合并字符串的运算符,包括&和+。4.逻辑运算符和表达式逻辑运算符包括And(与)、Or(或)、Not(非)、Eqv(等价)、Imp(包含)和Xor(异或)。练习abNota(非)aAndb(与)aOrb(或)aEqvb(等价)aImpb(包含)aXorb(异或)FalseFalseTrueFalseFalseTrueTrueFalseFalseTrueTrueFalseTrueFalseTrueTrueTrueFalseFalseFalseTrueFalseFalseTrueTrueTrueFalseTrueTrueTrueTrueFalse2.3.2各种运算的优先顺序(1)表达式的括号最优先,相同优先级的运算按从左到右顺序进行;(2)各种类型运算符的优先顺序(从高到低)如下:算术运算符→字符串连接运算符(&)→关系运算符→逻辑运算符(3)同一类运算符的优先顺序也不同算术运算符的优先顺序(从高到低)如下:^→-(负号)→*、/→\(整数除法)→Mod→+、–逻辑运算符优先顺序如下:Not→And→Or→Xor→Eqv→Imp各个关系运算符的优先级是相同的。当不同数据类型的数据按以下原则转换:两个运算数中存储长度不同时,运算结果的类型为存储长度较长的。Integer型数和Single型数的运算结果类型为Single型;Long型数和Single型数的运算结果类型为Double型。除法运算不论运算数是什么类型,结果都是Double型。【例2-1】判别某年是否是闰年,闰年的条件符合下面二者之一:(1)能被4整除,但不能被100整除。(2)能被4整除又能被400整除。DimxAsIntegerDimyAsBooleanx=2004y=(((xMod4)=0)And((xMod100)0))Or(((xMod4)=0)And((xMod400)=0))Label2.Caption=y02.4常用内部函数2.4.1算术函数算术函数有几点说明:(1)应注意函数返回值的数据类型。(2)三角函数的运算都使用弧度。(3)Fix(x)和Int(x)函数都是对数值型变量取整。Fix(10.5)=10Int(10.5)=10Fix(-10.5)=-10Int(-10.5)=-11(4)Rnd(x)函数用于产生随机数用Randomize语句避免反复出现同一序列的随机数;在编程时,经常会用Rnd函数产生某个限定范围的随机整数,使用以下规则:Int((上限-下限+1)*Rnd)+下限练习【例2-2】根据直角三角形的两条直角边,计算其斜边的长度。PrivateSubCommand1_Click()'单击按钮计算斜边DimaAsSingle,bAsSingle,cAsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Sqr(a^2+b^2)'计算斜边Text3.Text=cEndSub22bac2.4.2字符函数【例2-3】s1=Text1.Text'输入字符串a=Val(Text2.Text)'输入起始个数b=Val(Text3.Text)'输入字符个数s2=Mid(s1,a,b)'取字符Text4.Text=s2C2.4.3日期与时间函数【例2-4】Text1.Text=Year(Date)'显示年份Text2.Text=Month(Date)'显示月份Text3.Text=Day(Date)'显示日期Text4.Text=Hour(Now)&:&Minute(Now)&:&Second(Now)'显示时间2.4.4类型转换函数和判断函数1.类型转换函数转换函数是用来将数据强制转换成某种特定的数据类型。2.判断函数VB还提供了一些判断函数用来判断数据的类型。转换函数转换结果类型功能例子转换结果TypeNameString返回变量的类型TypeName(2)IntegerIsNumeric(x)Boolean判断是否是数值型IsNumberic(123.4)TrueIsDateBoolean判断是否是日期型isdate(5)FalseIsObjectBoolean判断是否是对象IsObject(5)FalseIsNullBoolean判断是否是不包含任何有效数据IsNull(5)FalseIsEmptyBoolean判断变量是否已被初始化IsEmpty(a)是否被初始化2.5InputBox函数、MsgBox函数和Print方法2.5.1InputBox函数InputBox函数用于接受用户键盘输入的数据。变量=InputBox(对话框字符串[,标题][,文本框字符串][,横坐标值][,纵坐标值][,帮助文件,帮助主题号])例,Number=InputBox(请输入学号,输入学号,2001010123)InputBox函数出现的对话框中自动生成一个文本框和“确定”、“取消”两个按钮。对话框中显示“请输入学号”,标题为“输入学号”,文本框中显示的默认值为“2001010123”。对话框等待用户在文本框输入内容,可以在文本框中输入也可以使用默认值。InputBox函数返回值给变量Number,如果用户单击
本文标题:电力拖动与自动控制系统。第2章
链接地址:https://www.777doc.com/doc-3203847 .html