VB中常用的表达式、函数、运算符
vb_常用函数

算术运算符
算术运算符是最常用的运算符,在VB中提供了9个算术运算符,见下表
运算 幂 取负 乘法 浮点除法 整数除法 取模 加法 减法 连接
运算符
例子
-X X*Y X/Y X\Y X mod Y X+Y X-Y X$ & Y$
∧
* / \ Mod + &
X∧Y
注意:在上面9个运算符中,除了取负是单目运算符外,其余均为双目运算符 (需要两个运算量)
字符串函数—字符串截取函数
用来截取字符串的一部分,可以从左边、右边、中间进行截取 1、左边截取 left$(字符串,n) 返回字符串的前n个字符,在立即窗口进行测试 ?Left$(“abcdefg”,4) 2、中间截取 mid$(字符串,p,n) 从第P个字符开始向后截取n个字符 注意:如果省略第三个变量n则从第P个字符截取到字符串的末尾 3、右部截取 right$(字符串,n) 返回字符串的最后n个字符 字符串长度测试函数:Len(字符串) 可以测试字符串的长度,也可以测试变量的存储空间。
字符串匹配函数
在编写程序时有时候需要知道是否在文本框中是否输入了某个字符串,可 以通过instr函数进行判断。格式如下: Instr([首字符位置,]字符串1,字符串2[,n]) 在字符串1中查找字符串2,如果找到了则返回字符串2的第一个字符在第一 个字符串1中的位置。例如在立即窗口测试: A=“happy new year” B=instr(a$,”new”) Print B 说明: 1、字符串2的长度必须小于65535个字符 2、instr()返回的是一个常整型数。 3、首字符位置是可选的 4、函数的最后一个自变量n是可选的。N的取值为:0,1,2 N=0 进行二进制比较,区分字母大小写 n=1 忽略大小写 N=2 基于数据库中包含的信息进行比较
第三章VB运算符和表达式

(1) 关键字 首字母自动改为大写, 其余字母改为小写 (2) 自定义的变量名、过程名 系统以第一次定义的为准
规则2. 语句书写自由
语句是构成VB程序的最基本成分,程序 是按行书写的。
(1)一行写多个语句时,语句间用冒号(:) 分隔。 例:n=100:m=1000
(三)变量声明
使用变量前,一般必须先声明变量名及其 数据类型(变量的两个特性),然后才能在程序 中使用
1.用Dim语句声明变量 语句格式:
Dim 变量名 [As 类型] [,变量名 [As 类型]] …
• 说明:Dim语句定义的变量其作用范围由 Dim语 句所在的位置决定。 Dim 语句出现在窗体代码 的声明部分时,则窗体以及窗体中各控件的事 件过程都可以使用这些变量。这种变量称为窗 体级变量; 在过程内部用 Dim 语句声明的
举例
(2)一个语句可写在几行上 (3)一行允许最多达255个字符
用续行符(空格加下划线“ _”)连接。
规则3. 代码中必要时添加注释
说明: (在VB程序中呈绿色)
1. 注释有利于程序的可读性。
2. 注释部分在程序运行时不执行
3. 续行符后不能加注释
4. 三种设置方式如下 1)以Rem开头 2)单引号“ ‘ ”引导注释见 3)使用注释块
它是内存单元位置的命名,一旦定 义了某个变量,该变量就表示某个内存 单元的位置,用户可以使用变量名访问 该内存单元中的数据。 举例如下
举例1说明:
对于新建的学生宿舍,要给其进行编号,学 生宿舍的编号是对一个宿舍的命名,宿舍号就 是用来描述宿舍位置的。可以通过宿舍号找到 宿舍内住的学生。若调换宿舍,则成员变化 宿舍 宿舍号 内存空间 变量
VB程序设计课件第四讲_运算符和表达式

“/”是通常讲除法。
“\”是整数除法,在除之前先四舍六入五取双, 结果仅保留整数部分。
例: 3/2
结果为1.5
3\2
结果为1
3.5\2
结果为2
3.5\2.5 或 2.51 ?
3
2.取模运算 Mod: 取余数 例: 13 Mod 3 结果为1,即余数为1
10 Mod 2 结果为0
4
算术表达式
用算术运算符把数值型常量、变量、函数连接起来 算术表达式的运算结果是一个数值
则:a>= 0 And a+c > b+3 Or Not d
16
举例
(1)0 ≤ x < 10 (2)评奖学金:3门课,平均分大于95,且有一门100
17
2. 转换函数
1. Asc(C):字符转换成ASCII码 Asc("A")=65 2. Chr(N):ASCII码值转换成字符 Chr(65)="A" 3. Lcase(C):大写转小写 例:Lcase("AB")="ab" 4. Ucase(C):小写转大写 例:Ucase("ab")="AB"
四、
例: A、B、C 均大于 0 A > 0 And B > 0 And C > 0
逻辑运算符:非(Not)、与(And)、或(Or) 数据类型:布尔型
15
优先级 Not And Or Xor Eqv Im
算术 > 字符 > 关系 > 逻辑运算符 已知:a =3.5,b =5.0,c =2.5,d =True
二、字符串运算符 有两个:“&”和“+”,起连接字符串作用
VBA语言基础

VBA语言基础第一节标识符一.定义标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。
二.命名规则1)字母打头,由字母、数字和下划线组成,如 A987b_23Abc2)字符长度小于40,(Excel2002以上中文版等,可以用汉字且长度可达254个字符)3)不能与VB保留字重名,如public, private, dim, goto, next, with, integer, single 等第二节运算符定义:运算符是代表VB某种运算功能的符号。
1)赋值运算符 =2)数学运算符 &、+ (字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数)3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)4)关系运算符 = (等于、相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于)、Like、Is5)位运算符 Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑等)、Imp(隐含)第三节数据类型VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用Type自定义数据类型。
数据类型类型标识符字节字符串型 String $ 字符长度(0-65400)字节型 Byte 无 1布尔型 Boolean 无 2整数型 Integer % 2长整数型 Long & 4单精度型 Single ! 4双精度型 Double # 8日期型 Date 无 8 公元100/1/1-9999/12/31货币型 Currency @ 8小数点型 Decimal 无 14变体型 Variant 无以上任意类型,可变对象型 Object 无 4第四节变量与常量1)VBA允许使用未定义的变量,默认是变体变量。
VB中常用的运算符

VB中常用的运算符
1、算术运算符
VB算术运算符:优先级从上至下
字符串运算符:
•例:查看运行结果。
返回页首
2、关系运算符
VB关系运算符:
•例:查看运行结果。
返回页首
3、逻辑运算符
VB逻辑运算符:优先级从上至下
逻辑运算表:-1为真,0为假
•例:查看运行结果。
返回页首
4、表达式执行顺序
1.首先执行函数运算。
2.其次算术运算,算术运算符优先顺序:幂、取负、乘和浮点除、整除、取
模、加和减、连接
3.再次关系运算。
4.最后进行逻辑运算,优先顺序为:Not、And、Or、Xor、Eqv、Imp。
5.注意:
1.在运算中,括号内的运算的优先于括号外的运算。
2.字符串连接运算符不是算术运算符,它的优先级高于比较运算符,
低于算术运算符。
3.Like和比较运算符的优先顺序相同。
进行模式匹配处理,应该注
意?和*两个通配符。
Is是对象比较运算符,它不考虑对象的值,只是针对两个对象是否参照了相同的对象。
4.当使用幂时,符号优先,例如:4^-2,表示4的负2次方。
24VB常用标准函数、基本运算符和表达式

1.7320606 3
说明:e≈2.71828182845905
2.常用的类型转换函数
函数名
函数功能
应用举例
返回值
Asc(X) 字符转换成ASCⅡ码值 Asc(“A”)
65
Chr(X) ASCⅡ码值转换成字符
Chr(65)
“A”
Str(X) 数值转换为字符串
Str(123.45) “123.45”
15.以下VB程序段的功能是统计用户输入的字符串长度。
Private Sub Command1_Click()
Dim a As String a = Text1.Text Label1.Caption = “字符长度为” + ①
End Sub 若要实现该功能,则①处应填写语句为 ____St_r_(_L_e_n(_a_)_)_或__St_r_(_L_e_n(_T_e_x_t_1._T_e_x_t_)_)___。
<=
大于等于
>=
优先级 7 7 7 7 7 7
表达式举例 1=2 1<>2 1<2 1>2
10 Mod 2 <=20 10﹨2>=7
示例表达式的值 False True True False True False
6.逻辑运算符
基本运算 运算符号 优先级
非
Not
8
与
And
9
或
Or
10
表达式举例
Not(2<3) (2<=3) And (2>=3) (2<=3) Or (2>=3)
C.Int(Rnd() * 100)
D.Int(Rnd() * 90) + 10
VB基本运算、表达式、赋值语句与分支结构

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关系运算符关系运算符用来比较两个运算量之间的关系,关系表达式的运算结果为逻辑型。
2VB基本语言表达式函数

表达式执行的顺序
算术运算 字符串运算 比较运算 逻辑运算
23
指数(^)
取负(-) 乘、除(*、/) 整除( \ ) 取模(Mod) 加减(+、-)
连接&、+
相等=
不等<>
Not
And
小于<
大于> 不大于<= 不小于>= Like Is
Or
Xor Eqr Imp
例:用人单位招聘秘书:年龄小于40岁,女性,学历专科或本科 年龄<=39 性别=“女” (学历=“专科” 学历=“本科 And And Or ”)
24
例:表示算术表达式:
3 x 7
或 3<=x Or x<=7
a 小数 b 大数
正确的VB表达式: 3<=x And x <=7 错误的VB表达式: 3<=x<=7
比a小,比b大 :用 Or
比a大,比b小 :用 And
a 小数
b 大数
25
写出下列算式的表达式:
cos (c d )
2
(Cos (c+d))^2 5^2+3*(7-2*b)^(1/2) 2*a^(1/2)/((7+b)*(4-c))
Object Variant
5
3.3 变量与常量
一.变量和常量的命名规则 变量:在程序运行中其存储的值可以改变。 常量:在程运行中其值不可以改变。 命名 规则: 1.以字母或汉字开头,后可跟字母、数字或下划线组 成,长度小于等于255个字符; 2.不能使用VB中的关键字; 3.VB中不区分变量名的大小写. 4.为了增加程序的可读性,可在变量名前加一个缩写的前缀来 表明该变量的数据类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、VB中的表达式类型有:
(1)算术表达式(2)字符串表达式(3)关系表达式(4)逻辑表达式
(1)算术运算符(顺序^,-(负号),*,/,\,Mod,+,—)
举例
运算符举例说明结果
+25+25 加法50
-50-50 减法0
* 5*5 乘法25
/25/5 除法 5
\ 35\4 整除8
MOD 62MOD9 求余数8
^ 2^3 指数8
例:62MOD9+2^3=16
字符串运算符
&、+ 字符串连接
" 123 " + " 456 " 结果 " 123456 " " 123 " & " 456 " 结果 " 123456 " 区别: + 两边必须是字符串, & 不一定例如:
"abcdef" & 12345 ' 结果为 "abcdef12345 " "abcdef " + 12345 ' 出错 "123" & 456 ' 结果为" 123456 " “123” + 456 ' 结果为 579
注意: "123 " + True '结果为 122 True转换为数值-1,False转换为数值0
功能:把参加运算的字符串按原来的顺序首尾相接,组成新的字符串。
“I am a ”& “teacher”=“I am a teacher”
关系运算符及其示例见表:
关系运算符含义相当的数学符号关系表达式示例=等于=x=0
>大于>x*y>x+y(true)
<小于<"QB"<"VB"
<>不等于≠X<>0
>=大于等于≥x>=10
<=小于等于≤x<=0关系表达式的运算顺序是:先进行算术运算或字符串运算,然后再进行比较运算。
其运算结果是一个逻辑值,即True(真)或False(假)。
如果条件成立,
则关系表达式取True;如果条件不成立,则关系表达式的值为False。
如果关系运算符的两边表达式的运算结果是数值,则按其大小比较。
例如:a<b(a=3,b=4) 其值为True
x+y>5(x=3,y= -2) 其值为False
(4)逻辑表达式的值也是布尔型的值True 或False
逻辑运算符:not、and、or 3种
2、在VB中,几种不同性质的运算符的优先级别如下:
算术运算符>字符运算符>关系运算>逻辑运算
3、Vb函数的含义及使用方法
序号函数返回值类型
1Abs(x)X的绝对值
X的类型
例:Abs(-2.35)结果2.35
整型
2Int(x)X的整数部分
例:Int (2.35)结果2
X的类型
3Sqr(x)X的平方根
例:Spr(36) 结果6
4Right(s,x)从s字符串中最右边取字符x个
字符类型
例:Right(“abcdef”,3) 结果def
字符类型
5Left(s,x)从s字符串中最左边取字符x个
例:Left (“abcdef”,4) 结果abcd
X的类型
6Mid(s,x,y)字符替换
例:Mid(“abcdefg”,3,4) 结果cdef
数值型
7Val(“s”)S字符串转化为数值型的值
例:Val(“12ab”) 结果12
8Str(x)X数值型转化为字符型的值
字符型
例:Str(0.98) 结果.98
例:Str(-0.56)结果-.56
9Rnd(x)返回一个在区间(0,1)之间的随机数数值型
函数名称 函数功能
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) 判断一个数字的正负号 Sqr(nmb) 返回数字的二次方根 T an(nmb) 返回一个数的正切值 Asc(string) 返回ASCII 字符串 Chr(charcode) 根据字符代码返回字符
Instr(string,searchstr) 返回被搜索字符串的第一个字符位置,string 是字符串,searchstr 是被搜索的字符串 Sin(nmb) 返回角度的正铉值
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 -分。
DateDiff(interval,nmb1,nmb2) 返回两个时间间隔,interval 的意思同上 Datevalue(date) 发挥Date 中的日期部份 Day(date) 返回天数
例:Print Rnd
10 Len(s) 返回S 字符的长度
例:Len(“abcdef ”,3) 结果abc 数值型 11 Tan(x) 求X 的正切值,x 的单位为弧度 12 Sin(x) 求X 的正弦值,x 的单位为弧度 13 Cos(x) 求X 的余弦值,x 的单位为弧度 14
Sgn(x)
求X 的符号,x>0,返回1;x=0,返回0;x<0,返回-1
FormatDatetime(date) 返回格式化为日期的表达式Hour(time) 返回时间的小时数Minute(time) 返回时间的分钟数Month(date) 返回日期中的月份Now() 返回系统的日期和时间Second(time) 返回时间中的秒数Time() 返回系统的当前时间Weekday(date) 返回星期几WeekdayName(date) 返回星期几的中文名
Year(date) 返回年份IsArray(var) 判断一个变量是否是数组IsDate(var) 判断一个变量是否是日期IsNull(var) 判断一个变量是否为空IsNumeric 判断表达式是否包含数值IsObject(var) 判断一个变量是否是对象TypeName(var) 返回变量的数据类型
****** ******
Array(list) 返回数组CreateObject(class) 创建一个对象GetObject(pathfilename) 得到文件对象Inputbox(prompt) 提供一个可供输入数据的对话框LBound(arrayP 返回数组的最小索引Msgbox(string) 输出一个消息框
Split(liststr) 从一个列表字符串中返回一个一维数组Ubound(array) 返回数组的最大索引。