《第2章表达式及应用PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章表达式及应用PPT讲稿.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章表达式及应用章表达式及应用第1页,共38页,编辑于2022年,星期一数值型常数是数值型常数是整数整数或或实数实数,可以用可以用科学计数法科学计数法表表示。示。由数字由数字09、小数点与正负号组成,在内存中占、小数点与正负号组成,在内存中占8个字节,能表示个字节,能表示120位数据。位数据。数值型数据数值型数据(N):2.1.12.1.1数值型数据数值型数据能能参与算术运算参与算术运算的数据。的数据。如:23、-153 如:123.48、-1345.6782.34e+42.34e+4表示:表示:2.34102.34104 4,即:,即:23400234001E-2 1E-2 表示:表示:
2、1010-2-2,即:即:0.010.013.5E2.0 3.5E2.0 不能表示数值型常数不能表示数值型常数3.5103.5102 2第2页,共38页,编辑于2022年,星期一字符型常数是用字符型常数是用半角半角的的单引号单引号、双引号双引号或或方括号方括号括起括起来的一串字符。来的一串字符。2.1.22.1.2字符型数据字符型数据如:如:”张大明张大明”如:如:我学习我学习VFPVFP如:如:男男 由英文字母、汉字或数字等符号组成的一串字符。由英文字母、汉字或数字等符号组成的一串字符。半角半角字符字符占一个字节占一个字节,一个汉字或全角字符占两个,一个汉字或全角字符占两个字节。字节。字符型
3、数据字符型数据(C):能能参与字符运算参与字符运算的数据。的数据。第3页,共38页,编辑于2022年,星期一 定定界界符符本本身身不不作作为为字字符符型型常常数数的的内内容容,当当定定界界符符作作为为字字符符串串本本身身的的内内容容时时,就就必必须须使使用用另另一一种定界符种定界符作为字符型常数的标志。作为字符型常数的标志。字符串长度字符串长度是指字符串中所含是指字符串中所含字符个数。字符个数。2.1.22.1.2字符型数据字符型数据“我学习我学习VFPVFP”的长度是的长度是9 9“成绩在成绩在 60 分的人数分的人数”第4页,共38页,编辑于2022年,星期一日期型数据日期型数据(D):2
4、.1.42.1.4日期型数据日期型数据可以表示日期值。可以表示日期值。日期型常数用一对大括号日期型常数用一对大括号“”括起来括起来。其中包含其中包含年、月、日年、月、日三部分内容,各部分内容之间三部分内容,各部分内容之间可以可以用半角用半角的斜杠(的斜杠(/)、连字号()、连字号(-)、小数点()、小数点(.)或空格等或空格等分隔符分隔符进行分隔。进行分隔。占占8个字节。个字节。第5页,共38页,编辑于2022年,星期一2.1.4 2.1.4 日期型数据日期型数据 设置成设置成传统传统日期格式日期格式 Set Strictdate To 0 Set Date Ansi设置成设置成年年.月月.日
5、日格式格式 Set Century On 4位位年份值年份值 X=11.10.01 X值是:值是:2011年年10月月1日日?X 输出结果为:输出结果为:2011.10.01 日期型常数有日期型常数有传统传统和和严格严格两种格式。两种格式。Set Strictdate To Set Strictdate To 0 0 Set Strictdate To Set Strictdate To 1 1 第6页,共38页,编辑于2022年,星期一 逻辑型常数只有逻辑型常数只有真真和和假假两种值。定界符由前两种值。定界符由前后后2个个半角半角小圆点小圆点“.”组成组成输入输入时:时:.T.、.t.、.Y
6、.或或.y.表示真表示真输出输出时:时:.T.表示真表示真2.1.6 2.1.6 逻辑型数据逻辑型数据 表示表示逻辑判断逻辑判断的结果,非此即彼。的结果,非此即彼。条件条件是否是否成立、事物的成立、事物的真真或或假假、是是与与非非?.T.,.t.,.Y.T.T.T.输入输入时:时:.F.、.f.、.N.或或.n.表示假表示假输出输出时:时:.F.表示假表示假?.F.,.n.,.N.F.F.F.第7页,共38页,编辑于2022年,星期一2.2 2.2 简单内存变量简单内存变量 变量分为变量分为:内存变量内存变量和和字段变量字段变量 两类两类存储在内存中存储在内存中 ,由由字母字母、汉字汉字、数字
7、数字或或下划线组成下划线组成,不能以数字开头不能以数字开头 。例:。例:X X、NameName等等当前数据表中的当前数据表中的字段字段。例:学生表中的学号,例:学生表中的学号,姓名字段姓名字段允许内存变量与当前表中的字段(变量)允许内存变量与当前表中的字段(变量)重重名名,在引用内存变量时,需要,在引用内存变量时,需要加前缀加前缀“M.M.”或或“M-M-”。例:。例:M.M.学号表示引用内存变量学学号表示引用内存变量学号的值号的值 第8页,共38页,编辑于2022年,星期一赋值命令赋值命令为内存变量首次赋值时,就创建了内为内存变量首次赋值时,就创建了内存变量,既规定了存变量,既规定了变量名
8、变量名,又指定了变量的,又指定了变量的值值。所赋所赋值值的类型的类型决定了决定了内存变量的内存变量的数据类型数据类型。2.2.1 2.2.1 内存变量赋值内存变量赋值使内存使内存变量有确切值变量有确切值的操作。使用的操作。使用内存变量前必须内存变量前必须先赋值先赋值。格式格式1:=格式格式2:Store To 例例第9页,共38页,编辑于2022年,星期一命令格式命令格式2 2:?先计算先计算“表达式表表达式表”中每个表达式的中每个表达式的值值,再再依次输出依次输出这些值这些值 命令格式命令格式1 1:?2.2.3 2.2.3 输出表达式值输出表达式值从从下一行开始下一行开始位置输出计算结果,
9、若省略位置输出计算结果,若省略“表达式表表达式表”,则输出一个,则输出一个空行空行?总分总分,71+16,71+16总分总分 87 从从当前当前位置开始输出计算结果位置开始输出计算结果?总分总分,71+16,71+16总分总分 87?分分分分第10页,共38页,编辑于2022年,星期一2.3.1 2.3.1 数值运算符数值运算符运算符+、-*或*、/、%+、-优先级优先级正负号,例:正负号,例:-(+X)乘方乘方。例:用。例:用y*4或或y4表示表示y4乘乘、除除。例:。例:2/(3*X+1)/(X-1)2/(3*X+1)/(X-1)表示数学上的表示数学上的22 当两个当两个异符号异符号数求余
10、时,结果为第一个数除以第二数求余时,结果为第一个数除以第二个数的个数的余数余数再再加上第二个数加上第二个数。例:。例:8%-3 的结果是的结果是-1,-8%3 的结果是的结果是1.加加、减减运算。例:运算。例:y-x+8y-x+8按优先级按优先级高者先高者先运算。运算。高高低低求余运算求余运算。当两个。当两个同符号同符号数求余时,结果是第一数求余时,结果是第一个数除以第二个数的个数除以第二个数的余数余数。例:。例:8%3 的结果是的结果是2,-8%-3 的结果是的结果是-2。第11页,共38页,编辑于2022年,星期一2.3.2 2.3.2 常用数值型函数常用数值型函数 函数作为一种特殊的表达
11、式,可分为函数作为一种特殊的表达式,可分为系统函数系统函数和用和用户自定义函数。系统函数也称为标准函数,是户自定义函数。系统函数也称为标准函数,是VFPVFP系统定义的函数,可以系统定义的函数,可以直接使用直接使用。数值型函数指。数值型函数指函数值为数值型函数值为数值型 。第12页,共38页,编辑于2022年,星期一3.3.求平方根函数:求平方根函数:SqrtSqrt()值必须值必须大于大于或或等于等于0 2.3.2 2.3.2 常用数值型函数常用数值型函数返回值是数值表达式值的算术平方根。返回值是数值表达式值的算术平方根。第13页,共38页,编辑于2022年,星期一函数值是数值表达式的函数值
12、是数值表达式的整数部分整数部分,而,而不是四不是四舍五入舍五入。Int(2.9)、Int(-5.7)函数值是:函数值是:2 -52.3.2 2.3.2 常用数值型函数常用数值型函数IntInt():9.9.求整函数求整函数第14页,共38页,编辑于2022年,星期一返回值是字符表达式值中所含返回值是字符表达式值中所含字符的个数字符的个数,空格也空格也计算计算在内。每个在内。每个汉字占两个汉字占两个字符位置。字符位置。12.12.求字符串长度:求字符串长度:LenLen()2.3.2 2.3.2 常用数值型函数常用数值型函数例例第15页,共38页,编辑于2022年,星期一22.22.字符转换成数
13、值:字符转换成数值:ValVal()对字符表达式的对字符表达式的值去掉首部空格后值去掉首部空格后,从左向右将,从左向右将可转换的符号可转换的符号转换转换成数值型数据,作为函数的返成数值型数据,作为函数的返回值。回值。2.3.2 2.3.2 常用数值型函数常用数值型函数包括包括正号正号(+)、负号负号(-)和和09十个数码,也十个数码,也可以是可以是科学计数法科学计数法rEm形式的符号串。如形式的符号串。如果果首字符首字符就是就是不可转换不可转换的符号,则的符号,则函数返函数返回值为回值为0。例例第16页,共38页,编辑于2022年,星期一2.4 2.4 字符型表达式字符型表达式 字符运算符连接
14、字符运算符连接字符型数据的运算式,运字符型数据的运算式,运算结果是字符型数据。算结果是字符型数据。第17页,共38页,编辑于2022年,星期一2.4 2.4 字符型表达式字符型表达式+将两个字符型数据将两个字符型数据依次依次连接起来,构成一连接起来,构成一个新的字符型数据。个新的字符型数据。?“学学 ”+“生生”学学生生直接连接两个字符串第18页,共38页,编辑于2022年,星期一2.4 2.4 字符型表达式字符型表达式字符运算符字符运算符连接字符型数据的运算式,运算结连接字符型数据的运算式,运算结果是字符型数据。果是字符型数据。+:将两个字符型数据:将两个字符型数据依次依次连接起来,构成一个
15、连接起来,构成一个新的字符型数据。新的字符型数据。?“学学 ”+“生生”学学生生直接连接两个字符串第19页,共38页,编辑于2022年,星期一2.4 2.4 字符型表达式字符型表达式-:先将:先将第一个第一个字符型数据的字符型数据的尾部空格尾部空格移动到移动到第二第二个字符型数据的个字符型数据的尾部尾部,再依次连接成一个新的字,再依次连接成一个新的字符型数据。符型数据。?“学学 ”-“生生”学学生生 第一个字符串的尾部空格放到最后第20页,共38页,编辑于2022年,星期一2.2.删除(字符表达式中的)空格函数:删除(字符表达式中的)空格函数:例例 LtrimLtrim():删除删除左左端空格
16、端空格 Trim Trim()RtrimRtrim()AlltrimAlltrim():删除:删除两端两端空格空格1.1.生成空格函数:生成空格函数:SpaceSpace(数值表达式数值表达式)利用此函数,可以产生若干个空格组成的字利用此函数,可以产生若干个空格组成的字符串。空格符串。空格个数个数由数值表达式的由数值表达式的整数值决定整数值决定。2.4.2 2.4.2 常用字符型函数常用字符型函数功能相同功能相同,都是去掉字,都是去掉字符表达式值的符表达式值的右右端空格端空格 不能删除中间不能删除中间空格。如:空格。如:Alltrim(成成绩绩)的函数值是的函数值是成成绩绩数值表达式的整数值应
17、数值表达式的整数值应大于大于或或等于等于0。若整数若整数值值等于等于0,则函数产生一个,则函数产生一个空字符串空字符串,即长度,即长度为为0的字符串。的字符串。第21页,共38页,编辑于2022年,星期一3.3.取左子串:取左子串:LeftLeft(,)2.4.2 2.4.2 常用字符型函数常用字符型函数 从从值的值的最左端第一个最左端第一个字符开始,字符开始,取指定取指定字符作为函数值。字符作为函数值。例例第22页,共38页,编辑于2022年,星期一5.5.取任意子串函数取任意子串函数SubstrSubstr(,)从从 字符表达式字符表达式 值的值的 起始位置起始位置 取取指定指定 长度长度
18、 的子串作为函数值。的子串作为函数值。例例:X=”2008年北京奥林匹克运动会年北京奥林匹克运动会”?Substr(X,7,6)+Substr(X,19,2)+Substr(X,23,2)北京奥北京奥运运会会2.4.2 2.4.2 常用字符型函数常用字符型函数第23页,共38页,编辑于2022年,星期一12.12.数值转换成字符函数数值转换成字符函数 例例StrStr(,)11.11.系统时间函数:系统时间函数:TimeTime()2.4.2 2.4.2 常用字符型函数常用字符型函数若不省略,可以是若不省略,可以是任意数值任意数值,表示时间精确,表示时间精确到到百分秒百分秒,格式是:,格式是:
19、hh:mm:ss.是是数值型数值型表达式,系统表达式,系统自动取整自动取整。默认值是。默认值是10。指转换后字符串的整数、小数指转换后字符串的整数、小数和位小数点的和位小数点的总长度总长度。是是数值型数值型表达式,系统表达式,系统自动取整自动取整。默认值是默认值是0 函数函数返回值为字符型返回值为字符型数据。值为系统当前时数据。值为系统当前时间,采用间,采用24小时制小时制。第24页,共38页,编辑于2022年,星期一14.14.判断数据类型函数判断数据类型函数 例例VartypeVartype()TypeType()13.13.日期转换成字符:日期转换成字符:DtocDtoc()2.4.2
20、2.4.2 常用字符型函数常用字符型函数函数值都是函数值都是大写大写数据数据类型类型符号符号,用以,用以指出指出表达式值的表达式值的数据类型数据类型 要判断的表达式也可以用要判断的表达式也可以用”或或 作为定界作为定界符符函数值的格式与函数值的格式与Set DateSet Date和和Set CenturySet Century的设置的设置有关。有关。例例第25页,共38页,编辑于2022年,星期一系统日期系统日期(时间时间)函数函数:DateDate()()例例 例例 由由”+”或或”-”运算符连接运算符连接日期或数值型数据日期或数值型数据所构成的运算式。所构成的运算式。2.5 2.5 日期
21、型表达式日期型表达式 数值表达式的值表示数值表达式的值表示天数天数。+”表示求日期表示求日期 表达式值表达式值后后的日期;的日期;“-”表示求日期表达式表示求日期表达式 值值前前的日期。的日期。运算结果是运算结果是数值型数据数值型数据,表示两个日期,表示两个日期之间之间相差的天数相差的天数 第26页,共38页,编辑于2022年,星期一2.6 2.6 关系表达式关系表达式采采用用关关系系运运算算符符将将同同类类型型数数据据连连接接起起来来,以以便便进进行行比比较较。关关系系运运算算的的结结果果是是逻逻辑辑型型数数据据:当当关关系系成成立立时时,运运算算结结果果为为真真(.T.T.);否否则则运运
22、算算结结果果为假(为假(.F.F.)第27页,共38页,编辑于2022年,星期一运算符:运算符:、=、=、!#、=、=、$2.6 2.6 关系表达式关系表达式比较规则:依据比较规则:依据数学数学上的比较规则;上的比较规则;较较后后日期日期(时间时间)较较前前日期日期(时间时间);逻辑真(逻辑真(.T.)逻辑假(逻辑假(.F.)。)。“不等于不等于”运算符,运算符,相当于相当于数学上的数学上的精确相等精确相等。要求。要求两个字符串两个字符串(包含空格包含空格)必须必须完完全一致,运算结果才是全一致,运算结果才是.T.。如:。如:“王晓王晓”=“王晓王晓”的结果为的结果为.T.,“王晓王晓”=“王
23、晓明王晓明”的结果为的结果为.F.第28页,共38页,编辑于2022年,星期一精确比较规则精确比较规则:Set Exact On 例例非精确比较规则非精确比较规则:Set Exact Off 例例2.6.1 2.6.1 字符型数据的比较规则字符型数据的比较规则 字符型数据的比较结果取决于当前的字符型数据的比较结果取决于当前的比较规则比较规则和和 排序次序。排序次序。对两个字符型数据对两个字符型数据去掉尾部空格后去掉尾部空格后的字符串自左的字符串自左向右向右按对应字符按对应字符进行比较。如果比较到某位字符进行比较。如果比较到某位字符不相等,则包含小字符的字符串较小;如果比较不相等,则包含小字符的
24、字符串较小;如果比较到较短字符串的末尾还没比较出大小关系,则短到较短字符串的末尾还没比较出大小关系,则短字符串较小;如果两个字符串字符串较小;如果两个字符串完全相同,完全相同,则运算则运算结果为结果为相等(相等(=)。两两个个字字符符型型数数据据(含含空空格格)自自左左向向右右按按对对应应字字符符进进行行比比较较。如如果果比比较较到到某某位位字字符符不不相相等等,则则包包含含小小字字符符的的数数据据较较小小;如如果果运运算算符符右右侧侧整整个个数数据据是是左左侧侧数数据据的的首首部部子子串串,或或两两个个数数据据完完全全相相同同,则则运运算算结结果果为为相相等等(=)(=);如如果果运运算算符
25、符左左侧侧整整个个数数据据是是右右侧数据的首部子串,则左侧数据较小。侧数据的首部子串,则左侧数据较小。第29页,共38页,编辑于2022年,星期一排序次序:排序次序:1.Machine:机内码:机内码 2.Pinyin:拼音:拼音 3.Stroke:笔画:笔画方法二:方法二:在在命令窗口命令窗口或或程序程序中使用中使用VFPVFP命令:命令:Set Set CollateCollate To To“”设置方法:设置方法:方法一:工具方法一:工具菜单菜单选项选项数据数据选项卡选项卡从从“排排 序序列序序列”下拉列表框中下拉列表框中选择排序次序选择排序次序 设置为默认值设置为默认值确定确定。2.6
26、.2 2.6.2 字符数据的字符数据的“排序次序排序次序”例例在在下拉框中下拉框中选择选择排序次序排序次序 0 1 9 A B Y Z a b y z ,汉字按拼音汉字按拼音顺顺序序由小到大由小到大排列。排列。第30页,共38页,编辑于2022年,星期一2.6.3 2.6.3 子串包含运算子串包含运算格式:格式:$运算运算结果为逻辑值。结果为逻辑值。若字符表达式若字符表达式2的值的值完整地包含完整地包含字符表达式字符表达式1的值,则运算结果为真(的值,则运算结果为真(.T.);否则,运算结果为);否则,运算结果为假(假(.F.)。)。例例第31页,共38页,编辑于2022年,星期一或运算或运算
27、:1.Or.Or.2与运算与运算:1.And.And.2非运算非运算:.Not.Not.2.7.1 2.7.1 逻辑运算符逻辑运算符高高低低对逻辑值表达式的对逻辑值表达式的值取反。值取反。涉及的两个逻辑表达式值涉及的两个逻辑表达式值都为真都为真(.T.T.)时,)时,运算运算结果才为真结果才为真(.T.T.);否则,运算结果为);否则,运算结果为假(假(.F.F.)。)。优先级优先级.Not.Not !.And.And.Or.Or 只要有一个只要有一个逻辑值表达式的值逻辑值表达式的值为真为真(.T.)时,运)时,运算算结果就为真结果就为真(.T.)。否则,结果为假(。否则,结果为假(.F.)。
28、)。第32页,共38页,编辑于2022年,星期一文件存在函数:文件存在函数:FileFile()2.7.2 2.7.2 常用逻辑型函数常用逻辑型函数若字符表达式值表示的若字符表达式值表示的文件名文件名(应包含路径和文(应包含路径和文件全名)件全名)存在存在,则函数,则函数值为值为.T.T.第33页,共38页,编辑于2022年,星期一 同同一个表达式中一个表达式中,允许允许含有含有多种运算符多种运算符。各类运。各类运算符的算符的优先级别由高到低优先级别由高到低依次为:依次为:数值运算、字符运算、日期运算和日期时间运算数值运算、字符运算、日期运算和日期时间运算关关系运算系运算逻辑运算逻辑运算。2.
29、7.3 2.7.3 表达式综述表达式综述=2=4.F.F.F.例如:例如:2 *(3-1)5.Or.D=ABC2 *(3-1)5.Or.D=ABC优先级相同优先级相同。运算。运算按从左到右按从左到右的顺序进行。的顺序进行。小括号优先级别最高小括号优先级别最高,可以通过加小括号,可以通过加小括号改变优先级顺序。最里层的小扩号先运算。改变优先级顺序。最里层的小扩号先运算。第34页,共38页,编辑于2022年,星期一2.8 2.8 宏替换及其使用宏替换及其使用&.用用字符型字符型内存变量的内存变量的值替换整个函数值替换整个函数所在的所在的位置位置 当宏替换函数是当宏替换函数是命令中最后一项命令中最后
30、一项或或其后有分隔符其后有分隔符:空格、运算符号和逗号等,圆点空格、运算符号和逗号等,圆点“.”可以省略可以省略 应用:应用:3.3.作为表达式的一部分作为表达式的一部分 例例4.4.替换文件名替换文件名 例例第35页,共38页,编辑于2022年,星期一命令格式:命令格式:DimensionDimension (,),(,2,列数列数)数组是一组数组是一组变量名相同变量名相同而而下标不同下标不同的内存变量。的内存变量。每个内存变量称为数组元素。每个数组中最多可以每个内存变量称为数组元素。每个数组中最多可以含含6500065000个元素,个元素,同一个数组同一个数组中各个中各个元素的数据类型元素
31、的数据类型可以不同可以不同。在。在使用使用一个数组之一个数组之前前,必须先对其,必须先对其进行声进行声明明。声明后的每个元素的声明后的每个元素的初值都是初值都是.F.。2.9.1 2.9.1 声明数组声明数组声明数组声明数组。与。与Declare 命令的格式、功能命令的格式、功能完完全相同全相同声明数组的声明数组的行数行数。是。是数值数值表达式,表达式,最小值是最小值是1。声明数组的声明数组的列数列数。是。是数值数值表达式,表达式,最小值是最小值是1。省略时省略时,则声明,则声明一维数组一维数组 在一个在一个DimensionDimension命令里,命令里,声明第声明第2 2个数组个数组不允
32、许不允许与系统函数、简单内存变量与系统函数、简单内存变量重名重名 例例第36页,共38页,编辑于2022年,星期一2.9.2 2.9.2 使用数组元素使用数组元素 引用格式:引用格式:(,)。是是数值表达式数值表达式,系统,系统自动取整自动取整。值。值最小是最小是1省略省略时,只引用时,只引用一维数组一维数组 在对在对数组名赋值时数组名赋值时,将,将赋给赋给数组中数组中每个元素相同每个元素相同的值的值;引用数组名时引用数组名时,实际上是,实际上是引用引用数组中的数组中的第第1个元素个元素。例例例例第37页,共38页,编辑于2022年,星期一第第 2 章章 结结 束束谢谢 谢!谢!第38页,共38页,编辑于2022年,星期一