章 节】第二章 Visual FoxPro 基础
2.3 表达式
【课 时】2课时
【教学目的】1、表达式的分类
2、各种表达式的定义
3、各种表达式的组成
4、各种表达式的运算
【教学重点】求各种表达式运算及注意事项
【教学过程】
一、复习引入新课
上节课我们了解了VFP的基本特点,在此基础上学习了VFP所提供的数据类型及常量和变量的定义及其类型,下面我们学习如何利用这些常量或变量进行计算。
二、新课
1、表达式的定义
表达式是变量、常量、函数、字段名(字段变量)、控件的各种属性以及操作符的组合。写一个表达式首先要确定表达式的类型。
2、表达式的分类
按表达式的结果分,表达式可分为:
l 数值表达式
l 字符表达式
l 关系表达式
l 逻辑表达式
3、数值表达式
是指运算结果为数值的表达式,也称为数值表达式,它由数值操作符和数值操作数组成,其中
l 数值操作符有:( ),** 或^ 乘方,*,/ ,%(取余),+,-
l 数值操作数可以是数值型常量、数值型变量、结果是数值型的函数、类型是数值型的字段变量、类型是数值型的控件属性等。
l 运算顺序为:先乘方,后乘除,再加减,有括号先算括号,级别相同的运算按从左向右的顺序进行。
例:如果X=3,档案表中某记录年龄字段的值为16,某表单FORM1的某一数值型文本TEXT1的值为5,则
(X+3)*档案.年龄+10%3+abs(-2)^2 –form1.text1.value表达式的值为96
4、字符表达式
是指运算结果是字符型数据的表达式。它由字符操作符和字符操作数组成。
l 字符操作数有:字符常量、字符变量、结果是字符型的函数、类型是字符型的字段娈量、类型是字符型的控件属性。
l 字符操作符有:+(连接) -(移空格连接) $ 判子串
例如:“中华”+“人民”=“中华人民”
“中华 ”+“人民”=“中华 人民”
“中华”-“人民”=“中华人民”
“中华 ”-“人民”=“中华人民 ”
$ 的意思是:如果后面的字符能完全包括前面的字符,则表达式的值为“真”(.T.),否则为“假”(.F.).
例如:“中华”$“中华人民”=.T.
“中华人民”$“中华”=.F.
5、日期表达式
是指运算结果是日期型的表达式,由日期操作数和日期操作符组成。
l 日期操作数可以是日期常量、日期变量、结果是日期型的函数、类型是日期型的字段娈量、类型是日期型的控件属性,特别的日期表达式中还可以包括数字。
l 日期操作符有:+ -
例如:{02/10/01}-365={02/10/00}
{02/10/01}-{02/10/00}=365
6、关系表达式
运算结果是逻辑型数据,.T.(真)或 .F.(假),由操作符和操作数组成。
l 操作符有:> < = <= >= <>或# ( )
l 操作数可以是种常量、变量、函数及算术表达式。
例如:5>6=.F. 6>5=.T. {02/10/01}>{02/10/00}=.T.
{02/10/01}<{02/10/00}=.F. {02/10/01}-50<{02/10/00}=.F.
注意:
l 数值型数值按大小比较。
l 字符型数值按ASCII码的大小来比较,具体表示为
» 大写字母>小写字母,如 “A”>”a”=.T.
» 在26个英语字母中排在后面的字母大,如 ”B”>”A”
» 汉字按其汉语拼音字母的大小来比较,如 “王”(wang)<”张”(zhang)=.T.
» 如果字符串或汉字的第一个字母相同,则按第二个字母的大小来比较,如
”王”(wang)>”魏”(wei)=.F.,以此类推。
» 任何字母比空格大,如 ”王”>”万”=.T.
l 在关系表达式中除括号可以改变运算的顺序之外,其他运算符无优先顺序。
l 进行比较的数据要求类型相同。即数值之间比较,字符之间比较,日期之间比较,不能用数值与字符进行比较。
l 当数值表达式出现在关系表达式中时,数值运算优于关系运算。
如:2+3>8=.F.
7、逻辑表达式
与关系表达式相同,运算的结果只能是逻辑数据 .T.(真)或 .F.(假),也由逻辑操作符和操作数组成。
l 操作符有:( ) .NOT.或! (非) .AND.(与,且) .OR.(或)
l 操作数可以是逻辑型数值、结果是逻辑型的函数据及表达式等。
l 运算必须按一定顺序:先 .NOT. 后 .AND. 再 .OR.,括号可以改变运算顺序。
l 非、与、或之间的运算关系为:
.NOT. .AND. .OR. .T. .F. .F. .T. .T. .T. .T. .T. .T. .F. .F. .T.
即:如果变量Is_student=.T. Is_boy=.F. ,则
.NOT. Is_student=.F. .NOT. Is_boy=.T.
Is_student .AND. Is_boy=.F.
Is_student .OR. Is_boy=.T.
8、总之,在VFP中,特别在程序中以下各种表达式可以综合使用,但必须按一定的顺序进行:
括号---乘方---求模---加减或字符串连接---关系运算----逻辑非---逻辑与---逻辑或
( ) **或^ % + - .NOT. .AND. .OR.
三、课堂小结
本节课学习了VFP中表达式的分类及使用,其中零碎知识点较多,也较复杂。同学们要通过上机练习,认真思考,认真总结。
四、作业:
1、给出下列表达式的值:
2**8 8**2 93%12 “ 法律”+” 常识” “ 法律”-” 常识”
{12/10/02}+7 {03/16/02}-{03/16/80} “中华人民”$”中华” “安徽”=”天长”
“安徽”>”天长”
2、设nl=50 xb=”女” zc=”教授” x=3 y=4 z=5 则下列各式的值为什么?
Nl<30 and xb=”男”
Nl>50 or xb=”女”
Not(nl<60 and zc=”教授”)
X+y>z and x<z or x>y and y<z
|