VB中的运算符与表达式
- 格式:doc
- 大小:44.50 KB
- 文档页数:2
VB 运算符和表达式VB中提供有丰富的运算符供开发者使用,包括算术运算符、字符串连接符、关系运算符和逻辑运算符。
表达式则是由运算符和圆括号将常量、变量和函数按一定规则组合在一起的式子。
本文将带领大家一起学习VB的运算符和表达式。
算术运算符算术运算符,顾名思义,是用来进行数学计算的,用于数值类型的数据之间的算术运算。
算术运算符具有优先等级,在同一个算术表达式中,不同的运算符其优先级别不同,具体的运算符含义及优先等级,如下图所示:解释:对符号“-”来说,其具有两种运算符含义,即作为负号,以及作为减号,区别方法是,看其左边有无数值型数据。
有数值型数据,则“-”作用是减号,没有的话,其作用是负号。
当“^”和“-”相邻时,“-”优先。
例如:2^-1相当于2^(-1),其值为0.5。
运算符左右两边的操作数应该都是数值型数据,否则运算将会报错(类型不匹配错误),若是数字字符串或者是逻辑型数据,系统将会默认自动转换类型,将其转换为数字型。
比如5*"a"将会报错,而5*"2"其结果是10,对于逻辑型数据,系统将会自动将True转化成-1,而False 则自动转换为0。
例如:10+True其值为9对于“+”、“-”、“*”运算符,如果左右两边的操作数的数据类型相同,那么它们的运算结果也将是这一数据类型。
如果左右两边的数据类型不同,则其结果的数据类型是存储长度较长的那个数据类型。
例如:一个整型和一个长整型相加,其结果将是长整型。
而对于运算符“^”和“/”来说,不论进行运算的两个操作数类型是否相同,它们的运算结果总是双精度数(Double)在进行算术运算时,结果不能超出数据类型对应的取值范围,否则将会报“溢出”错误。
例如:msgbox 32760+10。
原因是32760和10的数据类型都是整数,因此其结果也是整数数据类型,但是结果32770超出了整数的可取值范围(-32768~32767)算术表达式算术表达式就是由算术运算符、圆括号和操作数构成的表达式。
运算符和表达式一. 运算符1. 算术运算符2. 字符串运算符&、+ 字符串连接" 123 " + " 456 " 结果" 123456 "" 123 " & " 456 " 结果" 123456 "区别: + 两边必须是字符串, & 不一定例如:"abcdef" & 12345 ' 结果为"abcdef12345 ""abcdef " + 12345 ' 出错"123" & 456 ' 结果为" 123456 "“123” + 456 ' 结果为579注意:"123 " + True '结果为122True转换为数值-1,False转换为数值03.关系运算符将两个操作数进行大小比较,结果为逻辑量。
字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。
例:" ABCDE " > " ABRA " 结果为False4. 逻辑运算符将操作数进行逻辑运算,结果是逻辑值条件表达式1 And 条件表达式2 条件表达式均为T 结果为T条件表达式1 Or 条件表达式2 条件表达式有一个T 结果为T二. 表达式1.组成变量、常量、函数、运算符和圆括号2.书写规则(1) 运算符不能相邻。
例a+ -b是错误的。
(2) 乘号不能省略。
例x 乘以y 应写成:x*y(3) 括号必须成对出现,均使用圆括号。
(4) 表达式从左到右在同一基准上书写,无高低、大小。
3. 不同数据类型的转换运算结果的数据类型向精度高的数据类型靠.Integer<Long<Single<Double<Currency4. 优先级算术运算符>=字符运算符>关系运算符>逻辑运算。
VB中常用的表达式、函数、运算符1、VB中的表达式类型有:(1)算术表达式(2)字符串表达式(3)关系表达式(4)逻辑表达式(1)算术运算符(+、-、*、/、\、MOD、^)例:62MOD9+2^3=16(2)VB中常用的字符串运算符有”&”和”+”(连接)功能:把参加运算的字符串按原来的顺序首尾相接,组成新的字符串。
“I am a ” & “teacher”=“I am a teacher”(3)关系表达式的值为布尔型的值True 或False关系表达式的运算顺序是:先进行算术运算或字符串运算,然后再进行比较运算。
其运算结果是一个逻辑值,即True(真)或False(假)。
如果条件成立,则关系表达式取True;如果条件不成立,则关系表达式的值为False。
如果关系运算符的两边表达式的运算结果是数值,则按其大小比较。
例如:a<b(a=3,b=4) 其值为Truex+y>5(x=3,y= -2) 其值为False(4)逻辑表达式的值也是布尔型的值True 或False逻辑运算符:not、and、or 3种2、在VB中,几种不同性质的运算符的优先级别如下:算术运算符>字符运算符>关系运算>逻辑运算3、Vb函数的含义及使用方法函数名称函数功能Cbool(string) 转换为布尔值Cbyte(string) 转换为字节类型的值Ccur(string) 转换为货币类值Cdate(string) 转换为日前类型的值Cdbl(string) 转换为双精度值Cint(string) 转换为整数值Clng(string) 转换为长整型的值Csng(string) 转换为单精度的值Cstr(var) 转换为字符串值Str(var) 数值转换为字符串Val(string) 字符串转换为数值****** ************ ******Abs(nmb) 返回数子的绝对值Atn(nmb) 返回一个数的反正切Cos(nmb) 返回一个角度的余炫值Exp(nmb) 返回自然指数的次方值Int(nmb) 返回数字的整形(进位)部份Fix(nmb) 返回数字的整形(舍去)部份Formatpercent(表达式) 返回百分比Hex(nmb) 返回数据的16进制数Log(nmb) 返回自然对数Oct(nmb) 返回数字的8进制数Rnd 返回大于“0”而小于“1”的随机数Sgn(nmb) 判断一个数字的正负号Sin(nmb) 返回角度的正铉值Sqr(nmb) 返回数字的二次方根Tan(nmb) 返回一个数的正切值Asc(string) 返回ASCII字符串Chr(charcode) 根据字符代码返回字符Instr(string,searchstr) 返回被搜索字符串的第一个字符位置,string是字符串,searchstr是被搜索的字符串InstrRev(string,searchstr) 同上,只是从右面开始搜索Lcase(var) 把字符串变为小写Left(string,nmb) 从string中返回从左面开始的nmb个字符串Len(string) 返回字符串的长度Ltrim(string) 截去字符串左边的空格Filter(inputstrings,value) 返回字符串数组的字集,Inputstrings是字符串组,value是在数组中寻找的字符Rtrim(string) 截去字符串右边的空格Trim(string) 截去字符串前后空格Mid(string,start,len) 在string中返回从start位置开始的len个字符Replace(string,find,withstr) 在字符串string中,用withstr来替换find字符串Right(string,nmb) 从string中返回从右面开始的nmb个字符串Space(nmb) 返回指定空格的字符串StrComp(string1,string2) 比较两个字符串Ucase(string) 把字符串变为大写****** ************ ******Date() 返回当前系统日期DateAdd(interval,nmb,date) 用一个基础时间返回指定增加了时间间隔的日期,interval是间隔类型,yyyy-年,m-月,d-日,h-小时,n-分。
VB基本运算、表达式、赋值语句与分支结构1、算术运算符2、关系运算符3、逻辑运算符算术运算符:注意事项:①、在数学中,乘号可省略;但在VB语句中,乘号*不允许省略②、在求余的时候,若参加的运算数有负号,先取绝对值,结果的符号与被除数相同③、+(连接运算):两个操作数均为字符串类型;&(连接运算):两个操作数既可为字符型也可为数值型。
例如:"a"+"b"是合法的,而 "a"+2是错误的"a" & "b"是合法的,而"a" & 2也是合法的练一练:1.表达式23/5、 23\5、 23 Mod 5的运算结果分别是_______。
A. 3、 4.6、3B. 4.6、 4、 5C. 4、 4、 5D. 4.6、 4、 32.表达式-10/3、 -10\3、 10 Mod (-3)的运算结果分别是______。
A. -3、 -3.333、3B. -3.333、 -3、 -2C. -4、 -4、 -3.333D. -3.333、 -3、 13.下列哪些表达式是合法的,并求出正确表达式的值。
(1)"hello"+"2014"=(2)"hello"+ 2014=(3)"hello"&"2014"=(4)"hello"& 2014=想一想:表达式3+8^2/4\((11Mod2)-9*3)的返回值是多少?基本运算的规则:1、进行运算时,级别高的先执行2、同级别的运算,按照从左到右的顺序执行3、遇到括号,先进行括号内的运算注意:在VB中,括号只以()形式存在,可以多次嵌套,按照由内向外顺序执行练一练:1、求下列表达式的值(1)Sqr(256)/4-2^2 MOD 5\2(2)(-7)mod Int(3.5)+2^3/4\5(3)7mod (-3)+2^3/4\5关系运算符关系运算符用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑型。
3 Visual Basic中的运算符与表达式3.1 算术运算符与算术表达式(1)算术运算符算术运算符包括(按优先级从高到低排列):指数(∧)、取负(-)、乘法(*)、浮点数相除(/)、整除(\)、取模(Mod)、加法(+)、减法(-)等8个。
说明:取模运算符Mod用来求整除的余数,若表达式为34.56Mod6.67,则运算时首先把34.56和6.67分别取整为35和7,计算结果为0.(2)算术表达式书写规则※所有括号都只能用圆括号,且括号必须配对。
3.2 字符串运算符与字符串表达式字符串运算符:“&”和“+”(功能都是将两个字符串连接起来组成新的字符串)“+”的运算规则:“+”号两边的运算对象应都是字符型数据,如果两边都是数值型数据则为算术加法运算;如果一个为数值型字符,另一个为数值型,则自动将数字字符转换为数值,然后进行算术运算;若一个为非数字字符型,另一个为数值,则系统出错。
“&”的运算规则:不论“&”号两边的运算对象是否哪种类型,系统都先将运算对象转变为字符型数据,然后再进行连接运算。
字符串表达式字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符按语法规则组合而成。
3.3 日期表达式日期表达式由“+”、“-”、算术表达式、日期型数据和日期型函数所组成。
两个日期型数据相减,结果为数值型数据(两个日期相差的天数)。
一个表示天数的数值型数据可以被加(或减)到一个日期型数据中,其结果仍然是一个日期型数据。
3.4 关系运算符关系运算符用于对两个表达式的值进行比较,返回逻辑值——真(True)或假(False)。
说明:(1)日期型数据被看成“yyyymmdd ”的八位整数,按数值大小进行比较;字符串的比较按ASCII 码值从左到右一一比较,先大为大;汉子字符大于西文字符。
(2)关系运算符的运算优先级相同,运算从左到右依次进行。
3.5 逻辑运算符与逻辑表达式说明:(1)运算时先运算关系表达式,再计算逻辑表达式。
运算符——⽤来对运算对象进⾏各种运算的操作符号。
表达式——由多个运算对象和运算符组合在⼀起的合法算式。
其中运算对象包括常数、常量、变量和函数,⽽常数、常量、变量和函数可以看作没有运算符的表达式。
VB中的运算符分五类——算术运算符、连接运算符、关系运算符、逻辑运算符和特殊运算符;VB中的表达式有三种——算术表达式、关系表达式和逻辑表达式。
⼀、算术运算符算术运算符——⽤来进⾏数学运算的运算符。
VB中主要的算术运算符见下表:运算符说明⽰例操作数类型^ 指数 Test=3^2 表⽰3的2次⽅'结果为9 nteger,Long,Single,Double,Currency- 取负 -7 * 乘法 Test=37*16 Integer,Long,Single,Double,Currency/ 浮点数除法 Test=37/16 '结果为2.3125 Integer,Long,Single,Double,Currency\ 整数除法 Test=37\16 '结果为2 Integer,LongMOD 求余数 Test=37 MOD 16 '结果为5 Integer,Long+ 加法 Test=37+16 Integer,Long,Single,Double,Currency- 减法 Test=37-16 Integer,Long,Single,Double,Currency1、^(幂运算符)幂运算符⽤来计算某个数或表达式的某次⽅的值。
其中,幂运算符右边的数或表达式是次⽅数。
例如:Private Sub Form_Paint()Dim MyValue as IntegerMyValue = 2 ^ 2 ' 返回 4Print MyValueEnd Sub同样: MyValue = 3 ^ 3 ^ 3 ' 返回 19683 MyValue = (-5) ^ 3 ' 返回 -1252、* (乘法运算符)乘法运算符⽤来计算两个数或表达式的积。
3 Visual Basic中的运算符与表达式
3.1 算术运算符与算术表达式
(1)算术运算符
算术运算符包括(按优先级从高到低排列):指数(∧)、取负(-)、乘法(*)、浮点数相
除(/)、整除(\)、取模(Mod)、加法(+)、减法(-)等8个。
说明:取模运算符Mod用来求整除的余数,若表达式为34.56Mod6.67,则运算时首
先把34.56和6.67分别取整为35和7,计算结果为0.
(2)算术表达式书写规则
※所有括号都只能用圆括号,且括号必须配对。
3.2 字符串运算符与字符串表达式
字符串运算符:“&”和“+”(功能都是将两个字符串连接起来组成新的字符串)
“+”的运算规则:“+”号两边的运算对象应都是字符型数据,如果两边都是
数值型数据则为算术加法运算;如果一个为数值型字符,另一个为数值型,
则自动将数字字符转换为数值,然后进行算术运算;若一个为非数字字符型,
另一个为数值,则系统出错。
“&”的运算规则:不论“&”号两边的运算对象是否哪种类型,系统都先将运
算对象转变为字符型数据,然后再进行连接运算。
字符串表达式
字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符按语法规则组合而成。
3.3 日期表达式
日期表达式由“+”、“-”、算术表达式、日期型数据和日期型函数所组成。
两个日期型数据相减,结果为数值型数据(两个日期相差的天数)。
一个表示天数的数值型数据可以被加(或减)到一个日期型数据中,其结果仍
然是一个日期型数据。
3.4 关系运算符
关系运算符用于对两个表达式的值进行比较,返回逻辑值——真(True)或假(False)。
说明:(1)日期型数据被看成“yyyymmdd ”的八位整数,按数值大小进行比较;字符串的
比较按ASCII 码值从左到右一一比较,先大为大;汉子字符大于西文字符。
(2)关系运算符的运算优先级相同,运算从左到右依次进行。
3.5 逻辑运算符与逻辑表达式
说明:(1)运算时先运算关系表达式,再计算逻辑表达式。
(2)异或:相异为真,否则为假。
蕴含:X 为真,Y 为假时,结果为假,其余都为真。
(3)“与”、“或”对数值进行运算时,是对数值的二进制值逐位进行逻辑运算。
3.6 表达式的类型转换及执行顺序
(1)不同数据类型的转换
不同类型的数据参与算术运算时,VB 规定其运算结果的数据类型以精度较高的为准,即
整数 < 长整型 < 单精型 < 双精型 < 货币型
(2)执行顺序
在VB 中,当一个表达式包含多种运算时,系统将按一定的顺序执行。
算术运算符 > 字符运算符 > 关系运算符 > 逻辑运算符。