专升本辅导第2章数据和表达式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)命令格式:<内存变量名>=<表达式> 命令功能:将表达式的计算结果送到内存
变量中。 (2)命令格式:STORE <表达式> TO <内存 变量名表>
命令功能:将表达式的值赋给<内存变量名 表>中指定的那些内存变量。
2020/5/18
内存变量的显示 (1)输出内存变量的值 格式1:?<表达式>[,<表达式>,……] 格式2:??<表达式>[,<表达式>,……] (2)显示内存变量 格 式 1 : LIST MEMORY [LIKE< 通 配 符 >][TO PRINTER|TO FILE<文件名>] 格 式 2 : DISPLAY MEMORY [LIKE< 通 配 符 >][TO PRINTER |TO FILE<文件名>] 说明:通配符“?”代表一个任意字符;“*”代 表多个任意字符。
• 对象的建立可以通过设计器和 CreateObject()函数来实现。(第12章)
2020/5/18
• 2.2.5 内存变量的作用域
• 1.内存变量的作用范围
• 变量的作用域指的是变量在什么范围内是有效或能够被访 问的。在Visual FoxPro中,若以变量的作用域来分,内存 变量可分为公共变量、私有变量和局部变量三类。
2020/5/18
内存变量的清除 命令格式1:CLEAR MEMORY 命令功能:清除所有内存变量。 命令格式2:RELEASE ALL [EXTENDED] 命令功能:清除所有的内存变量。在人机 会话状态其作用同命令格式1 内存变量存盘 save all to 内存变量文件名 恢复内存变量 Restore from memo<内存变量名>
2020/5/18
运算符 < >
=
<>、#、!= <= >= ==
功能 小于 大于 等于 不等于 小于或等于 大于或等于 字符串恒同
表达式举例 15<4*6 ‘A’ > ‘1’ 2+4 = 3*5 5 <> -10 'abc' <= 'AB' {10-10-02}>={10/01/02} ‘abc’==’abcabc’
2020/5/18
2.3.5 关系表达式:对两个式子进行比较运算,结果为逻辑值。
运算符 < > =
<>、#、!=
说明 小于 大于 等于 不等于
运算符 <= >= == $
说明 小于等于 大于等于
恒等于 子字符串查找
说明: (1)关系运算符的优先级别相同。 (2)数值型和货币型数据按值的大小比较;日期和时间型数据越 晚值越大;逻辑型数据.T.大于.F.。 (3)字符串比较根据排序序列的设置比较大小; (4)精确比较与不精确比较设置命令SET EXACT ON|OFF。
2020/5/18
• 2.3.2 算术表达式
算术表达式又称数值表达式,其运算对象和运算结
果均为数值型数据。数值运算符的功能及运算优先顺序,
如表2-2所示。表中运算符按运算优先级别从高到低顺序
排列。操作数必须是数值,结果也是数值。
• 运算符及优先次序:(),**或^,*、/、%,+、-

算术运算符
2020/5/18
结果 .T. .T. .F. .T. .F. .T. .F.
2020/5/18
在Visual FoxPro系统中,字符型数据的比较相对复杂,默认规则为: (1)单个字符
单个字符的比较是以字符ASCII码的大小,作为字符的“大小”,也 就是先后顺序; (2)字符串 两个字符串进行比较的基本原则是从左到右逐个字符进行比较,但因 系统相关设置状态不同,比较的结果与预期的不完全相同。

在命令窗口中直接使用的变量也是公共变量。
2020/5/18
• (2)私有变量 • 在程序中直接使用(没有用PUBLIC和
LOCAL命令事先声明)的变量都是私有变 量。 • 命令格式: • PRIVATE <内存变量表> • 私有变量的作用域是建立它的模块及其下 属的各层模块。一旦建立它的模块程序运 行结束,这些私有变量将自动清除。
• 2.3.7 表达式的优先级
• 算术运算符、字符串运算符和日期时间运 算符、关系运算符、逻辑运算符。
2020/5/18
2.4 常用函数
1、函数的要素 函数有函数名、参数和函数值3个要素。
2020/5/18
• 1、字段变量 • 表的每一个字段都是一个字段变量,是
由于对于某一个字段,它的值因记录而异。 • 字段变量的值取决于当前记录的值。 • 如果当前数据表中有与内存变量同名的字段
变量,字段名变量优先于内存变量。访问内 存 变 量 时 , 必 须 在 变 量 前 加 上 前 缀 “ M.” 或 “M->”,否则系统将访问同名的字段变量。
2020/5/18
2.3 运算符与表达式
2.3.1 运算符 运算符是对数据对象进行加工处理的符号,根据其 处理数据对象的数据类型,运算符分为算术运算符、 字符串运算符、关系运算符和逻辑运算符四类。
表达式是由运算对象和运算符号组成的式子,它包 括常量、变量、函数和各种运算符号。表达式根据 进行运算的数据类型分为算术表达式、字符型表达 式、关系型表达式、逻辑型表达式和日期表达式。
串1$串2:串1是否为串2子 串 (子串匹配)
’12 ‘-‘56’
‘1234’$ ‘a12345’ ‘1234’$ ‘34512’
运算结果 ’12 56’ ‘1256 ‘
.T. .F.
2020/5/18
• 2.3.4 日期时间表达式:只有两种运算, 一种是两个日期时间相减,结果为相差的 天数或秒数;另一种是一个日期加减一个 数值,结果为新的日期时间。
2020/5/18
2.2 常量和变量
2.2.2 变量
在程序运行过程中不断变化的量即是变量。 Visual FoxPro的变量分为字段变量和内存变 量两大类。表中的字段称为字段名变量。内存 变量是内存中的一个存储区域,变量值就是存 放在这个存储区域里的数据,变量值的类型包 括字符型、数值型、货币型、逻辑型、日期型 和日期时间型。
2.3.3 字符表达式
字符表达式是将两个字符串连接生成一个字符串。 运算符:
+:将两个字符串连接成一个新的字符串。 -:将两个字符串连接成一个字符串,并将前字符串尾部的空 格移到合并后的新字符串的尾部。
运算符
+ -
$
功能
表达式举例
串1+串2:两串顺序相连接 ’12 ‘+’56’
串1-串2:串1尾空格移到串 2尾后再顺序相连接

2020/5/18
• (3)局部变量 • 局部变量只能在建立它的模块中使用,不
能在上层或下层模块中使用。 • 命令格式: • LOCAL <内存变量表> • 当建立它的模块程序运行结束时,局部变
量自动释放。局部变量要先建立后使用。 • 该命令建立指定的局部内存变量,并为它
们赋初值逻辑假.F.。由于LOCAL与 LOCATE前四个字母相同,所以这条命令的 命令动词不能缩写。
2020/5/18
2.2 常量和变量
3.逻辑型常量 逻辑型数据只有逻辑真和
逻辑假两个值。逻辑真的常量 表示形式有:.T.、.t.、.Y. 和.y.。逻辑假的常量表示形 式有:.F.、.f.、.N.和.n.。
2020/5/18
2.2 常量和变量
4、日期型常量
日期型常量的定界符是一对花括号。 花括号内包括年、月、日三部分内容, 各部分内容之间用分隔符分隔。分隔符 可 以 是 斜 杠 ( / ) 、 连 字 号 (-) 、 句 点 (.)或空格,其中斜杠是系统在显示日 期型数据时使用的默认分隔符。系统默 认的日期格式是美国日期格式:月日 年.
4个字节 4个字节
2020/5/18
2.2 常量与变量
2.2.1 常量
1、数值型常量 数值型常量即常数,用来表示一个数量的大小,由数字0~9、小
数点和正负号构成。如:25、25.45、-6.78。为了表示很大或很小 的数值型常量,也可以使用科学记数法形式书写。 2、字符型常量
字符型常量也称为字符串,其表示方法是用半角单引号、双引 号或方括号把字符串扩起来。注意,不包含任何字符的字符串("") 叫空串。空串与包含空格的字符串(" ")不同。
• (1)公共变量(又称全局变量)
• 在任何模块中都可使用的变量称为公共变量。
• 命令格式:

PUBLIC <内存变量表>
• 命令功能:建立公共的内存变量,并为它们赋初值为逻辑 假.F.。
• 公共变量一旦建立就一直有效,即使程序运行结束返回到 命令窗口也不会消失。只有当执行CLEAR MEMORY、 RELEASE、QUIT等命令后,公共变量才被释放。
第2章 数据与数据类型
本章要点
数据类型 常量与变量 运算符与表达式 常用函数
2020/5/18
2.1 数据类型
数据类型 缩写
数值型
N
浮点型
F
双精度型 B
整型
I
货币型
Y
数据类型
说明 整数或小数
整数或小数 双精度数值
整型值
数据宽度
在内存中占8个字节,在表中 占1-20个字节 在内存中占8个字节,在表中 占1~20个字节
● 大小比较:用运算符<或>进行两串比较时,比较到第1个不相 同字符为止,否则,长度较长的串较“大”;
● 其他比较:除上述运算符之外的其他运算符<>、<=和>=的比较, 均可看作是两个运算符以逻辑“或”的关系构成的复合运算;
2020/5/18
(3)汉字 系统默认按汉字的拼音排列汉字的顺序,也
就是以汉字的拼音顺序比较“大小”,因此,汉 字比较实质上是以字母的顺序进行比较;但 Visual FoxPro系统可以设置汉字按笔画排列顺序, 因而,汉字的“大小”就决定其笔画数的多少。
8个字节
4个字节
货币单位
8个字节
2020/5/18
2.1 数据类型
数据类型
数据类型 缩写
说明
数据宽度
字符型
C
任意文本
每个字符占用一个字节,最大为 254个字符
日期型
D 年、月、日
8个字节
日期时间型
T
年、月、日、 时、分、秒
8个字节
逻辑型
L
真或假
1个字节
备注型 通用型
M
不定长的字符、 数值或文本
G
OLE 对 象 链 接 与 嵌入
2020/5/18
• 2、内存变量 • 不管是字段名变量还是内存变量,变
量名的命名规则是: • (1)只能由字母、汉字、数字或下划线组
成; • (2)以字母、汉字或下划线开始; • (3)长度不能超过128个字符; • (4)不能使用VFP的保留字作为变量的名。
2020/5/18
内存变量的赋值 内存变量的赋值有以下两种形式:
2020/5/18
• 说明:由于内存变量存放在独立于数据表文件的 临时存储单元中,所以,变量和字段可以 同名。 字段具有更高的优先级,若要访问变量,变量名 前应加上m.或m->前缀来引用它。
• 2.内存变量文件 • 退出VFP后,所有的内存变量及其值将全部丢失。
再次进入Visual FoxPro时,这些内存变量均不能 再使用。在磁盘上建立专门存放内存变量的文件 了长期保存某些内存变量,这种文件就是内存变 量文件,扩展名为“.mem”。
X
Y
X AND Y X OR Y
.T.
.T.
.T.
.T.
.T.
.F.
.F.
.T.
.F.
.T.
.F.
.T.
.F.
.F.
.F.
.F.
NOT X .F. .F. .T. .T.
2020/5/18
运算符 ()
.NOT.或! .AND. .OR.
功能 圆括号 逻辑非 逻辑与 逻辑或
优先级别 最高 | | 最低
● 相等比较:用运算符=进行两串比较时,或者到达右端串的末 尾字符为止(当SET EXACT OFF时),或者当到达两串的末端为止 (当SET EXACT ON时),以判断两串是否相等;
● 恒同比较:用运算符==进行两串的恒同比较时,不论SET EXACT 的设置如何,只有当两串长度相同,字符相同,排列一致时才成立;
2020/5/18
• 2.2.3 记录 • 记录是数据表中一组数据项的集合。在同
一个数据表中可以有若干条记录,每条记 录具有相同的字段个数。在数据表中记录 的顺序不影响对记录的操作。(第5章) • 2.2.4 对象 • 对象是数据存储器的一种。对象是类的实 体,对象也是类的变量,它是任何具有属 性和方法的信息的集合。
用菜单设置汉字排列顺序方式的操作步骤为: 单击【工具】|【选项】命令,将打开“选项”对 话框中,在“数据”选项卡的“排序序列”下拉 列表框中选择“Stroke”项并确定,系统将按汉字 的笔画数进行汉字的排序、比较运算。
2020/5/18
2.3.6 逻辑表达式 运算符有:.NOT.(或!)、.AND.、.OR. 运算规则:
相关文档
最新文档