Visual basica程序设计 第九讲 第四章程序流程的控制 2021/2/22
2021/2/22 1 Visual Basic程序设计 第九讲 第四章 程序流程的控制 (一)
二关系表达式 布尔表达式 本章要点 选择结构 循环结构 常用控件的使用 2021/2/22 冈心风2
2021/2/22 2 本章要点 常用控件的使用 关系表达式 选择结构 循环结构 布尔表达式
§41关系运算符和关系表达式 4.1.1关系运算符VB提供六种关系运算符 关系 物理意义 例子 说明 运算符 小于 若x=5,y=2求xy的值 值为 False 小于等于 若x=2,y=4求x8 值为 False 大于等于 0>=(12012不等于 aso awe 值为True
2021/2/22 3 关系 运算符 物理意义 例子 说明 大于 “3”>8 值为False >= 大于等于 0>=(1 不等于 “asd” <> “qwe” 值为True §4.1关系运算符和关系表达式 4.1.1 关系运算符 VB提供六种关系运算符 表4-1
412关系表达式 1.VB中的关系表达式格式为: [],… 2.说明: (1)其中可为算术表达式、字符串表达式 和日期型表达式。 (2)关系表达式求值的次序是先求关系运算符两边 表达式的值,再求关系表达式的值。关系表达式的 值为 Boolean型,只有两个值True和 False (3)若关系运算符两边为算术表达式时,则应先计 算算术表达式的值,再进行关系比较。 2021/2/22 <心4
2021/2/22 4 4.1.2 关系表达式 1. VB中的关系表达式格式为: [ ], … ] 2. 说明: (1)其中可为算术表达式、字符串表达式 和日期型表达式。 (2)关系表达式求值的次序是先求关系运算符两边 表达式的值,再求关系表达式的值。关系表达式的 值为Boolean型,只有两个值True和False。 (3)若关系运算符两边为算术表达式时,则应先计 算算术表达式的值,再进行关系比较
(4)若关系运算符两边为字符串表达 式时,按字符串中每个字母的 ASCII 码逐一进行比较,若比较的前几个 字母的ASCI码都一样,而当比较到 后面哪一个字母不一样,则哪个字 母的ASCI1数值大,则对应的字符 串就大。 2021/2/22 K心少5
2021/2/22 5 (4)若关系运算符两边为字符串表达 式时,按字符串中每个字母的ASCII 码逐一进行比较,若比较的前几个 字母的ASCII码都一样,而当比较到 后面哪一个字母不一样,则哪个字 母的ASCII码数值大,则对应的字符 串就大
例如: “ gert”>=“ qwert”的值为True 常见字符的ASCI值大小排列如下: “空格 9>6609966199 << 9 <“A”<“B”<。<“Z <“a”<“b”<<“z 若关系运算符两边为日期型表达式 时,按日期的先后次序,日期在前的值 2021/2/22 K心少6
2021/2/22 6 例如: “qwert ” >= “qweRt ” 的值为True。 常见字符的ASCII值大小排列如下: “空格”<“0”<“1”<…<“9” <“A”<“B”<…<“Z” <“a”<“b”<…<“z” 若关系运算符两边为日期型表达式 时,按日期的先后次序,日期在前的值 小
例如: #08/24/98#>#10/23/96# 值为True #09/13/00#<#09/1299# 值为 False 3.注意: 因为浮点数在计算机内不能精确表示, 所以在ⅤB中不能用“=”来比较两个单精度 或双精度数的浮点数。 例如: 50*40=20.0在数学上是成立的,而 在ⅤB中其值可能为 False。若需要比较两个 浮点数时,则应写成下列形式: Ab(5.040-x)<=1e-5若5.0*4.0-x)的绝 怼值小于等于1e5时,则认为x等干50*.0
2021/2/22 7 例如: #08/24/98# > #10/23/96# 值为True。 #09/13/00# < #09/12/99# 值为False。 3. 注意: 因为浮点数在计算机内不能精确表示, 所以在VB中不能用“=”来比较两个单精度 或双精度数的浮点数。 例如: 5.0*4.0 = 20.0在数学上是成立的,而 在VB中其值可能为False。若需要比较两个 浮点数时,则应写成下列形式: Abs(5.0*4.0-x) <= 1e-5 若(5.0*4.0-x)的绝 对值小于等于1e-5时,则认为x等于 5.0*4.0
在VB中不能把数学中的不等式 10<x<20表示成10<x<=20,若表示 成10<x<=20这种形式,不论x为何 值关系表达式10<x<=20的值都为 True。 关系表达式10<x<=20相当于 (10<x)<=20由于(10<x)的值 无论为True(-1)或 false(0)都小于20, 所以10<x<=20的值总为True。这显 然与数学中的不等式的意义不同。 2021/2/22 心8
2021/2/22 8 在VB中不能把数学中的不等式 10<x≤20表示成 10 < x < = 20,若表示 成10 < x < = 20这种形式,不论x为何 值关系表达式10 < x < = 20的值都为 True。 关系表达式10 < x < = 20相当于 (10 < x)< = 20由于(10 < x)的值 无论为True(-1)或False(0)都小于20, 所以10 < x < = 20的值总为True。这显 然与数学中的不等式的意义不同
§42布尔运算符和布尔表达式 对于不能用关系表达式表示的较复杂 的条件可用布尔表达式来表示。如上面提 到的数学不等式1010Andx<=20。 42.1布尔运算符和布尔表达式 1.布尔运算符。 VB中共有六种布尔运算符,它们是: And、Or、Not、Xor、Eqv和Imp 2021/2/22 <心9
2021/2/22 9 §4.2布尔运算符和布尔表达式 对于不能用关系表达式表示的较复杂 的条件可用布尔表达式来表示。如上面提 到的数学不等式10 10 And x < = 20。 4.2.1布尔运算符和布尔表达式 1. 布尔运算符。 VB中共有六种布尔运算符,它们是: And、Or、Not、Xor、Eqv和Imp
表4-2布尔运算符 布尔运算符物理意义 举例 说明 And 逻辑与运算 23 与运算两边的表达式都为真 值为True 时结果为真,否则为假。 逻辑或运算 “a>“b”Or5>0或运算两边的表达式只要有 值为True 个为真,结果就为真(True) 两边都为假时结果才为假。 Not 逻辑非运算 Not x>=6 非运算对表达式的值取反 Xor 逻辑异或运算“a”<“b”Xor5<0异或运算两边表达式的值不 值为True 同,则结果为真,相等时结 果为假 E 逻辑等运算 3<2Eq(3-逻辑等运算两边表达式的值 1)<0 相同,则结果为真,不相同 值为True 时,结果为假。 2021/2/22 10
2021/2/22 10 布尔运算符 物理意义 举例 说明 And 逻辑与运算 23 值为True 与运算两边的表达式都为真 时结果为真,否则为假。 Or 逻辑或运算 “a”>“b” Or 5>0 值为True 或运算两边的表达式只要有一 个为真,结果就为真(True) 两边都为假时结果才为假。 Not 逻辑非运算 Not x>=6 非运算对表达式的值取反。 Xor 逻辑异或运算 “a”<“b” Xor 5<0 值为True 异或运算两边表达式的值不 同,则结果为真,相等时结 果为假。 Eqv 逻辑等运算 3<2 Eqv (3- 1)<0 值为True 逻辑等运算两边表达式的值 相同,则结果为真,不相同 时,结果为假。 表4-2 布尔运算符