期末复习提要.ppt

上传人:hyn****60 文档编号:70318508 上传时间:2023-01-19 格式:PPT 页数:85 大小:2.40MB
返回 下载 相关 举报
期末复习提要.ppt_第1页
第1页 / 共85页
期末复习提要.ppt_第2页
第2页 / 共85页
点击查看更多>>
资源描述

《期末复习提要.ppt》由会员分享,可在线阅读,更多相关《期末复习提要.ppt(85页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Visual FoxProVisual FoxPro程序设计程序设计期末考试复习期末考试复习期末考试说明期末考试说明n判断题判断题 2020分分(10(10题题*2 2分分)n单选题单选题 3030分分(15(15题题*2 2分分)n程序填空选择题程序填空选择题 2020分(分(1010题题*2 2分)分)n程序阅读题程序阅读题 2020分(分(4 4题题*5 5分)分)n程序设计题程序设计题 1010分(分(1 1题题*1010分)分)n面向对象面向对象n考试日期:考试日期:6 6月月28 28 日日考试内容考试内容n表的建立与操作表的建立与操作n面向过程程序设计面向过程程序设计n面向对象(

2、表单)程序设计面向对象(表单)程序设计第一部分第一部分表的建立与操作表的建立与操作表结构表结构表由结构和数据两部分组成。表由结构和数据两部分组成。表结构:字段名、类型、宽度和小数位数表结构:字段名、类型、宽度和小数位数建立表结构命令:建立表结构命令:CREATE复制表结构:复制表结构:COPY STRUCTURE TO 表结构修改与显示表结构修改与显示l修改:修改:MODIFY STRUCTUREl显示:显示:DISPLAYLIST STRUCTURE表的基本操作表的基本操作表的打开与关闭:表的打开与关闭:l打开:打开:USE l关闭:关闭:USE,CLOSE TABLES,CLEAR ALL

3、,CLOSE ALL。表内容的显示表内容的显示lBROWSE(浏览显示)(浏览显示)lLIST(默认范围:(默认范围:ALL)DISPLAY(默认范围:(默认范围:当前记录)当前记录)l注:范围子句的选择。注:范围子句的选择。LIST NEXT 1和和DISPLAY功能功能等效。等效。表内容添加表内容添加lAPPEND:打开一个编辑窗口,在表的末尾添加记录。:打开一个编辑窗口,在表的末尾添加记录。lINSERT:在表的中间插入记录。:在表的中间插入记录。说明:重点掌握不同命令对记录指针的影响说明:重点掌握不同命令对记录指针的影响命令执行结束,记录指针指向新添加的记录。命令执行结束,记录指针指向

4、新添加的记录。命令执行结束,记录指针指向新添加的记录。命令执行结束,记录指针指向新添加的记录。VFP命令格式命令格式VFP命令一般形式:命令动词命令一般形式:命令动词 子句子句l范围子句范围子句ALL:对表文件所有记录进行操作。:对表文件所有记录进行操作。NEXT n:对从当前记录开始的连续若干个指定数目的记录进:对从当前记录开始的连续若干个指定数目的记录进行操作。行操作。RECORD n:只对第:只对第n个记录进行操作。个记录进行操作。REST:只对从当前记录开始到表文件尾为止的所有记录进行:只对从当前记录开始到表文件尾为止的所有记录进行操作。操作。lFOR和和WHILE子句:完成关系子句:

5、完成关系的选择运算。的选择运算。lFIELDS子句:规定当前处理的字段和表达式,子句:规定当前处理的字段和表达式,主要实现对表的字段筛选,完成关系的投影运主要实现对表的字段筛选,完成关系的投影运算。算。表的基本操作表的基本操作表内容修改表内容修改 lREPLACE WITH:成批修改表字段值的非全屏幕编辑:成批修改表字段值的非全屏幕编辑命令(默认范围:当前记录)命令(默认范围:当前记录)表内容的删除表内容的删除l逻辑删除:逻辑删除:DELETE(默认范围是当前记录:(默认范围是当前记录:NEXT 1)l逻辑恢复:逻辑恢复:RECALL(默认范围是当前记录:(默认范围是当前记录:NEXT 1)l

6、物理删除:物理删除:PACK、ZAP(文件必须以独占方式打开)(文件必须以独占方式打开)lZAP等价于等价于DELETE ALL和和PACK联用,但联用,但ZAP速度更快。速度更快。问题:问题:若当前表文件刚刚执行过若当前表文件刚刚执行过LIST命令,再接着执行命令,再接着执行REPLACE命令,且其范围子句及条件子句均缺省,则该命令,且其范围子句及条件子句均缺省,则该命令完成了几条记录命令完成了几条记录的替换?的替换?记录指针及定位记录指针及定位绝对移动绝对移动lGOGOTO:记录号是记录在表中的物:记录号是记录在表中的物理顺序,与表的逻辑顺序无关(无论索引文件是否理顺序,与表的逻辑顺序无关

7、(无论索引文件是否打开)。打开)。lGO TOPBOTTOM:指表文件的逻辑顺序。:指表文件的逻辑顺序。注意:注意:GO 1和和GO TOP在索引文件打开的情况下,执行结在索引文件打开的情况下,执行结果不同。因此如要确保记录指针定位在记录号为果不同。因此如要确保记录指针定位在记录号为1的记录上,应使用绝对移动记录指针命令的记录上,应使用绝对移动记录指针命令GO 1。相对移动相对移动lSKIP l注意:注意:SKIP命令按表文件记录的逻辑顺序相对移动。命令按表文件记录的逻辑顺序相对移动。USE 学生学生LISTGO 1?RECNO()GO TOP?RECNO()INDEX ON 姓名姓名 TO

8、xmLISTGO 1?RECNO()GO TOP?RECNO()USE查找移动查找移动检索查找检索查找lFIND:lSEEK:一般顺序查找一般顺序查找lLOCATE:按顺序搜索从而找到满足条件的:按顺序搜索从而找到满足条件的第一个记录。第一个记录。lCONTINUE:查找其他满足条件的记录,和:查找其他满足条件的记录,和LOCATE配合使用。配合使用。l注:注:CONTINUE命令单独使用无意义,必须命令单独使用无意义,必须与与LOCATE命令配合使用。命令配合使用。【程序程序】SET TALK OFFCLEAUse 学生学生LIST?RECNO()&第一个显示第一个显示GO 3INSERT

9、BLANKREPL 姓名姓名 WITH 李华李华?RECNO()&第二个显示第二个显示GO TOPDISP NEXT 4?RECNO()&第三个显示第三个显示LOCA FOR 姓名姓名=李华李华?RECNO()&第四个显示第四个显示USESET TALK ON(1 1)第一个显示?)第一个显示?RECNO()RECNO()的值为的值为)。A A、6 6 B B、7 7C C、1 1 D D、0 0(2 2)第二个显示?)第二个显示?RECNO()RECNO()的值为的值为 。A A、2 2 B B、1 1 C C、4 4 D D、0 0 (3 3)第三个显示?)第三个显示?RECNO()REC

10、NO()的值为的值为 。A A、0 0 B B、1 1 C C、2 2 D D、4 4(4 4)第四个显示?)第四个显示?RECNO()RECNO()的值为的值为 。A A、2 2 B B、7 7 C C、4 4 D D、3 3 学生学生.DBF.DBF结构:学号结构:学号 姓名姓名 性别性别 出生年月出生年月 简历简历 奖学金奖学金 照片照片C,6 C,8 L,1 D,8 M,4 N,6,2 G,4C,6 C,8 L,1 D,8 M,4 N,6,2 G,4记录记录:记录号记录号#学号学号 姓名姓名 性别性别 出生年月出生年月 简历简历 奖学金奖学金 照片照片 1 951001 1 95100

11、1 王平王平 .F.05/06/70 memo 50.00 gen .F.05/06/70 memo 50.00 gen 2 951003 2 951003 李华李华 .F.01/23/71 memo 25.00 gen .F.01/23/71 memo 25.00 gen 3 954006 3 954006 张小强张小强 .T.07/21/70 memo 0.00 gen .T.07/21/70 memo 0.00 gen 4 953008 4 953008 赵峰赵峰 .T.11/05/72 memo 75.00 gen .T.11/05/72 memo 75.00 gen 5 954011

12、 5 954011 丁超丁超 .T.09/27/70 memo 0.00 gen .T.09/27/70 memo 0.00 gen 6 953013 6 953013 罗浩罗浩 .T.09/09/71 memo 50.00 gen .T.09/09/71 memo 50.00 gen (注:性(注:性别别=.F.=.F.为为女,性女,性别别=.T.=.T.为为男,学号前三位男,学号前三位为为班班级级号号 SET TALK OFFSET TALK OFFUSE USE 学生学生DISPLAY NEXT 3DISPLAY NEXT 3?RECNO()&?RECNO()&第一个显示第一个显示APP

13、END BLANKAPPEND BLANK?RECNO()&RECNO()&第二个显示第二个显示LOCA FOR LOCA FOR 奖学金奖学金=50=50CONTCONT?RECNO()&RECNO()&第三个显示第三个显示REPL REPL 奖学金奖学金 with 100 ALLwith 100 ALL?RECNO()&RECNO()&第四个显示第四个显示USE USE SET TALK ON SET TALK ON(1)(1)第一个显示的第一个显示的RECNO()RECNO()值为值为:A A、2 B2 B、3 C3 C、4 D4 D、5 5 (2)(2)第二个显示的第二个显示的RECN

14、O()RECNO()值为值为:A A、5 B5 B、6 C6 C、7 7 D D、8 8 (3)(3)第三个显示的第三个显示的RECNO()RECNO()值为值为:A A、1 B1 B、6 C6 C、7 7 D D、8 8 (4)(4)第四个显示的第四个显示的RECNO()RECNO()值为值为:A A、1 1 B B、6 C6 C、7 7 D D、8 8 B、C、B、D学生学生.DBF.DBF结构:学号结构:学号 姓名姓名 性别性别 出生年月出生年月 简历简历 奖学金奖学金 照片照片C,6 C,8 L,1 D,8 M,4 N,6,2 G,4C,6 C,8 L,1 D,8 M,4 N,6,2

15、G,4记录记录:记录号记录号#学号学号 姓名姓名 性别性别 出生年月出生年月 简历简历 奖学金奖学金 照片照片 1 951001 1 951001 王平王平 .F.05/06/70 memo 50.00 gen .F.05/06/70 memo 50.00 gen 2 951003 2 951003 李华李华 .F.01/23/71 memo 25.00 gen .F.01/23/71 memo 25.00 gen 3 954006 3 954006 张小强张小强 .T.07/21/70 memo 0.00 gen .T.07/21/70 memo 0.00 gen 4 953008 4 95

16、3008 赵峰赵峰 .T.11/05/72 memo 75.00 gen .T.11/05/72 memo 75.00 gen 5 954011 5 954011 丁超丁超 .T.09/27/70 memo 0.00 gen .T.09/27/70 memo 0.00 gen 6 953013 6 953013 罗浩罗浩 .T.09/09/71 memo 50.00 gen .T.09/09/71 memo 50.00 gen (注:性(注:性别别=.F.=.F.为为女,性女,性别别=.T.=.T.为为男,学号前三位男,学号前三位为为班班级级号号 表内容的排序:表内容的排序:SORT功能:对当

17、前选定表进行排序,并将排过功能:对当前选定表进行排序,并将排过序的记录输出到新表中。序的记录输出到新表中。默认为升序排序。默认为升序排序。排序可选择单关键字,也可选择多关键字排序可选择单关键字,也可选择多关键字进行排序,排序时各关键字之间用逗号隔进行排序,排序时各关键字之间用逗号隔开。开。注意:注意:SORT命令的默认范围是命令的默认范围是ALL。表内容的索引表内容的索引索引文件的分类:索引文件的分类:l单项索引文件单项索引文件.IDXl结构复合索引文件结构复合索引文件.CDXl独立复合索引文件独立复合索引文件.CDXl说明:其中单项索引和独立复合索引需用单独命令打开,说明:其中单项索引和独立

18、复合索引需用单独命令打开,而结构复合索引随表的打开而打开。而结构复合索引随表的打开而打开。索引文件的建立索引文件的建立l单项索引文件:单项索引文件:INDEX ON TO l复合索引文件:复合索引文件:INDEX ON TAG OF 表内容的索引表内容的索引打开索引文件打开索引文件lUSE INDEX lSET INDEX TO(相应的数(相应的数据库表文件必须先打开)据库表文件必须先打开)l注意:索引文件不是独立的文件。注意:索引文件不是独立的文件。确定主控索引文件或主控标识:确定主控索引文件或主控标识:SET ORDER TO 重新建立索引文件:重新建立索引文件:REINDEX命令,在索命

19、令,在索引混乱的情况下,执行引混乱的情况下,执行REINDEX是必要的。是必要的。统计计算类命令统计计算类命令COUNT(统计表中的记录数目)(统计表中的记录数目)SUM(实现表文件数值型字段的纵向求和)(实现表文件数值型字段的纵向求和)AVERAGE(实现表文件数值型字段的纵向(实现表文件数值型字段的纵向求平均数)求平均数)注意:上述三个命令执行后,记录指针会发注意:上述三个命令执行后,记录指针会发生变化(生变化(表文件尾表文件尾)。)。统计计算类命令统计计算类命令分类求和命令:分类求和命令:TOTAL(分类计算当前选(分类计算当前选定表中数值字段的总和)定表中数值字段的总和)l该命令将分类

20、统计结果存在该命令将分类统计结果存在指定的指定的表中,该表结构与原表相同。表中,该表结构与原表相同。l执行该命令前,表文件必须已按关键字段排序执行该命令前,表文件必须已按关键字段排序或索引,并使它们处于打开状态。或索引,并使它们处于打开状态。l默认范围是默认范围是ALL。lTOTAL命令在字段名缺省的情况下,默认对命令在字段名缺省的情况下,默认对表中所有数值型字段分类求和。表中所有数值型字段分类求和。工作区工作区定义:为放置打开的表在内存中开辟的临定义:为放置打开的表在内存中开辟的临时区域,最多时区域,最多32767个。个。当前工作区及当前表:某一时刻,用户只当前工作区及当前表:某一时刻,用户

21、只能选择一个工作区作为当前操作的对象。能选择一个工作区作为当前操作的对象。当前正在操作的工作区称为当前工作区,当前正在操作的工作区称为当前工作区,而在当前工作区中打开的表文件为当前表。而在当前工作区中打开的表文件为当前表。VFP规定:每个工作区最多打开一个表;规定:每个工作区最多打开一个表;同一个表可在不同工作区中多次打开。同一个表可在不同工作区中多次打开。工作区及其基本操作工作区及其基本操作工作区的选择及当前工作区的转换:使用工作区的选择及当前工作区的转换:使用SELECT/命命令可以选择或转换当前工作区。令可以选择或转换当前工作区。工作区之间的联访工作区之间的联访l是指系统在当前工作区访问

22、另一个工作区中表是指系统在当前工作区访问另一个工作区中表内容(字段)的一种形式。工作区之间的联访内容(字段)的一种形式。工作区之间的联访是通过工作区的别名实现的,即用别名限制访是通过工作区的别名实现的,即用别名限制访问的对象。具体访问格式为:问的对象。具体访问格式为:.或或-表间的关联表间的关联永久关联永久关联l主要作用:为实现参照完整性提供依据;在查主要作用:为实现参照完整性提供依据;在查询设计器,视图设计器中,作为默认连接条件;询设计器,视图设计器中,作为默认连接条件;在数据库设计器,数据环境设计器中直接显示在数据库设计器,数据环境设计器中直接显示出连线,作为表单和报表的默认关系。出连线,

23、作为表单和报表的默认关系。l建立条件:建立条件:父表必须以主关键字建立主索引;父表必须以主关键字建立主索引;子表必须以外部关键字建立普通索引或者惟一子表必须以外部关键字建立普通索引或者惟一索引;索引;l建立方法:通过建立方法:通过“数据库设计器数据库设计器”建立永久关建立永久关系(先建索引,然后用鼠标拖拉相应索引字段系(先建索引,然后用鼠标拖拉相应索引字段完成联接);使用命令的方法建立建立永久关完成联接);使用命令的方法建立建立永久关系。系。l子表记录指针不能随父表记录指针产生联动。子表记录指针不能随父表记录指针产生联动。表间的关联表间的关联临时关联:实现建立关联的两个工作区中的记临时关联:实

24、现建立关联的两个工作区中的记录指针联动。录指针联动。l主要作用:使子表的记录指针随父表的记录指针产生联动。主要作用:使子表的记录指针随父表的记录指针产生联动。l建立条件:子表按公共字段建立索引即可。建立条件:子表按公共字段建立索引即可。l建立方法:通过建立方法:通过“数据工作期数据工作期”窗口创建表间的临时性关联;窗口创建表间的临时性关联;在在“数据环境数据环境”中通过拖动相应字段创建表间的临时性关联;中通过拖动相应字段创建表间的临时性关联;通过命令通过命令SET RELATION 也可创建表间的临时性关联。也可创建表间的临时性关联。l临时关系的形式:一父一子关系(既可以在临时关系的形式:一父

25、一子关系(既可以在“数据环境数据环境”中中创建,也可以用程序代码创建);一父一子一孙关系(既可创建,也可以用程序代码创建);一父一子一孙关系(既可以在以在“数据环境数据环境”中创建,也可以用程序代码创建);一父中创建,也可以用程序代码创建);一父二子关系(既可以在二子关系(既可以在“数据环境数据环境”中创建,也可以用程序代中创建,也可以用程序代码创建);二父一子关系(不可以在码创建);二父一子关系(不可以在“数据环境数据环境”中创建,中创建,只能用程序代码创建)只能用程序代码创建)。表间的关联表间的关联表间的关联表间的关联l永久性和临时性关联区别:永久性关系的子表永久性和临时性关联区别:永久性

26、关系的子表记录指针不能随父表记录指针产生联动。临时记录指针不能随父表记录指针产生联动。临时性关系中父表可控制子表,当在父表中移动记性关系中父表可控制子表,当在父表中移动记录指针时,子表记录指针也作相应移动。录指针时,子表记录指针也作相应移动。典型实例典型实例 l实例实例1:07年秋程序填空年秋程序填空2。输入学生学号,显。输入学生学号,显示该学生的姓名、课程号以及成绩。示该学生的姓名、课程号以及成绩。表间临时关联实例表间临时关联实例【程序程序】SET TALK OFFCLEARSELE 1USE 学生学生 (5)SELE 2USE 成绩成绩 (6)ACCEPT 输入学生学号输入学生学号=TO

27、XHLOCA FOR 学号学号=ALLT(XH)DO WHIL!EOF()(7)(8)ENDDOUSESET TALK ON【供选择的答案供选择的答案】(1)A、INDEX ON 学号学号 TO IXS B、INDEX ON 学号学号 INTO 学生学生 C、INDEX ON 学生学生 TO 学号学号 OF IXS D、INDEX ON 学生学生 TO 学号学号(2)A、SET RELA TO 学号学号 INTO A B、SET RELA TO 学号学号 INTO B C、SET RELA TO A INTO 学号学号 D、SET RELA TO 学生学生INTO 学号学号(3)A、?姓名姓名

28、,B.课程号课程号,B.成绩成绩 B、?A.姓名姓名,课程号课程号,成绩成绩 C、?1.姓名姓名,2.课程号课程号,2.成绩成绩 D、?1.姓名姓名,课程号课程号,成绩成绩(4)A、GO FOR 学号学号=ALLT(XH)B、SKIP C、SKIP-1 D、CONT【正确答案正确答案】1、A 2、A3、B4、D程序阅读程序阅读【正确答案正确答案】1、C 2、A 3、A4、D【程序程序】Set talk offSele 1Use 学生学生Sele 2Use 成绩成绩Sele ASkip?a.学号学号&第一个显示第一个显示?b.成绩成绩&第二个显示第二个显示Sele BINDEX ON 学号学号

29、TO X1SELE ASET RELA TO 学号学号 INTO BGo 3?a.学号学号&第三个显示第三个显示?b.成绩成绩&第四个显示第四个显示Close all Set talk on【供选择的答案供选择的答案】1、第一个显示?、第一个显示?a.学号的值为学号的值为 。A、951001 B、954006C、951003 D、953008 2、第二个显示、第二个显示?b.成绩的值为成绩的值为 。A、95.0 B、88.0C、78.0D、90.0 3、第三个显示?、第三个显示?a.学号的值为学号的值为 。A、954006 B、951003C、951001 D、953008 4、第四个显示?、

30、第四个显示?b.成绩的值为成绩的值为 。A、95.0 B、88.0 C、90.0 D、78.0成绩成绩.DBF 1 951001 0001 95.0 2 951003 0003 88.0 3 954006 0001 78.0 4 953008 0004 90.0 5 951001 0003 78.0 6 951003 0004 80.0 学生学生.DBF.DBF1 951001 1 951001 王平王平 .F.05/06/70 memo 50.00 gen .F.05/06/70 memo 50.00 gen 2 951003 2 951003 李华李华 .F.01/23/71 memo 2

31、5.00 gen .F.01/23/71 memo 25.00 gen 3 954006 3 954006 张小强张小强 .T.07/21/70 memo 0.00 gen .T.07/21/70 memo 0.00 gen 4 953008 4 953008 赵峰赵峰 .T.11/05/72 memo 75.00 gen .T.11/05/72 memo 75.00 gen 5 954011 5 954011 丁超丁超 .T.09/27/70 memo 0.00 gen .T.09/27/70 memo 0.00 gen 6 953013 6 953013 罗浩罗浩 .T.09/09/71

32、memo 50.00 gen .T.09/09/71 memo 50.00 gen (注:性(注:性别别=.F.=.F.为为女,性女,性别别=.T.=.T.为为男,学号前三位男,学号前三位为为班班级级号号 第二部分第二部分VFP面向过程程序设计面向过程程序设计数据描述与基本操作数据描述与基本操作 VFP的的14种数据类型种数据类型l可用于内存变量和数组的数据类型有数值型、可用于内存变量和数组的数据类型有数值型、字符型、逻辑型、日期型、日期时间型、货币字符型、逻辑型、日期型、日期时间型、货币型和对象型等型和对象型等7种。种。l可用于表文件中字段的数据类型有:数值型可用于表文件中字段的数据类型有:

33、数值型(N),字符型(),字符型(C),逻辑型(),逻辑型(L),日期型),日期型(D),日期时间型(),日期时间型(T),货币型(),货币型(Y),双),双精度型(精度型(N),浮点型(),浮点型(N),整型(),整型(N),),通用型(通用型(G),备注型(),备注型(M),二进制字符型),二进制字符型(C),二进制备注型(),二进制备注型(M)等)等13种。种。数据描述与基本操作数据描述与基本操作变量:程序执行过程中可变化的数据项。变量:程序执行过程中可变化的数据项。lVFP的变量可分为字段变量和内存变量,内的变量可分为字段变量和内存变量,内存变量又分为一般内存变量、系统内存变量存变量又

34、分为一般内存变量、系统内存变量和数组变量。和数组变量。l字段变量的优先级高于同名的内存变量名字段变量的优先级高于同名的内存变量名,可以在内存变量名的前面冠以前缀可以在内存变量名的前面冠以前缀“M.”或或“M-”,以示和字段变量名的区别。,以示和字段变量名的区别。l内存变量建立:内存变量建立:赋值:赋值:=,STORE定义变量作用域:定义变量作用域:PUBLIC数组变量的建立:数组变量的建立:DECLARE,DIMENSION数据描述与基本操作数据描述与基本操作五种类型表达式:五种类型表达式:l数值型表达式数值型表达式:,:,*,/,*,%,(,()等)等l字符型表达式字符型表达式:,。:,。l

35、日期型表达式:日期型数据运算的三种情况:两个日期型表达式:日期型数据运算的三种情况:两个日期型数据可以相减,结果为数值型;日期型数据日期型数据可以相减,结果为数值型;日期型数据可加上一个整数,结果为日期型;日期型数据可减可加上一个整数,结果为日期型;日期型数据可减去一个整数,结果为日期型。去一个整数,结果为日期型。l关系型表达式关系型表达式:关系运算符包括,:关系运算符包括,$,等。,等。l逻辑型表达式:逻辑运算符有逻辑型表达式:逻辑运算符有NOT,AND,OR。l注:注:“=”的的3种用法:赋值、比较运算符、计算运种用法:赋值、比较运算符、计算运算符算符注意注意:=的的3 3种用法:种用法:

36、赋值:赋值:X=3X=3比较:比较:X=YX=Y计算计算:=1+1:=1+1数值和数学函数数值和数学函数l取整函数取整函数INT()l四舍五入函数四舍五入函数ROUND()l取模函数取模函数MOD()l最大、最小值函数最大、最小值函数MAX()和和MIN()l绝对值函数绝对值函数ABS()l平方根函数平方根函数SQRT()l符号函数符号函数SIGN()l随机函数随机函数RAND()l之间函数:之间函数:BETWEEN()l空函数:空函数:EMPTY()字符型函数字符型函数l字符串截取函数:截取空格函数字符串截取函数:截取空格函数ALLTRIM()、LTRIM()、RTRIM()或或TRIM()

37、;截取子串函数:;截取子串函数:LEFT();RIGHT();SUBSTR()l字符串查找(替换)函数:子串检索函数字符串查找(替换)函数:子串检索函数AT()、字符串替换函数字符串替换函数STUFF。注意:。注意:AT()函数和字符函数和字符串包含运算符串包含运算符$的区别。的区别。l其他字符函数:数据类型测试函数其他字符函数:数据类型测试函数TYPE();字符;字符串长度函数串长度函数LEN();空格函数;空格函数SPACE()。宏代换函数宏代换函数&:用字符型内存变量的:用字符型内存变量的“值值”来代替它的来代替它的“名名”。表达式计算函数表达式计算函数EVALUATE():具有与:具有

38、与&类似的功能,可用它代类似的功能,可用它代替替&函数,它的执行速度比函数,它的执行速度比&快,而且它有类似快,而且它有类似TYPE()函数的功能。函数的功能。日期时间和转换函数日期时间和转换函数l日期时间函数:系统时间函数日期时间函数:系统时间函数TIME();日期;日期函数函数DATE();日期时间函数;日期时间函数DATETIME();年份年份YEAR()、月份、月份MONTH()CMONTH()、日期日期DAY();星期星期函数函数DOW()/CDOW()。l转换函数:字母大小写转换函数转换函数:字母大小写转换函数 UPPER()/LOWER();字符型与日期型转换函数;字符型与日期型

39、转换函数 CTOD()DTOC();字符与;字符与ASCII码转换函数码转换函数 ASC()CHR();数值型与字符型转换函数;数值型与字符型转换函数 STR()VAL()。l数据库和表函数数据库和表函数字段数函数字段数函数FCOUNT()字段名函数字段名函数FIELD()数据库和表函数数据库和表函数l字段数函数字段数函数FCOUNT()l字段名函数字段名函数FIELD()l表起始测试函数表起始测试函数BOF():当:当BOF()的值为的值为.T.时:时:记录号等于记录号等于1(索引文件未打开时);记录号等于(索引文件未打开时);记录号等于逻辑上第一条记录(逻辑上第一条记录(TOP)的记录号(

40、索引文件打)的记录号(索引文件打开时)。开时)。l表结束测试函数表结束测试函数EOF():当:当EOF()的值为的值为.T.时,时,记录号等于记录数记录号等于记录数(RECCOUNT()的值的值)加加1,与索,与索引文件是否打开无关。引文件是否打开无关。记录号测试函数记录号测试函数RECNO()l测试函数:文件测试函数测试函数:文件测试函数FILE();条件函数;条件函数 IIF()l自定义函数自定义函数MESSAGEBOX():显示一个用户自定:显示一个用户自定义对话框,输出数值型数据。义对话框,输出数值型数据。程序设计基本语句程序设计基本语句l程序注释语句:程序注释语句:NOTE、*;命令

41、注释语句;命令注释语句&l输出语句输出语句?/?l输入语句输入语句 INPUT、ACCEPT、WAIT注意:三者的区别。注意:三者的区别。INPUT接收的数据可以是常量、变量或接收的数据可以是常量、变量或表达式,数据类型可以是表达式,数据类型可以是N,C,D,L和和Y等(除对象型外),等(除对象型外),但在接收字符串常量时必须加定界符;但在接收字符串常量时必须加定界符;ACCEPT接收的数据接收的数据只能是字符型常量,不需加定界符,字符个数不超过只能是字符型常量,不需加定界符,字符个数不超过254;WAIT只能接收单个字符,且不需按回车键。只能接收单个字符,且不需按回车键。l环境设置语句环境设

42、置语句 CLEAR、SET程序设计的三种基本结构程序设计的三种基本结构顺顺序序结结构构:程程序序的的执执行行按按命命令令的的排排列列顺顺序序从从上上到到下下逐条顺序执行。逐条顺序执行。选择分支结构选择分支结构分分支支结结构构程程序序根根据据给给定定的的条条件件选选择择执执行行命命令令,有有二二路路选选择择分分支支结结构构和和多路选择分支结构。多路选择分支结构。二路选择分支结构的一般格式为:二路选择分支结构的一般格式为:IFENDIF 多路选择分支结构:多路选择分支结构:DO CASEENDCASE 循环结构循环结构可以根据问题的需要任意次地重复执行一行或多行语句。可以根据问题的需要任意次地重复

43、执行一行或多行语句。循循环环结结构构要要特特别别注注意意的的是是在在重重复复执执行行语语句句过过程程中中,要要有有控控制制条条件件的的语语句,以避免出现死循环现象。句,以避免出现死循环现象。程序设计的三种基本结构程序设计的三种基本结构循环结构循环结构循循 环环 结结 构构 的的 三三 条条 命命 令令:DO WHILEENDDO;SCANENDSCAN;FORENDFOR。DO WHILE循环语句的形式:循环语句的形式:l对循环次数不确定的程序段进行操作:永真循环。对循环次数不确定的程序段进行操作:永真循环。l对表文件中的记录逐条进行操作对表文件中的记录逐条进行操作l对已知循环次数的程序段进行

44、顺计数操作对已知循环次数的程序段进行顺计数操作l对已知循环次数的程序段进行倒计数操作对已知循环次数的程序段进行倒计数操作l通过状态测试函数对程序段进行循环操作通过状态测试函数对程序段进行循环操作基本算法(一)数值运算基本算法(一)数值运算数学数值问题的基本运算主要涉及到的算法有:数学数值问题的基本运算主要涉及到的算法有:累加、累乘、整除和求余数。累加、累乘、整除和求余数。累加:采用变量累加加上循环控制,一般有两累加:采用变量累加加上循环控制,一般有两个变量,一是循环变量个变量,一是循环变量A,一是累加和变量,一是累加和变量S。主要语句有:主要语句有:lS=(一般情况下初值为零)(一般情况下初值

45、为零)l(可选用(可选用DO WHILE ENDDO或或FOR ENDFOR)lS=S+A。A=1实现计数累加,实现计数累加,A为变量实现合计数为变量实现合计数累加。累加。ll(?S)(一)数值运算(一)数值运算典型例题:求典型例题:求1+2+3+10的和。的和。开始S循环条件?SSA输出结果信息结束NYSET TALK OFFCLEARS=0N=1DO WHILE N=10S=S+NN=N+1ENDDO?1+2+3+.+10=,SSET TALK ONSET TALK OFFCLEARS=0FOR N=1 TO 10S=S+NENDFOR?1+2+3+.+10=,SSET TALK ON问题

46、:问题:求从求从1到到X的所有奇数(或偶数)之和,其中的所有奇数(或偶数)之和,其中X的值可的值可由用户通过键盘输入。由用户通过键盘输入。(一)数值运算(一)数值运算累乘:采用变量累乘加上循环控制,一般有累乘:采用变量累乘加上循环控制,一般有两个变量,一是循环变量两个变量,一是循环变量A,一是累乘积变,一是累乘积变量量T。主要语句有:。主要语句有:T=(一般情况下初值为(一般情况下初值为1)(可用(可用DO WHILE ENDDO或或FOR ENDFOR T=T*A。A为常量实现幂次累乘,为常量实现幂次累乘,A为变量实为变量实现阶乘。现阶乘。(?T)典型实例:典型实例:求求从正整数从正整数K到

47、到M值的阶乘之和,其中值的阶乘之和,其中K和和M值均由用户通过键盘值均由用户通过键盘输入。输入。求求S=1+X+X2/2!+X3/3!+XN/N!,其中,其中X,N的值从键盘输入,当的值从键盘输入,当XN/N!A(J)IF A(I)A(J)T=A(I)T=A(I)A(I)=A(J)A(I)=A(J)A(J)=T A(J)=T ENDIF ENDIF ENDFOR ENDFORENDFORENDFOR思考:如要对一组数按从小到大或从大到小的顺序排列,思考:如要对一组数按从小到大或从大到小的顺序排列,则算法如何?则算法如何?典型实例:典型实例:从键盘输入从键盘输入20个数,按从小到大进行排列输出。

48、个数,按从小到大进行排列输出。综合应用综合应用例例1:求:求2100中素数的个数中素数的个数(P192)及其和。及其和。例例2:求:求100999之间水仙花数之间水仙花数(指一个三位数指一个三位数,其其各位数字立方之和等于该数本身各位数字立方之和等于该数本身)。例例3:求:求21000之间完数的个数。(完数:一个之间完数的个数。(完数:一个数如果恰好等于它的因子之和,因子不包括本身数如果恰好等于它的因子之和,因子不包括本身且不能重复。如:且不能重复。如:6=1+2+3,81+2+4,所以,所以6是完数,是完数,8不是完数)不是完数)(一)数值运算(一)数值运算基本算法(二)字符处理基本算法(二

49、)字符处理字符比较:匹配比较(字符比较:匹配比较(=),包含比较(),包含比较($,AT函数)和精函数)和精确比较(确比较(=)。)。字符转换:大小写转换、字符类型的转换和字符内容的转字符转换:大小写转换、字符类型的转换和字符内容的转换等。换等。l字符的大小写转换:字符的大小写转换:UPPER()、LOWER()l字符类型的转换:字符类型的转换:CTOD()、()、VAL()和()和ASC()。()。l字符内容的转换:字符内容的转换:LEFT()、()、RIGHT()、()、STUFF()()、TRIM()、()、ALLTRIM()和()和SUBSTR()。()。字符串拆合字符串拆合l字符串的

50、拆开:字符串的拆开:LEFT()、()、RIGHT()和()和SUBSTR()()。l字符串的合并:字符串的合并:“+”和和“”。常用函数:常用函数:SPACE(N),LEN(S),SUBSTR(S,N1,N2),C=C+P等。等。(二)字符处理(二)字符处理例题:例题:例例1:编写一个程序,显示输出给定的英文字符编写一个程序,显示输出给定的英文字符串表达式的倒置字符串,例如,字符串串表达式的倒置字符串,例如,字符串“ABCD”,倒置后的字符串为,倒置后的字符串为“DCBA”。原字符串原字符串L第第L个字符倒置后字符串个字符倒置后字符串ABCD4DDABCD3CDCABCD2BDCBABCD1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com