3.1 常量与变量
考点1 常量
常量用以表示一个具体的、不变的值。不同类型常量的书写格式不同。在Visual FoxPro中,常量主要包括以下几种类型。
1数值型常量
数值型常量即常数,用来表示一个数量的大小,由数字0~9小数点和正负号组成。
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)可以用一维数组的形式访问二维数组。
[1] [2] [3] [4] 下一页
考点3 内存变量常用命令
1内存变量的赋值
格式1:<内存变量名>=<表达式>
格式2:STORE<表达式>TO<内存变量名表>
2表达式值的显示
格式1:?<表达式表>
格式2:??<表达式表>
3内存变量的显示
格式1:LIST MEMORY[LIKE<通配符>][TO PRINTER!TO FILE<文件名>]
格式2:DISPLAY MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>]
4内存变量的清除
格式1:CLEAR MEMORY
格式2:RELEASE<内存变量名表>
格式3:RELEASE ALL[EXTENDED]
格式4:RELEASE ALL[LIKE<通配符>|EXCEPT<通配符>]
5表中数据与数组数据之间的交换
将表的当前记录复制到数组。
格式1:SCATTER[FIELDS<字段名表>][MEMO]TO<数组名>[BLANK]
格式2:SCATTER[FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>][MEMO]TO<数组名>[BLANK]
将数组数据复制到表的当前记录。
格式1:GATHER FROM<数组名>[FIELDS<字段名表>][MEMO]
格式2:GATHER FROM<数组名>[FIELDS LIKE<通配符>|FIELDS EXCE<通配符>][MEMO]
小提示:
如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在内存变量名前加上前缀M.(或M->),否则系统访问的将是同名的字段变量。
3.2 表达式
考点4 数值、字符与日期时间表达式
1数值表达式
(1)算术运算优先级。数值表达式中的算术运算符有些与日常使用的运算符稍有Lx=别,算术运算符及其含义和优先级
(2)求余运算。求余运算%和取余函数MOD()的作用相同。余数的正负号与除数一致当表达式中出现*、/和%运算时,它们具有相同的优先级。
2字符表达式
由字符串运算符将字符型数据连接起来形成,其结果仍是字符型数据字符型数据只能进行两种运算(+、-),它们的优先级相同。
“+”首尾连接前后两个字符串形成一个新的字符串;“-”连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部
3日期时间表达式
日期时间表达式中可以使用的运算符也有“+”和“-”两个,其格式也有一定的限制,不能任意组合,如不能用运算符“+”将两个<日期>连接起来。
上一页 [1] [2] [3] [4] 下一页
考点5 关系表达式
1关系表达式
关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来而形成的,即:<表达式><关系运算符><表达式>。关系运算符及其含义如表3-2所示,它们的优先级相同。
表3-2 关系运算符
2设置字符的排序次序
当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较;一旦发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小
3字符串精确比较与EXACT设置
在用双等号运算符==比较两个字符串时,只有当两个字符串完全相同(包括空格及各字符的位置)时,运算结果才会是逻辑真.T.,否则为逻辑假.F.。
考点6 逻辑表达式
1逻辑表达式
逻辑运算符的运算规则如表3-3所示,其中<IEl>和<IE2>各代表两个逻辑型常量。
表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(<数值表达式I>,<数值表达式2>)
功能:返回<数值表达式I>在指定位置四舍五入后的结果,<数值表达式2>指明四舍五入的位置。若<数值表达式2>大于等于0,表示的是要保留的小数位,若小于。,则表示整数部分的舍入位数。
6求余数函数
格式:MOD(<数值表达式1>,<数值表达式2>)
功能:返回两个数相除后的余数。余数的正、负号与除数相同。如果被除数与除数同号,则函数值为两数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值。
7求最大值和最小值函数
格式:MAX(<数值表达式1>,<数值表达式2>[,<数值表达式3>…])
MIN(<数值表达式1>,<数值表达式2>[,<数值表达式3>…])
功能MAX()返回自变量中的最大值。MIN()返回自变量中的最小值。
上一页 [1] [2] [3] [4] 下一页
考点8 字符函数
1求字符串长度函数
格式:LEN(<字符表达式>)
功能:返回指定字符表达式值的长度,即字符个数。
2大小写转换函数
格式:LOWER(<字符表达式>)
UPPER(<字符表达式>)
功能:LOWER()将指定表达式中的大写字母转换成小写字母,其他字符保持不变;UPPER()将指定表达式中的小写字母转换成大写字母,其他字符保持不变。
3空格字符串生成函数
格式:SAPCE(<数值表达式>)