第03章 数据类型常量与变量 表达式函数.docx

上传人:b****4 文档编号:11599894 上传时间:2023-03-20 格式:DOCX 页数:14 大小:21.15KB
下载 相关 举报
第03章 数据类型常量与变量 表达式函数.docx_第1页
第1页 / 共14页
第03章 数据类型常量与变量 表达式函数.docx_第2页
第2页 / 共14页
第03章 数据类型常量与变量 表达式函数.docx_第3页
第3页 / 共14页
第03章 数据类型常量与变量 表达式函数.docx_第4页
第4页 / 共14页
第03章 数据类型常量与变量 表达式函数.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

第03章 数据类型常量与变量 表达式函数.docx

《第03章 数据类型常量与变量 表达式函数.docx》由会员分享,可在线阅读,更多相关《第03章 数据类型常量与变量 表达式函数.docx(14页珍藏版)》请在冰豆网上搜索。

第03章 数据类型常量与变量 表达式函数.docx

第03章数据类型常量与变量表达式函数

●第三章

●数据类型:

字符型(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,10C)1,8,任意D)1,8,4

例2:

一个数据表文件的数值型字段要求保留5位小数,那么它的宽度最少应当定义成:

A)5位B)6位C)7位D)8位

●常量:

字符型常量:

"This′sright!

"&&双撇号

'410075'&&单撇号

[教授]&&方括号

数值型常量:

日期型常量:

{^2009-02-25}

逻辑型常量:

.T. .F. .t. .f. .Y. .N. .y. .n.

例1:

下列数据中为常量的是:

A)02/18/99B)TC).N.D)’TOP’

●变量命名规则:

字母、汉字、下划线和数字,一般建议不采用汉字命名;

命名以字母或下划线开头,可使用1~128个字符;

避免使用VisualFoxPro的保留字;

例1:

下列变量名中合法的是:

A)NEW.DBFB)1999JC)CLASS_2D)KS@PASS

例2:

下列字符中,非法变量名是:

A)A_SK97B)PS:

12C)4_AKD)性别

●字段变量:

自由表的字段名可使用1~10个字符,不可包含空格,

其它与上述规则相同;

●内存变量:

a={^2008-08-08}&&单个内存变量赋值

b=[北京]

store"奥运会"tobj,ayh&&多个内存变量赋值

?

a&&内存变量的显示输出(换行)

?

?

b,ayh&&内存变量的显示输出(不换行)

c1=3

c2=c1+2

c3=c2+3

?

c1,c2,c3

?

c2=c1+2

?

c2=c3

●数组变量:

dimensionx(2,3)、declarey(10)

例1:

在命令窗口输入命令:

Dimex(2,3)

Store"goodbye"tox(1,2)

Store99tox(2,3)

Store.t.tox(1,1)

Store"数组的赋值"tox(2,1)

Listmemorylikex*

●系统变量:

下划线"_"开头

●表达式:

算术运算→字符串运算→日期和时间运算→关系运算→逻辑运算

?

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'学习'TOA

STORE'计算机'TOB

?

A+B

?

A-B

?

‘爱’$A

?

‘爱’$B

?

1+2

?

‘1’+‘2’

?

‘1’+2

日期表达式:

?

{^2001/08/20)-{^2000/03/15}

?

{^2001/08/2023:

45:

30)-{^2001/08/2010:

30:

0}

?

{^2000/03/15)+523

?

{^2001/08/2023:

30:

30)+1800

关系表达式:

<<=>>====<>或#或!

=

逻辑表达式:

NOT或.NOT.或!

→AND或.AND.→OR或.OR.

(参看教材P53例3.6)

●数值函数:

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()&&π函数

●字符函数:

1.m="245+sqrt(4)"&&宏代换函数

?

m,&m

2.?

len("howareyou")&&字符串长度函数

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"&&生成空格函数

●日期函数:

●转换函数:

1.?

ctod("02/17/64")&&字符串转换成日期函数

2.?

dtoc(date())&&日期转换成字符串函数

3.?

lower("aabbcc")&&大写字母转换成小写字母函数

4.?

upper("aabbcc")&&小写字母转换成大写字母函数

5.?

str(123.4567,6,2)&&数值转换成字符串函数

6.?

val([123.4567])&&字符串转换成数值函数

●测试函数:

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关闭表 use   closetableall

8显示表 listfieldsfor

displayall

8浏览表 browse

8显示表结构 liststructre

8修改表结构 modifystructure

8成批替换修改数据 replace…with…for…(all)

8表记录指针定位

绝对定位go记录号

gotop

gobottom

相对定位skip±记录数

查询定位locate…for<条件>

continue

8插入记录 insertblankbefore(当前记录前插入)

insertblank(当前记录后插入)

8追加记录 appendblank(表末尾增加空行)

8逻辑删除记录 deletefor

8取消删除标志 recallfor

8物理删除记录 pack

8删除全部记录 zap

8复制表结构 copystructuerto新文件名fields字段名1,字段名2……

8复制表 copyto新文件名fields字段名1,字段名2……for 

排序与索引

物理排序

SORT TO 新文件名ON 排序字段/A︱D FIELDS 字段1,字段2……FOR<条件>

例4.12 就学生表,显示入学成绩最高的5名学生的记录

USE学生

SORTON入学成绩/DTO学生1

USE学生1

LISTNEXT5

索引排序(逻辑排序)

单索引:

INDEX ON 索引表达式 TO 索引名 FOR<条件>

注:

*.idx,作为临时索引使用,每个索引排序都有一个索引文件,不随表文件一同打开。

例4.13 用建立单索引文件的方法完成例4.12的操作

USE学生

INDEXON-入学成绩TOrxcj

LISTNEXT5

复合索引:

INDEX ON 索引表达式 TAG 索引名 FOR<条件>asce︱desccandidate︱unique

1)asce升序,desc降序

2)cand候选索引,惟一索引

注:

*.cdx,文件名与主文件名相同,随表文件同时打开和更新,每个索引都包含于*.cdx中

candidate︱unique

例4.14 就学生表,建立复合索引文件完成操作

1)按学号降序排列 (注意“-”和DESC的区别)

2)先按性别升序,性别相同再按入学成绩降序排列

USE学生

INDEXON学号TAGxh

LIST

INDEXON性别+STR(1000-入学成绩)TAGxbcj

LIST

索引的四种类型

8主索引:

不允许重复值,每张表只能建一个

8候选索引:

不允许重复值,每张表能建多个

8惟一索引:

索引字段值可以重复,但重复值中只有惟一一个值出现

8普通索引:

可以重复

使用索引文件

单索引

同时打开:

USE 表文件名 INDEX 索引名

USE学生INDEXrxcj

LIST

打开表后再打开:

SET INDEX TO 索引名

USE学生

LIST

SET INDEX TO rxcj

LIST

关闭:

SET INDEX TO

删除:

DELETE FILE 索引名

复合索引

确定主控索引:

SET ORDER TO 索引名︱索引序号

取消索引:

SET ORDER TO

例4.15

use学生

list

setordertoxh

list

setorderto2

list

setorderto

list

注:

区别理解GO1和GOTOP,GO10和GOBOTTOM的不同,SKIP移动方式

例4.16 当有索引文件时,分析记录指针的移动规律

use学生

indexon出生日期tocsrq

go6

?

recn(),姓名

skip

?

recn(),姓名

删除:

DELETE TAG ALL︱索引名

索引查询定位

SEEK 表达式 (查询第一条)

SKIP     (查询下一条)

例4.17 就学生表查询1984年9月7日出生的学生的记录

use学生

indexon出生日期tocsrq

seek{^1984/9/7}

indexon姓名toxm

seek"李"

disp

skip

disp

注:

setexacton和setexactoff

统计与计算

记录个数:

COUNT FOR<条件>TO 内存变量

例4.18 对学生表,分别统计男女学生的人数

use学生

countfor性别="女"tow

countfor性别="男"tom

?

w,m

和与平均值:

SUM︱AVERAGE<表达式> FOR<条件>TO 内存变量

例4.19 对学生表,求全体学生的平均年龄

use学生

listyear(date())-year(出生日期)

averyear(date())-year(出生日期)toy

?

y

统计函数的计算:

CALC<函数表达式> FOR<条件>TO 内存变量

8AVG():

数值表达式平均值

8CNT():

个数

8MAX():

8MIN():

8SUM()

例4.20 就学生表,求女同学的平均入学成绩,最高入学成绩,最低入学成绩

use学生

calcavg(入学成绩),max(入学成绩),min(入学成绩)tocj1,cj2,cj3for性别="女"

?

cj1,cj2,cj3

分类汇总:

TOTAL ON <字段> TO <文件名>FIELDSFOR<条件>

注:

先索引排序

例4.21 对学生表,按籍贯对入学成绩进行汇总

use学生

indexon籍贯tagjg

totalon籍贯toflhzfields入学成绩&&此表只有入学成绩为N型可省略

useflhz

list籍贯,入学成绩

多表操作

工作区概念:

可以同时打开多张表,每个工作区打开一张

工作区号:

1~32767

别名:

A~J &&(1~10)

use学生aliasstuin1

use教师aliasteainB

工作区选择:

select<工作区号>︱<别名号>︱0

表的关联

SET RELATION TO<关联表达式>INTO <工作区号>︱<别名>

sele2

usexsqk

indeon学号toxh

sele1

usecj

setrelato学号intob

listb.姓名,a.数学

sele1

disp

sele2

disp

第5章数据库

8用命令建立数据库:

createdatabase文件名

✓用设计器建立数据库:

8用命令向数据库添加自由表:

addtable自由表名

✓用数据库设计器添加自由表:

8用命令为数据库表建立索引:

indexon索引表达式tag︱to索引名for条件unique︱candidate

✓用表设计器为数据库表建立索引:

8建立表间永久联系

8设置参照完整性:

✓级联:

父表更改→子表同时更改

✓限制:

父表更改→子表有相应记录时禁止更改

✓忽略:

两表无关,任意操作

8数据库表与自由表的不同属性

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1