![数据与数据运算2.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/31/c664293b-0074-4891-b3bb-997f96c4a2d7/c664293b-0074-4891-b3bb-997f96c4a2d71.gif)
![数据与数据运算2.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/31/c664293b-0074-4891-b3bb-997f96c4a2d7/c664293b-0074-4891-b3bb-997f96c4a2d72.gif)
![数据与数据运算2.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/31/c664293b-0074-4891-b3bb-997f96c4a2d7/c664293b-0074-4891-b3bb-997f96c4a2d73.gif)
![数据与数据运算2.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/31/c664293b-0074-4891-b3bb-997f96c4a2d7/c664293b-0074-4891-b3bb-997f96c4a2d74.gif)
![数据与数据运算2.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/31/c664293b-0074-4891-b3bb-997f96c4a2d7/c664293b-0074-4891-b3bb-997f96c4a2d75.gif)
已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 数据与数据运算,2,常量与变量,运算符与表达式 (重点、难点),常用函数 (重点、难点),本章主要内容及课时安排 (4学时),3,数据类型 字符型(C)、数值型(N)、日期型(D)、逻辑型(L)、备注型(M)、通用型(G)、货币型(Y)等。,常量与变量 常量 常量的类型:N、C、D、T、L、Y等,4,1. 数值常量的指数表示法: 例:13亿 普通表示为:1300000000 指数表示法为:1.3e9 0.000000089 指数表示法为:8.9e-8 2. 字符串常量的定界符为:“ ”、 、 ,下列字符型常量的表示中,错误的是 。 A) “65+13” B) “电脑商情” C) x=y D) 中国,5,3. 日期常量 系统默认的日期输出格式为:MM/DD/YY 严格的日期输入格式为:YYYY-MM-DD,4. 逻辑常量:.t.或 .y. 和 .f. 或 .n.,日期格式的设置命令:,(1) SET MARK TO 系统默认是:/,(2) SET DATE TO 系统默认是:AMERICAN,(3) SET CENTURY ON|OFF 系统默认是:2位数字显示年份,6,变量 1. 字段变量 字段变量是属于数据表之中的多值变量,字段变量的当前值即为当前记录的对应字段值,而记录指针所指记录为当前记录。 字段变量的类型:C、N 、D 、L 、M、G等,7,内存变量的类型:C、N、Y、L、D、T等。,2. 内存变量 内存变量是通过命令或程序中临时定义的独立于数据表而存在的变量。变量名以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成。,下列选项中,不能作为Visual FoxPro中变量名的是 A) _abc B) abc123 C) 123abc D) abc_123,8,内存变量的赋值:= STORE TO (1)赋值号“=”与数学中的等号不同; 如赋值语句: S=S+X N=N+1 (2)变量的类型取决于值的类型; (3)该语句不能给字段变量赋值。,以下赋值语句正确的是 。 A) STORE 8 TO x,y B) STORE 8,9 TO x,y C) x=8,y=9 D) x,y=8,9,例:A=1234 ABC=AA-A B=1234 D=AAA C=DATE() E=$1234 AA=5678 STORE 0 TO A1,A2,A3,表达式值显示命令:?|? ,?A,B,C,D,E,1234 1234 09/06/04 .F. 1234.0000,?A ?B ?E,10,DISP MEMO,变量名,变量的类型,变量的属性,变量的值,内存变量的显示: DISP MEMO LIKE ,11,DISP MEMO LIKE A* & 仅显示以A开头的变量。,12,当出现内存变量与字段变量同名时,若简单地用变量名访问,则系统默认为字段变量。如果要访问内存变量,则必须在变量名前加上前缀M.(或M-)。,例:当前数据表中xm字段的值为“李小明”,下面操作后的结果是,李小明,李莉,?xm,?m.xm,xm=“李莉”,例:当前数据表中jbgz字段的值350,下面操作后的结果是,jbgz=jbgz+200,?jbgz,?m-jbgz,350,550,jbgz=100,13,3. 数组变量 定义数组: DIMENSION (Nexp1Nexp2),(Nexp1 DECLARE (Nexp1Nexp2),(Nexp1 例:DIME X(4),Y(2,3) 数组的赋值 整个数组的数据类型为数组型A,初值为逻辑假,各个数组元素可以是不同类型的数据。,14,仅定义数组时,每个元 素的初值均为逻辑假。,15,例:X=0 & X数组所有元素均为数值0。 Y(1,1)=123 & Y数组第一个元素值为数值123 Y(2,1)=“123” & Y数组第二行一列元素值为字符串“123” Y(5)=2004-9-6-12 & Y数组第5元素(Y(2,2)值为日期值 Y(2,3)=Y(1,1)-12 & Y数组第二行三列元素为数值111,16,17,内存变量常用命令 1. 内存变量的赋值 . 赋值语句: = STORE TO . 数据表操作:COUNT、SUM、AVER、CALC . 交互语句: ACCEPT、INPUT、WAIT,3. 内存变量的显示 DISP MEMO LIKE ,2. 表达式值显示 ?|? ,18,4. 内存变量的删除 RELESE ALL CLEAR MEMO、CLEAR ALL 5. 内存变量的保存 SAVE TO ALL LIKE | ALL EXCEPT 内存变量文件的扩展名为:.MEM 6. 内存变量的恢复 RESTORE FROM ADDITIVE,19, 将数组或内存变量的数据传送当前记录 GATHER FROM |MEMVAR FIEL,7. 表中数据与数组数据之间的交换 数据表中的当前记录传送到数组或内存变量 SCATTER TO FIELDS BLANK,20,运算符与表达式 算术表达式 运算符: 、%、() 参加运算的量只能是数值型,表达式的值也是数值型。,字符表达式 运算符: 、 参加运算的量只能是字符型,表达式的值也是字符型。,21,例2:设Q1=“ABC”,Q2=“EFG”,则表达式Q2-Q2+Q1的值为: A) ABC B) ABC C) EFGEFGABC D) EFGEFGABC,例1: 执行以下命令序列(表示空格)最后一条命令的 执行结果是: s1=计算机 s2=二级等级考试 ?s1+s2,?len(s1+s2),?s1-s2,?len(s1-s2),22,日期时间表达式 、 例:下列表达式中,运算结果为数值型的正确表达式是 A) DATE()+TIME() B) DATE()+30 C) DATE()-CTOD(“01/01/98”) D) DATE()-DTOC(DATE(),例:?2003-03-02,date()+365 ?date()-ctod(“11/23/01”),23,3.3.4. 关系表达式 1. 关系运算符: 、=、(#)、=、= =、$ 参加运算的量可以是数值型、字符型及日期型,表达式的值是逻辑型。数值型数据以其值的大小进行比较, 键盘字符以其ASCII码值的大小进行比较,汉字是以其(拼音、内码、笔画)进行比较。 (= =、$ 这两种运算,参加运算的量只能是字符型表达式),七位ASCII编码表,25,2. 设置字符的排序次序 (系统默认为拼音) SET COLL TO “” 次序名可以是“Machine”、“PinYin”或“Stroke”,& 值为假,& 值为真,& 值为真,说明“栾”是二级汉字,& 值为假,例:SET COLL TO “Stroke” ?“一” “啊”,SET COLL TO “PinYin” ?“一” “啊” ?“栾” “周”,SET COLL TO “Machine” ?“栾” “周”,26,例:?Aa ,处长科长,3. 字符串精确比较与EXACT设置 “=”运算,当EXACT开关处于常态(OFF)时,“=”号右边的字符串(位)与“=”号左边的前位字符相等,则表达式值为真。,例:?会计电算化=会计, 会计=会计电算化 ?管理会计=会计,.T. .F. .F.,.F. .F.,例: 令X=2, ?X=X+1 输出结果是: A) 3 B) 命令语法错 C) .T. D) .F.,说明:当EXACT开关ON时, 先在较短的字符串的尾部加上若干空格使两字符串长度相等,再精确比较。,27, “$”运算,当“$”号左边字符串包含在“$”号右边字符串之中,则表达式的值为真。 例:?会计电算化 $ 会计,会计 $ 会计电算化 ?会计 $ 管理会计,例:LIST FOR XM=“杨” 将显示出数据表中所有姓“杨”的人的记录。,.F. .T. .T.,例:LIST FOR “杨“ $ XM 将显示出数据表中所有名字中带“杨”的人的记录。 “”运算,与EXACT开关的状态无关,只有“” 号两边字符串完全相等,表达式值才为真。,28,CLEAR SET EXACT ON s=”ni”+SPACE(2) IF s=”ni” IF s=”ni” ?”one” ELSE ?”two” ENDIF ELSE IF s=”ni” ?”three” ELSE ?”four” ENDIF ENDIF RETURN,A) one B) two C) three D) four,SET EXACT Off,s=“nihao”,29,逻辑表达式 AND(与)、OR(或)、NOT(非) 与运算:参加运算的量全为真,表达式的值才为真。 A B A. A N D. B 真值表 A B F E F 0 0 0 0 1 0 1 0 0 1 1 1,30,或运算:参加运算的量只要有一个为真,表达式的值就为真。 A A.OR.B 真值表 B A B F E F 0 0 0 0 1 1 1 0 1 1 1 1,表达式:0X150 只能表示成: X=0 .AND.X=150,特别提示,31,逻辑运算真值表 (表中A、B 为关系表达式或逻辑表达式,表达式值均为逻辑值),32,例:表示基本工资在500及1000之间的表达式: JBGZ=500 .AND.JBGZ1000 例:表示40岁以上具有高级职称的女教师的逻辑表达式 年龄=40.AND.性别=“女”.AND. (职称=“副教授”.OR.职称=“教授”) 例:下面表达式是的含义是什么? 年龄=40.AND.性别=“女”.AND.职称=“副教授”.OR. 职称=“教授” 表示40岁以上的女副教授以及所有的正教授。,33,运算符优先级, (乘方) - (负号) * (乘) /(除) Mod(求余) + (加) -(减),算术运算符,逻辑运算符,Not (逻辑非) And (逻辑与) Or (逻辑或),34,数值处理函数 ABS(Nexp)、SIGN(Nexp)、SQRT(Nexp)、PI()、 INT(Nexp)、CEILING(Nexp)、FLOOR(Nexp)、 ROUND(Nexp1,Nexp2)、MOD(Nexp1,Nexp2)、 MAX(Nexp1,Nexp2,.)、 MIN(Nexp1,Nexp2,.)、RAND(),分别为绝对值函数、符号函数、平方根函数、 圆周率函数、取整函数、四舍五入函数、取余数 函数、求最大值函数、最小值函数及随机函数。,常 用 函 数,35,例:X=3.9 ?SIGN(x),SIGN(-x) 1 -1 ?INT(x),INT(-x) 3 -3,?CEILING(x),CEILING(-x),4 -3,3 -4,?FLOOR(x),FLOOR(-x),取大于X的最小整数,取小于X的最大整数,Int(x/y)=x/y X能被Y整除的判别式:,36,例:X=2567.5978 ?ROUND(X,2),?ROUND(55.84,-2) 100 ?ROUND(39.245,-2) 0,?ROUND(X,0),?ROUND(X,-2),2567.60,2568,2600,舍入到小数点后第二位,对第三位进行舍入,舍入到最近的整数,对小数点前第二位进行舍入,37,例:令X=25、Y=7 ?MOD(x,y) ?MOD(x,-y) ?MOD(-x,y) ?MOD(-x,-y),4 -3 3 -4,* 余数符号与除数符号相同; * 被除数与除数同号,则函数值为两数相除的 余数,否则为除数与余数之差。,特别提示,x%y运算结果与Mod函数相同,X%Y=0 或 mod(x,y)=0 X能被Y整除的判别式:,38,字符函数 (1).函数值为数值型的函数: LEN(Cexp)、AT(Cexp1,Cexp2,Nexp)、 OCCURS(Cexp1,Cexp2) 例: A=“is” B=“This is a book” ?AT(A,B),AT(A,B,2),OCCURS(A,B),LEN(B),3 6 2 14,(2). 取子串函数 SUBS(Cexp,Nexp1,Nexp2)、LEFT(Cexp,Nexp)、RIGHT(Cexp,Nexp),39,(3). 产生与删除空格函数 SPACE(Nexp)、 TRIM(Cexp)、LTRIM(Cexp)、ALLTRIM(Cexp)、 (4). 替换函数与字符匹配函数 STUFF(Cexp1,Nexp1,Nexp2,Cexp2)、 CHRTRAN(Cexp1,Cexp2,Cexp3)、 LIKE(Cexp1,Cexp2),40,例1:字符串长度函数LEN(SPACE(3)-SPACE(2)的值是 A) B) C) D) ,例3: STRING=“热爱大自然” ?SUBS(STRING,LEN(STRING)/2-4,4) A) 热爱 B)爱大 C)大自 D)自然,例2: 表示空格,输出命令的结果是 ?LEN(LTRIM(“ABCD”) A) 4 B) 6 C) 7 D)9,41,例4: ANS=“STUDENT.DBF” MYFILE=SUBS(ANS,1,AT(“.”,ANS)-1) ?MYFILE A) STUDENT.DBF B) STUDENT C) STUDENT.ANS D) 11,例5:A=湖南师范学院, B=大学 ,C=财经,湖南师范大学,湖南大学,湖南财经大学,、插入 F=STUF(E,5,0,C) ?F,、删除 E=STUF(D,5,4,) ?E,、替换 D=STUF(A,9,4,B) ?D,42,例:x1=CHRTRAN(“ABACAD”,“ACD”,“X12”) y1=CHRTRAN(“计算机ABC”,“计算机”,“电脑”) z1=CHRTRAN(“大家好!”,“大家”,“您”) ?x1,y1,z1,XBX1X2 电脑ABC 您好!,例:x=“abc” y=“abcd” ?LIKE(“ab*”,x), LIKE(“ab*”,y), LIKE(x,y) ?LIKE(“?b?”,x), LIKE(“Abc”,x),.T. .T. .F. .T. .F.,43,日期和时间函数,(3). 时、分和秒函数 HOUR(Texp)、MINUTE(Texp)、SEC(Texp) 函数值均为数值型。,(2). 求年份、月份、周、星期和天数函数 YEAR(Dexp)、MONTH(Dexp)、WEEK(Dexp)、DOW(Dexp)、 DAY(Dexp) 函数值的类型均为数值型,(1). 系统日期和时间函数 DATE()、TIME()、DATETIME() 函数值的类型分别为:D、C、T,表达式:year(date()-year(出生日期) & 计算年龄,DTOC ( 日期表达式 ,1),将日期型数据转换为字符串. 如果使用了参数1,则字符串的格式固定的为YYYYMMDD。 否则,字符串的日期格式与SET DATE TO语句的设置和SET CENTURY ON 语句的设置有关。,日期转换成字符串,函数值为1到7中的一个整数,表示或是一星期中的第几天。函数值1表示星期日,2表示星期一。,DOW ( | ),求星期几函数,CDOW ( | ),函数值为或是星期几的英文单词。,函数值为或是当年的第几周。,WEEK ( | ),星期函数,d=2008-10-1 ?dow(d) &函数的值为4 ?cdow(d) &函数的值为Wednesday ?week(d) &函数的值为40,例题,48,数据类型转换函数 LOWER(Cexp) 大写 小写 UPPER(Cexp) CHR(Nexp) ASC码 字符 ASC(Cexp) STR(Nexp,Nexp1,Nexp2) 数值 字符(数字) VAL(Cexp) DTOC(Dexp,1) 日期 字符 CTOD(Cexp),STR ( ,),将数值表达式转换为字符串,根据需要四舍五入。 设数值表达式的整数部分位数加上小数点所占1位加上小数位数的长度为L 若大于L,则字符串加前导空格以满足长度; 若长度小于L而大于整数部分位数(包括负号),则优先满足整数部分而调整小数部分; 若长度小于整数部分位数,则返回星号 长度的默认部分为10,小数部分的默认值为0,数值转换成字符串,50,* 假设系统日期为2003年5月11日 ?dtoc(date() 返回字符串 05/11/03 ?dtoc(date(),1) 返回字符串 20030511 例: ?VAL(“3.14159PI”)+0.356,3.498,例: X=12345.6789 ?STR(X) ?STR(X,10,2) ?STR(X,9,2) ?STR(X,8,2) ?STR(X,7,2) ?STR(X,4),字符总位数,小数点位数,VAL ( ),函数值为所转换的数值型数据。 若字符表达式的第一个字符不是数字符号,则函数值为零。 若字符表达式以数字字符开头,但出现了非数字字符,则函数值为只转换前面数字字符的部分。 函数值只保留两位小数,其余小数四舍五入。,字符串转换成数值,?val(12+345) &函数的值为12345.00 ?val(12a345) &函数的值为12.00 ?val(a12345) &函数的值为0,例题,53,例:VAL(SUBSTR(P586,2,1)+RIGHT(STR(YEAR(DATE(),2)+3 的计算结果是(假设系统日期为1997年5月28日) A) 600 B) 51997 C) 600.00 D) 出错信息,字符串20040913 字符串d 字符串 124 数值 8,例: 下列选项中得不到字符型数据的是 A) DTOC(DATE(),1) B) CHR(100) C) STR(123.567) D) AT(“1”,STR(3121),& .,替换出字符型变量的内容。 由于该函数没有圆括号,如果该函数与后面字符没有分界,需要用“.”作函数结束标志。,宏替换函数,X=Y Y=10 ?X,&X &表达式的值为Y,10,例题,帮助用户了解操作对象的状态,2.3.5 测试函数,BETWEEN ( , , ),判断的值是否介于和之间。 当的值大于等于的值并且小于等于的值,函数值为逻辑真.T.;否则函数值为逻辑假.F.。 函数的自变量可是数值、字符、日期等多种类型,但三个表达式的类型需一致,值域测试函数,price=10.7 ?betwee
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 垃圾分类行业发展趋势预测及投资战略咨询报告
- 向组织申请书
- 海水养殖行业分析报告
- 2021-2026年中国蔬菜加工设备行业市场调研及投资战略规划报告
- 简单调离岗位申请书
- 环形钉行业市场发展及发展趋势与投资战略研究报告
- 2025年银包五金配件项目投资可行性研究分析报告
- 2025年中国旧结核菌素行业市场发展现状及投资潜力预测报告
- 2024河南豆类的种植市场前景及投资研究报告
- 小麦免耕播种机项目风险评估报告
- GB/T 16475-1996变形铝及铝合金状态代号
- GB 4706.20-2004家用和类似用途电器的安全滚筒式干衣机的特殊要求
- 无纸化会议系统解决方案
- 佛教空性与缘起课件
- 上海铁路局劳动安全“八防”考试题库(含答案)
- 《愿望的实现》教学设计
- 效率提升和品质改善方案
- 中山大学抬头信纸中山大学横式便笺纸推荐信模板a
- 义务教育学科作业设计与管理指南
- 《汽车发展史》PPT课件(PPT 75页)
- 常暗之厢(7规则-简体修正)
评论
0/150
提交评论