资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
3.1 常量与变量考点 1 常量常量用以表示一个具体的、不变的值。不同类型常量的书写格式不同。在 Visual FoxPro 中,常量主要包括以下几种类型。1 数值型常量数值型常量即常数,用来表示一个数量的大小,由数字 09 小数点和正负号组成。2 货币型常量货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号($)。3 字符型常量字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。这里的单引号、双引号或方括号称为定界符许多常量都有定界符。定界符虽然不作为常量本身的内容,但它规定了常量的类型及常量的起始和终止界限。4 日期型常量日期型常量的定界符是一对花括号。花括号内包括年、月、日 3 部分内容,各部分内容之间用分隔符分隔。5 日期时间型常量日期时间型常量包括日期和时间两部分内容:,。部分与日期型常量相似,也有传统的和严格的两种格式。6 逻辑型常量逻辑型数据只有逻辑真和逻辑假两个值。前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用 1 字节。考点 2 变量Visual FoxPro 中变量分为字段变量和内存变量二其中字段变量就是表中的字段。内存变量是内存中的一块存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。内存变量的数据类型包括:字符型(C)、数值型(N)、货币型(Y)、日期型(D)、日期时间型(T)和逻辑型(L)。1 简单的内存变量每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀 M.(或 M-),否则系统将访问同名的字段变量。2 数组与简单内存变量不同,数组在使用之前一般要用 DIMENSION 或 DECLARE 命令显示创建,规定数组是一维数组还是二维数组,数组名和数组大小。数组大小由下标值的上、下限决定,下限规定为 1。在使用数组和数组元素时,应注意如下问题。(1)在一切使用简单内存变量的地方,均可以使用数组元素。(2)在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。(3)在同一个运行环境下,数组名不能与简单变量名重复。(4)在赋值语句中的表达式位置不能出现数组名。(5)可以用一维数组的形式访问二维数组。考点 3 内存变量常用命令1 内存变量的赋值格式 1:=格式 2:STORETO2 表达式值的显示格式 1:?格式 2:?3 内存变量的显示格式 1:LIST MEMORYLIKETO PRINTER!TO FILE格式 2:DISPLAY MEMORYLIKETO PRINTER|TO FILE4 内存变量的清除格式 1:CLEAR MEMORY格式 2:RELEASE格式 3:RELEASE ALLEXTENDED格式 4:RELEASE ALLLIKE|EXCEPT5 表中数据与数组数据之间的交换将表的当前记录复制到数组。格式 1:SCATTERFIELDSMEMOTOBLANK格式 2:SCATTERFIELDS LIKE|FIELDS EXCEPTMEMOTOBLANK将数组数据复制到表的当前记录。格式 1:GATHER FROMFIELDSMEMO格式 2:GATHER FROMFIELDS LIKE|FIELDS EXCEMEMO小提示:如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在内存变量名前加上前缀 M.(或 M-),否则系统访问的将是同名的字段变量。3.2 表达式考点 4 数值、字符与日期时间表达式1 数值表达式(1)算术运算优先级。数值表达式中的算术运算符有些与日常使用的运算符稍有 Lx=别,算术运算符及其含义和优先级如表 3-1 所示。表 3-1 算术运算符及其优先级(2)求余运算。求余运算%和取余函数 MOD()的作用相同。余数的正负号与除数一致当表达式中出现*、/和%运算时,它们具有相同的优先级。2 字符表达式由字符串运算符将字符型数据连接起来形成,其结果仍是字符型数据字符型数据只能进行两种运算(+、-),它们的优先级相同。“+”首尾连接前后两个字符串形成一个新的字符串;“-”连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部3 日期时间表达式日期时间表达式中可以使用的运算符也有“+”和“-”两个,其格式也有一定的限制,不能任意组合,如不能用运算符“+”将两个连接起来。考点 5 关系表达式1 关系表达式关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来而形成的,即:。关系运算符及其含义如表 3-2 所示,它们的优先级相同。表 3-2 关系运算符2 设置字符的排序次序当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较;一旦发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小3 字符串精确比较与 EXACT 设置在用双等号运算符比较两个字符串时,只有当两个字符串完全相同(包括空格及各字符的位置)时,运算结果才会是逻辑真.T.,否则为逻辑假.F.。考点 6 逻辑表达式1 逻辑表达式逻辑运算符的运算规则如表 3-3 所示,其中和各代表两个逻辑型常量。表 3-3 逻辑运算规则2 运算符优先级.NOT.或!(逻辑非)、.AND.(逻辑与)、.OR.(逻辑或)依次降低。小提示:表达式是指常量、变量、函数或由它们通过特定的运算符连接起来的式子。3.3 常用函数考点 7 数值函数数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。1 绝对值和符号函数格式:ABS)SIGN()功能:ABS()返回指定的数值表达式的绝对值。SIGN()返回指定数值表达式的符号。2 求平方根函数格式:SQRT()功能:返回指定表达式的平方根,表达式的值不能为负。3 圆周率函数格式:PI()功能:返回圆周率二,该函数没有自变量。4 求整数函数格式:INT()CEILING()FLOOR()功能:INT()返回指定数值表达式的整数部分。CEILING()返回大于或等于指定数值表达式的最小整数。FLOOR()返回小于或等于指定数值表达式的最大整数。5 四舍五入函数格式:ROUND(,)功能:返回在指定位置四舍五入后的结果,指明四舍五入的位置。若大于等于 0,表示的是要保留的小数位,若小于。,则表示整数部分的舍入位数。6 求余数函数格式:MOD(,)功能:返回两个数相除后的余数。余数的正、负号与除数相同。如果被除数与除数同号,则函数值为两数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值。7 求最大值和最小值函数格式:MAX(,)MIN(,)功能 MAX()返回自变量中的最大值。MIN()返回自变量中的最小值。考点 8 字符函数1 求字符串长度函数格式:LEN()功能:返回指定字符表达式值的长度,即字符个数。2 大小写转换函数格式:LOWER()UPPER()功能:LOWER()将指定表达式中的大写字母转换成小写字母,其他字符保持不变;UPPER()将指定表达式中的小写字母转换成大写字母,其他字符保持不变。3 空格字符串生成函数格式:SAPCE()功能:返回由指定数目的空格组成的字符串。4 侧除前后空格函数格式:TRIM()LTRIM()ALLTRIM()功能:TRIM()删除指定表达式尾部的空格。LTRIM()删除指定表达式前端的空格。ALLTRIM()删除指定字符串前端和尾部的空格。5 取子串函数格式:LEFT(,)RIGHT(,)SUBSTR(,)功能:LEFT()从指定表达式左端截取一个指定长度的子串作为函数值。RIGHT()从指定表达式右端载取一个指定长度的子串作为函数值。SUBSTR()从指定表达式指定位置截取一个指定长度的子串作为函数值,若默认,则截取的子串表示从指定位置开始一直到字符串尾部。6 计算子串出现次数函数格式:OCCURS(,)功能:返回第一个字符串在第二个字符串中出现的次数。7 求子串位置函数格式:AT(,)ATC(,)功能:AT()返回第一个字符串的首字符在第二个字符串中出现的位置。前提条件是第一个字符串必须是第二个字符串的子串,否则函数返回值为 0。ATC()功能与 AT()类似,但不区分字符串中字符的大小写。8 子串替换函数格式:STUFF,)功能:用的值替换中由和指定的一个子串。9 字符替换函数格式 CHRTRAN(,)功能:该函数的自变量是三个字符表达式。当第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时,应用第三个字符串中的对应字符(相同位置)替换这些字符如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因为没有对应字符,那么第一个字符串中相匹配的各字符将被删除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余字符将被忽略。10 字符串匹配函数格式:LIKE(,)功能:比较两个字符串对应位置L 的字符。其中中可包含通配符*和?。*表示若干个任意字符,?表示任意一个字符。考点 9 日期和时间函数1 系统日期和时间函数格式:DATE()TIME()DATETIME()功能:DATE()返回当前系统日期,函数值为日期 TIME()以 24 小时制返回当前系统时间,函数值为字符型;DATETIME()返回肖前系统日期时间,函数值为日期时间型。2 求年份、月份和天数的函数格式:YEAR(|)MONTH(|)DAY(|)功能:YEAR()从指定的日期表达式或日期时间表达式中返回年份。MONTH()从指定的日期表达式或日期时间表达式中返回月份 DAY()从指定的日期表达式或日期时间表达式中返回月份的天数。这 3 个函数的返回值均为数值型数据3 求时、分和秒的函数格式:HOUR()MINUTE()SEC()功能:HOUR()从指定的日期时间表达式中返回小时部分(24 小时制)。MINUTE()从指定的日期时间表达式中返回分钟部分。SEC()从指定的日期时间表达式中返回秒钟部分。考点 10 数据类型转换函数数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。1 数值转换成字符串函数格式:STR(,)功能:将的值转换成字符串,转换时根据需要自动四舍五入。2 字符串转换成数值函数格式:V AL()功能:将由数字符号(包括符号、小数点)组成的字符型数据转换成相应的数值型数据。3 字替串转换成日期或日期时间函数格式:CTOD()CTOT)功能:CTOD()将转换成日期型数据 CTOT()将转换成日期时间型数据。4 日期或日期时间转换成字符串函数格式:DTOC(|,1)TTOC(,1)功能:DTOC()将日期型数据或日期时间型数据的日期部分转换成字符串。TTOC()将日期时间型数据转换成字符串。5 宏替换函数格式:.功能:替换出字符型变量的内容,即的值是变量中的字符串。如果该函数与其后面的字符无明显分界,则要用“.”作为函数结束标识宏替换可以嵌套使用。考点 11 测试函数1 值域测试函数格式:BETWEEN(,)功能:判断一个表达式的值是否介于其他两个表达式的值之间。2 空值(NULL)测试函数格式:ISNULL()功能:判断一个表达式的运算结果是否为 NULL 值。3“空”值测试函数格式:EMPTY()功能:略。4 数据类型测试函数格式:VARTYPE(,)功能:测试表达式的类型,返回一个大写字母,函数值为字符型。字母含义如表 3-4所示。表 3-4 VARTYPE()测得的数据类型5 表文件尾测试函数格式:EOF(|)功能:测试当前表文件(若默认自变量)或指定表文件中的记录指针是否指向文件尾,若是,则返回逻辑真(.T.),否则为逻辑假(.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号