数据表达与运算.ppt_第1页
数据表达与运算.ppt_第2页
数据表达与运算.ppt_第3页
数据表达与运算.ppt_第4页
数据表达与运算.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章数据表达与运算 VFP中的数据分为常量 变量 表达式与函数四种形式 变量与常量是程序中的两种基本数据对象 运算符用于指定对变量与常量进行的操作 表达式通过运算符对变量与常量进行运算以产生新的值 函数则是VFP系统预先定义的功能体 用于执行特定的操作 函数与运算符体现了一种程序设计语言对数据进行处理的能力 2 1VFP数据类型2 2常量与变量2 3常用标准函数2 4运算符与表达式思考题 2 1数据类型 基本数据类型有五种 CYNDL2 1 1字符型 Character 2 1 2货币型 Curreency 2 1 3数值型 Numberic 浮点型 Float 整型 Integer 双精度型 Double 2 1 4日期型 Date 时间日期型 DateTime 2 1 5逻辑型 Logical 2 1 6通用型 General 2 1 7备注型 Memo 2 1 1字符型 Character 经常使用字符类型来储存名称 地址等文本信息 字符类型数据中可以包含任何从键盘上输入的字符及汉字等 例如 张迪 计算机 1234 IS9002 等 字符型的代码 C 2 1 2货币型 Curreency 这种类型是专门为货币数据设计的数据类型 表示方法是在数据前加一个 符号 货币型数据最多只能保留到小数点后 位 超过四位则会自动四舍五入 少于四位则会自动补零 例如 b 1200 34567货币型的代码 Y 2 1 3数值型 Numberic 可以存储整数和小数 在内存中 数值型数据占 个字节 在表中的长度为 到20个字节 VisualFoxPro中文版支持对数值型的字段和变量采用十进制和十六进制两种格式 例如 0 002 0 xff 前面加0 x表示十六进制 等于十进制数255 65536 数值型的代码 N 浮点型 Float 完全等价于数值型类型 VisualFoxPro之所以设置这个数据类型是出于兼容性的考虑 浮点型的代码 N参见2 1 3数值型 2 1 5日期型 Date 用于记录时间的数据 由年 月 日三部分组成 表示范围为 0001 01 01 到 9999 12 31 即公元0001年 月 日到公元9999年12月31日 日期型数据存储长度为 个字节 其中 符号表示此日期格式严格遵循YMD year month day 的格式 使用日期型数据时应用大括号 括起来 例如 dDowdate 1999 12 10 表示日期是1999年12月10日 而不是1999年10月12日日期型的代码 D 时间日期型 DateTime 用来记录时间的数据 由日期数据加具体时间构成 其中时间部分的取值为 00 00 00a到11 59 59p之间 其书写遵循的格式与日期型相似 例如 mydatetime 2000 12 1412 30 05p 时间日期型的代码 T 2 1 7逻辑型 Logical 这种数据类型只有两个值 即逻辑真 t 或 y 和逻辑假 f 或 n 逻辑型的代码 L 双精度型 Double 双精度数据类型是比数值型精度更高的一种数据类型 在内存中占用 个字节 双精度数据类型通常用来记录高精度的科学数据 双精度型的代码 N B参见2 1 3数值型 2 1 9通用型 General 通用型数据是一种用于OLE存储对象 电子表格 图片 字处理文档 的数据类型 通用型数据在表中的字段名长度为 个字节 而实际上若是嵌入式数据对象的实际数据 这样通用型数据的字段长度就受实际内存空间的影响 通用型的代码 G 整型 Integer 用来存储不含小数部分的数据 是一种日常生活中比较小的数据类型 整数型占有内存空间 个字节 取值范围为 2147483674 2147483646整型的代码 N参见2 1 3数值型 2 1 11备注型 Memo 备注型数据类型在字段名长度上和通用型一样 在表中占 个字节 实际的备注内容以后缀名 fpt的独立文件存储 需要指出的是 因为备注型数据只用于表中 所以内存中不存在备注型的变量和数组元素 备注型的代码 M 2 2常量与变量 数据可分为常量和变量两种 在程序运行过程中取值不能改变的量称为常量 而取值可以改变的量称为变量 VFP中的变量又可分为内存变量和字段变量两种 2 2 1常量2 2 2内存变量2 2 3数组变量2 2 4字段变量 2 2 1常量 常量是固定不变的数据 它具有数值型 字符型 日期型 日期时间型 逻辑型和货币型等多种类型 常量一般不使用名称 只在预编译指令中使用常量名称 1 数值型常量2 字符型常量3 日期型和日期时间型常量4 逻辑型常量5 货币型常量 1 数值型常量 整数 小数或用科学计数法表达的数都是数值型常量 例如10 100 2 81828 0 286E02 2 字符型常量 字符型常量是用双引号 单引号或方括号等定界符括起来字符串 例如 微机 计算机 PC机 20000301001 若字符串中含有定界符 则须用另一种定界符括起来 例如 I mastudent 3 日期型和日期时间型常量 日期型和日期时间型常量有常用日期型格式和严格的日期格式 常用格式为 mm dd yy hh mm ss a p 例如 06 30 99 6 30 99 严格格式为 yyyy mm dd hh mm ss a p 例如 2000 08 22 必须注意的是VisualFoxPro默认为严格的日期格式 如果要使用通常的日期格式 必须先执行SETSTRICTDATETO0命令 否则会引起出错 若要设置严格的日期格式 可执行命令SETSTRICTDATETO1 4 逻辑型常量 逻辑型常量只有真和假两种值 例如婚姻状况 已婚为T 未婚为F 5 货币型常量 货币型常量以 为开头 并四舍五入到小数 位 例如货币型常量 100 23456 计算结果为 100 2346 2 2 2内存变量 内存变量表示内存的一块区域 可用来存储数据 定义内存变量时需为其取名并赋初值 1 内存变量的数据类型2 内存变量的命名规则3 内存变量的赋值命令 1 内存变量的命名规则 变量名是以字母 汉字或下划线 为开头 由字母 数字 下划线组成 至多128个字符 不可与系统保留字同名 所谓系统的保留字是VisualFoxPro语言使用的命令名 参数等 例如USE LIST就是系统保留字 符合VFP的命名惯例 NamingConvention 变量 表 对象 窗口等都有名称 常量只在预编译指令中使用名称 2 内存变量的赋值命令 1 命令格式 内存变量 表达式 命令格式 STORE 表达式 TO 内存变量表 功能 计算表达式的值 赋值给内存变量 例如 为变量a b xm xh赋值xm 李小红 xh jc20010110 2 内存变量的赋值命令 2 store0toa b说明 内存变量的类型由所提供的值的数据类型所决定 STORE命令的 内存变量 可包括多个内存变量 但须用逗号来分隔 该命令可将同一值赋给多个变量 而 命令仅可为一个内存变量赋值 2 2 3数组变量 数组是按一定顺序排列的一组内存变量 数组中的各个变量称为数组元素 数组必须先定义后使用 1 数组的定义2 数组的赋值 1 数组的定义 1 1 命令格式DIMENSION DECLARE 2 功能 定义一维或二维数组 及其下标的上界 1 数组的定义 2 3 说明 系统规定各下标的下界为 例如 命令DIMENSIONx 3 a 2 3 分别定义了数组名为x的一维数组与数组为a的二维数组 数组x下标的上界为 由于下界规定为 故该数组有 个数组元素 分别为x 1 x 2 x 3 对于二维数组 常将第一个下标称为行标 第 个下标称为列标 故二维数组a有 行 列 个元素 分别为a 1 1 a 1 2 a 2 3 理论上VisualFoxPro中最多可定义65000个数组 且每个数组最多可包含65000个元素 实际上最大数将受可用内存的制约 2 数组的赋值 数组的赋值与内存变量相同 例如 x 1 10 x 2 20STOREx 1 x 2 TOx 3 A 0 二维数组a的 个元素都赋以同样的初值 说明 在定义数组时 系统将各数组元素的初值设置为 F 符号 为注释符 所注释的内容不影响命令功能 2 2 4字段变量 表的每一个字段都是一个字段变量 例如 学生表 中的XM XH等都是字段变量 字段变量在建立表结构时定义 字段变量的值因记录而异 内存变量独立存在 字段变量则隶属于表 内存变量的类型和长度可以随所赋值的不同而变化 字段变量的类型和长度在建表时已定义好 除非修改表的结构 否则不能改变 内存变量为单值变量 字段变量为多值变量 当内存变量和字段变量同名时 默认为字段变量 如想指明为内存变量 须在内存变量名前加M 或M 内存变量与字段变量的区别 2 4运算符与表达式 表达式是由常量 变量 函数 操作符等组成的一串有意义的式子 在VisualFoxPro中 表达式依操作符的不同有算术表达式 字符表达式 时间日期表达式 关系表达式 逻辑表达式 注意各种表达式的操作符 操作数 返回结果的类型 2 4 1算术表达式 数值型表达式 2 4 2字符表达式2 4 3日期型表达式2 4 4关系表达式2 4 5逻辑表达式2 4 6运算的优先顺序 由数值型常量 变量 函数 和算术运算符构成 运算符号有 加 减 取模 乘 除 乘方 或 圆括号各种运算的优先次序同数学相同 例如 一元二次方程的求根公式为 b sqrt b 2 4 a c 2 a 和 b sqrt b 2 4 a c 2 a 2 4 1算术表达式 数值型表达式 由字符型常量 变量 函数 和字符运算符组成 运算符号有两个 完全连接 去空连接 包含 完全连接是的连接号两边的字符串依次接成一个新串 去空连接是先把前字符串的尾部空格去掉 再把两字符串连接成一个新串 例如 S HOW A AREYOU S A 显示 HOWAREYOU S A 显示 HOWAREYOU 2 4 2字符表达式 操作数 日期型 数值型 运算符有两种 根据操作数不同而有别 1日期与数字相加 减表示日期与天数相加减 例如 CTOD 12 08 00 10值为12 18 00CTOD 12 08 00 10值为11 28 002日期与日期相减表示为两日期相差的天数 例如 CTOD 12 08 00 CTOD 11 28 00 值为10CTOD 12 08 00 CTOD 12 12 00 值为 4 2 4 3日期型表达式 关系表达式是由两个同类型的表达式用关系运算符 比较运算符 连接起来的式子 关系运算符包括 小于 大于 大等于 或者 或 完全等于 其运算结果为逻辑值真 T 或假 F 例如 10 3 3 显示 T ABC abc 显示 f BC ABC 显示 T 2 4 4关系表达式 1 2 4 4关系表达式 2 字符串的完全比较 非完全比较 setexacton off例如 a abcd b ab a b 显示 f t a b 显示 f f a b 显示 t f a b 显示 t f a b 显示 f f 2 4 5逻辑表达式 1 由逻辑型常量 变量 函数 关系表达式和逻辑运算符构成 其结果为逻辑值 逻辑运算符有 逻辑非 NOT 逻辑与 AND 和逻辑或 OR 其运算规则见下表 2 4 5逻辑表达式 2 例如 1 判断一个年份y是否是闰年 y 4 0andy 100 0ory 400 02 表示如下命题 奖学金大于200的男生或奖学金大于150的女生 jxj 200 and xb t or jxj 150 and xb f 2 4 6运算的优先顺序 运算符类别 字符运算符 运算符优先顺序 算术运算符 关系运算符 逻辑运算符 NOT AND OR 日期运算符 2 3常用标准函数 标准函数是预先定义并封装好用于执行特定操作的功能体 具体讲 公式 使用标准函数的优点是只需知道其功能而无需关心它是如何实现的 函数调用格式 函数名 参数1 参数2 VFP的常用标准函数可以分成以下5种类型 2 3 1数值型函数9 1 MAX 个2 3 2字符函数10 4 类型转换 个2 3 3日期时间函数9 4 类型转换 个2 3 4类型转换函数8个2 3 5测试函数10个 2 3 1数值型函数 1 2 3 1数值型函数 2 2 3 2字符函数 1 2 3 2字符函数 2 2 3 2字符函数 3 2 3 3日期时间函数 1 HOUR T MINUTE T SEC T 返回T中的小时返回T中的分钟返回T中的秒 2 3 3日期时间函数 2 2 3 4类型转换函数 2 3 5测试函数 函数 功能 BOF W EOF W 记录指针是否到表的开始 在首记录之前 记录指针是否到表的末尾 在末记录之后 DBF W SELECT 返回W中的表名 返回工作区号 RECNO W 返回W中当前记录的记录号 RECCOUNT W 返回W中表的记录个数 FOUND W 查询 定位命令是否成功 FILE 文件名 指定的文件名是否存在 TYPE 表达式 表达式的类型 EMPTY 表达式 表达式是否空值 DBF W SELCET 几点说明 1 1 STR函数中N2的值缺省时为10 N3缺省时值为0 例如 STR 3 1415 的值是 3 该字符串之中有9个空格 2 AT函数中N3的缺省时为1 即求第一次出现的位置 3 SUBSTR函数中若N2缺省 则子串取到C的最后一个字符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论