第4章 VB的运算表达式和内部函数.ppt
合集下载
VB第4章

数据输入输出
例1:MsgBox "请确认交易金额",33,"交易 确认"
例2:MsgBox "请确认交易金额",52,"交易 确认"
MsgBox按钮设置
分组
内部常数 VBOkOnly VBOkCancel VBAboutRetryIgnore VBYesNoCancel VBYesNo VBRetryCancel VBCritical
数据输入输出
1、标签和文本框 说明:标签利用它的Caption属性;文本框利 用它的Text属性。 例如: a%=Val(Text1) ’完成数据输入 c!=5/9*(a-32) Text2=c ’完成数据输出 Label1.Caption=3.14*r*r
数据输入输出
2、输入对话框InputBox函数 功能:打开一个对话框,等待用户输入,返回 字符串类型的输入值。 例: InputBox("请输入数值")
If 条件语句
2、双分支结构
形式: (1)If <表达式> Then <语句块1> Else <语句块2> End if
(2)If <表达式> Then
T 表达式 F
语句块 1
语句块 2
<语句1>
Else
<语句 2>
例:下列哪一段代码是正确的?
1) if a>1 then k=0 else k=1 2) if a>1 then k=0 end if 错误 3) if a>1 then k=0 else k=1
Visual Basic 程序设计教程
第四章 VB控制结构
VB第4章数据表达式与简单程序设计精品PPT课件

例:1.25E+3 和 1.25D+3相当于1250.0 或者 1.25×103。
By LYQ
常量和变量
3、字符串常量 在VB中字符串常量是用双引号“"”括起的一串字符,例如
"ABC","abcdefg","123","0","VB程序设计"等。 说明: (1)字符串中的字符可以是所有西文字符和汉字、标点
标准模块:可被多个窗体共享的代码, 文件的扩展名为.Bas
类模块:包含用于创建新的对象类的属 性,方法的定义。文件的扩展名为.Cls
By LYQ
4.2 书写规则
一、VB的字符集字母:大写英文字母A—Z;小写英文 字母a—z。数字:0一9;专用字符:共27个,
二、编码规则与约定 1.VB代码中不区分字母的大小写。(保留字自动变为首
字母大写),一行最多允许255个字符 2.同一行可以书写多条语句,语句间要用冒号“:”分隔。 3.若一个语句行不能写下全部语句,或在特别需要时,
可以换行。换行时需在本行后加入续行符,1个空格 加下划线“_”。例子见P42 4.使用不同进制的数字,VB默认为10进制数,要使用 16进制,数字前增加&H,要使用8进制,数字前增加 &O.。 5.注释以Rem开头,也可以使用单引号“'”,注释内容 可直接出现在语句的后面。 6.在程序转向时需用到标号,标号是以字母开始而以 冒号结束的字符串。(goto main / main:)
事件过程或其他过程调用而执行。 属性过程:声明属性过程的名称,参数以及
构成其主体的代码,该过程可获取一个属性 的值,给一个属性赋值,设置一个对象引用。
VB程序设计课件-常用内部函数

6
128 1235
注意:程序代码编写规则
在编写程序代码时,要遵守一定的规则。不能超越其规定 来自由发挥。 (1) 一行写多条语句。冒号分隔
Sum=Sum+x : Count=Count+1 (2) 一条语句写成多行 使用续行符(一个空格后面跟随一个下划线“_”),将长语句分 成多行。例如: Print Text1.Text & Text2.Text & Text4.Text &└┘_ & Left(Text3.Text,3) (3)不区分大小写字母
VB不区分应用程序代码字母的大小写 。
(4) 各关键字之间,关键字和变量名、常量名、过程名 之间一定要有空格分隔。
示例: Private└┘ Sub└┘ Form_Click()
(5)使用缩进 在编写程序代码时,可以使用缩进来反映代码的逻辑结 构和嵌套关系。例如: Private Sub Form_Click()
a = "Visual└┘FoxPro"
'└┘表示空格
n = InStr(a, "└┘")
'查找空格位置
b = Left(a, n - 1)
'取左边部分
c = Right( ____, ____ )
'取右边部分
Print b
'显示左边部分
Print c
'显示右边部分
End Sub
想一想
Visual FoxPro
Mid(“ABCDE”,2) 的结果为 “BCDE”
(2)插入字符串语句Mid Mid(字符串, p[,n]) = 子字符串
用“子字符串”替换“字符串”中从P开始的与“子字 符串”等长的一串字符。
VB课件-第4讲 运算符和表达式

-(求负) */ \ Mod
低 +-
① 5 + 10 mod 10 \ 9 / 3 + 2^2 ② 将两位数交换位置,如 13 变 31
6
二、字符串运算符 有两个:“&”和“+”,起连接字符串作用
例:"计算机"+"程序设计" = "计算机程序设计" "This is a " & "VB" = "This is a VB"
2
运算符 + - * /
说明 加法 减法 乘法 浮点数除法
运算符 \ ^
Mod -
说明 整数除法
幂 求模 取负
3
1.除法(“/”和“ \”代表除号)
“/” 一般除法
“\” 整除
例: 3/2
结果为1.5
3\2
结果为1
2.取模运算 Mod: 取余数 例: 13 Mod 3 结果为1,即余数为1
3.5\2.5 或 2.51 ?
编程小贴士
1. 设置属性确定事件; 2. 构思算法草拟代码; 3. 多写注释调整思路; 4. 全面检查就这一招!
编程思路:“初始化->输入->处理->输出”
运算符引例: • 拿100块买一毛八分钱白菜 • “预备…” 和 “跑!” • 我比你高,yeah! • 不仅…而且… 4种运算符:算术、字符、关系、逻辑符 表达式、常用函数
例:标签的换行操作
8
三、
= 、<> (不等于)、 > 、>=、< 、<= 关系成立时为True,不成立时为False
实例
结果
低 +-
① 5 + 10 mod 10 \ 9 / 3 + 2^2 ② 将两位数交换位置,如 13 变 31
6
二、字符串运算符 有两个:“&”和“+”,起连接字符串作用
例:"计算机"+"程序设计" = "计算机程序设计" "This is a " & "VB" = "This is a VB"
2
运算符 + - * /
说明 加法 减法 乘法 浮点数除法
运算符 \ ^
Mod -
说明 整数除法
幂 求模 取负
3
1.除法(“/”和“ \”代表除号)
“/” 一般除法
“\” 整除
例: 3/2
结果为1.5
3\2
结果为1
2.取模运算 Mod: 取余数 例: 13 Mod 3 结果为1,即余数为1
3.5\2.5 或 2.51 ?
编程小贴士
1. 设置属性确定事件; 2. 构思算法草拟代码; 3. 多写注释调整思路; 4. 全面检查就这一招!
编程思路:“初始化->输入->处理->输出”
运算符引例: • 拿100块买一毛八分钱白菜 • “预备…” 和 “跑!” • 我比你高,yeah! • 不仅…而且… 4种运算符:算术、字符、关系、逻辑符 表达式、常用函数
例:标签的换行操作
8
三、
= 、<> (不等于)、 > 、>=、< 、<= 关系成立时为True,不成立时为False
实例
结果
VB4函数与表达式

基本运算
算术运算 关系运算 逻辑运算
假定X是一个数值型变量,那么,由函数组成的表达式
X mod 2=0的作用是( A)
A、用于测试X是否为偶数 B、返回一个整数 C、返回一个奇数 D、用于测试X是否为整数
基本运算
算术运算 关系运算 逻辑运算
相等 2 = 2 不相等 2 <> 3 小于 2 < 3 大于 3 > 2 小于等于 3 <= 2 大于等于 2 >= 3
•关系运算的结果是一个逻辑值 真、假(true、false)
• 关系运算优先级比算术运算低
• 所有关系运算具有相同的优先 级
基本运算
算术运算 关系运算 逻辑运算
• 5>8
False
• 7<=10
True
• 10=5 mod 3
False
• “a” <>“b” True
• 100<>10^2
False
• 50\11> = 4
True
基本运算
算术运算 关系运算 逻辑运算
not • not true =false (非) • not false =true
and (与)
• true and true = true • false and false = false • true and false = false
函数和表达式 函函数数和和表表达达式VB式第3课
余姚中学
VB第3V课B第3课 余姚中余学姚中学
课前回顾
①
③
标签label ② ②
窗体form ① ④ 命令按钮command 输入框text ③
④
课前回顾
VB课件(新)第四章数组

…, {表达式n1,表达式n2, … ,表达式nm} }
语法说明: 1、不能在显式赋初值时,定义数组每个维度的大小 2、数据类型1 与 数据类型2 必须兼容 3、表达式: 可以是常量、变量 4、数组的大小由初值的个数决定
数组的初始化
2、显式初始化: 即声明数组的同时,为数组元素赋初值
一维数组声明并初始化语法格式: Dim 数组名 ( ) As 数据类型 = New 数据类型 (数组大小 ) { [表达式1, 表达式2,…, 表达式n ] } 二维数组声明并初始化语法格式: Dim 数组名 ( , ) As 数据类型 = New 数据类型 ( , ) {
定长数组的声明举例
Dim A(9) AS Integer Dim B(0 to 9) as single Dim c% (0 to 3) Dim d(100), f% (0, 30) Dim g (0 to 4, 0 to 5), h(11) as double
数组的初始化
1、隐式初始化:
数值型:0 字符型:空串("”) 日期型:01/01/0001 00:00:00 对象型:Nothing
mark(0, 4) mark(1, 4) mark(2, 4) mark(3, 4) mark(4, 4)
mark(0, 5) mark(1, 5) mark(2, 5) mark(3, 5) mark(4, 5)
声明了一个整型的二维数组 mark;共占据5×6个整型变量 的内存空间 。二维数组内存分配以行为单位连续分配
Char1 = UCase(Chr(Int(Rnd() * 128))) If Char1 = "A" Then a += 1 If Char1 = "B" Then b += 1 If Char1 = "C" Then b += 1 …… If Char1 = "Y" Then y += 1 If Char1 = "Z" Then z += 1 Next MsgBox("各个字母(不区分大小写)的出现频率:A 是" & a & ",B是" & b & ",C是" & c & ",”……”)
语法说明: 1、不能在显式赋初值时,定义数组每个维度的大小 2、数据类型1 与 数据类型2 必须兼容 3、表达式: 可以是常量、变量 4、数组的大小由初值的个数决定
数组的初始化
2、显式初始化: 即声明数组的同时,为数组元素赋初值
一维数组声明并初始化语法格式: Dim 数组名 ( ) As 数据类型 = New 数据类型 (数组大小 ) { [表达式1, 表达式2,…, 表达式n ] } 二维数组声明并初始化语法格式: Dim 数组名 ( , ) As 数据类型 = New 数据类型 ( , ) {
定长数组的声明举例
Dim A(9) AS Integer Dim B(0 to 9) as single Dim c% (0 to 3) Dim d(100), f% (0, 30) Dim g (0 to 4, 0 to 5), h(11) as double
数组的初始化
1、隐式初始化:
数值型:0 字符型:空串("”) 日期型:01/01/0001 00:00:00 对象型:Nothing
mark(0, 4) mark(1, 4) mark(2, 4) mark(3, 4) mark(4, 4)
mark(0, 5) mark(1, 5) mark(2, 5) mark(3, 5) mark(4, 5)
声明了一个整型的二维数组 mark;共占据5×6个整型变量 的内存空间 。二维数组内存分配以行为单位连续分配
Char1 = UCase(Chr(Int(Rnd() * 128))) If Char1 = "A" Then a += 1 If Char1 = "B" Then b += 1 If Char1 = "C" Then b += 1 …… If Char1 = "Y" Then y += 1 If Char1 = "Z" Then z += 1 Next MsgBox("各个字母(不区分大小写)的出现频率:A 是" & a & ",B是" & b & ",C是" & c & ",”……”)
第4章 VB的运算表达式和内部函数

主讲:常国锋ຫໍສະໝຸດ 4.3.2 字符串函数1、字符串长度测试函数 格式:Len(字符串) Len(变量名) 功能:测试指定字符串的长度(即字符个数),或者测试变量 的存储空间。 2、字符串截取函数 用来截取字符串的一部分,可以从字符串的左部、右部或中 部截取。 (1)左部截取 格式:Left(字符串,n) 返回字符串的前“n”个字符 (2)中部截取 格式:Mid(字符串,n1,n2) 从第n1个字符开始共截取n2个字符。
主讲:常国锋
4.3.2 字符串函数
5、空格函数 格式:Space(n) 返回n个空格。 6、大小写转换函数 格式:Ucase(字符串) 小写字母转换为大写字母 Lcase(字符串) 大写字母转换为小写字母 7、字符串匹配函数 格式:InStr ( [首字符位置,]字符串1 , 字符串2 [,n] ) 从字符串1的指定的首字符位置开始查找字符串2,如果没有 给出首字符位置,则从头开始查找。 函数说明: 首字符位置是可选的,首字符位置是一个长整数。函数的最 后一个自变量n也是可选的,n的值可以取0、1、2。如取0则 进行二进制比较,区分字母的大小写;如为1则在比较时不区 分大小写;如为2则基于数据库中包含的信息进行比较。默认 为0,也就是说查找时区分大小写。
主讲:常国锋
4.3 字符处理和字符串函数
4.3.2 字符串函数
在VB中提供了大量的字符串操作函数,可以对字符串进 行各种各样的处理,对于这些函数来说一般有四种形式,末 尾是否加字符串类型标识符“$”或者是否用于ANSI编码方 式。四种形式如下所示: 函数名$ ( 参数1,参数2…… ) 函数名 ( 参数1,参数2…… ) 用于ANSI格式的字符串 函数名B$ (参数1,参数2…… ) 函数名B (参数1,参数2…… )
VB第4章_运算符与表达式

连接符“&”与“+”的区别是: “&”连接符两旁的操作数不管是字符型还是数值型,进 行连接操作前,将操作数转换成字符型,然后再连接.
" 123 " + " 456 " '结果 " 123456 " " 123 " & " 456 " '结果 " 123456 " 123 & " 456 " '结果 " 123456 " " 123 " & 456 ' 结果为 " 123456 “ “ abc ” & 12345 „ 结果 "abc12345 “
a 小数 b 大数
a 小数
b 大数
22
例6:3+(3>2)
‟值为2
– VB将非0数据认为True,但以-1表示True,0表示False,所以逻辑 型是 False 比 True 大。
例7:已知变量a = 3、b = 4、c = 5,求下面表达式的值。
Not (a+b)+c-1 And b+c/2
年龄<40 And 性别=“女” And (学历=“专科” Or 学历=“本科”)
例4: 数学的 3<=x<=7 式子用VB的表示为:
3〈=x And x <=7 3<=x<=7 或 3<=x Or x<=7
例5:
比a小,比b大 用 Or: x < a or x > b 比a大,比b小 用 And: x>a and x<b
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)字符串数据进行比较运算时,按照其ASCII码 值进行比较。在比较两个字符串时,先比较第一 个字符,其中ASCII码值较大的字符所在字符串大, 如果第一个字符相同,再比较第二个……依次类 推。
(4)关系运算符Like用于比较左边的字符串是否与 右边的字符串匹配。右边的字符串可包含通配符*、 #、?等。
对两个关系表达式的值进行比较,如果两个表达式的值 均为True,则结果为True,否则结果为False。 (3)Or(或)
对两个表达式进行比较,如果其中一个表达式的值为 True,那么结果为True,当且仅当两个表达式的值都是 False,结果才为False。
主讲:常国锋
4.1.4 逻辑运算
(4)Xor(异或) 当两个表达式的值一个为True,另一个为False
在早期的Visual Basic版本中,字符处理采用的是ANSI 字符处理机制。西文字符占用一个字节进行编码,中文字符 占用两个字节进行编码。ANSI字符处理机制是Visual Basic 4.0 以前版本的编码方式。Visual Basic 4.0及其以后版本 VB的字符处理机制采用的是Unicode 方式(统一编码方 式),把各国文字字符作为一个统一的整体进行编码,在这 种机制下一个英文字符或一个汉字都可以看作是一个字符, 所占用的存储空间均为两个字节。
关于比较运算符的几点说明: (1)应当尽可能避免对两个浮点数进行“相等”或“不等”的
判断,否则可能出错。 (2)在数学中一个数x是否在区间[a,b]时,我们习惯写成a ≤ x
≤ b,但在Visual Basic中不允许这样表示,应该写成:a <= x And x <= b
主讲:常国锋
4.1.3 比较运算(关系运算)
在各种不同的运算符之间,连接符的优先顺序 是排在所有的算术运算符的后面,但是在比较运 算,然后 进行连接。
除了“&”外,算术运算符“+”也可以用做字符 串连接符,注意“+”号只能用于连接字符串
主讲:常国锋
4.1.6 表达式的执行顺序
主讲:常国锋
4.3.2 字符串函数
1、字符串长度测试函数 格式:Len(字符串)
Len(变量名) 功能:测试指定字符串的长度(即字符个数),或者测试变量
的存储空间。 2、字符串截取函数
用来截取字符串的一部分,可以从字符串的左部、右部或中 部截取。 (1)左部截取 格式:Left(字符串,n) 返回字符串的前“n”个字符 (2)中部截取 格式:Mid(字符串,n1,n2) 从第n1个字符开始共截取n2个字符。
为了解决这个问题,Microsoft在新版本的Visual Basic中 新增加了一组字符串处理函数,以兼容原有的ANSI。这些 新增加的字符串处理函数就是在原来函数的函数名后面加一 个字母“B”,如LenB,LeftB等等。加了字母“B”的字符串 处理函数用于ANSI编码方式,为了实现ANSI与Unicode之 间的转换,Visual Basic提供了一个转换函数StrConv,格式 如下:
(5)关系运算符Is用于比较两个object类型的变量 是否引用同一个对象。
主讲:常国锋
4.1.4 逻辑运算
逻辑运算是指对两个布尔类型的运算量进行的运算。所 以,逻辑运算也称为“布尔”运算。在Visual Basic中, 逻辑运算符一共有六个。 (1)Not(非)
由真变假由假变真,进行“取反”运算。 (2)And(与)
时,结果为True,否则结果为Fasle。 (5)Eqv(等价)
如果两个表达式同时为True或同时为Fasle时, 其结果为True,否则结果为Fasle。 (6)Imp(蕴含)
当第一个表达式为True,且第二个表达式为 Fasle,其结果为Fasle。
主讲:常国锋
4.1.5 连接运算
连接运算符可以对各种不同的运算量或表达式 进行连接运算。连接运算符为:&
第4章 VB的运算表达式和内部函数
利用运算表达式,用户可对多个数 据进行算术运算、逻辑运算和比较运算 等。函数的概念与一般数学中的概念大 致相同。函数是一种特定的运算,在程 序中要使用一个函数时,只要给出函数 名和参数,就能得到它的函数值。在 Visual Basic中函数分为两类:内部函 数和用户自定义函数。本章主要介绍 Visual Basic中的内部函数。
主讲:常国锋
4.1.2 算术运算
(3)取模运算 取模运算用来求余数,其结果为第二个操作数整除第
一个操作数所得的余数。两个操作数如果为实数,也要先 进行四舍五入取整,再进行取模运算。 2.算术运算符的优先级
不同的算术运算符在表达式中参与运算的级别是不同 的,其中幂运算的级别最高,加减运算符的级别最低。先 乘除,后加减;乘方优先于乘除;函数优先于乘方;mod 次于乘除;优先于加减;括号内最优先。同一级的运算在 表达式中,按其位置从左至右进行。
主讲:常国锋
4.3 字符处理和字符串函数
4.3.1 Visual Basic字符处理机制
Unicode方式实现了中、西文字符的统一编码,但给中、 西文字符混合编码带来了麻烦。因为在单字节处理方式 (ANSI)中,对字符串的处理是以字节为单位的;而在大 字符的编码方案中,对字符串的处理是以字符为单位的, 这样就会给原有的字符串处理带来混乱。
新字符串 = StrConv(待转换字符串,转换格式)
主讲:常国锋
4.3 字符处理和字符串函数
4.3.2 字符串函数
在VB中提供了大量的字符串操作函数,可以对字符串进 行各种各样的处理,对于这些函数来说一般有四种形式,末 尾是否加字符串类型标识符“$”或者是否用于ANSI编码方 式。四种形式如下所示: 函数名$ ( 参数1,参数2…… ) 函数名 ( 参数1,参数2…… ) 用于ANSI格式的字符串 函数名B$ (参数1,参数2…… ) 函数名B (参数1,参数2…… )
幂运算用来计算乘方和方根,其运算符为“^”。注意, 当指数是一个表达式时,必须加上括号,因为在算术运算 符中幂运算具有最高级别。 (2)浮点数除法与整数除法
浮点数除法的运算符是“/”,其结果为浮点数。整数 除法的运算符是“\”执行整除运算,结果为整型值 。运算 后其结果进行取整操作,不进行舍入处理。
一个表达式可能含有多种运算,计算机按一定的顺序对表 达式求值。一种类型的运算其各运算符之间有不同的优先 级 ,不同种类的运算之间还有不同的优先级。 一般的优先顺序如下: (1)首先进行函数运算。 (2)接着进行算术运算,其次序为(从左至右,优先级递 减): 幂(^)——取负(-)——乘(*)、浮点除(/)——整除 (\)——取模(mod)——加(+)、减(-) (3)接着进行连接运算 (4)然后进行比较运算。 (5)最后进行逻辑运算,顺序为(从左至右,优先级递 减):Not—— And —— Or ——Xor ——Eqv ——Imp
在立即窗口中可以输入命令,命令解释程序对输 入的命令进行解释,并立即响应,与DOS下命令行 的执行情况类似。
主讲:常国锋
4.3 字符处理和字符串函数
4.3.1 Visual Basic字符处理机制 在Visual Basic中提供了大量的字符串操作函数,字符串
函数大都以类型说明符“$”结尾,表明函数的返回值为字符 串。但是在在Visual Basic 6.0中,函数末尾的“$”可以有, 也可以省略,其功能相同。
主讲:常国锋
4.3.2 字符串函数
(3)右部截取 格式:Right(字符串,n) 返回字符串的后n个字符。 3、删除空白字符串函数 (1) Ltrim(字符串):删除左侧的空白字符串 (2) Rtrim(字符串):删除右侧的空白字符串 (3) Trim(字符串):删除左右两侧的空白字符串 4、String函数 格式:String(n,ASCII码) 或者 String(n,字符串)
在运算时,用运算符连接运算量组成一个式子,来表示 对运算量进行何种运算,这种由运算符连接运算量组成的 式子称为表达式。
主讲:常国锋
4.1.2 算术运算
1.算术运算符 算术运算是最常用的运算,很多的运算符都和我们在
数学中学到的算术运算符,但也有一部分和数学中的不一 样,这些运算符大家要特别记忆一下,否则在写表达式时 会发生错误。 (1)幂运算
主讲:常国锋
4.2 常用内部函数
Visual Basic提供了大量的内部函 数,内部函数也称标准函数,是VB系 统提供的,使用时只要直接调用函数 名即可。在这些函数中,有些是通用 的有些则与某种操作有关,大体分为 5类,本节先介绍数学函数、转换函 数、日期函数、时间函数和随机函数, 下一小节再来介绍字符串函数。
主讲:常国锋
4.2.1 常用内部函数
1.数学函数 2.转换函数 3.时间日期函数 4.随机数函数
主讲:常国锋
4.2.2 立即窗口
为了检验每个函数或表达式的操作,可以编写事件 过程如Form_Click或Command1_Click。但这样做比 较繁琐,因为必须执行事件过程才能看到结果。
为此,Visual Basic中提供了命令解释程序(CLI: Command Line Interpreter),可以通过命令行直接 显示函数的执行结果,但要实现这一功能必须先打开 立即窗口,这可以通过选择“视图”菜单中的“立即 窗口”命令实现。
主讲:常国锋
4.1.6 表达式的执行顺序
两点说明: 1、乘法和浮点除(或者加和减)同时出现在表达式中时,将
按照它们从左至右出现的顺序进行计算,用括号可以改变表 达式的优先顺序,强令它的某些部分优先运行。括号内的运 算总是优先于括号外的运算。 2、当幂和负号相邻,负号优先。 在书写表达式时,应注意以下几点: (1) 乘号不能省略,也不能象在数学中那样用“•”代替。 (2)在一般情况下,不允许两个运算符相连,应当用括号隔 开。 (3)在表达式中使用括号只能用圆括号,不能用方括号和或 花括号。 (4)在幂运算中当表达式不是单个常量或变量时,要用括号 括起来。
(4)关系运算符Like用于比较左边的字符串是否与 右边的字符串匹配。右边的字符串可包含通配符*、 #、?等。
对两个关系表达式的值进行比较,如果两个表达式的值 均为True,则结果为True,否则结果为False。 (3)Or(或)
对两个表达式进行比较,如果其中一个表达式的值为 True,那么结果为True,当且仅当两个表达式的值都是 False,结果才为False。
主讲:常国锋
4.1.4 逻辑运算
(4)Xor(异或) 当两个表达式的值一个为True,另一个为False
在早期的Visual Basic版本中,字符处理采用的是ANSI 字符处理机制。西文字符占用一个字节进行编码,中文字符 占用两个字节进行编码。ANSI字符处理机制是Visual Basic 4.0 以前版本的编码方式。Visual Basic 4.0及其以后版本 VB的字符处理机制采用的是Unicode 方式(统一编码方 式),把各国文字字符作为一个统一的整体进行编码,在这 种机制下一个英文字符或一个汉字都可以看作是一个字符, 所占用的存储空间均为两个字节。
关于比较运算符的几点说明: (1)应当尽可能避免对两个浮点数进行“相等”或“不等”的
判断,否则可能出错。 (2)在数学中一个数x是否在区间[a,b]时,我们习惯写成a ≤ x
≤ b,但在Visual Basic中不允许这样表示,应该写成:a <= x And x <= b
主讲:常国锋
4.1.3 比较运算(关系运算)
在各种不同的运算符之间,连接符的优先顺序 是排在所有的算术运算符的后面,但是在比较运 算,然后 进行连接。
除了“&”外,算术运算符“+”也可以用做字符 串连接符,注意“+”号只能用于连接字符串
主讲:常国锋
4.1.6 表达式的执行顺序
主讲:常国锋
4.3.2 字符串函数
1、字符串长度测试函数 格式:Len(字符串)
Len(变量名) 功能:测试指定字符串的长度(即字符个数),或者测试变量
的存储空间。 2、字符串截取函数
用来截取字符串的一部分,可以从字符串的左部、右部或中 部截取。 (1)左部截取 格式:Left(字符串,n) 返回字符串的前“n”个字符 (2)中部截取 格式:Mid(字符串,n1,n2) 从第n1个字符开始共截取n2个字符。
为了解决这个问题,Microsoft在新版本的Visual Basic中 新增加了一组字符串处理函数,以兼容原有的ANSI。这些 新增加的字符串处理函数就是在原来函数的函数名后面加一 个字母“B”,如LenB,LeftB等等。加了字母“B”的字符串 处理函数用于ANSI编码方式,为了实现ANSI与Unicode之 间的转换,Visual Basic提供了一个转换函数StrConv,格式 如下:
(5)关系运算符Is用于比较两个object类型的变量 是否引用同一个对象。
主讲:常国锋
4.1.4 逻辑运算
逻辑运算是指对两个布尔类型的运算量进行的运算。所 以,逻辑运算也称为“布尔”运算。在Visual Basic中, 逻辑运算符一共有六个。 (1)Not(非)
由真变假由假变真,进行“取反”运算。 (2)And(与)
时,结果为True,否则结果为Fasle。 (5)Eqv(等价)
如果两个表达式同时为True或同时为Fasle时, 其结果为True,否则结果为Fasle。 (6)Imp(蕴含)
当第一个表达式为True,且第二个表达式为 Fasle,其结果为Fasle。
主讲:常国锋
4.1.5 连接运算
连接运算符可以对各种不同的运算量或表达式 进行连接运算。连接运算符为:&
第4章 VB的运算表达式和内部函数
利用运算表达式,用户可对多个数 据进行算术运算、逻辑运算和比较运算 等。函数的概念与一般数学中的概念大 致相同。函数是一种特定的运算,在程 序中要使用一个函数时,只要给出函数 名和参数,就能得到它的函数值。在 Visual Basic中函数分为两类:内部函 数和用户自定义函数。本章主要介绍 Visual Basic中的内部函数。
主讲:常国锋
4.1.2 算术运算
(3)取模运算 取模运算用来求余数,其结果为第二个操作数整除第
一个操作数所得的余数。两个操作数如果为实数,也要先 进行四舍五入取整,再进行取模运算。 2.算术运算符的优先级
不同的算术运算符在表达式中参与运算的级别是不同 的,其中幂运算的级别最高,加减运算符的级别最低。先 乘除,后加减;乘方优先于乘除;函数优先于乘方;mod 次于乘除;优先于加减;括号内最优先。同一级的运算在 表达式中,按其位置从左至右进行。
主讲:常国锋
4.3 字符处理和字符串函数
4.3.1 Visual Basic字符处理机制
Unicode方式实现了中、西文字符的统一编码,但给中、 西文字符混合编码带来了麻烦。因为在单字节处理方式 (ANSI)中,对字符串的处理是以字节为单位的;而在大 字符的编码方案中,对字符串的处理是以字符为单位的, 这样就会给原有的字符串处理带来混乱。
新字符串 = StrConv(待转换字符串,转换格式)
主讲:常国锋
4.3 字符处理和字符串函数
4.3.2 字符串函数
在VB中提供了大量的字符串操作函数,可以对字符串进 行各种各样的处理,对于这些函数来说一般有四种形式,末 尾是否加字符串类型标识符“$”或者是否用于ANSI编码方 式。四种形式如下所示: 函数名$ ( 参数1,参数2…… ) 函数名 ( 参数1,参数2…… ) 用于ANSI格式的字符串 函数名B$ (参数1,参数2…… ) 函数名B (参数1,参数2…… )
幂运算用来计算乘方和方根,其运算符为“^”。注意, 当指数是一个表达式时,必须加上括号,因为在算术运算 符中幂运算具有最高级别。 (2)浮点数除法与整数除法
浮点数除法的运算符是“/”,其结果为浮点数。整数 除法的运算符是“\”执行整除运算,结果为整型值 。运算 后其结果进行取整操作,不进行舍入处理。
一个表达式可能含有多种运算,计算机按一定的顺序对表 达式求值。一种类型的运算其各运算符之间有不同的优先 级 ,不同种类的运算之间还有不同的优先级。 一般的优先顺序如下: (1)首先进行函数运算。 (2)接着进行算术运算,其次序为(从左至右,优先级递 减): 幂(^)——取负(-)——乘(*)、浮点除(/)——整除 (\)——取模(mod)——加(+)、减(-) (3)接着进行连接运算 (4)然后进行比较运算。 (5)最后进行逻辑运算,顺序为(从左至右,优先级递 减):Not—— And —— Or ——Xor ——Eqv ——Imp
在立即窗口中可以输入命令,命令解释程序对输 入的命令进行解释,并立即响应,与DOS下命令行 的执行情况类似。
主讲:常国锋
4.3 字符处理和字符串函数
4.3.1 Visual Basic字符处理机制 在Visual Basic中提供了大量的字符串操作函数,字符串
函数大都以类型说明符“$”结尾,表明函数的返回值为字符 串。但是在在Visual Basic 6.0中,函数末尾的“$”可以有, 也可以省略,其功能相同。
主讲:常国锋
4.3.2 字符串函数
(3)右部截取 格式:Right(字符串,n) 返回字符串的后n个字符。 3、删除空白字符串函数 (1) Ltrim(字符串):删除左侧的空白字符串 (2) Rtrim(字符串):删除右侧的空白字符串 (3) Trim(字符串):删除左右两侧的空白字符串 4、String函数 格式:String(n,ASCII码) 或者 String(n,字符串)
在运算时,用运算符连接运算量组成一个式子,来表示 对运算量进行何种运算,这种由运算符连接运算量组成的 式子称为表达式。
主讲:常国锋
4.1.2 算术运算
1.算术运算符 算术运算是最常用的运算,很多的运算符都和我们在
数学中学到的算术运算符,但也有一部分和数学中的不一 样,这些运算符大家要特别记忆一下,否则在写表达式时 会发生错误。 (1)幂运算
主讲:常国锋
4.2 常用内部函数
Visual Basic提供了大量的内部函 数,内部函数也称标准函数,是VB系 统提供的,使用时只要直接调用函数 名即可。在这些函数中,有些是通用 的有些则与某种操作有关,大体分为 5类,本节先介绍数学函数、转换函 数、日期函数、时间函数和随机函数, 下一小节再来介绍字符串函数。
主讲:常国锋
4.2.1 常用内部函数
1.数学函数 2.转换函数 3.时间日期函数 4.随机数函数
主讲:常国锋
4.2.2 立即窗口
为了检验每个函数或表达式的操作,可以编写事件 过程如Form_Click或Command1_Click。但这样做比 较繁琐,因为必须执行事件过程才能看到结果。
为此,Visual Basic中提供了命令解释程序(CLI: Command Line Interpreter),可以通过命令行直接 显示函数的执行结果,但要实现这一功能必须先打开 立即窗口,这可以通过选择“视图”菜单中的“立即 窗口”命令实现。
主讲:常国锋
4.1.6 表达式的执行顺序
两点说明: 1、乘法和浮点除(或者加和减)同时出现在表达式中时,将
按照它们从左至右出现的顺序进行计算,用括号可以改变表 达式的优先顺序,强令它的某些部分优先运行。括号内的运 算总是优先于括号外的运算。 2、当幂和负号相邻,负号优先。 在书写表达式时,应注意以下几点: (1) 乘号不能省略,也不能象在数学中那样用“•”代替。 (2)在一般情况下,不允许两个运算符相连,应当用括号隔 开。 (3)在表达式中使用括号只能用圆括号,不能用方括号和或 花括号。 (4)在幂运算中当表达式不是单个常量或变量时,要用括号 括起来。