第03章 数据类型、常量与变量 表达式、函数.doc_第1页
第03章 数据类型、常量与变量 表达式、函数.doc_第2页
第03章 数据类型、常量与变量 表达式、函数.doc_第3页
第03章 数据类型、常量与变量 表达式、函数.doc_第4页
第03章 数据类型、常量与变量 表达式、函数.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

l 第三章l 数据类型: 字符型(C)2字节(中文字符)1字节(其他)& 占60%80% 数值型(N)20字节(最多)& 小数点、正负号占1字节 日期型(D)8字节 逻辑型(L)1字节 整型(I)4字节 备注型(M)4字节& 实际数据存放在与表文件同名的备注文件.fpt中 通用型(G)4字节& 实际数据存放在与表文件同名的备注文件.fpt中例1:在数据表中,逻辑型、日期型和备注型字段的宽度分别被系统定义为:A)3,8,10B)1,6,10 C)1,8,任意D)1,8,4例2:一个数据表文件的数值型字段要求保留5位小数,那么它的宽度最少应当定义成:A)5位 B)6位C)7位D)8位l 常量: 字符型常量:Thiss right!& 双撇号410075& 单撇号教授& 方括号 数值型常量: 日期型常量:2009-02-25 逻辑型常量:.T.F.t.f.Y. .N.y.n.例1:下列数据中为常量的是:A)02/18/99 B)TC).N.D)TOPl 变量命名规则: 字母、汉字、下划线和数字,一般建议不采用汉字命名; 命名以字母或下划线开头,可使用1128个字符; 避免使用 Visual FoxPro的保留字;例1:下列变量名中合法的是:A)NEW.DBFB)1999J C)CLASS_2D)KSPASS例2:下列字符中,非法变量名是:A)A_SK97B)PS:12 C)4_AK D)性别l 字段变量:自由表的字段名可使用110个字符,不可包含空格,其它与上述规则相同;l 内存变量:a=2008-08-08& 单个内存变量赋值b=北京store奥运会to bj,ayh& 多个内存变量赋值? a& 内存变量的显示输出(换行)? b,ayh& 内存变量的显示输出(不换行)c1=3c2=c1+2c3=c2+3? c1,c2,c3? c2=c1+2? c2=c3l 数组变量:dimension x(2,3)、declare y(10)例1:在命令窗口输入命令:Dime x(2,3)Store goodbye to x(1,2)Store 99 to x(2,3)Store .t. to x(1,1)Store 数组的赋值 to x(2,1)List memory like x*l 系统变量:下划线_开头l 表达式:算术运算 字符串运算 日期和时间运算 关系运算 逻辑运算? 15%4#3.OR.abc=ab AND.t.!=.f.? 15%4#3.OR.abc=ab AND.t.!=.f. 算术表达式:() * 或 * / % + - 字符表达式:+-例1:AA= 全国计算机等级考试BB= 九八CC= 一? AA? BB+ 年第+CC+ 次考试执行程序后,屏幕显示A)全国计算机等级考试九八年第一次考试B)全国计算机等级考试 九八年第一次考试C)全国计算机等级考试BB年第CC次考试D)全国计算机等级考试 BB年第CC次考试例2:STORE 学习 TO ASTORE 计算机TO B? A+B? A-B? 爱$A? 爱$B? 1+2? 1+2? 1+2 日期表达式:? 2001/08/20)-2000/03/15? 2001/08/20 23:45:30)-2001/08/20 10:30:0? 2000/03/15)+523? 2001/08/20 23:30:30)+1800 关系表达式: = = = = 或#或!= 逻辑表达式:NOT或.NOT.或! AND或.AND. OR或.OR. (参看教材P53例3.6)l 数值函数:1. ? abs(-12.34) & 绝对值函数2. ? sqrt(25*4) & 平方根函数3. ? exp(2*2) & 指数函数4. ? log(54.60) & 对数函数5. ? int(-4.68) & 取整函数6. ?mod(25,7) & 余数函数7. ? round(123.45678,3) & 四舍五入函数? round(123.45678,-2) & 四舍五入函数8. ? max(5*4,60/2) & 最大值函数? min(5*4,60/2) & 最小值函数9. ? pi( ) & 函数l 字符函数:1. m=245+sqrt(4) & 宏代换函数? m,&m2. ? len(how are you)& 字符串长度函数3. ? at(a , bcde”) & 字符串位置函数? at(a, abcde )4. ? substr(hardwork,3,4) & 取子串函数? substr(二级计算机,5,4)? left(hardwork ,3)? left(二级计算机,4)? right(二级计算机,4)f=我爱我家? right(f,4)+ substr(f,3,2)+ left(f,2)5. ltrim( )、rtrim( )、alltrim( )& 删除字符串前后空格函数6. ? a+space(3)+ b& 生成空格函数l 日期函数:l 转换函数:1. ? ctod(02/17/64)& 字符串转换成日期函数2. ? dtoc(date()& 日期转换成字符串函数3. ? lower(aabbcc)& 大写字母转换成小写字母函数4. ? upper(aabbcc)& 小写字母转换成大写字母函数5. ? str(123.4567,6,2) & 数值转换成字符串函数6. ? val(123.4567) & 字符串转换成数值函数l 测试函数:1. ? type(123.4567)& 数据类型测试函数2. bof( ) & 表头测试函数3. eof( ) & 表尾测试函数4. recno( ) & 记录号测试函数5. reccount(工作区号别名) & 记录个数测试函数6. found( )& 查找是否成功测试函数7. between( ) & 判断值介于两个值之间的函数gz=375? between(gz,260,650)8. xb= 女 iif(xb= 男,1, iif(xb= 女,2,3) & 条件函数第4章 表的基本操作8 打开表use 表文件名8 关闭表useclose table all8 显示表list fields for display all8 浏览表browse8 显示表结构list structre8 修改表结构modify structure8 成批替换修改数据replacewithfor(all)8 表记录指针定位绝对定位go 记录号go topgo bottom相对定位skip 记录数查询定位locateforcontinue8 插入记录insert blank before(当前记录前插入)insert blank(当前记录后插入)8 追加记录append blank(表末尾增加空行)8 逻辑删除记录delete for8 取消删除标志recall for8 物理删除记录pack8 删除全部记录zap8 复制表结构copy structuer to 新文件名 fields 字段名1, 字段名28 复制表copy to 新文件名 fields 字段名1, 字段名2for排序与索引物理排序SORTTO新文件名ON排序字段/ADFIELDS字段1,字段2FOR例4.12就学生表,显示入学成绩最高的5名学生的记录USE 学生SORT ON 入学成绩/D TO 学生1USE 学生1LIST NEXT 5索引排序(逻辑排序)单索引:INDEXON索引表达式TO索引名FOR注:*.idx,作为临时索引使用,每个索引排序都有一个索引文件,不随表文件一同打开。例4.13用建立单索引文件的方法完成例4.12的操作USE 学生INDEX ON -入学成绩 TO rxcjLIST NEXT 5复合索引:INDEXON索引表达式TAG索引名FOR ascedesc candidateunique 1)asce升序,desc降序2)cand候选索引,惟一索引注:*.cdx,文件名与主文件名相同,随表文件同时打开和更新,每个索引都包含于*.cdx中candidateunique例4.14就学生表,建立复合索引文件完成操作1)按学号降序排列(注意“”和DESC的区别)2)先按性别升序,性别相同再按入学成绩降序排列USE 学生INDEX ON 学号 TAG xhLISTINDEX ON 性别STR(1000-入学成绩) TAG xbcjLIST索引的四种类型8 主索引:不允许重复值,每张表只能建一个8 候选索引:不允许重复值,每张表能建多个8 惟一索引:索引字段值可以重复,但重复值中只有惟一一个值出现8 普通索引:可以重复使用索引文件单索引同时打开:USE表文件名INDEX索引名USE 学生 INDEX rxcjLIST打开表后再打开:SETINDEXTO索引名USE 学生LISTSETINDEXTO rxcjLIST关闭:SETINDEXTO删除:DELETEFILE索引名复合索引确定主控索引:SETORDERTO索引名索引序号取消索引:SETORDERTO例4.15use 学生listset order to xhlistset order to 2listset order tolist注:区别理解GO 1和GO TOP,GO 10和GO BOTTOM的不同,SKIP移动方式例4.16当有索引文件时,分析记录指针的移动规律use 学生index on 出生日期 to csrqgo 6? recn(),姓名skip? recn(),姓名删除:DELETETAGALL索引名索引查询定位SEEK表达式(查询第一条)SKIP(查询下一条)例4.17就学生表查询1984年9月7日出生的学生的记录use 学生index on 出生日期 to csrqseek 1984/9/7index on 姓名 to xmseek李dispskipdisp注:set exact on和set exact off统计与计算记录个数:COUNTFORTO内存变量例4.18对学生表,分别统计男女学生的人数use 学生count for 性别=女 to wcount for 性别=男 to m? w,m 和与平均值:SUMAVERAGEFORTO内存变量例4.19对学生表,求全体学生的平均年龄use 学生list year(date()-year(出生日期)aver year(date()-year(出生日期) to y?y统计函数的计算:CALCFORTO内存变量8 AVG( ):数值表达式平均值8 CNT( ):个数8 MAX( ): 8 MIN( ):8 SUM( )例4.20就学生表,求女同学的平均入学成绩,最高入学成绩,最低入学成绩use 学生calc avg(入学成绩),max(入学成绩),min(入学成绩) to cj1,cj2,cj3 for 性别=女? cj1,cj2,cj3 分类汇总:TOTALON TOFIELDSFOR注:先索引排序例4.21对学生表,按籍贯对入学成绩进行汇总use 学生index on 籍贯 tag jgtotal on 籍贯 to flhz fields 入学成绩 &此表只有入学成绩为N型可省略use flhzlist 籍贯,入学成绩多表操作工作区概念:可以同时打开多张表,每个工作区打开一张工作区号:132767别名:AJ&(110)use 学生 alias stu in 1use 教师 alias tea in B工作区选择:select 0表的关联SETRELATIONTOINTOsele 2use xsqkinde on 学号 to xhsele 1use cjset rela to 学号 into blist b.姓名,a.数学sele 1dispsele

温馨提示

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

评论

0/150

提交评论