高级语言程序设计知识点总结.docx

上传人:b****3 文档编号:26821604 上传时间:2023-06-23 格式:DOCX 页数:58 大小:244.42KB
下载 相关 举报
高级语言程序设计知识点总结.docx_第1页
第1页 / 共58页
高级语言程序设计知识点总结.docx_第2页
第2页 / 共58页
高级语言程序设计知识点总结.docx_第3页
第3页 / 共58页
高级语言程序设计知识点总结.docx_第4页
第4页 / 共58页
高级语言程序设计知识点总结.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

高级语言程序设计知识点总结.docx

《高级语言程序设计知识点总结.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计知识点总结.docx(58页珍藏版)》请在冰豆网上搜索。

高级语言程序设计知识点总结.docx

高级语言程序设计知识点总结

高级语言程序设计考点整理

基础知识部分

VFP6.0的工作方式

交互操作方式:

用户每发一个命令或选择一项菜单,计算机系统立即执行,并将结果在主窗口工作区返回给用户

交互式操作方式

程序式操作方式:

利用各种生成器自动生成程序或将命令、语句编写为程序(命令文件),通过运行程序达到操作数据库的目的

一、最常见的数据类型

1.字符型(character,C)

字符型数据包括中、英文字符、数字字符和其他可显示的ASCII字符,其长度(即字符个数)范围是0-254个字符长度超过254个字符的,若用字符型存储,则会丢失信息(数据表中可以使用备注型来存储,以解决这个问题)

2.数值型(numeric,N)

表示数量,由阿拉伯数字、小数点和正负号组成。

其长度为1-20位,包含整数、小数点和小数位数

3.货币型(currency,Y)

存储货币值,默认保留4位小数,存储空间占据8位(固定宽度为8)

4.逻辑值(logic,L)

表示逻辑判断的结果,只有真(.t.、.T.或.y.、.Y.)和假(.f.、.F.或.n.、.N.)两个值,存储空间占据1位(宽度固定为1位)

5.日期型(date,D)

表示日期,长度固定为8位

存储格式为:

“YYYYMMDD”

日期型数据的显示格式有多种,受SETDATE、SETMARK、SETCENTURY等命令的影响

6.日期时间型(datetime,T)

表示日期和时间,其存储格式为“YYYYMMDDHHMMSS”,占8位(宽度固定为8)

日期部分格式受SETDATE、SETMARK、SETCENTURY等命令的影响;时间部分格式受SETHOURS、SETSECONDS命令影响

7.备注型(memo,M)

只用于数据表常用来存放数据块,其宽度固定位4位常用于存放大于254个字符的字符串

8.通用型(general,G)

只用于数据表。

存储OLE(对象链接与嵌入)对象,OLE对象可以是Excel、文档、图形、声音等;其宽度固定为4位常用于存放图片

注意

注意:

同备注型字段的区别

第一章关系数据库系统概述

一、数据库的基本概念

1.数据库(DataBase,DB)是以一定的格式存放在计算机存储设备上的、结构化的相关数据的集合

2.数据库管理系统(DataBaseManagementSystem,DBMS)是用来控制数据库中数据的建立、存取及维护的系统软件

(VFP、Oracle、DB2等都是DBMS)

3.数据库应用系统(DataBaseApplicationSystem,DBAS)是利用数据库资源开发出来的、面向某一类实际应用的应用软件

4.数据库系统(DataBaseSystem,DBS):

以数据库应用为基础的计算机系统

5.数据库系统DBS

数据库管理员(DBA)

数据库(DB)数据库管理系统(DBMS)

2、数据模型

(一)

1.数据模型(DataModel):

对客观事物及其关系的数据描述

 

2.按结构分类

(二)

1.数据与数据间关系的描述

 

(1)现实世界:

是客观存在的世界,事物及其相互

关系是数据的发源地

(2)信息世界:

现实世界中的事物在人类头脑中的抽象反映

(3)机器/数据世界:

信息在机器世界中以数据形式存储,具体表现为数据库中的文件

2.信息世界常用术语

实体(entity):

客观存在的可以相互区别的事物

实体型(type):

用实体名和属性名描述

实体值(value):

实体的实例,是属性值的集合

属性(attribute):

实体所具有的特征

属性值类型:

N、C、D、L

属性值范围:

性别取值“男”和“女”

实体集(entityset):

具有相同性质的同类实体的集合

实体标识符(identifier):

能够唯一标识每个实体的最小属性集合,在关系模型中称为关键字(key)

3.关系模型

用二维表结构表示实体以及实体间的联系

术语

行【表】——元组/记录【关系】——实体值【信息世界】

列【表】—属性/字段【关系】——属性【信息世界】

关系模式:

对关系的描述【信息世界中的实体型】

描述方法:

关系名(属性名1,属性名2,…)

Eg:

学生(学号,姓名,专业编号,性别,出生日期,入学时间,是否团员)

关键字(key):

能唯一标识一条记录的最小属性集合

【信息世界的实体标识符】

4.关系型数据库的性质

⑴每一个属性必须是不可再分的数据项

⑵一个关系中不能有相同的属性名

⑶每一个属性的所有数据属于同一数据类型

⑷记录不允许有重复

⑸行和列的顺序不影响信息内容

 

术语对照表

信息世界

关系模型

关系数据库中(如VFP)

实体集

关系(relation)

表(对应一个dbf文件)

实体值

元组(tuple)

记录

属性

属性(attribute)

字段

属性取值范围

域(domain)

字段值的范围

实体标识符

identifier

关键字(key)

担任主、侯索引的字段及组合(primary key or candidate key)

关系模式(Schema)

关系名(属性1,属性2,…,属性n)

定义二维表(对二维表描述)

表名(字段1, 字段2,…,字段n)

(3)实体联系模型(Entity-RelationshipModel)

 

选择(Selection):

把符合某些条件的所有记录选择出来,并重新构建一个原表的子表

投影(Project):

选择关系中部分属性/字段,并重新构建一个原表的子表

连接(join):

从两个关系中选择符合条件的若干记录,形成一个新的关系

 

第二章VFP程序设计基础

程序命令的集合

命令命令动词与短语组成

短语保留字与表达式组成

表达式运算符与常量,变量,函数组成

1、数据类型

VFP的数据分为数据表内和表外的数据

表外有常量、变量、表达式和函数四种形式的数据,每一种数据都有一定的数据类型

VFP按照自己方式,能处理的数据分成了13种数据类型,基本数据类型有6种

数据类型决定了数据的存储方式和能进行的运算

2、变量

变量:

命令操作或程序执行过程中,值可以变化的量分类

变量的三要素

1.字段变量

字段变量对应于数据表中的字段,数据表中的每一列称为字段

(1)字段名

以字母或汉字开头,由汉字、字母、数字和下划线组成

注意:

①字段名不区分大小写

②自由表中的字段名长度不超过10个字符

③数据库表中的字段名长度不超过128个字符

④字段名要避免与VFP的保留字相同

(2)字段的值

A)生存周期:

表打开——生效;表关闭——释放

B)字段的值随记录指针的变化而变化

2.内存变量

独立于数据表外,存储于内存中

作用:

保存执行命令或程序运行的中间结果

分类

 

内存变量的三要素

①内存变量名:

以字母、汉字、下划线开始,由字母、汉字、下划线和数字组成,字母不区分大小写;变量名不超过128个字符

②内存变量的类型:

C、N、L、Y、D、T

③内存变量的值

生存周期:

随时建立,随时释放

内存变量的值由赋值语句决定

内存变量的赋值

格式1:

<内存变量>=<表达式>

计算等号右边表达式的值,并将结果赋给等号左边的内存变量;只能给一个变量赋值

格式2:

store<表达式>to<内存变量表>

计算表达式的值,并将同一个结果赋给一个或多个变量

注意:

”=”左边只能是内存变量名,也允许是对象的属性名

表达式:

由常量、变量、函数和运算符组成

内存变量的值及类型在赋值时定义,同一个内存变量可多次赋值,它的值和类型取决

于最后一次所赋的值,多个变量名之间用逗号隔开

3、运算符与表达式

表达式:

由常量、变量、函数、运算符和圆括号组成的表示数据之间运算关系的式子,包含:

(1)数值运算符及数值表达式

数值运算符(优先级从高到低)

^,**(乘方)

*,/,%(乘、除、取余【功能同mod函数】)

+,-(加、减)

运算规则:

圆括号优先,同级运算从左至右

数值表达式:

运算对象:

是数值型

运算结果:

是数值型

(2)货币表达式

货币类型和数值类型兼容,所以其表达式也兼容

货币型数据前需加$。

货币型表达式是由货币型常量、货币型变量和算术运算符组成的式子特点:

运算对象和运算结果都是货币型

其运算符和运算规则与数值型表达式相同

(3)字符串运算符及字符表达式

字符串运算符

连接运算符(两者具有相同的优先级)结果为字符型

+:

原样相接;

-:

第一个字符串尾部的空格移到第二个字符串尾部,再进行连接

包含运算符($)结果为逻辑型

<字符型表达式1>$<字符型表达式2>

运算对象:

字符型常量、字符型变量、返回字符型数据的函数

运算结果:

字符型或者逻辑型

字符串包含运算

格式:

字符型表达式1$字符型表达式2

功能:

如果字符型表达式1包含在字符表达式2中,即1是2的子串,则运算结果为真(.T.),否则为假(.F.)

友情提示:

“$”运算符两边的数据类型必须都是字符型,运算结果是逻辑型

(4)日期(时间)运算符及日期(时间)表达式

运算符:

+、-

日期型(时间)型表达式

运算对象:

允许日期型、日期时间型数据、数值型数据

运算结果:

日期型、日期时间型或数值型

表达式形式:

1.日期(时间)型数据+整数

求若干天或若干秒后的日期或时间;运算结果是日期或日期时间型

2.日期(时间)型数据-整数

求若干天或若干秒前的日期或时间;运算结果是日期或日期时间型

3.日期(时间)型数据-日期(时间)型数据

两个指定的日期或时间之间相隔的天数或秒数;运算结果为数值型;或正或负

(5)关系型运算符及关系运表达式

关系运算符:

(具有相同的优先级)

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

=、=、

==(全等于,只能用于字符串的比较)

关系表达式的一般形式:

<表达式1><关系运算符><表达式2>

功能:

对两个关系表达式进行比较

运算对象:

数据类型相容(例如:

同为数值)

运算结果:

逻辑型,

表达式成立,取值为真,否则为假

(6)各种数据的大小关系

数值型数据按数值大小进行比较;

?

12>23

日期(时间)型数据按年月日顺序进行比较,越早的日期或时间越小,越晚的日期或时间越大;

?

{^2005-10-10}>{^2004-10-10}

字符型数据默认按字符的ASCII码或汉字机内码进行比较;【重点注意字符型数据的比较】

?

“123”<=“asd”

逻辑型数据比较时,.T.比.F.大,没有实际意义

?

.T.<.F.

(7)字符串的比较的标准

设置字符的排序序列

setcollateto“machine|pinyin|stroke”

一定不要掉引号,否则系统当成变量。

machine(机器):

字母按ASCII码排序【空格在最前面、小写字母在大写字母后面】;字符按机内码排序【一级汉字机内码与拼音(pinyin)的顺序相同】

pinyin(拼音):

按拼音排序注意:

英文的小写字母在大写字母前面,和machine刚好相反

stroke(笔画):

对于汉字按笔画数进行比较,一般在对汉字进行比较时才用

也可以在工具菜单中设置(工具选项数据)

设置字符串精确比较

==:

字符串精确比较,只有两个字符串完全相同时,运算结果为真,否则为假;

=:

对两个字符串比较时,运算结果与setexacton|off的设置有关:

off:

如果右边的字符串是左边字符串的前串,结果为真;

on:

先在短字符串的后面加空格,使两个比较的字符串长度相同,再进行比较;完全相等才为真

默认设置是off

可以在菜单中设置(工具选项数据)

四、VFP的常用函数

 

函数调用的一般形式:

<函数名>([参数1[,参数2[,…]])

(1)数值处理函数

1.取整函数

int(数值表达式)

功能:

函数值为数值表达式的整数部分

2.四舍五入函数

round(数值表达式1,数值表达式2)

功能:

返回数值表达式1在数值表达式2指定四舍五入位置的结果若数值表达式2大于等于0,表示要保留的小数位数;若数值表达式小于0,表示对整数部分的舍入位数

3.求余数的函数

mod(数值表达式1,数值表达式2)

功能:

返回数值表达式相除后的余数

友情提示:

数值表达式1是被除数,数值表达式2是除数;

它与%运算符功能相同

(2)字符处理函数(重点)

取子串函数

1.left(字符型表达式,长度)

从字符型表达式的左端截取指定长度的子串

举例:

?

left("VisualFoxpro程序设计",6)&Visual

2.right(字符型表达式,长度)

从字符型表达式的右端截取指定长度的子串

举例:

?

right("VisualFoxpro程序设计",2)&计

3.substr(字符型表达式,起始位置[,长度])

从指定起始位置截取指定长度的子串作为函数值

缺省长度时,函数从起始位置一直取到最后一个

字符

举例:

?

substr("VisualFoxpro程序设计",8,6)&Foxpro

4.求字符串长度函数

len(字符表达式)

功能:

求字符串的长度

举例:

?

len("abc")&4

5.空格字符串生成函数

space(数值表达式)

功能:

返回值为数值表达式指定个数的空格字符串;空格字符串与空字符串是两种不同的字符

空格串:

""空串:

""(里面没有任何符号)

举例:

?

space(4)&&""(里面有4个空格)

6.子串位置函数

at(字符表达式1,字符表达式2):

返回字符表达式1在字符表达式2的位置,函数值为N类型

举例:

?

at("教授","副教授")?

At([123],[124321])

7.删除空格函数

alltrim(字符表达式):

去掉串首、串尾空格

举例

归纳:

★left、right、substr、space、alltrim返回是C类型值

★len、at返回是N类型值

(3)日期和时间函数

1.系统日期和时间函数

date():

当前系统日期;函数值为日期型

time():

返回当前系统时间,以24小时制hh:

mm:

ss格式;函数值为字符型

datetime():

返回当前系统日期时间;函数值为日期时间型

2.求年份、月份和天数函数

year(<日期型表达式>|<日期时间型表达式>)

month(<日期型表达式>|<日期时间型表达式>)

day(<日期表达式>|<日期时间型表达式>)

函数值均为数值型

(4)数据类型转换函数

1.数值转换为字符串

str(expN1[,expN2[,expN3]])

功能:

将数值转换为字符串

各参数说明:

expN1:

待转换的数值表达式;

expN2:

转换后字符串的长度;包括整数部分、小数点和小数部分;缺省长为10

expN3:

转换后的小数位,缺省时表示不转换小数位

规则:

整数优先(当长度不够时,首先满足整数部分的需要)、四舍五入

友情提示:

expN2必须大于或等于expN1的整数位(包括负号),否则返回expN2长度的“*”

expN3如果省略长度expN2,只转换整数部分且自动四舍五入;不足10位整数时,前面加空格补足10位;省略时,则不转换小数部分

2.字符串转换为数值

val(字符表达式)

功能:

将字符串转换为数值

友情提示:

字符串必须具有数值特征才能转换;

四舍五入保留两位小数;

忽略前导空格;若字符串中出现非数字字符时,只转换非数字字符前面部分;

若首字符不是数字、或由正负号开始,转换为0

3.字符串转换为日期或日期时间

CTOD(<字符表达式>)

功能:

将字符表达式转换为日期型数据

setdatetoYMD

Setmarkto"."

setcenton

?

ctod("2003-12-31")&&显示2003/12/31

4.日期或时间转换为字符串

dtoc(日期表达|日期时间表达式[,1])

功能:

将日期型数据或日期时间型的日期部分转换为字符串

友情提示:

日期表达式中的日期部分格式需与setdateto设置一致,且要注意与日期格式相关的格式设置命令

dtoc()函数,使用选项1,函数值显示为YYYYMMDD,共8个字符

(5)测试函数

1.测试数据表文件开始函数

bof([工作区号|表别名])

2.测试表文件结束函数

eof([工作区号|表别名])

3.记录号测试函数

recno([工作区号|表别名])

4.数据类型测试函数

vartype(表达式)

功能:

测试表达式的数据类型,返回类型对应的大写字母;函数返回值为字符型

数据类型返回的字符数据类型返回的字符

字符型C逻辑型L

数值型N备注型M

货币型Y通用型G

日期型D未定义U

日期时间型Tnull值X

5.BETWEEN(表达式,初值,终值)

功能:

测试

如果满足“初值<=表达式<=终值”,BETWEEN()返回.T.,否则返回.F.

6.EMPTY(表达式)

功能:

测试表达式的值是否为空

表达式:

可以是字符、数值、日期或逻辑表达式,也可以是已打开表的备注字段或通用字段的名称。

表达式取表格中的值时,EMPTY()函数返回“真”(.T.)。

否则为“假”(.F.)

NULL值

无明确的值NULL值不等同于零或空格一个NULL值不能认为比某个值(包括另一个NULL值)大或小,相等或不同等价于没有任何值可以用null或.null.来表示常用于数据表中,设置某个字段的取值为不确定

7.ISNULL(表达式):

如果一个表达式的计算结果为null值,则返回“真”(.T.);否则返回“假”(.F.)

8.IIF(逻辑值的表达式,表达式1,表达式2)

功能:

如果逻辑表达式的计算结果为“真”(.T.),返回表达式1的值;否则返回表达式2的值

 

第3章数据库和数据表的基本操作

VFP命令和短语的书写规范

1.VFP命令必须以动词开头,短语次序不限

2.命令动词以及各短语之间必须用至少一个空格分隔

3.命令动词和短语可以只书写前4个字母,英文字母不区分大小写

4.命令中一切符号都必须在英文半角方式下输入

5.一个命令行只能写一条命令;一条命令的长度可达8192个字符若分行书写,除最后一行外,其他各行尾部必须加一个分行符“;”

6.一条命令以回车键作为结束标志

(1)与记录有关的部分函数

bof():

记录指针是否指向表文件首,是,函数值为真,否则为假

eof():

记录指针是否指向表文件尾,是,函数值为真,否则为假

recno():

取记录指针所指向记录的记录号,函数值为N类型注意:

指向BOF返回1;指向EOF返回N+1

reccount():

求数据表中总记录数,函数值为N类型。

deleted():

测试当前记录是否做上删除标记;是,函数值为真,否则为假

bof()、eof()、deleted()返回值类型L

recno()、reccount()返回值类型N

(2)记录指针的移动命令

绝对移动指针的命令

go|goto<数值表达式>|top|bottom

top:

将记录指针定位到首记录,不一定是记录号为1的记录

bottom:

记录指针定位到末记录,不一定是记录号为N的记录

相对移动记录指针

Skip[<数值表达式>]

功能:

以当前记录为基准,依据数值表达式的值,将记录指针向前或向后移动

注意:

①值为正时指针向表尾移动;为负时指针向表头移动

②当前记录指向第一条记录时,执行命令“skip-1”后,指针指向bof,函数bof()的返回值为真,表明已到文件头

③当记录指针指向最后一个记录时执行命令“skip”后,表明指针指向eof,函数eof()的值为真

(3)数据库的操作

数据库的相关操作:

打开、关闭、建立、修改

数据库表的相关操作:

添加表、创建数据库表

移去或删除表

为数据库表建立主索引

操作的可能途径

菜单:

文件菜单

数据库菜单

快捷菜单

数据库设计器工具栏

命令

1.数据库的建立、关闭、打开、修改

命令方式:

createdatabase[<数据库文件名>]

closedatabase

opendatabase[<数据库文件名>]

modifydatabase[<数据库文件名>]

2.数据库与表之间的关系

管理与被管理的关系(可以把数据库理解为一个容器)

数据库管理数据表、视图等对象

数据库并不真正含有这些对象,而是只记录了相关的条目信息。

数据库中的表、视图和其他对象都单独地存放在磁盘上,有自己对应的文件

管理它们的数据库是另外一个文件

不管是“移去”数据库,还是“删除”数据库的操作,都不会删除数据库中的表等对象

数据库表和自由表可以相互转换

将数据库表从数据库中移出,数据库表便成了自由表,并且同时失去了数据库表的特点;

反之,当将一个自由表加入到某数据库时,自由表便成了数据库表,且同时具有数据库表的诸多特点

一个数据表在同一时刻只能隶属于一个数据库(即:

不能同属于多个数据库)如想将一个数据库中的表移到另一个数据库,必须先将数据表从原数据库中移出,使之成为自由表,然后再添加到另一数据库中

 

数据库表的操作

操作

菜单方式

命令方式

前提条件:

 数据库已经建立好并且打开

向数据库中添加自由表

“数据库”菜单的相应菜单项

快捷菜单(点右键)

数据库设计器

add table  <表名>

创建数据库表

“文件”“新建” “表” 

create   <表名> 

或用SQL命令(第四章)

移去或删除数据库表

1、选定要移去的表

2、上述三种方法中的一种“移去表”

Remove  Table <表名> [Delete] 

建主索引

在表设计器中建

用SQL命令(第四章)

(4)排序与索引

物理顺序:

输入记录时的顺序称为记录的物理顺序

物理排序(排序):

保持原表不变,单独生成一个各记录已按要求排好序的新dbf文件,新表可脱离原表单独使用,新dbf文件与原dbf没有联系

逻辑排序(索引):

逻辑排序是保持原表不变,生成一个简单的索引列表(索引文件),在索引列表中仅记载各记录对应于索引关键字的值和记录在原表中的记录号,索引列表必须与原表一起使用,才能按索引列表中的顺序对原表操作,即原表的记录从逻辑上重新排列了顺序

1.数据表的排序

sortto<新表文件名>on<字段名1>[/A|/D][/C][,<字段名2>[/A|/D][/C]…][fields<字段名表>][ascending|descending][for<条件1>]

功能:

对满足条件的记录按ON后给定字段值的大小重新排列,生成一个由<新表文件名>指定名称的新数据表文件,其扩展名默认为.DBF,原数据表保持不变

2.数据表的索引

 

候选关键字

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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