第2章 Visual FoxPro程序设计基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

复习概要及其考点在历年考题中所占的分值比重为4.7%关键考点•常量的书写格式•内存变量的数据类型•变量类型•数组的定义•逻辑表达式•常用函数——字符函数•常用函数——日期和时间函数•常用函数——测试函数•常用函数——数据类型转换函数考点1常量•数值型常量:由数字0~9、小数点和正负号构成•货币型常量:$123.5•字符型常量:也称字符串,其定界符是半角单引号(‘’)、双引号(“”)或方括号([])。•日期型常量:定界符是花括号({});严格的日期格式为{^yyyy-mm-dd};设置分隔符setmarkto[日期分隔符];设置日期显示格式setdatetoymd/mdy;设置年份显示格式setcenturyon/off/to[世纪值]Rollover[年份参照值].•日期时间型常量:{日期,时间}•逻辑型常量:逻辑真.T./.t./.Y./.y.;逻辑假.F./.f./.N./.n.。考点2变量•变量值是能够随时更改的。变量名由字母、数字、下划线、汉字构成,不能以数字开头。•VF中变量分为字段变量和内存变量两个大类。•字段变量:表中的字段名•内存变量的数据类型:字符型(C)、数值型(N)、货币型(Y)、逻辑型(L)、日期型(D)、日期时间型(T)•变量的赋值命令有以下两种格式:格式1:STORE表达式TO内存变量名表格式2:内存变量名=表达式注意:当内存变量与字段变量同名时,若简单的用变量名访问,则系统默认为字段变量。若要访问内存变量,必须在内存变量的前加上前缀M.或M-。例如:M.姓名或M-姓名。•数组:是内存中连续的一片存贮区域,它由一系列元素组成,在VF中一个数组中各个元素的数据类型可以不同.•数组在使用前必须先声明(即创建)数组名,维数,大小等.•创建数组的命令格式:–DIMENSION数组名(下标上限1[,下标上限2])–DECLARE数组名(下标上限1[,下标上限2])•数组创建后,系统自动给每个元素赋以逻辑假.F.•可以用一维数组的形式访问二维数组。如二维数组:Y(2,3)中有六个元素,可以用一维数组Y(4)来访问该二维数组元素Y(2,1)。•内存变量常用的命令:–内存变量的显示:格式1:DISPLAYMEMORY[LIKE通配符格式2:LISTMEMORY[LIKE通配符]–内存变量才清除格式1:CLEARMEMORY格式2:RELEASE内存变量名表格式3:RELEASEALL[LIKE通配符|EXCEPT通配符]考点3表达式•数值表达式1)由算术运算符将数值型数据(数值型常量或数值型变量)连接起来的式子,其结果仍为数值型数据。2)数值运算符及运算优先级依次为:圆括号(());乘方(**或^);乘(*)、除(/)、取余(%);加(+)、减(-)。•字符表达式(运算符)–+:前后两个字符串首尾连接形成一个新的字符串.–-:连接前后两个字符串,并将前一个字符串的尾部空格转移到合并后的字符串的尾部.•日期时间表达式(运算符为+或-)日期时间表达式的格式为:①日期型数据+天数=日期型数据②天数+日期型数据=日期型数据③日期型数据-天数=日期型数据④日期型数据-日期型数据=天数(数值型数据)⑤日期时间型数据+秒数=日期时间型数据⑥日期时间型数据-秒数=日期时间型数据⑦日期时间型数据-日期时间型数据=秒数(数值型数据)注:日期型数据+日期型数据非法!日期时间型数据+日期时间型数据非法!•关系表达式表达式1关系运算符表达式2其返回结果为逻辑真值(.T.)或逻辑假值(.F.)。–关系运算符有:、=、、=、=–=字符串相等的比较(setexacton/off)–==字符串精确比较–、#、!=不等于–$子串包含测试:字符串表达式1$字符串表达式2说明:日期或日期时间型数据的比较(越晚的日期越大,越早的日期越小);逻辑型数据比较(.T..F.)•逻辑表达式(运算符及优先级)–.NOT.或!(逻辑非)–.AND.(逻辑与)–.OR.(逻辑或)考点4常用函数一、数值函数1.绝对值和符号函数格式:ABS(数值表达式)格式:SIGN(数值表达式)2.求平方根函数:SQRT(数值表达式)3.圆周率函数:PI()4.取整函数格式:INT(数值表达式)功能:返回数值表达式的整数部分。格式:CEILING(数值表达式)功能:返回大于或等于数值表达式的最小整数。格式:FLOOR(数值表达式)功能:返回小于等于数值表达式的最大整数。5.四舍五入函数格式:ROUND(数值表达式1,数值表达式2)6.求余函数格式:MOD(数值表达式1,数值表达式2)7.最大值和最小值函数格式:MAX(数值表达式1,数值表达式2,…)格式:MIN(数值表达式1,数值表达式2,…)二、字符函数1.计算字符串长度函数:LEN(字符表达式)2.大小写转换函数:LOWER()、UPPER()3.空格字符串生成函数:SPACE(数值表达式)4.删除前后空格函数:TRIM()、LTRIM()、ALLTRIM()5.取子串函数格式:LEFT(字符表达式,长度)格式:RIGHT(字符表达式,长度)格式:SUBSTR(字符表达式,起始位置[,长度])6.计算子串出现次数函数格式:OCCURS(字符表达式1,字符表达式2)7.求子串位置函数格式:AT(字符表达式1,字符表达式2[,数值表达式])8.子串替换函数格式:STUFF(字符表达式1,起始位置,长度,字符表达式2)9.字符替换函数格式:CHRTRAN(字符表达式1,字符表达式2,字符表达式3)10.字符串匹配函数格式:LIKE(字符表达式1,字符表达式2)三、日期和时间函数1.系统日期和时间函数DATE()、TIME()、DATETIME()2.求年份、月份和天数函数YEAR()、MONTH()、DAY()3.时、分和秒函数HOUR()、MINUTE()、SEC()四、数据类型转换函数1.数值转换成字符串:STR(数值表达式[,长度[,小数位数]])2.字符串转换成数值:VAL(字符表达式)3.字符串转换成日期或日期时间CTOD(字符表达式)、CTOT(字符表达式)4.日期型或日期时间型转换成字符串DTOC(日期型表达式|日期时间型表达式[,1])、TTOC(日期时间型表达式[,1])5.宏替换函数:&字符型变量[.]五、测试函数1.值域测试函数:BETWEEN(表达式1,表达式2,表达式3)2.空值测试函数:ISNULL(表达式)3.“空”值测试函数:EMPTY(表达式)4.数据类型测试函数:VARTYPE(表达式[,逻辑表达式])5.表文件结尾测试函数格式:EOF([工作区号|表别名])6.表文件首测试函数:BOF([工作区号|表别名])7.当前记录号测试函数:RECNO([工作区号|表别名])8.记录个数测试函数:RECCOUNT([工作区号|表别名])9.条件测试函数:IIF(逻辑表达式,表达式1,表达式2)10.记录删除测试函数:DELETED([表的别名|工作区号])程序设计基础在历年考题中所占的分值比重为7.0%关键考点•程序的基本结构——DO循环结构•程序的基本结构——SCAN循环结构•程序的基本结构——IF选择结构•模块的定义和调用•参数传递•变量的作用域•程序调试考点1程序的基本结构•程序文件的建立与修改(文件扩展名.prg)建立:文件“新建”按钮、命令modifycommand修改:文件“打开”按钮、命令modifycommand执行程序:Do文件名(扩展名可省略)•简单的输入/输出命令INPUT[字符表达式]TO内存变量(接受各种数据类型)ACCEPT[字符表达式]TO内存变量(只接受字符型数据)•程序的基本结构有三种:顺序结构、选择结构和循环结构•选择结构条件格式:IF条件表达式语句序列1[ELSE语句序列2]ENDIF分支语句格式:DOCASECASE条件表达式1语句序列1CASE条件表达式2语句序列2…CASE条件表达式N语句序列N[OTHERWISE语句序列]ENDCASE•VFP支持的循环结构(1)基于条件的循环DOWHILE-ENDDODOWHILE条件表达式语句序列1[LOOP]语句序列2[EXIT]语句序列3ENDDO(2)基于计数的循环FOR-ENDFORFOR循环变量=初值TO终值[STEP步长]命令行序列1[LOOP]命令行序列2[EXIT]命令行序列3ENDFOR|NEXT(3)基于表的循环SCAN-ENDSCAN语句。SCAN[范围][FOR条件1][WHILE条件2]命令行序列1[LOOP]命令行序列2[EXIT]命令行序列3ENDSCAN考点2传递变量•模块的定义•调用模块程序格式1:do文件名|过程名with实参1[,实参2,…]格式2:文件名|过程名(实参1[,实参2,…)•参数传递格式1:do文件名/过程名with实参1[,实参2,….]采用格式1调用模块程序时,如果实参是常量或表达式,系统会计算出实参的值,并把它们赋值给相应的形参变量,形参值的改变并不影响实参。这种情形称为按值传递。如果实参是变量,那么传递的将不是变量的值而是变量的地址。这时形参和实参实际上是同样一个变量(名字可能不同而已),在模块程序中对形参变量值的改变同样是对实参变量值的改变。这种情形称为按引用传递.格式2:文件名/过程名(实参1[,实参2,….)采用格式2调用模块时都以按值方式传递参数。如果实参是变量可以通过Setudfparms命令重新设置参数传递方式。命令格式Setudfparmstovalue/referenceTovalue:按值传递Toreference:按引用传递考点3变量的作用域•全局变量:在任何模块中都可使用的变量PUBLIC内存变量名该命令的功能是建立全局内存变量,并为它赋初值.F.。•私有变量在程序中直接使用,由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。•局部变量:局部变量只能在建立它的模块中使用LOCAL内存变量名•private内存变量名首先private并不是创建私有变量。Private命令隐藏可以上层模块中可能已经存在的变量。练习1.从内存中清除内存变量的命令是()A)ReleaseB)DeleteC)EraseD)Destroy2.下列函数中函数值为字符型的是()A)DATE()B)TIME()C)YEAR()D)DATETIME()3.执行下列命令后,显示的结果是()a=50b=100c=“a+b”?50+&cA)50+&cB)50+a+bC)200D)数据类型不匹配答案:1.A2.B3.C历年真题(15)有如下赋值语句,结果为“大家好”的表达式是a=“你好“(2010年3月)b=大家A)b+AT(a,1)B)b+RIGHT(a,1)C)b+LEFT(a,3,4)D)b+RIGHT(a,2)(17)在下面的VisualFoxPro表达式中,运算结果为逻辑真的是A)EMPTY(.NULL.)B)LIKE('xy?','xyz')C)AT('xy','abcxyz')D)LSNULL(SPACE(0))答案:(15)D(17)B(27)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“李彤”。(C型字段)。在命令窗口输入并执行如下命令:姓名=姓名-出勤?姓

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功