第一篇:计算机等级考试基本考点
第一章. C数据结构与算法
考点1.算法
1.算法的时间复杂度:算法执行过程中所需要的基本运算次数,而算法的基本运算次数是问题规模的函数。
2.算法的空间复杂度:一般只执行该算法所需要的内存空间,一个算法所占用的存储空间包括算法程序所占的空间·输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加空间。(如果额外空间相对于问题规模来说是常数,则称该算法是原地工作的)。
3.一个算法通常有两种基本要素组成:(1)对数据对象的运算与操作:(2)算法的控制结构; 【算法中对数据元素的运算与操作】(1):算术运算;(2):逻辑预算;(3);关系运算;(4):数据的传输; 【算法的控制结构】
(1)顺序;(2)选择;(3)循环;
4.算法设计基本主要方法(1)列举法:根据问题列举所有可能的情况,并用问题中给定的条件检验哪些需要,那些不需要;
(2)归纳法:通过列举少量的特殊情况,经过分析,最后找出一般关系;
(3)递推;从已知条件出发,一次退出所要求的各中间结果和最后结果;
(4)递归:递归的基础也是归纳,分为直接递归和间接递归;(5)减半递推技术:所谓“减半”市质检问题规模减半,而问题性质不变;所谓“递推”是指重复“减半”的过程。
考点2.数据结构的基本概念
1.数据处理,指的是对数据集合中的个元素以各种方式运算。2.数据结构是指相互有关联的数据元素的集合。3.前驱和后继关系是数据元素之间的一个基本关系。4.采用不同的存储结构,其数据处理的效率是不同的。
5.在一个线性结构中插入或删除任何一个结点后还应该是线性结构,否则不是。
考点3.线性表及其顺序存储结构
1.在稍微复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录。
2.若采用顺序存储结构,则在等概率前提下,向其插入一个元素需要移动的元素个数平均为N/2。
3.在程序设计语言中,通常定义一个一位数组来表示线性表的顺序存储空间。
考点4.栈和队列
1.栈中元素先进后出,栈的基本运算有进栈,退栈与读栈顶元素。通常用指针TOP来指示栈顶元素,用指针BOTTOM指向栈底。2.队列元素先进先出,基本运算有入队和退队。3.递归算法一般需要利用栈实现运算结果的保存。
4.在平均情况下,为了在顺序存储的线性表中插入和删除一个元素,需要移动线性表中约一半的元素,在最坏情况下,则需要移动线性表中所有元素。
考点5.线性链表
1.线性链表中的元素在存储空间中的位置不一定是连续的,且个元素的存储顺序也是任意的。
2.链式存储空间的每个结点分为两部分:数据域和指针域。3.数据结构主要研究:(1)数据的逻辑结构;(2)数据的存储结构;(3)对各种数据结构进行的运算;
4.在实际应用中,带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,这种带链的栈称为可利用栈。
5.在对循环链表进行插入删除的过程中,实现了空表与非空表的统一。
考点6.树与二叉树
1.二叉树的遍历:前序(根,左,右),中序(左,根,右)后序(左,右,根)。
2.在树结构中,一个结点所拥有的后继个数称为该结点的度,在树中,所有结点中的最大的度称为树的度。
3.在满二叉树的第K层上有2k-1个结点,且深度为M的满二叉树有2m-1个结点。4.完全二叉树:
考点7.查找技术
1.二分法查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列。2.顺序查找,考点8.排序技术
1.冒泡排序法是一种最简单的交换类排序法,它是通过相邻数据元素的交换逐步将线性表变成有序。
2.堆排序的方法对于规模较小的线性表并不适合,但对于较大规模的线性表来说是很有效的,在最换情况下,堆排序时间复杂度最小。
3.快速排序可以实现通过一次交换而消除多个逆序。它的关键是对线性表的分割。
4.希尔排序属于插入类排序。
5.选择类排序法主要有简单选择排序法和堆排序法;交换类排序法主要有冒泡排序法和快速排序法;插入类排序法主要有简单的插入排序法和希尔排序法。
6.实体完整性约束要求关系的主键中属性值不能为空值。
第二章. 程序设计基础
考点1.程序设计方法与风格
1.程序设计风格是指编写程序时所表现出的特点·习惯和逻辑思路。2.程序设计是一门技术,需要相应的理论·技术·方法和工具作支持。
3.源程序文档化时应考虑:符号名的命名·程序注释和视觉组织,注释一般分为序言性注释和功能性注释。
4.在编写程序时,开发者需要注意数据的说明风格,一边是程序中的数据说明更易于理解和维护。应注意和把握以下三点:(1)数据说明的次序规范化;(2)说明语句中变量安排有序化;(3)使用注释来说明复杂数据的结构。
5.当程序设计语言对输入格式有严格要求时,应保持输入格式与输出语句的一致性。6.主导的设计风格是“清晰第一,效率第二”。
考点2.结构化程序设计
1.结构化程序设计主要强调的是程序的易读性,主要特点是每个控制结构只有一个入口和一出口。
2.结构化程序设计方法的主要原则:自顶而下·逐步求精·模块化·限制使用GOTO语句。
3.结构化程序设计的三种基本逻辑结构为顺序·选择和重复或循环。
考点3.面向对象的程序设计
1. 在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。2. 在模块化设计中按功能划分模块分原则是各模块的功能尽量单一,且模块之间的联系尽量少。一个模块内部的控制结构也要符合结构化原则。
3. 模块是指执行某一特定任务的数据结构和程序代码。一个模块有它的外部特征和内部特征。外部特征包括模块的接口和模块的功能,内部特征包括模块的局部数据和实现该模块的程序代码。
4. 类是一组具有相同属性和相同操作的对象的集合,(类是一个支持集成的抽象数据类型)一个类中的每个对象都是这个类的一个实例。
5. 在面向对象方法中,类之间共享属性和操作的机制称为继承,对象不一定都有继承性。
6. 消息传递是对象间通信的手段,一个对象通过向另一对象发送消息来请求其服务,一个消息通常包括接收对象名,调用的操作名和适当的参数。
7. 信息隐蔽是开发整体程序结构时使用法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块是尽可能少地显露其内部的处理。
8. 面向对象技术中,对象是类的实例,对象有三种成分:标识·属性和方法(或操作)。9. 动态绑定(多态性)。
第三章. 软件工程基础
考点1.软件工程基础概念
1.软件工程是计算机软件的一个重要分支和研究方向,软件工程理论和技术性研究的主要内容包括软件开发技术和软件工程管理。2.计算机软件是计算机系统中与硬件相互依存的重要部分,它是包括程序,数据和相关文档的完整集合。(软件包括程序和文档)3.软件工程的三个要素:方法,工具和过程。
4.软件生命周期:软件定义,软件开发,软件维护直至被淘汰的全过程。一般包括可行性研究与需求分析,设计,实现,测试,交付使用以及维护等活动。5.软件开发环境是全面支持软件开发全过程的软件工具集合。6.软件工程过程一般包含4种基本活动:软件的规格说明,软件开发,软件确认,软件演进。
7.软件工程的原则:抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性和可验证性。
考点2.结构化分析方法
1.结构化方法的核心和基础是结构化程序设计理论。2.数据流程图的建立步骤:从外向里,自顶而下,逐层分解。3.需求分析阶段的工作可概括为4个方面:需求获取,需求分析,编写需求规格说明书(该阶段的最后成果)以及需求评审。4.常见的需求分析方法:结构化分析方法,面向对象分析方法。5.软件功能分解属于总体设计的阶段。
6.(1)数据描述是对软件系统所必须解决的问题作出的详细说明;
(2)功能描述为解决用户问题所需要的每一项功能的过程细节;
(3)性能描述说明系统应达到的性能和应满足的限制条件,检测方法和标准,预期的软件响应和可能需要考虑的特殊问题;
(4)参考文献目录包括与该软件有关的全部参考文献;(5)附录部分包括一些补充资料。7.结构化分析常用工具:数据流程图(DFD),数据字典(DD),判定树和判定表。数据字典是结构化分析方法的核心。8.软件需求规格说明书的特点(标准要求):(1)正确性;(2)无歧义性;(3)完整性;(4)可验证性;(5)一致性;(6)可理解性;
(7)可修改性(SRS结构风格);(8)可追踪性。
考点3.结构化设计方法
1.软件设计应该遵循的基本原则:(1)抽象;(2)模块化;(3)信息隐蔽;(4)模块独立性。
2.耦合和内聚是评价模块独立性的两个标准。耦合是指模块之间联系的紧密程度;内聚是指模块内部个元素之间联系的紧密程度。3.模块的内聚通常分为7类:(按内聚度从低到高的次序)
(1)偶然内聚:如果一个模块完成一组任务,且即使这组任务批次之间有关系,其关系也是很松散的;
(2)逻辑内聚:如果一个模块完成逻辑上相关的一组任务,则这个模块式逻辑内聚;
(3)瞬时内聚:如果一个模块所包含的任务必须在同一时间间隔内执行,则属于瞬时内聚 ;
(4)过程内聚:如果一个模块的处理元素是相关的,而且必须按特定的次序执行,则属于过程内聚;
(5)通信内聚:如果一个模块的所有处理元素集中在一个数据结构的区域上,则属于通信内聚;
(6)顺序内聚:如果一个模块的处理元素是相关的,而且必须顺序执行,则属于顺序内聚;
(7)功能内聚:如果一个模块完成一个单一的功能,模块中的各部分在此目标下协同工作,而且都是为完成这一功能而不可缺少的,则是功能内聚。
4.耦合方式通常有7种:(耦合度从低到高)
(1)非直接耦合:指两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,则两模块是非直接耦合;
(2)数据耦合:若以模块访问另一模块,两模块之间通过数据参数交换信息,则属于数据耦合;
(3)标记耦合:两模块之间通过数据结构交换信息;
(4)控制耦合:若一模块明显地把开关量,名字等信息送入另一模块,控制另一模块的功能,则为控制耦合;
(5)外部耦合:一组模块都访问同一全局简单变量(而不是同一全局数据结构),且不通过参数表传递全局变量信息,则为外部耦合;
(6)公共耦合:若一组模块都访问同一全局数据结构,则为公共耦合;
(7)内容耦合:如一模块直接访问另一模块的内容,则为内容耦合。
5.数据流程图的类型有变换型和事务型。6.常用的软件结构设计工具是结构图(SD)。
7.好的软件设计结构通常顶层高扇出(直接调用该模块的上级模块数),中间扇出较少,底层高扇入(相反)。
8.表达过程规格说明的工具叫做详细设计工具,可分为三类:图形工具,表格工具,语言工具。9.典型的语言描述工具是PDL。
考点4.软件测试
1.程序员应避免测试自己的程序,程序设计机构不应测试自己的程序。
2.软件测试的基本准则:
(1)所有测试都应追溯到需求;
(2)严格执行测试计划,排除测试的随意性;(3)充分注意测试中的群集现象;(4)程序员应避免自己检查自己的程序;(5)穷举测试不可能;
(6)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
3.软件测试过程:单元测试,集成测试,验收测试(确认测试)和系统测试。
4.白盒测试方法一般适合用于单元测试,黑盒测试一般适用于集成测试和确认测试。5.静态测试和动态测试。
考点5.程序的调试
1.软件调试方法主要有强行排错法,回溯法和原因排除法。2.调试分为两部分:确定错误的确切性和位置,修改程序(设计,编码)。
第四章. 数据库设计基础
考点1.数据库系统的基本概念
1.不是数据库系统一个独立的系统,它有以下几个部分组成:数据库(数据),数据库管理系统(软件),数据库管理员(人员),系统平台包括硬件平台(硬件)和软件平台(软件)。2.数据库技术的根本目标是要解决数据的共享问题。3.数据管理技术的发展过程中,经历了人工管理阶段,文件系统阶段和数据库系统阶段。
4.数据库系统的主要目的是尽量减少和避免数据的多余。
5.数据库系统的核心是数据库管理系统。它主要有六个方面的功能:(1)数据模式定义(DDL);(2)数据存取的物理构建;(3)数据操纵(DML);(4)数据的完整性和安全性;
(5)数据库的开发控制(DCL)与故障恢复;(6)数据的服务。
6.数据库应用系统由数据库库系统·应用软件和应用界面组成。7.数据分为临时性数据和持久性数据,数据库系统中处理的就是持久性数据。
8.数据独立性一般分为物理独立性与逻辑独立性两级。9.数据库系统数据集成性的主要特征是全局与局部的结构模式。10.11.12.数据库系统的三级模式:概念模式,外模式和内模式。数据库系统通过两级映射建立了模式之间联系与转换。数据库的数据模型的三要素:数据结构,数据操作,数据约束。
考点2.数据模型
1.数据模型所描述的内容有数据结构,数据操作和数据约束。2.数据模型按不同的应用层次分为三种类型:概念数据模型,逻辑数据模型和物理数据模型。3.层次模型的基本结构是树形结构。
4.关系模型采用二维表来表示实体之间的联系。5.E—R模型
6.关系模型是数学化的模型,用到集合论,离散数学等知识,具有坚实的理论基础。
7.SQL语言是关系数据库的代表性语言。
8.关系模型的数据操纵即是建立在关系上的数据操纵,一般由四种操作:
(1)数据查询;(2)数据删除;(3)数据插入;(4)数据修改。9.关系模型约束:(1)实体完整性约束;(2)参照完整性约束;(3)自定义的完整性约束。
10.关系数据库管理系统中存储与管理数据时采用二维表的基本形式。
考点3.关系代数
1.关系代数的5种基本操作:(1)并;(2)差;(3)笛卡尔积;(4)投影;(5)选择。
2.关系数据库管理系统能实现的专门关系运算包括选择,投影,连接。
考点4.数据库设计与管理
1.数据库的逻辑设计工作是将E—R图转换成RDBNS中的关系模式。2.数据库设计包括两方面内容:概念设计,逻辑设计。3.数据库的建立包括数据模式的建立和数据的加载。
4.数据库的物理结构主要指数据库的存储记录格式,存储记录安排,存取方法。5.数据库的设计特点:
(1)数据库建设是硬件,软件和干件(技术与管理的界面)的结合。
(2)数据库设计是结构(数据)设计和行为(处理)设计的结合。6.数据库设计分为6个阶段:(1)需求分析;(2)概念结构设计;(3)逻辑结构设计;(4)物理结构设计;(5)数据库实施;(6)数据库的运行和维护。7.数据库设计一般采用生命周期法。
8.概念结构设计方法:自顶而下,自底向上,逐步扩张,混合策略。9.概念设计的方法主要有:集中式模式设计法,视图集成设计法。10.E—R模型与关系模型的转化。(实体的属性即为关系的属性,实体的标识即为关系的键)。
第五章. C语言的结构
考点1.程序的组成,Main函数
1.函数是C程序的基本单位,main函数可以在任何地方出现。2.C语言中只有函数,没有过程,C语言默认都是外部函数。3.在C语言中函数不能嵌套定义。
4.一条C语句,转换为多少条机器指令是未知的。
5.算法是为了解决一个一个问题而采取的方法和步骤,和运行时间无关。
6.E-R图是数据库中数据模型之一。
7.C语言程序可以由几个.c文件组成,每个.c文件都可以单独编译,一个程序只有一个main函数。
考点2.标示符的命名规则
1.数字,字母,下划线组成,首字符必须是字母或下划线。第六章. 数据类型及其运算
考点1.基本数据类型及其定义
1.C语言的数据类型:整型,字符型,实型,枚举类型,数组类型,结构体类型,共用体类型,指针类型和空类型。C语言中没有逻辑类型和集合类型。
2.Float类型的变量,不能取指针。
考点2.整型常量和整型变量
1.C语言中的整型常量有3种表示形式:十进制,八进制和十六进制的整型常量。
2.进制数输出时不带前缀。
考点3.实型常量和实型变量
1.十进制小数形式和指数形式。
考点4.字符常量和字符变量
1.字符的存储实际上是将字符的ASC11码值放到存储单元。2.转义字符。
3.C语言中没有专门的字符串变量,如果要把字符串存放在一个变量中,通常要用字符型数组或字符指针实现,不能将一个字符串存放到一个字符变量中。4.C语言规定字符常量可以作为整型常量来处理(整型常量是指相应字符的ASC11码)。
考点5.算术运算符和算术表达式
1.算术运算符的优先级:(*,%)(+,-)【从高到低】。结合方向自左向右。
2.取模运算的操作数必须是整型或长整数类型。3.%运算符的两个运算分量必须是整数。4.%取余操作数只能是整数。
考点6.关系运算符与关系表达式
1.关系运算符的优先级:(>,>=,<,<=)(==,!=)【从高到低】结合方向自左向右。
2.关系表达式a>b>c计算结果为0。
3.在C语言中逻辑表达式!x相当于关系表达式x==0。
考点7.逻辑运算符和逻辑表达式
1.逻辑运算符优先级:(非)(与,或)【从高低到高】,结合方向自左向右。
考点8.自增自减运算符
1.自增自减运算符的运算对象只能是变量不能是表达式或常量,变量的数据类型可以是int,char,float,double。考点9.赋值运算符与赋值表达式
1.赋值运算符的左侧是一个变量,不能为表达式或常量,右侧可以是常量,变量或表达式。2.赋值运算符的结合性自右向左。
3.C语言中共有5类语句:表达式语句,控制语句,函数调用语句,空语句和复合语句。
4.强制类型转化一般形式:(类型名)(表达式)。在强制类型转换时,只是得到一个所需类型的中间变量,原来变量的类型不发生变化。5.%2d的意思是要输入一个整数,但该整数最宽只占2个字符。
考点10.复合赋值运算符
1.复合赋值运算符是将其右侧表达式的值和左侧的变量运算后在再赋值给左侧的变量。
考点11.逗号运算符和逗号表达式
1.逗号表达式以最后一个表达式为最后结果。
考点12.条件运算符与条件表达式
1.C语言中把?:称作条件运算符。条件表达式的形式:表达式1?表达式2:表达式3。表达式1为真时,取值表达式2,表达式1为假时,取值表达式3。考点13.位运算符
1.0和任何数进行“按位与”运算结果都是为0;
考点14.不同数据类型之间的混合运算
1.C语言中的整型(包括int,short,long),实型(包括float,double)可以混合运算,字符型数据可以与整型通用,因此,整型,实型,字符型数据间可以进行混合运算。2.数据类型转换规律。
考点15.运算符的优先级 考点16.数学算式的C语言表示
第七章. 输入输出函数
考点1.格式输入函数scanf 1.使用“%c”格式字符时,输入数据之间不需要分隔符,空格·回车符都将作为有效字符读入。
2.格式说明“%*”表示跳过对应的的输入数据项,不预读入。3.用scanf函数输入多个数据时,数据间的分隔符可以是空格,回车符或制表符。
4.格式字符%c,只能得到一个字符。
5.当scanf函数的控制字符中包含非格式字符时,非格式字符应原样输入。
考点2.格式输入函数printf 1.输出列表可以是合法的常量,变量和表达式,输出列表中的各项之间要用逗号分开。
2.【%%d】格式化输出函数两个%会输出一个%,同时即失去了占位符的作用,d也会原样输出。
考点3.其他输入输出函数
1.putchar函数的作用是把一个字符输出到标准输出设备。getchar函数的作用是从标准输入设备上读入一个字符。
2.getchar()函数的值就是从输入设备得到的字符,在输入时,空格、回车符将作为字符读入。
3.getchar()函数从键盘缓冲区读入下一个字符。
第八章. 选择结构程序设计
考点1.if—else语句
1. else语句总是与它上面最近的if配对。2. 注意判断条件的连续比较(a>b>c)。3. if语句的嵌套使用。考点2.switch—case语句
1.switch语句中case的常量表达式可以是一个整数或整型常量表达式,也可以是一个字符常量,但每个常量表达式的值必须互不相同。
2.每个case出现的次序不会影响switch语句的执行结果。3.多个case可以共用一个语句。
第九章. 循环结构程序设计
考点1.while语句(先判断后执行循环体)考点2.do—while语句(先执行循环体后判断)考点3.for语句
1.for语句的嵌套使用。
考点4.break和continue语句
1.break是从循环中跳出,提前结束循环;continue语句是结束本次循环。
第十章. 数组的定义与使用
考点1.一维数组
1.C语言不允许对数组进行动态定义。2.C语言规定只能逐个引用数组元素,不能一次引用整个数组。3.如果在定义数组时没有指定数组元素的个数,则数组的长度默认等于初值个数;如果指定了数组长度,则数组的长度与初值个数无关。
考点2.二维数组
1.二维数组在内存中是按行优先的顺序存放的。
2.如果对全部数组元素赋初值,则定义数组对第一维的长度可不指定,但第二维的长度不能省略。
3.C语言规定只有静态数组和全局数组不用初始化,且默认为0;动态存储类型的数组若果没有进行初始化,它存放的内容是随机的。
考点3.字符数组和字符串
1.字符数组引用:与其他数据类型的数组不同,在程序中级可以引用字符数组的单个数组元素,也可以一次引用整个字符数组。2.不能将一个字符串常量或一个字符数组用赋值运算符“=”直接赋给一个字符数组,必须用strcpy函数。
3.可以按“%s”格式对字符数组进行整体输入输出。
考点4.字符串处理函数
1.函数strlen是测试字符串长度的函数,不包括字符‘ ’在内。2.Sizeof运算符是求解数组在内存中所占据的字节个数。(计空格)3.Strcpy函数是字符串拷贝(覆盖)函数。可以将字符串2中前面的若干个字符拷贝到字符数组1中去。(strcpy(str1,str2,x,《前几个字符》))。
4.Strcat(字符数组1,字符数组2)功能是连接两个字符数组中的字符串。
5.Strcmp(字符串1,字符串2)函数的功能是比较字符串1和字符串2。
6.对两个字符串比较,不能用关系运算符“==”,只能用strcmp函数。
第十一章
函数
考点1.函数的概念
1.C语言中函数的定义分为有参函数的定义和无参函数定义。无参函数的定义形式: 类型标识符 函数名(){说明部分 语句 } 有参函数定义形式: 形式一为:
类型标识符 函数名(形式参数列表)形式参数说明 {说明部分 语句 } 形式二为:
类型标识符 函数名(类型名 形参1,类型名 形参2,„){说明部分
语句 } 2.当函数值为整型时类型标识符可以省略,如果函数没有返回值,类型标识符可以是void型。当函数的形参多于一个时,各形参之间用逗号分隔。
3.函数的调用形式为:函数名(实参1,实参2,„)其中实参可以是常量,变量或表达式。4.C语言中函数声明的一般形式为:
(1)函数类型 函数名(参数类型1,参数类型2,„)(2)函数类型 函数名(参数类型1 参数名1,参数类型2 参数名2,„)
考点2.函数调用中的数据传递
1.形参实参的区别。
2.简单变量只能实现单向的值传递。
3.地址变量(数组名)按地址传递,可实现双向传递。考点3.malloc函数和calloc函数
1.函数malloc的调用为:malloc(size),其中size是是一个无符号整数,表示向系统申请多大的存储空间。
2.calloc(n,size)表示向系统申请n个大小为size的存储空间。新标准C提供的malloc和calloc函数的类型规定为void*类型,使用时根据需要进行强制类型转化。
3.malloc(size)函数用于申请动态存储空间。
考点4.局部变量和全局变量
1. 在变量的生存期中,把变量可以使用的程序区域称为变量的作用域。
2. 外部变量可以为本文件中其他函数所共用,其有效范围从定义变量的开始到文件的结束。
3. 外部变量只能被声明为无存储类型或静态型,不能声明为自动型或寄存器型。
4. 内部变量可以被声明为自动型,寄存器型或静态型。5. 外部变量总是全局变量,被声明成static存储型的变量是全局变量。
6. 全局变量与局部变量不会同时起作用。
考点5.动态存储变量与静态存储变量
1.C语言中变量的存储类型分为自动存储变量(auto),静态存储变量(static保留上次结束值),寄存器存储变量(register),外部(extern)。
2.静态存储变量在静态存储区分配存储单元,在程序整个运行期都不释放。
3.动态存储(自动变量)变量占动态存储区域,函数调用结束后释放。
4.Auto和register存储类型的变量在使用时分配存储空间,使用后即释放。
5.C语言规定,只要在定义函数是不进行存储类型的显式说明,函数的存储类型就隐含外部类型,即extern,外部类型允许其他文件中的函数调用。
6.静态类型变量的生存期贯穿于真个程序的运行期间。7.函数的形参是局部变量。
8.如果定义变量时没有声明变量的存储类型,则默认为auto型。9.变量的作用域与存储类型没有任何关系。
考点6.函数的调用与递归调用
1.按函数在程序中的位置来分,函数调用有以下3种方式:(1)函数语句:把函数作为一个语句,此时不要求函数带回返回值,只要求函数完成一定的操作。
(2)函数表达式:函数调用可以出现在任何允许表达时出现的地方,参与运算,此时函数返回一个确定的值参与表达式的运算。
(3)函数参数:函数调用作为一个函数的实参。
2.C语言规定当被调函数的返回值不是整型且被调函数在主调函数后面时,要想调用成功,必须在主调函数中对被调函数进行说明。3.被调函数只需进行一次类型说明。(类型标识符
被调函数的函数名();【函数定义在调用函数之后】)
4.函数定义在调用函数之前,不需对被调函数进行类型说明。
第十二章.编译预处理
考点.宏定义与宏调用
1.宏定义的作用是用标识符来表一串字符。2.C语言中宏定义:
(1)无参宏定义形式:#define 宏名 字符串
(2)有参宏定义形式:#define 宏名(形式参数表)字符串 3.编译预处理时凡是程序中出现宏名的地方都用其所代表的字符串替换下来,此过程称为宏替换或宏展开。
4.宏替换没有数据类型限制;宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头;宏名一般用大写,但不是必须用大写;宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值)。
5.C程序对预处理命令行的处理是在程序编译的过程中进行的。6.常量定义在编译时替换。
7.C语言中,在一个程序中对#include命令行使用的个数没有限制。
第十三章.指针
考点1.变量的指针和指向变量的指针
1.变量的指针就是变量的地址。
2.一个指针变量只能指向同一类型的变量,指针变量在使用前必须指向一个确定的地址单元。
3.指针变量有两个运算符——&和*,其中&是取地址运算符,*是指针运算符,*后必须是指针变量名,表示去指针变量所指的单元的值。
4.基类型相同的两个指针变量可以进行比较,相减和赋值运算,但不能相加运算。5.指针有以下运算:
(1)赋值运算:只能赋变量地址。
(2)算术运算:指针变量的算术运算仅有指针变量相加,相减一个整数的运算。不允许对指针进行乘除运算,不允许对两个指针进行相加移位运算。
6.指针变量赋值运算有以下几种:
(1)普通变量i地址,p=&i;(2)数组j的地址,p=j;(3)数组j的元素j[2]的地址,p=&j[2];(4)函数fun的地址,p=fun;
(5)将指针变量q赋值给p,可用方式p=q,p和q指向同一数据类型。
7.指针变量所指的对象可以被定义为不同类型,指针所指向对象的长度也不尽相同,因此在指针变量加,减一个整数时,地址的实际变化值有所不同。
8.NULL是在stdio·h文件中定义的符号常量,代表0,指针指向NULL,即没有指向任何存储单元。
9.语句*p=&r是将r的地址赋给指针p,*p=r是将r的值赋给p所指向的存储单元。
考点2.数组的指针和指向数组的指针变量
1.在C语言中,可以通过指针变量引用数组元素,如果指针变量P指向数组a,有p=a,则p+i和a+i表示数组元素a[i]的地址,*(p+i)或*(a+i)表示p+i或a+i所指向的数组元素a[i];指向数组的指针变量也可以带下标。
2.数组名为常量,不能对常量进行++运算。3.利用指针数组引用二维数组的元素。
考点3.字符串的指针和指向字符串的指针变量
1.C语言中可以使用字符数组和字符指针两种方式实现一个字符串的引用;字符数组有若干个元素组成,每个元素中存放一个字符;而字符指针变量存放的是字符串的首地址。对字符数组只能对各个元素赋值,或者在变量定义时整体赋初值,但不能在赋值语句中整体赋值;字符指针可以在赋值语句中整体赋值。2.C语言规定可以对字符指针变量直接赋字符串常量,但不能给字符数组直接赋字符串常量,对字符数组赋字符串常量应使用的是strcpy函数。
考点4.函数的指针和指向函数的指针变量
1.C语言中指向函数的指针变量定义的一般形式为: 数据类型标识符(*指针变量名)();
函数的调用可以通过函数名和函数指针调用,在给函数指针变量赋值时,只需给出函数名而不必给参数;(*p)()表示定义一个指向函数的指针变量,专门存放函数的入口地址,可以先后指向不同的指针变量;用函数指针调用函数时,只需将(*p)代替函数名即可,在(*p)之后的括号中,根据需要写上参数。2.C语言中返回指针值的函数一般定义的形式: 数据类型标识符 *函数名(参数表);
考点5.指针数组和指向指针的指针
1.C语言中指针数组的定义形式为:数据类型标识符 *数组名[数组长度说明]; 2.指向数组的指针定义形式为:数据类型标识符(*数组名)[数组长度说明];
3.指向指针的指针定义形式为:数据类型标识符 **指针变量名;
考点6.指针做函数形参
1.C语言中函数名称代表函数的入口地址。2.C语言规定形参指针值的更改不能带回主函数。
考点7.命令行参数
1.C语言规定main函数可以带两个形参,第一个参数为整型变量,表示命令行中字符串的个数;第二个形参是字符型指针数组,存放命令行中各个字符串的首地址。
第十四章.结构体与共用体
考点1.结构体类型的概述
1.结构体类型定义的一般形式为: Struct
结构体名
{类型名
结构成员名
……..};结构体是由用户命名的,命名规则与变量名相同,也可省略结构体名。结构体成员称为结构体中的域。结构体成员可以是简单变量·数组·指针或已声明的结构体和共用体。结构体类型的数据长度是结构体各成员变量的长度之和。2.数组名代表地址。
3.结构体由不同数据类型的若干集合而成。在程序中使用结构体时,一般不允许将结构体作为一个为整体参加操作运算,而应通过对结构体的各个成员的引用来实现各种操作运算。有四种引用方式:(1)结构体变量名·成员名(2)结构体数组元素名·成员名(3)结构体指针变量名->成员名(4)(*结构体指针变量名)·成员名 4. 类型名可再去定义变量,但变量名不行。5. 结构体变量,数组和指针一般有4种定义形式:
(1)紧跟在类型说明之后进行定义:
Struct 结构体名 {成员列表}变量名列表;
(2)先说明结构体类型,再单独进行定义:
Struct 结构体名 {成员列表};
Struct 结构体名
变量名列表;
(3)说明一个无名结构体类型,直接进行进行变量定义:
Struct
{成员列表}变量名列表;(4)用typedef说明一个结构体类型名,在用类型名进行定义:
typedef
struct 结构体
{成员列表}标识符;
标识符
变量名列表; 或
typedef
struct
{成员列表}标识符;
标识符
变量名列表;
考点2.链表的操作 考点3.共用体
1.共用体说明的一般形式为: union 共用体名 {类型名 共用体成员名
·
·
· };
共用体变量的定义与结构体相同,但其含义不同;共用体中的所有成员均存放在同一地址开始的存储空间,使用覆盖的方式共享存储单元;共用体所占空间的大小取决于占存储空间最大的那个成员;共用体变量不能再定义时赋初值。考点4.结构体类型与共用体类型的长度
1.sizeof运算符的作用是计算变量或数据类型的长度,括号内应填数据类型或变量名。
2.指针变量在没有特别指出编译模式时通常为2字节。
考点5.用typedef定义类型
1.可使用关键字typedef说明一个新的类型标识符,定义形式为: typedef 类型名 标识符;
其中类型名可以是C的标准类型,也可以是结构体类型,共用体类型,指针等,标识符为用户定义的标识符;经此说明后的标识符可作为原数据类型名使用。
2.结构体类型名可以定义结构体变量。(1·4)
第十五章.文件操作
考点1.C语言文件概述
1.C语言把文件看做是字符序列,根据数据的组织形式,可分为ASCII文件和二进制文件,ASCII码文件又称文本文件,它的每一个字节存放一个ASCII码,代表一个字符。
2.二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上。
3.二进制文件可以节省存储空间和转换时间,但并不是一个字节对应一个字符,也不能直接输出到字符形式。
4.C语言中对文件的操作是通过文件指针与相应的文件建立起联系,文件指针的定义形式为:FILE *指针变量名。
5.文件是由数据流组成,而不是有记录序列组成;按数据的存放形式分为二进制文件和文本文件。
考点2.文件的打开与关闭
1.C语言中文件的打开是通过fopen()函数实现的,其形式为:
FILE *fp;
fp=fopen(文件名,文件的打开方式);
若文件不在当前路径下,文件名应包含文件所在路径名,文件名与路径名之间用“”分隔。2.文件在使用之前必须首先打开。
3.NULL是一个空指针,在stdio.h文件中被定义为0。
考点3.文件读写与定位函数
1.函数fgets和fputs是字符串的读写函数:
(1)fgets的调用形式为:fgets(str,n,fp)。其作用是从文件指针fp所指向的文件中读入n-1个字符,并将他们放入字符数组str中。如果在读入n-1字符结束之前遇到换行符或EOF(-1),读入结束。字符串读入后在最后加一个‘ ’字符,fgets函数返回值为str的首地址。(2)fputs函数的调用形式:fputs(str,fp)。其中str可以是字符串常量,字符数组名或指向某字符串的指针。其作用是将以str为起始地址的字符串输出到fp指定的文件中,最后的‘ ’不输出,也不会自动在字符串的结尾加‘n’。输出成功函数返回值为0,不成功为非0.2.C语言中文件的读写函数fscanf和fprintf与scanf和printf函数作用相仿,都是格式化读写函数,只是fscanf和fprintf函数的读写对象由终端改为磁盘文件,一般用于文件的读写操作。函数的调用形式:(1)fscanf(文件指针,格式字符串,输入地址列表)(2)fprintf(文件指针,格式字符串,输出列表)
3.feof的功能是检测文件是否结束,当文件指针指向文件末尾时,feof(fp)函数返回值为1,否则为0.4.fgetc和fputc函数是单个字符的读写函数。
5.fread和fwrite函数是数据块的读写函数,一般用于二进制文件的读写。其调用形式为: fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);其中buffer是一个指针。对fread函数来说,它是读入数据的存放地址;对fwrite函数来说,他是要输出数据的地址;size是要读写的字节数;count是要进行读写多少个size字节的数据项;fp是文件指针。6.EOF是在库函数文件中定义的符号常量。
第二篇:计算机等级考试考点
全国计算机等级考试考点一级MS Offic 计算机基础知识1
重 要 考 点
1计算机发展简史
2二进制整数与十进制整数之间的转换
3常用的字符编码及汉字编码
4关于计算机的3类程序设计语言
5计算机病毒的概念及防治
6计算机硬件系统的组成,各组成部分的功能和简单的原理
7计算机软件系统的组成、系统软件和应用软件的含义
8多媒体计算机的概念 1.1计算机概述
考点1计算机发展简史
1946年2月15日,世界上第一台电子计算机ENIAC在美国宾夕法尼亚大学诞生,它的出现具有划时代的伟大意义。
从第一台计算机的诞生到现在,计算机技术经历了大型机、微型机及网络阶段。对于传统的大型机,根据计算机所采用电子元件的不同而划分为电子管、晶体管、集成电路和大规模、超大规模集成电路等四代,如表1-1所示。
表1-1计算机发展史
类别
时间段
基本元件
特点
应用
代表产品
第一代
计算机1946 — 1958电子管体积庞大、造价昂贵、速度低、存储量小、可靠性差军事应用和科学研究UNIVACI 第二代
计算机1958 — 1964晶体管相对体积小、重量轻、开关速度快、工作温度低数据处理和事务管理IBM7000 第三代
计算机1965 — 1971小规模和中规模集成电路体积、重量、功耗进一步减少应用更加广泛IBM360
第四代
计算机1971至今大规模和超大规模集成电路性能飞跃性地上升应用各个领域IBM4300等我国在微型计算机方面,研制开发了长城、方正、同方、紫光、联想等系列微型计算机,在巨型机技术领域中研制开发了“银河”、“曙光”和“神威”等系列巨型机。
考点2计算机的特点
现代计算机一般具有以下几个重要特点。
(1)处理速度快。(2)存储容量大。(3)计算精度高。(4)工作全自动。
(5)适用范围广,通用性强。
考点3计算机的应用
计算机具有存储容量大,处理速度快,逻辑推理和判断能力强等许多特点,因此已被广泛应用于各种科学领域,并迅速渗透到人类社会的各个方面,同时也进入了家庭。计算机主要有以下几个方面的应用。
(1)科学计算(数值计算)。
(2)过程控制。
(3)计算机辅助设计(CAD)和计算机辅助制造(CAM)。
(4)信息处理。
(5)现代教育(计算机辅助教学(CAI)、计算机模拟、多媒体教室、网上教学和电子大学)。
(6)家庭生活。
考点4计算机的分类
计算机品种众多,从不同角度可对它们进行分类,如表1-2所示。
表1-2计算机分类
计算机分类按处理数据的形态
数字计算机 模拟计算机 混合计算机
按使用范围
通用计算机 专用计算机
按本身性能
超级计算机 大型计算机 小型计算机 微型计算机 工作站
1.2数制与编码
考点5数制的基本概念
1十进制计数制
其加法规则是“逢十进一”,任意一个十进制数值都可用0,1,2,3,4,5,6,7,8,9共10个数字符号组成的字符串来表示,这些数字符号称为数码。数码处于不同的位置代表不同的数值。例如720.30可写成:720.30=7×102+2×101+0×100+3×10-1+0×10-2,此式称为按权展开表示式。
2R进制计数制
从十进制计数制的分析得出,任意R进制计数制同样有基数R、权Ri和按权展开的表示式。R可以是任意正整数,如二进制R为2。
(1)基数(Radix)
一个计数制所包含的数字符号的个数称为该数制的基数,用R表示。例如,对于二进制来说,任意一个二进制数可用0,1两个数字符号表示,其基数R等于2。
(2)位值(权)
任何一个R进制数都是由一串数码表示的,其中每一位数码所表示的实际值大小,除数码本身的数值外,还与它所处的位置有关,由位置决定的值就称为位值(或位权)。位值用基数R的i次幂Ri表示。假设一个R进制数具有n位整数,m位小数,那么其位权为Ri,其中i=-m~n-1。
(3)数值的按权展开
任一R进制数的数值都可以表示为:各位数码本身的值与其权的乘积之和。例如,二进制数101.01的按权展开为:
101.01B=1×22+0×21+1×20+0×2-1+1×2-2=5.25D
任意一个具有n位整数和m位小数的R进制数N 的按权展开为:
(N)R=dn-1×Rn-1+dn-2×Rn-2+…+d2×R2+d1×R1+d0×R0+d-1×R-1+…+d-m×R-m
其中di 为R 进制数的数码。
为区分不同数制的数,R进制的数N一般有两种表示方法:一是记做(N)R,如(302)
2、(707.6)8;另一种方法是在一个数后面加上字母:D(十进制)、B(二进制)、Q(八进制)、H(十六进制)。
考点6二、十、十六进制数及其之间的转换
(1)十进制和二进制的基数分别为10和2,即“逢十进一”和“逢二进一”。它们分别含有10个数码(0,1,2,3,4,5,6,7,8,9)和两个数码(0,1)。位权分别为10i和2i(i=-m~n-1,m、n为自然数)。二进制是计算机中采用的数制,它具有简单可行、运算规则简单、适合逻辑运算的特点。
(2)十六进制基数为16,即含有16个数字符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A,B,C,D,E,F分别表示数码10,11,12,13,14,15。权为16i(i=-m~n-1,其中m、n 为自然数)。加法运算规则为“逢十六进一”。如表1-3所示列出了0~15这16个十进制数与其他3种数制的对应表示。
表1-3常用计数制表示
通过这个表格,可以快速地对3种常用数制进行等值转换,这点在二进制和十六进制的转换中会常常用到。这里介绍一个窍门:记忆十进制与十六进制时,注意前10位是相同的,十进制的“10”~“15”分别对应十六进制的“A”~“F”;记忆二进制与十进制时,从“0”开始,二进制由“0000”开始逐步加“1”。
(3)非十进制数转换成十进制数。利用按权展开的方法,可以把任一数制转换成十进制数。例如:
1010.101B=1×23+0×22+1×21+0×20+1×2-1+0×2-2+1×2-3
只要掌握了数制的概念,那么将任一R进制数转换成十进制数的方法都是一样的。(4)十进制整数转换成二进制整数。把十进制整数转换成二进制整数,其方法是采用“除二取余”法。具体步骤是:把十进制整数除以2得一商数和一余数;再将所得的商除以2,又得到一个新的商数和余数;这样不断地用2去除所得的商数,直到商等于0为止。每次相除所得的余数便是对应的二进制整数的各位数码。第一次得到的余数为最低有效位,最后一次得到的余数为最高有效位。
把十进制小数转换成二进制小数,方法是“乘2取整”,其结果通常是近似表示。
上述方法同样适用于十进制数对十六进制数的转换,只是使用的基数不同。
(5)二进制数与十六进制数间的转换。二进制数转换成十六进制数的方法是从个位数开始向左按每4位一组划分,不足4位的组以0补足,然后将每组4位二进制数代之以一位十六进制数字即可。十六进制数转换成二进制数的方法相反。
考生必须掌握十进制整数与二进制整数之间的转换,这是每次考试的“热门”试题。
1.3计算机中字符的编码
码和ASCII码。IBM系列大型机采用EBCDIC码,微型机
考点7西文字符的编码
计算机中常用的字符编码有EBCDIC采用ASCII码。ASCII码是美国标准信息交换码,被国际化组织指定为国际标准。它有7位码和8位码两种版本。国际的7位ASCII码是用7位二进制数表示一个字符的编码,其编码范围从0000000B~1111111B,共有27=128个不同的编码值,相应可以表示128个不同的编码。7位 ASCII码表如表1-4所示。
ASCII码与十进制、十六进制数转换是考试常见题型,所以记忆ASCII码是非常重要的,但有128个编码,不好记忆。推荐一个小技巧:重点记忆字符“A”、“Z”和“a”、“z”对应十、十六进制数的规律,其他的英文字母可以根据以上规律进行推算。
考点8汉字的编码
1汉字信息交换码
汉字信息交换码简称交换码,也叫国标码。规定了7 445个字符编码,其中有682个非汉字图形符和6 763个汉字的代码。有一级常用字3 755个,二级常用字3 008个。两个字节存储一个国标码。国标码的编码范围是2121H~7E7EH。区位码和国标码之间的转换方法是将一个汉字的十进制区号和十进制位号分别转换成十六进制数,然后再分别加上20H,就成为此汉字的国标码:
汉字国标码=区号(十六进制数)+20H位号(十六进制数)+20H
而得到汉字的国标码之后,我们就可以使用以下公式计算汉字的机内码:
汉字机内码=汉字国标码+8080H
2汉字输入码
汉字输入码也叫外码,都是由键盘上的字符和数字组成的。目前流行的编码方案有全拼输入法、双拼输入法、自然码输入法和五笔输入法等。
3汉字内码
汉字内码是在计算机内部对汉字进行存储、处理的汉字代码,它应能满足存储、处理和传输的要求。一个汉字输入计算机后就转换为内码。内码需要两个字节存储,每个字节以最高位置“1”作为内码的标识。
4汉字字型码
汉字字型码也叫字模或汉字输出码。在计算机中,8个二进制位组成一个字节,它是度量空间的基本单位。可见一个16×16点阵的字型码需要16×16/8=32字节存储空间。
汉字字型通常分为通用型和精密型两类。
5汉字地址码
汉字地址码是指汉字库中存储汉字字型信息的逻辑地址码。它与汉字内码有着简单的对应关系,以简化内码到地址码的转换。
6各种汉字代码之间的关系
汉字的输入、处理和输出的过程,实际上是汉字的各种代码之间的转换过程。如图1-1表示了这些汉字代码在汉字信息处理系统中的位置及它们之间的关系。
图1-11.4指令和程序设计语言
考点9计算机指令
一条指令必须包括操作码和地址码两部分。一台计算机可能有多种多样的指令,这些指令的集合称为该计算机的指令系统。
考点10程序设计语言
程序设计语言通常分为机器语言、汇编语言和高级语言3类。
(1)机器语言。机器语言是计算机惟一能够识别并直接执行的语言。
(2)汇编语言。用汇编语言编写的程序称为汇编语言源程序,计算机不能直接识别它。必须先把汇编语言源程序翻译成机器语言程序(称目标程序),然后才能被执行。
(3)高级语言。高级语言要用翻译的方法把它翻译成机器语言程序才能执行。翻译的方法有“解释”和“编译”两种。一个高级语言源程序必须经过“编译”和“连接装配”才能成为可执行的机器语言。
1.5计算机系统的组成考点11计算机系统概述
计算机系统是由硬件系统和软件系统两大部分组成的,如表1-5所示。
表1-5计算机系统的组成
计算机系统硬件系统主机中央处理器(CPU)运算器(ALU)
控制器
内存储器ROM
RAM
外部设备外部存储器——硬盘、软盘、光盘、磁带
输入设备——键盘、鼠标、扫描仪
输出设备——显示器、打印机、绘图仪
软件系统系统软件操作系统
程序语言处理系统
数据库管理系统
服务程序——检查、诊断、排错
应用软件通用应用软件——如Office 2000办公软件包
专用应用软件——用户
考点12“存储程序控制”计算机的概念
1944年8月,著名美籍匈牙利数学家冯·诺依曼提出了EDVAC计算机方案。他在方案中提出了3条思想。
(1)计算机的基本结构。计算机硬件应具有运算器、控制器、存储器、输入设备和输出设备等5大基本功能。
(2)采用二进制数。二进制数便于硬件的物理实现,又有简单的运算规则。
(3)存储程序控制。存储程序实现了自动计算,确定了冯·诺依曼型计算机的基本结构。
考点13计算机硬件的组成1运算器
运算器是计算机处理数据和形成信息的加工厂,主要完成算术运算和逻辑运算,它由算术逻辑运算部件(ALU)、累加器及通用寄存器组成。
2控制器
控制器是计算机的神经中枢,它用以控制和协调计算机各部件自动、连续地执行各条指令。它通常由指令部件、时序部件及操作控制部件组成。
(1)指令寄存器:存放由存储器取得的指令。
(2)译码器:将指令中的操作码翻译成相应的控制信号。
(3)时序节拍发生器:产生一定的时序脉冲和节拍电位,使得计算机有节奏、有次序地工作。
(4)操作控制部件:将脉冲、电位和译码器的控制信号组合起来,有时间性地、有时序地控制各个部件完成相应的操作。
(5)指令计数器:指出下一条指令的地址。
3存储器
存储器是计算机记忆装置,主要用来保存数据和程序,具有存数和取数的功能。存储器分为内存储器和外存储器。CPU只能访问存储在内存中的数据,外存中的数据只有先调入内存后才能被CPU访问和处理。
4输入设备
输入设备的主要作用是把准备好的数据、程序等信息转变为计算机能接受的电信号送入计算机。
5输出设备
输出设备的主要功能是把运算结果或工作过程以人们要求的直观形式表现出来。
考点14计算机软件系统的组成
软件系统可分为系统软件和应用软件两大类。
1系统软件
(1)系统软件。系统软件分为操作系统、语言处理系统(翻译程序)、服务程序和数据库系统4大类别。
(2)操作系统(OS)。一个操作系统应包括下列5大功能模块:处理器管理、作业管理、存储器管理、设备管理和文件管理。
操作系统通常分成以下5类。
① 单用户操作系统。微软的MSDOS、Windows属于此类。
② 批处理操作系统。IBM的DOS/VSE属于此类。
③ 分时操作系统。UNIX是国际最流行的分时操作系统。
④ 实时操作系统。
⑤ 网络操作系统。
(3)对于高级语言来说,翻译的方法有两种:解释和编译。对源程序进行解释和编译任务的程序,分别叫做解释程序和编译程序。
2应用软件
应用软件可分为通用软件和专用软件两类。其中通用软件又分为3类。
(1)文字处理软件。如Office 2000中的 Word。
(2)电子表格软件。如Office 2000中的Excel。
(3)专家系统。
考点15中央处理器(CPU)
中央处理器(CPU)主要包括运算器(ALU)和控制器(CU)两大部件。此外,还包括若干个寄存器和高速缓冲存储器。它是计算机的核心部件,又称微处理器。计算机的所有操作都受CPU控制,CPU和内存储器构成了计算机的主机,是计算机系统的主体。CPU的性能指标直接决定了由它构成的微型计算机系统性能指标。CPU 的性能指标主要有字长和时钟主频。
考点16存储器
计算机的存储器分为两大类:一类是设在主机中的内部存储器,也叫主存储器,用于存放当前运行的程序和程序所用的数据,属于临时存储器;另一类是属于计算机外部设备的存储器,叫外部存储器,简称外存,也叫辅助存储器(简称辅存)。外存中存放暂时不用的数据和程序,属于永久性存储器,当需要时应先调入内存。
1内部存储器
一个二进制位(bit)是构成存储器的最小单位。通常将每8位二进制位组成的一个存储单元称为一个字节(Byte),并给每个字节编上一个号码,称为地址(Address)。
1)存储容量
存储器可容纳的二进制信息量称为存储容量。度量存储容量的基本单位是字节(Byte)。此外,常用的存储容量单位还有:KB(千字节)、MB(兆字节)和GB(千兆字节)。它们之间的关系为:
1字节(Byte)=8个二进制位(bits)
1KB=1024B;1MB=1024KB;1GB=1024MB
2)存取时间
存储器的存取时间是指从启动一次存储器操作,到完成该操作所经历的时间。
3)内存储器的分类
内存储器分为随机存储器(RAM)和只读存储器(ROM)两类。
(1)随机存储器(RAM)。随机存储器也叫读写存储器。其特点是:存储的信息既可以读出,又可以向内写入信息,断电后信息全部丢失。随机存储器又可以分为静态RAM和动态RAM两种。
静态RAM的特点是只要不断电,信息就可长时间的保存。其优点是速度快,不需要刷新,工作状态稳定;缺点是功耗大,集成度低,成本高。
动态RAM的优点是使用组件少,功耗低,集成度高;缺点是存取速度较慢且需要刷新。
(2)只读存储器(ROM)。只读存储器的特点:存储的信息只能读出,不能写入,断电后信息也不丢失。只读存储器大致可分成3类:掩膜型只读存储器(MROM)、可编程只读存储器(PROM)和可擦写的可编程只读存储器(EPROM)。
关于RAM和ROM之间,以及动态RAM和静态RAM之间的区别如表1-6所示。
表1-6内存分类及对比
内存类型随机存储器(RAM)静态RAM和动态RAM之间的区别区别点静态RAM动态RAM1集成度低集成度高2价格高价格低3存取速度快存取速度慢4不需要刷新需要刷新RAM和ROM的区别信息可以随时写入写出。写入时,原数据被冲掉。加电时信息完好,一旦断电,信息消失,无法恢复只读存储器(ROM)分类可编程只读存储器(PROM)、可擦除的可编程只读存储器(EPROM)、掩膜型只读存储器(MROM)信息是永久性的,即使关机也不会消失
2外部存储器
目前最常用的外存有磁盘、磁带和光盘等。与内存相比,这类存储器的特点是存储容量大、价格较低,而且在断电后也可以长期保存信息,所以又称为永久性存储器。
磁盘存储器又可分为软盘、硬盘和光盘。磁盘的有效记录区包含若干磁道,磁道由外向内分别称为0磁道、1磁道„„。每磁道又被划分为若干个扇区,扇区是磁盘存储信息的最小物理单位。硬盘一般有多片,并密封于硬盘驱动器中,不可拆开,存储容量可观,可达几百吉字节。软盘被封装在保护套中,插入软盘驱动器中便可以进行读写操作。软盘可分为3.5英寸和5.25英寸两种,软盘上都带有写保护口,若处于写保护状态,则只能读出,不能写入。光盘可分为只读型光盘(CDROM)、一次性写入光盘(WORM)和可擦写型光盘。磁盘的存储容量可用如下公式计算:
容量=磁道数×扇区数×扇区内字节数×面数×磁盘片数
ROM和RAM,SRAM和DRAM的区分是本节最重要的考核内容,必须熟练掌握。
考点17输入输出设备
计算机中常用的输入设备有键盘和鼠标,其他的输入设备有扫描仪、手写输入设备、声音输入设备、触摸屏和条形码阅读器。常用的输出设备有显示器和打印机、绘图仪等。磁盘既可以属于输入设备,也可以属于输出设备。
考点18计算机主要技术指标
① 字长。一次能并行处理的二进制位数。字长总是8的整数倍,如16、32、64位等。
② 主频。计算机中CPU的时钟周期,单位是兆赫兹(MHz)。
③ 运算速度。计算机每秒所能执行加法指令的数目。运算速度的单位是百万次/秒(MIPS)。
④ 存储容量。存储容量包括主存容量和辅存容量,主要指内存储器所能存储信息的字节数。
⑤ 存储周期。存储器进行一次完整的存取操作所需的时间。
1.6多媒体技术简介
考点19多媒体技术
多媒体有以下几个特点:数字化、集成性、交互性和实时性。
(1)多媒体计算机由PC+CDROM+音频卡+视频卡组成。除了硬件配置外,还应配置相应的软件:首先是支持多媒体的操作系统;其次是多媒体的开发工具、压缩和解压缩软件等。
(2)多媒体的应用主要有以下几个方面:教育和培训,商业和服务业,家庭娱乐、休闲,影视制作,电子出版业及Internet上的应用。
1.7计算机病毒及其防治
考点20计算机病毒的概念
计算机病毒实质上是一种特殊的计算机程序,这是“能够侵入计算机系统的、并给计算机系统带来故障的一种具有自我复制能力的特殊程序”。
考点21计算机病毒的特点
计算机病毒一般具有如下重要特点。
① 寄生性。② 传染性。③ 破坏性。④ 潜伏性。⑤ 隐蔽性。
考点22计算机病毒的预防
预防计算机病毒的几点措施如下。
① 专机专用。
② 利用写保护。
③ 固定启动方式。
④ 慎用网上下载的软件。
⑤ 分类管理数据。
⑥ 建立备份。
⑦ 采用防病毒卡或病毒预警软件。
⑧ 定期检查。
⑨ 严禁在计算机上玩电子游戏。
第三篇:全国计算机等级考试二级vfp考点
010二级公共基础知识复习纲要
第 1 章
数据结构与算法
考点1:算法具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。确定性:是指算法中每一个步骤都必须是有明确定义的,不允许模棱两可的定义 有穷性:是指算法必须能在有限的时间内做完
一个算法由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构 考点2:算法复杂度包括时间复杂度和空间复杂度 时间复杂度
执行算法所需要的计算工作量 空间复杂度
执行这个算法所需要的内存空间 考点3:数据结构
一:讨论的问题:1.数据元素之间的逻辑关系,即数据的逻辑结构 2.数据元素在计算机中的存储关系,即数据的存储结构 3.对各种数据结构进行的运算
考点4:数据结构分为两大类型:线性结构与非线性结构。(1)如果一个非空的数据结构满足下列两个条件: ① 有且只有一个根结点;
② 每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构。考点5:线性表
特点:(1)线性表中所有元素所占的存储空间是连续的
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的 考点5: 栈的基本概念
栈(stack)是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。栈是按照“先进后出”或“后进先出”的原则组织数据的。考点6:队列的基本概念
队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。当表中没有元素时称为空队列。即先进先出表。循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用
考点7: 链表
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。考点8:二叉树性质
(1)
在树结构中,每一个结点只有一个前件,称为父结点,没有父结点的只有一个,成为根结点
(2)
没有后件的结点成为叶子结点
(3)
一个结点所拥有的后件个数称为该结点的度,在树中,所有结点中最大的度称为树的度
(4)
树的最大层次称为树的深度
(5)
在二叉树的第k层上,最多有2^(k-1)个结点(6)
深度为m的二叉树最多有2^m-1个结点(7)
任意一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个(8)
满二叉树:除最后一层外,每一层上的所有结点都有两个子节点
(9)
完全二叉树:除最后一层外,每一层上的结点数都达到最大值,在最后一层上只缺少右边的若干结点
考点9: 二叉树的遍历
根据访问根结点的次序,二叉树的遍历分为三类:前序遍历、中序遍历和后序遍历。(1)前序遍历
先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树 时,仍需先访问根结点,然后遍历左子树,最后遍历右子树。(2)中序遍历
先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子 树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。例如,对图 1-1 中的二叉树进行中序遍历的结果(或称为该二叉树的中序序列)(3)后序遍历
先遍历左子树、然后遍历右子树,最后访问根结点;并且,在遍历左、右子 树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。考点10:各种排序的复杂度(1)顺序查找需要比较n 次
(2)冒泡排序在最坏的情况下需要比较次数为n(n-1)/2。(3)简单插入排序法,最坏情况需要n(n-1)/2 次比较;(4)希尔排序法,最坏情况需要O(n1.5)次比较。
(5)简单选择排序法,最坏情况需要n(n-1)/2 次比较;(6)堆排序法,最坏情况需要O(nlog2n)次比较。
第二章:程序设计基础
考点1:结构化程序设计的原则
(1)自顶向上:先考虑整体,再考虑细节;先考虑全局目标,再考虑局部目标;(2)逐步求精:对复杂问题应设计一些子目标作为过渡,逐步细化;
(3)模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。
(4)限制使用goto 语句:在程序开发过程中要限制使用goto 语句。考点2:结构化程序的基本结构
结构化程序的基本结构有三种类型:顺序结构、选择结构和循环结构。
考点3: 面向对象方法涵盖对象及对象属性与方法、类、继承、多态性几个基本要素。对象是面向对象方法中最基本的概念,主要特点:(1)标识惟一型
(2)分类性(3)多态性
(4)封装性
(5)模块独立性好 考点4:消息:对象间的相互合作需要一个机制来协助进行,这个机制就是消息 考点5:继承是面向对象的方法的一个主要特征,分为单继承和多重继承
第三章:软件工程基础
考点1: 计算机软件是包括程序、数据以及相关文档的完整集合,软件工程包括3 个要素:方法、工具和过程
考点2: 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期还可以分为软件定义、软件开发、软件运行维护阶段 软件定义阶段包括:可行性研究、需求分析
软件开发阶段包括:概要设计、详细设计、实现、测试 软件维护阶段包括:使用、维护、退役
考点3:软件工程的理论和技术性研究主要包括:软件开发技术和软件工程管理 考点4:数据流图图符的含义
圆形表示加工,箭头表示数据流,等于号表示存储文件,矩形表示源、潭
考点5:数据字典:是结构化分析方法的核心,数据字典是对所有与系统相关的数据元素的一个有组织的列表
考点6:软件需求规格说明书是需求分析阶段的最后成果 考点7:模块独立性
衡量模块独立性的定性标准:内聚性与耦合性
内聚性:是一个模块内部各个元素间彼此结合的紧密程度的度量 耦合性:模块间互相连接的紧密程度的度量 一个优秀的设计应尽量做到高内聚、低耦合
考点8:典型的数据流类型有两种:变换型和事务型 考点9:程序流程图图符的含义
考点10:软件测试是为了发现错误而执行程序的过程 静态测试是由人工进行的测试 动态测试是基于计算机的测试
考点11:白盒测试主要方法:逻辑覆盖、基本路径测试
黑盒测试主要方法:等价类划分法、边界值分析法、错误推测法、因果图等
软件测试过程一般按4个步骤来进行:单元测试、集成测试、验收测试、系统测试
考点12:程序调试的任务是诊断和改正程序中的错误,与测试不同,软件测试是尽可能多的发现错误
第四章:数据库设计基础
考点1:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织,数据操纵,数据维护,控制及保护和数据服务等 考点2:数据库系统提供的数据语言:(1)
数据定义语言:该语言负责数据的模式定义与数据的物理存取构建(2)
数据操纵语言负责数据的操纵,包括查询及增、删、改等
(3)
数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等 考点3:数据库系统由如下几部分组成:数据库、数据库管理系统、数据库管理员、硬件平台与软件平台
考点4:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序,数据独立性分为物理独立性和逻辑独立性 考点5:数据库的三级模式
(1)
概念模式:是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图(2)
外模式:是用户的数据视图,也就是用户所见到的数据模式(3)
内模式:它给出了数据库物理存储结构与物理存取方法 考点6:数据模型所描述的内容有三个方面:(1)
数据结构:主要描述数据的类型、内容、性质以及数据间的联系(2)
数据操作:主要描述在相应数据结构上的操作类型与操作方式(3)
数据约束:主要描述数据结构内数据间的语法、语义联系 考点7:E-R模型
(1)E-R模型由三个基本概念组成:实体、联系和属性
(2)在E-R图示法中:矩形表示实体集,椭圆形表示属性,菱形表示联系
考点8:关系模型的约束包括实体完整性约束、参照完整性约束、用户自定义完整性约束 考点9:关系代数
并运算:关系R与S经并运算后所得到的关系是由那些在R内或在S内的有序组 交运算:关系R与S经交运算后所得到的关系是由那些即在R内又在S内的有序组 差运算:关系R与S经差运算后所得到的关系是由那些在R内但不在S内的有序组 自然连接: 考点10:E-R图与关系的转换
E-R图中实体与联系都可以转换成关系,属性也可以转换成关系的属性 1.1 数据库基础知识
考点1 计算机数据管理的发展 1数据与数据处理
数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。2计算机数据管理(l)人工管理。(2)文件系统。(3)数据库系统。
(4)分布式数据库系统。(5)面向对象数据库系统。3数据库管理系统
为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(DataBase Management System)。
图1-1 数据库系统中数据与程序的关系 考点2 数据库系统 1有关数据库的概念
(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。
(2)数据库应用系统(DBAS):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。
(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。
(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。2数据库系统的特点
(l)实现数据共享,减少数据冗余。(2)采用特定的数据模型。(3)具有较高的数据独立性。(4)具有统一的数据控制功能。考点3 数据模型 1实体的描述(1)实体。
(2)实体的属性。(3)实体集和实体型。
2实体间联系及联系的种类(1)一对一联系。(2)一对多联系。(3)多对多联系。3数据模型简介
为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。(1)层次数据模型。(2)网状数据模型。(3)关系数据模型。小提示:
数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和DBMS。1.2 关系模型
关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。1关系术语
(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。
对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为: 关系名(属性名1,属性名2,„,属性名n)(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。
(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。
(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。2关系的特点
(1)关系必须规范化。
(2)在同一个关系中不能出现同名属性,Visual FoxPro中表示为字段名的不同。(3)关系中不允许有完全相同的元组,即冗余。(4)在一个关系中元组的次序无关紧要。(5)在一个关系中列的次序无关紧要。考点5 关系运算
对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。1传统的集合运算
(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。
(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。2专门的关系运算
(1)选择:从关系中找出满足给定条件的元组的操作。(2)投影:从关系模式中指定若干个属性组成新的关系:
(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。
(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。小提示:
选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。1.3 数据库设计基础 考点6 数据库设计步骤 1设计原则
(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。(2)避免在表之间出现重复字段。
(3)表中的字段必须是原始数据和基本数据元素。(4)用外部关键字保证有关联的表之间的联系。2设计步骤
利用Visual FoxPro来开发数据库应用系统,可以按照以下步骤来设计。(1)需求分析。(2)确定需求表C(3)确定需求字段。(4)确定联系。(5)设计精确
1.4 Visual FoxPro系统概述 考点7 Visual FoxPro的特点(l)增强项目与数据库管理。
(2)提高应用程序开发的生产率。(3)互操作性与支持Internet。(4)充分利用已有数据。2.1程序与程序文件 程序与程序文件
考点1 程序的概念、建立与执行 1程序的概念
程序是能够完成一定任务的命令集合。这组命令被存放在称为程序文件或命令文件的文本文件中。当运行程序时,系统会按照一定的次序自动执行包含在程序文件中的命令。2程序文件的建立与修改
程序文件的建立与修改一般是通过调用系统内置的文本编辑器来进行的。其建立步骤如下。(l)打开文本编辑窗口。
(2)在文本编辑窗口中输入程序内容,此处所输入的程序命令不会马上被执行。
(3)编辑完成后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件。3打开或修改程序文件的方法
(1)从“文件”菜单中选择“打开”命令,弹出“打开”对话框。(2)在“文件类型”列表框中选择“程序”。(3)在文件列表框中选定要修改的文件,并单击“确定”按钮。
(4)编辑修改后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件,若要放弃修改,可直接按Esc键,或从“文件”菜单中选择“还原”命令。4程序文件的执行
程序文件建立后,可使用多种方式、多次执行它,常用的以下有两种方式。(l)菜单方式。(2)命令方式。
考点2 简单的输入输出命令
程序一般都包含数据输入、数据处理和数据输出3个部分。1 INPUT命令
格式:INPUT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入数据,当用户回车后,系统将表达式的值存入指定的内存变量。
注释:输入的数据可以是常量、变量,也可以是更为一般的表达式。但不能不输入任何内容直接按回车键输入字符串时必须加定界符,输入逻辑型常量时要用圆点定界(如.T.,.F.),则输入日期时间型常量时要用大括号(如{^2001-03-01})。2 ACCEPT命令
格式:ACCEPT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入字符串,当用户回车后,系统将表达式的值存入指定的内存变量。
注释:该命令只能接收字符串。用户在输入字符串时不需要加定界符;否则,系统会把定界符作为字符串本身的一部分。如果不输入任何内容而直接按回车键,系统会把空串赋给指定的内存变量。3 WAIT命令
格式:WAIT[<字符表达式>][TO<内存变量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<数值表达式>] 功能:该命令显示字符表达式的值作为提示信息,暂停程序的执行,直到用户按任意键或单击鼠标时继续程序运行。
注释:<内存变量>用来保存用户输入的字符,其类型为字符型。若用户按的是Enter键或单击了鼠标,那么<内存变量>中保存的将是空串若不选TO <内存变量>短语,则输入的单字符不保留。小提示:
如果用DO命令执行查询文件、菜单文件,在文件名中必须要包括扩展名(QPR、MPR)。7.2 程序的基本结构
程序结构是指程序中命令或语句执行的流程结构,包括3种基本结构:顺序结构、选择结构和循环结构。考点3 顺序结构
顺序结构是最简单的程序结构,它是按命令在程序中出现的先后次序依次执行。考点4 选择结构
支持选择结构的语句包括条件语句和分支语句。1条件语句 格式: IF<条件> <语句序列1> [ELSE> <语句序列2>] ENDIF 功能:该语句根据<条件>是否成立从两组代码中选择一组执行。语句的执行流程图如图7-1和图7-2所示。
图7-1有ELSE的选择语句
图7-2无ELSE的选择语句 2分支语句
格式:DO CASE CASE<条件1> <语句序列1> CASE<条件2> <语句序列2> ……
CASE<条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE
功能:语句执行时,依次判断CASE后面的条件是否成立。分支语句实现的是一种扩展的选择结构,可以根据条件从多组代码中选择一组执行。分支语句的流程如图7-3所示。
图7-3 多分支语句 考点5 循环结构
循环结构也称为重复结构,是指程序在执行的过程中,其中的某段代码被重复执行若一干珠。被重复执行的代码段,通常称为循环体。Visual FoxPro支持循环结构的语句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。1 DO WHILEENDFOR语句 格式:
FOR<循环变量>=<初值>TO<终值>[STEP<步长>] <循环体> ENDFOR 功能:首先将初值赋给循环变量,然后判断循环条件是否成立(若步长为正值,则循环条件为<循环变量><=<终值>;若步长为负值,则循环条件为<循环变量>>=<终值>)。如果成立,则执行循环体,然后循环变量增加一个步长值,并再次判断循环条件,一直到条件为假时,退出循环体。该语句通常用于实现循环次数已知情况下的循环结构〕 3 SCAN-ENDSCAN语句 格式:
SCAN[<范围>][FOR<条件1>][WHERE<条件2>] <循环体> ENDSCAN
功能:该循环语句一般用于处理表中记录,语句可指明需要处理的记录范围及应满足的条件。执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。7.3 多模块程序
模块是一个相对独立的程序段,它可以被其他模块调用,也可以调用其他模块。通常,把被其他模块调用的模块称为子程序,把调用其他模块而没有被其他模块调用的模块称为主程序。应用程序一般都是多模块程序,包含多个程序模块。考点6 模块的定义和调用 1模块的定义
在Visual FoxPro中,模块可以是命令文件,也可以是过程。过程定义的语句格式为: PROCEDURE|FUNCTION<过程名> <命令序列> [RETURN[<表达式>]] [ENDPROCIENDFUNC] 功能说明如下。
(1)PROCEDURE|FUNCTION命令表示一个过程的开始,并命名过程。过程名必须以字母或下划线开头,可以包含数字、字母和下划线。
(2)当程序执行到RETURN命令时,控制将转回到调用处(或命令窗口),并返回表达式的值。若默认RETURN命令,系统将在过程结束处自动调用一条隐含的RETURN命令。(3)ENDPROC|ENDFUNC命令表示一个过程的结束。如果默认此语句,那么过程结束于下一条PROCEDURE|FUNCTION命令或文件尾。2模块的调用
模块调用的格式有两种。
(1)使用DO命令,格式如下。DO<文件名>|<过程名>(2)在名字后加一对小括号,格式如下。<文件名>|<过程名>()3打开过程文件 命令格式如下。
SET PROCEDURE TO[<过程文件1>[,<过程文件2>,„][ADDITIVE] 4关闭过程文件 命令格式如下。
RELEASE PROCEDURE<过程文件1>[,<过程文件2>,„] 考点7 参数传递
模块程序可以接收调用程序传递过来的参数。
(1)PARAMETERS<形参变量1>[,<形参变量2>,„]。(2)LPARAMETERS<形参变量1>[,<形参变量2>,„]。
说明PARAMETERS声明的形参被看做是模块程序中建立的私有变量,LPARAMETERS声明的形参被看做是模块程序中建立的局部变量。除此之外,两条命令无其他区别。不管是PARAMETERS或LPARAMETERS,都应该是模块程序的第一条可执行命令。(1)调用参数调用模块程序参数的格式如下。
DO<文件名>|<过程名>WITH<实参1>[,<实参2>,„] <文件名>|<过程名>(<实参1>[,<实参2>,„])说明:实参可以是常量、变量或一般表达式,调用模块程序时,形参的数目不能少于实参的数目,当形参数目多于实参数目时,多余的形参取初值逻辑假.F.。
(2)参数的传递。模块中参数的传递分为两种:按值传递(实参一般为常量和表达式)和引用传递(实参一般为变量)。参数的传递方式可以重新设置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考点8 变量的作用域
变量的一个重要属性是作用域。变量的作用域指的是变量在什么范围内是有效或能够被访问的。在Visual FoxPro中,可分为公共变量、私有变量和局部变量3类。1.公共变量
在任何模块中都可使用的变量称为公共变量,公共变量必须先定义后使用,格式如下。PUBLIC<内存变量表> 说明:该命令是建立公共的内存变量,并赋以初值逻辑假.F.。建立好的公共变量一直有效,即使程序结束返回命令窗口也不会消失,只有执行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被释放。2私有变量
在程序中直接使用(没有预先声明),而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。3局部变量
局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。程序结束时,自动释放局部变量。格式如下 LOCAL<内存变量表> 说明:该变量同样给建立的内存变量赋以初值逻辑假.F.,也必须先定义后使用。当子程序中定义的变量名与主程序中同名时,为避免子程序中的变量值改变主程序中的变量值,可在子程序中使用PRIVATE命令隐藏主程序中可能存在的变量,使这些变量在子程序中暂时无效。格式如下。
(1)PRIVATE<内存变量表>。
(2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。说明:该命令并不建立内存变量,它只是隐藏指定的在上层模块中可能已经存在的内存变量,但是当模块程序返回到上层模块时,被隐藏的变量就自动恢复有效性,保持原值。7.4 程序调试
考点9 调试器环境
程序调试是指在发现程序有错误的情况下,确定出错位置并纠正错误。计算机一般能够发现程序的出错位置,但对于计算机不能发现的错误,只能由用户自己来查错。Visual FoxPro提供的功能强大的调试工具—调试器,可帮助我们进行这项工作。调用调试器的方法一般有两种。
(l)选择“工具”菜单中的“调试器”命令。(2)在命令窗口中输入DEBUG命令。考点10 设置断点
可以设置以下4种类型的断点。
(1)在定位处中断:可指定一行代码,当程序调试执行到该行时,中断程序运行。
(2)如果表达式值为真,则在定位处中断:指定一行代码及一个表达式,当程序调试执行到该行代码时,如果表达式值为真,就中断程序运行。
(3)当表达式值为真时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值为逻辑真.T.时,中断程序运行。
(4)当表达式值改变时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值改变时,中断程序运行。考点11 “调试”菜单
“调试”菜单包含执行程序、选择执行方式、终止程序执行、修改程序,以及调整程序执行速度等命令。各命令具体功能如下。
(1)运行:执行在跟踪窗口中打开的程序:
(2)继续执行:当程序被中断时,该命令可使程序在中断处继续往下执行。(3)取消:终止程序的调试执行,并关闭程序。
(4)定位修改:终止程序的调试执行,然后在文本编辑窗口中打开调试程序。
(5)跳出:以连续方式而非单步方式继续执行被调用模块程序中的代码,然后在调用程序的调用语句的下一行处中断。
(6)单步:单步执行下一行代码。如果下一行代码调用了过程或者方法程序,那么该过程或者方法程序在后台执行。
(7)单步跟踪:单步执行下一行代码。
(8)运行到光标处:从当前位置执行代码直至光标处中断。
(9)调速:打开“调整运行速度”对话框,设置两代码行执行之间的延迟秒数。
(10)设置下一条语句:程序中断时选择该命令,可使光标所在行成为恢复执行后要执行的语句。
3.1 Visual FoxPro数据库及其建立 考点1 建立和使用数据库 1数据库的建立
(1)在项目管理器中建立数据库。(2)通过“新建”对话框建立数据库。(3)使用命令建立数据库,格式为:
CREATE DATABASE[DatabaseName |?] 2数据库的打开
(1)在项目管理器中打开。(2)通过“打开”对话框打开数据库。(3)使用命令打开数据库,格式为:
OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考点2 修改和删除数据库
Visual FoxPro在建立数据库时建立了扩展名分别为dbc、dct和dcx的3个文件,用户不能直接修改这些文件。
Visual FoxPro中修改数据库实际是打开数据库设计器,完成数据库中各种对象的建立、修改和删除等操作。
可以有3种方法打开数据库设计器。(1)从项目管理器中打开数据库设计器。(2)从“打开”对话框中打开数据库设计器。(3)使用命令打开数据库设计器,格式为: MODIFY DATABASE[DatabaseName|?] 在项目管理器中不管删除还是移去数据库文件,都不会删除其所包含的各个对象做口数据表)。如果要在删除数据库的同时删除其所包含的数据表,就必须使用命令,格式为: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:
在Visual FoxPro中,Open DataBase和Modify DataBase命令的区别在于:Open DataBase打开的只是数据库的工作环境,并不会进入数据库设计器;Modify DataBase是打开数据库设计器。4.2 建立数据库表
考点3 在数据库中建立表 在数据库中建立数据表,最直接的方法就是在数据库设计器中利用鼠标右键单击空白处,选择“新建表”命令,在弹出的表设计器中设置数据表结构。另外可以在命令窗口利用OPEN DATA命令先打开数据库,然后利用CREATE命令打开表设计器进行数据表设计,如图4-l所示。
图4-1 表设计器 1字段名
(l)自由表字段名最长为10个字符。(2)数据库表字段名最长为128个字符。(3)字段名必须以字母或汉字开头。
(4)字段名可以由字母、汉字、数字和下划线组成。(5)字段名中不能包含空格。2字段类型和宽度
(1)字符型:可以是字母、数字等各种字符型文本,如用户名称。(2)货币型:货币单位,如货物价格。(3)数值型:整数或小数,如订货数量。(3)浮点型:功能类似于“数值型”,其长度在表中最长可达20位。(4)日期型:由年、月、日构成的数据类型,如订货日期。
(5)日期时间型:由年、月、日、时、分、秒构成的数据类型,如员工上班的时间。(6)双精度型:双精度数慎类型,一般用于要求精度很高的数据。(7)整型:不带小数点的数值类型,如订单的行数。
(8)逻辑型:值为“真”(.T.)或假(.F.),如表示订单是否已执行完。
(9)备注型:不定长的字符型文本。在表中占4个字节,表备注型文件的扩展名为FPT。(10)通用型:用于标记电子表格、文档、图片等OLE对象,在表中占4个字节。(11)字符型(二进制)。(12)备注型(二进制)。3空值
一个字段是否允许为空值与实际应用有关,比如作为关键字的字段是不允许为空值的,而那些在插入记录时允许暂缺的字段值往往允许为空值。4字段有效性组框
在字段有效性组框中可以定义字段的有效性规则、违反规则时的提示信息和字段的默认值。5显示组框
在显示组框下可以定义字段显示的格式、输入的掩码和字段的标题。输入掩码是字段的一种属性,用限制或控制用户输入的格式。标题用于字段显示时的标题,如果不指定标题则显示字段名。当字段名是英文或缩写时,则通过指定标题可以使界面更友好。6字段注释
可以为每个字段添加注释,便于日后或其他人对数据库进行维护。考点4 修改表结构 在Visual FoxPro中可以对表结构任意修改,修改表结构和建立表结构时,表设计器界面完全一样。修改数据表结构时,首先应该用USE命令打开要修改的数据表,然后利用MODIFY STRUCTURE打开表设计器进行修改,具体操作有以下几种。(1)修改已有字段。(2)添加新字段。(3)删除不用的字段。4.3 表的基本操作
考点5 使用浏览器操作表
在交互式工作方式下,最简单、方便的方法就是使用BROWSE浏览器浏览表,打开浏览器的方法有多种。在项目管理器中将数据库展开至表,然后单击“浏览”按钮,或直接在窗口中输入BROWSE命令(首先应该打开表文件)。1浏览器操作
(1)下一记录(下箭头键)。(2)前一记录(上箭头键)。(3)下一页(PageDown键)。(4)上一页(PageUp键)。(5)下一字段(Tab键)。
(6)前一字段(Shift+Tab键)。2修改记录
只需将光标定位到要修改的记录和字段上,就可以进行修改了。3删除记录 Visual FoxPro中删除记录有逻辑删除和物理删除两种,逻辑删除只在记录旁做删除标记(如图4-2所示),必要时可以进行恢复物理删除是在逻辑删除的基础上真正地将记录从表中删除。要在浏览器中删除有删除标记的记录,可选择“表/彻底删除”菜单命令。
图4-2 增加和删除记录
考点6 增加、删除、修改和显示记录的命令 1增加记录
APPEND命令是在表的尾部增加记录,格式有如下两种。格式1:APPEND 格式2:APPEND BLANK 2插入记录
格式:INSERT [BEFORE][BLANK] 3删除记录
删除记录有物理删除和逻辑删除两种,Visual FoxPro用来删除记录的命令如下。(1)设置删除标记的命令
格式:DELETE [FOR lExpressionl] 说明:如果不使用FOR短语指定逻辑条件,则只删除当前记录,否则逻辑删除满足条件的所有记录。
(2)恢复记录的命令。
格式:RECALL [FOR lExpressionl] 说明:使用该命令恢复表中逻辑删除的记录,短语FOR的功能同上。(3)物理删除有删除标记的记录 格式:PACK 说明:此命令用来物理删除当前表中所有带删除标记的记录。(4)物理删除表中的全部记录 格式:ZAP 说明:不管表中记录是否带有删除标记,此命令可以一次性将当前表中的记录全部物理删除,但表结构仍保留使用此命令相当于DELETE ALL与 PACK的连用。4修改记录
在Visual FoxPro中可以交互修改记录,也可以用指定值直接修改记录。(1)用EDIT或CHANGE命令交互式修改。(2)用REPLACE命令直接修改。5显示记录
格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考点7 查询定位的命令(1)用GOTO命令直接定位(2)SKIP命令
(3)用LOCATE命令定位。
LOCATE命令是按条件定位记录位置,格式为: LOCATE FOR IExpressionl LOCATE命令常用结构如下。LOCATE FOR IExpression1 DO WHILE FOUND()****处理数据*** CONTINUE ENDDO 小提示:
连续使用DELETE ALL和PACK命令,其操作结果与ZAP命令一样,都可以将表中的所有记录一次性物理删除。4.4 索引与排序
考点8 索引的基本概念
索引是对表中的记录按照某种逻辑顺序重新排列。
(l)主索引:在指定的字段或表达式中不允许出现重复值的索引,且一个表只能创建一个主索引。
(2)候选索引:具有与主索引相同的性质和功能,但一个表中可以创建多个候选索引,其指定的字段或表达式中也不允许出现重复值。
(3)唯一索引:它的“唯一性”是指索引项的唯一,而不是字段值的唯一。但在使用该索引时,重复的索引段值只有唯一一个值出现在索引项中。
(4)普通索引:不仅允许字段中出现重复值,并且索引项中也允许出现重复值。考点9 索引的建立 1单项索引
在表设计器界面中有“字段”、“索引”和“表“3个选项卡,在“字段”选项卡中定义字段时就可以直接指定某些字段是否为索引项,用鼠标单击定义索引的下拉列表框可以看到3个选项:无、升序和降序(默认是无)。如果选定升序或降序,则在对应的字段上建立一个普通索引,索引名与字段名同名,索引表达式就是对应的字段。2复合字段索引
(1)在“索引”选项卡中的索引名栏目中输入索引名。(2)在索引类型的下拉框中选择索引类型。
(3)单击表达式栏右侧的按钮,打开表达式生成器。
(4)在“表达式”文本框中输入索引表达式(如图4-3所示),最后单击“确定”按钮。
图4-3 表达式生成器界面
3使用命令建立索引
格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE] 从索引的组织方式来讲,索引共有3种类型。(1)单独的IDX索引,是一种非结构索引。
(2)采用非默认名的CDX索引,也是一种非结构复合索引。(3)与表同名的CDX索引,是结构复合索引。结构复合索引文件可随表的打开而打开,在同一个索引文件中能包含多个索引方案或索引关键字,在添加、更改或删除记录时自动维护索引。考点10 索引的使用
(l)打开索引文件,格式为: SET INDEX TO Indexfilelist(2)设置当前索引,格式为:
SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING](3)使用索引快速定位,格式为:
SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING](4)删除索引,格式为:
DELETE TAG TagNamel
&&TagName1为索引名 要删除全部索引,可使用命令:DELETE TAG ALL 考点11 排序
索引可以使用户按照某种顺序浏览或查找表中的记录,这种顺序是逻辑的,如要对表中的记录按物理顺序重新排列,可使用SORT命令,格式为: SORT TO TableName ON FieldNainel[/A}/D][/C][,FieldName2[/A|/D][/C]„][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:
在数据库表中只能有一个主索引,且只能在表设计器中建立。其他3种索引可以建立多个,既能在表设计器中建立,也能以命令方式建立,但在自由表中不能为其创建主索引,只能创建后3种索引,同样也可以建立多个。4.5 数据完整性
考点12 实体完整性与主关键字
(1)实体完整性是保证表中记录唯一的特性,即在同一个表中不允许有重复的记录出现。在Visual Pro中通过主索引和候选索引来保证数据的实体完整性。
(2)如果一个字段的值或几个字段的值能够唯一标志表中的一条记录,则称这个字段为候选关键字。在Visual FoxPro中将主关键字称做主索引,将候选关键字称为候选索引。考点13 参照完整性与表之间的关联 1建立表之间的联系
参照完整性与表之间的联系有关,其含义大致是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,检查对表的数据操作是否正确。
在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表主索引和子表的普通索引建立起两个表之间的联系。2设置参照完整性约束
建立参照完整性之前,首先必须清理数据库,即物理删除表中被逻辑删除的记录,然后选择两个关联表之间的连线并选择“数据库”、“编辑参照完整性”菜单命令,打开如图4-4所示的“参照完整性生成器”对话框。
图4-4 “参照完整性生成器”对话框 小提示:
欲建立两表之间的联系,首先用鼠标选中一个表的主索引,按住鼠标左键不放,并拖动鼠标到另一个表的索引上,这时鼠标箭头变成小矩形状,最后释放鼠标。4.6 自由表
考点14 数据库表与自由表
自由表是不属于任何数据库的表。在没有打开数据库时,所建立的表就是自由表。数据库表与自由表之间可以相互转化。1建立自由表的方法
(1)在项目的“数据”选项卡中选择“自由表”,单击“新建”按钮。
(2)在没有打开数据库的情况下,通过“新建”对话框,选择“表”并单击“新建文件”按钮。
(3)在没有打开数据库的情况下,在命令窗口输入CREATE命令,新建自由表。2数据库表相对于自由表的特点
(l)数据库表可以使用长表名,在表中可以使用长字段名。(2)可以为数据库表中的字段指定标题和添加注释。(3)可以为数据库表中的字段指定默认值和输入掩码。(4)数据库表的字段有默认的控件类。
(5)可以为数据库表规定字段级规则和记录级规则。
(6)数据库表支持主关键字、参照完整性和表之间的联系。(7)支持INSERT,UPDATE和DELETE事件的触发器。考点15 将自由表添加到数据库中
(1)在数据库设计器中可利用“数据库”→“添加表”菜单命令,在“打开”对话框中选择自由表文件,将其添加到数据库中。
(2)直接用命令方式将自由表添加到当前数据库中,格式为: ADD TABLE TableName|?[NAME LongTableName] 考点16 从数据库中移出表
(1)直接利用命令移出数据库表,格式为:
REMOVE TABLE TableName |?[DELETE][RECYCLE](2)从项目管理器中移出数据库。(3)从数据库设计器中移出数据库。4.7 多个表的同时使用
在Visual FoxPro中,一次可以打开多个数据库,每个数据库都可以打开多个数据表。考点17 多工作区的概念
指定工作区的命令格式为SELECT nWorkArea | cTableAlias,每个表打开后都有两个默认别名,一个是表的自身名,另一个是工作区所对应的别名。在前10个工作区中指定的默认别名是工作区字母A~J,其后面的工作区所对应的别名为W11~W32767。
另外还可以在USE命令中通过ALIAS短语指定表别名。
例如:USE学生表IN 1 ALIAS student,为学生表指定了别名student。考点18 使用不同工作区的表
除了使用SELECT命令切换不同的工作区之外,也可以在一个工作区使用其他工作区的数据表。即通过短语:IN nWorkArea|cTableAlias。在表别名后加上“.”或“->”操作符,可在一个工作区中直接调用其他工作区中数据表的记录。例如当前工作区号为2,要调用1区上学生表中的班级号的相关字段,可使用命令:
学生表.班级号 或学生表->班级号或A.班级号或A->班级号 考点19 表之间的关联
使用SET RELATION命令建立表间记录指针的临时联系(关联)。
格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。
说明:eExpressionl是指建立临时联系的索引关键字,一般是父表的主索引,子表的普通索引。用工作区号 nWorkAreal或表的别名cTableAlias I说明临时联系是由当前工作区的表到哪个表。利用SET RELATION TO命令将取消当前表到所有表的临时联系。4.1 SQL概述 5.1 SQL概述 考点1 概述 1概念
SQL是结构化查询语言Structured Query Language的缩写。它包括数据查询、数据定义、数据操纵和数据控制4部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它没有提供数据控制功能。2 SQL语言的特点
(1)一种一体化的语言。
(2)一种高度非过程化的语言。(3)语言非常简洁。
(4)可以直接以命令方式交互使用,也可以以程序方式使用。5.2 查询功能
SQL的核心是查询,基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可嵌套执行,如表5-1所示。
表5-1 SQL命令动词
考点2 简单查询 1简单查询
简单查询是由SELECT和FROM短语构成的无条件查询,或由SELECT,FROM和WHERE短语构成的条件查询。2简单的连接查询
连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。3嵌套查询
嵌套查询所要求的结果出自一个关系,但关系的条件却涉及多个关系。其内层基本上也是一个SELECT-FROM-WHERE查询语句。这种简单嵌套查询,可使用谓词IN或NOT IN来判断在外层的查询条件中是否包含内层查询的结果。考点3 特殊运算符号 1 BETWEEN„AND„
含义:该查询的条件是在„„范围之内,相当于用AND连接的一个逻辑表达式。2 LIKE 含义:它是一个字符串匹配运算符,与之搭配使用的通配符包括“*”和“?”。考点4 排序
使用SQL SELECT可以将查询结果进行排序,排序的短语是ORDER BY。格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]„] 说明:可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。考点5 计算查询 1简单的计算查询
SQL不仅具有一般的检索能力,而且还有计算方式的检索,用于计算检索的函数有:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)及MIN(求最小值)。2分组与计算查询
在SQL SELECT中可以利用GROUP BY子句进行分组计算查询。
格式:GROUP BY GroupColumn[,GroupColumn„][HAVING FilterCondition] 说明:可以按一列或多列分组,还可以用HAVING子句进一步限定分组的条件。它必须跟在GROUP BY子句之后,不可单独使用,与WHERE子句并不矛盾。考点6 别名和自连接查询
(1)SQL语句允许在二OM短语中为关系定义别名,格式为:一 <关系名><别名>(2)SQL不仅可以对多个关系进行连接操作,也可以将同一关系与其自身进行连接,这种连接就称为自连接。在关系的自连接操作中,别名是必不可少的。考点7 使用量词和谓词的查询
与嵌套查询或子查询有关的运算符,除了IN和NOT IN运算符外,还有两类与子查询有关的运算符,它们有以下两种格式。
(1)<表达式><比较运算符>[ANY I ALL | SOME](子查询)(2)[NOT]EXISTS(子查询)EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来返回子查询结果。考点8 超链接查询
(1)在新的SQL标准中支持两个新的关系连接运算符,这两个新的连接运算是左连接(*=)和右连接=*):首先保证一个表中满足条件的元组都在结果表中,然后将满足连接条件的元组与另一个表的元组进行连接,不满足连接条件的则应将来自另一个表的属性值置为空值。在一般SQL中超链接运算符是“*=”(左连接)和“=*”(右连接)。(2)在Visual FoxPro中不支持超链接运算符“*=”和“=*”,Visual FoxPro有专门的连接运算。下面拼出SQL中超链接的部分语句格式: SELECT…
FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE…
考点9 Visual FoxPro中SQL SELECT的几个特殊选项(l)显示部分结果,格式为: TOP nExpr[PERCENT](2)将查询结果存放到数组中,格式为: INTO ARRAY ArrayName(3)将查询结果存放到临时文件中,格式为: INTO CURSOR CursorName(4)将查询结果存放到永久表中,格式为: INTO DBF|TABLE TableName(5)将查询结果存放到文本文件中,格式为: TO FILE FileName[ADDITIVE](6)将查询结果直接输出到打印机,格式为: TO PRINTER[PROMPT] 5.3 操作功能 考点10 插入
Visual FoxPro支持两种SQL插入命令的格式,一种是标准格式,另一种是特殊格式。1标准格式
INSERT INTO dbf name[(frame 1[,fname2,„])] VALUES(eExpressionl[,eExpression2,„])2特殊格式
INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考点11 更新
SQL的数据更新命令格式如下: UPDATE TableName SET Column_Namel=eEpressionl[,Column_Name2=eExpression2„] WHERE Condition 说明:利用WHERE字句指定条件,以更新满足条件的一些记录的字段值,并巨一次可更新多个字段;如果不使用WHERE子句,则更新全部记录。考点12 删除
SQL从表中删除数据的命令格式如下:
DELETE FROM TableName[WHERE Condition] 说明:FROM指定从哪个表中删除记录,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。小提示:
当一个表定义一个主索引或候选索引后,由于相应的字段具有关键字的特性,即不能为空,所以只能用此命令插入记录、)APPEND和INSERT都是插入一条空白记录再输入各字段的值,故不能用它们来插入记录。5.4 定义功能 考点13 表的定义
利用SQL命令建立的数据表同样可以完成在表设计器中设计表的所有功能。格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,FieldName2„] [,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,FOREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne 说明:此命令除了建立表的基本功能外,还包括满足实体完整性的主关键字(主索引)PRIMARY KEY、定义域完整性的CHECK约束及出错提示信息ERROR、定义默认值DEFAULT等,另外还有描述表之间联系的FOREIGN KEY和REFERENCES等。考点14 表的删除
利用SQL命令删除表,可直接使用语句,格式为: DROP TABLE Table_name 说明:如果删除的是自由表,则应该将当前打开的数据库先关闭,才能进行删除。如果删除数据库表,则要先打开数据库,在数据库中进行操作二否则,即使删除了数据库表,但记录在数据库中的信息并没有被删除,此后会出现错误提示。考点15 表结构的修改
修改表结构的命令是ALTER TABLE,该命令有3种格式。
(1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕](2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK](3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕
[ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考点16 视图的定义 1视图的概念及其定义(l)视图的概念。
Visual FoxPro中视图是一个虚拟的表,可以是本地的、远程的或带参数的。(2)视图的定义,格式为:
CREATE VIEW view name[(column_name[,column_name]„)] AS select_statement 2从单个表派生出来的视图
视图一经定义,就可以和基本表一样进行各种查询,也可以进行一些修改操作。对于最终用户来说,有时并不需要知道操作的是基本表还是视图。3从多个表派生出来的视图
视图一方面可以限定对数据的访问,另一方面又可以简化对数据的访问。4视图的删除
视图由于是从表派生出来的,所以不存在修改结构的问题,但是视图可以删除。格式:DROP VIEW<视图名> 5关于视图的说明
在关系数据库中,视图始终不真正含有数据,它总是原有表的一个窗口。所以,虽然视图可以像表一样进行各种查询,但是插入、更新和删除操作在视图上却有一定限制。在一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作;当视图是从多个表导出时,插入、更新和删除操作都不允许进行。这种限制是很有必要的,它可以避免一些潜在问题的发生。5.1 查询与视图
考点1 查询设计器 1查询的概念
查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。查询以扩展名为QPR的文件保存在磁盘上的,这是一个文本文件,它的主体是SQL SELECT语句。2查询的建立
建立查询可以使用“查询设计器”,但它的基础是SQL SELECT语句。建立查询的方法有以下几个方面。
(l)可以利用CREATE QUERY命令打开查询设计器建立查询。(2)可以利用“新建”对话框打开查询设计器建立查询。
(3)可以在项目管理器的“数据”选项卡中打开查询设计器建立查询。(4)可直接编辑QPR文件建立查询。建立查询时,首先进入如图6-1所示的界面选择用于建立查询的表或视图,选择表或视图后,单击“添加”按钮。最后单击“关闭”按钮,进入如图6-2所示的查询设计器界面。
图6-1 为查询选择表或视图
查询设计器中的各选项卡和SQL SELECT语句的各短语是相对应的,对应关系如下。“字段”――SELECT短语,用于指定要查询的数据 “连接”――JOIN ON短语,用于编辑连接条件。“筛选”――WHERE短语,用于指定查询条件。
“排序依据”――ORDER BY短语,用于指定排序字段和排序方式。“分组依据”――GROUP BY短语和HAVING短语,用于分组。
图6-2 查询设计器 3查询的运行
运行查询有下列两种方法。
(1)可以在项口管理器的“数据”选项卡中,展开“查询”选项,然后选择要运行的查询文件,单击“运行”按钮,可查看查询结果。(2)在命令窗门执行命令DO QueryFile。
注意:此处的查询文件名是全名,包括扩展名QPR。4查询去向
设计查询的目的不只是完成一种查询功能,在查询设计器中可以根据需要为查询输出定位查询去向。通过“查询”菜单卜的“查询去向”,或在“查询设计器”工具栏中单击“查询去向”按钮。“查询去向”对话框如图6-3所示
图6-3 “查询去向”对话框 各去向的含义如下。
(1)浏览:在“浏览”(BROWSE)窗口中显示查询结果,这是默认的输出去向。(2)临时表:将查询结果存储于一个命名的临时只读表中。(3)表:将结果保存在一个命名的数据表文件中。(4)图形:查询结果可以用于Microsoft Graph。
(5)屏幕:在Visual FoxPro主窗口或当前活动输出窗口中显示查询结果。(6)报表:将结果输出到一个报表文件。(7)标签:将结果输出到一个标签文件。小提示:
在7种输出去向中,只有“浏览”和“屏幕”两种输出去向才能直接看到查询结果。6.2 视图
考点2 视图的概念与建立 1视图的概念
视图是操作表的一种手段,通过视图可以查询表,也可以更新表。视图是根据表定义的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时才能使用。
视图兼有“表”和“查询”的特点,与查询相类似的地方是可以用来从一个或多个相关联的表中提取有用信息;与表类似的地方是可以用来更新其中的信息,并将结果永久性保存在磁盘上。
2视图的建立
(l)用CREATE VIEW命令打开视图设计器建立视图。(2)利用“新建”对话框打开视图设计器建立视图。
(3)在项目管理器的“数据”选项卡中打开视图设计器建立视图。(4)利用SQL命令CREATE VIEW...AS...建立视图。3视图设计象
视图设计器(如图6一所示)与查询设计器基本上一样,主要有以下几点不同。(1)视图的结果保存在数据库中,在磁盘上找不到类似的文件。
(2)视图可以用来更新数据,因此在设计器中多了一个“更新条件”选项卡。(3)在视图中没有“查询去向”的问题。
图6-4 视图设计器
考点3 远程视图与连接
为了建立远程视图,必须首先建立连接远程数据库的“连接”,“连接”是Visual FoxPro数据库中的一种对象。1定义数据源和连接
数据源一般是ODBC数据源,开放数据库互连ODBC是一种连接数据库的通用标准。为了定义ODBC数据源,必须首先安装ODBC驱动程序。2建立连接
建立连接的方法有以下几种。(1)用CREATE CONNECTION命令打开“连接设计器”,或完全用命令方式建立连接。(2)通过“新建”对话框建立连接。
(3)在项目管理器的“数据”选项卡中建立连接。3设计远程视图
利用数据源或连接建立的远程视图的SQL语法要符合远程数据库的语法,例如,SQL Server的语法和Visual FoxPro的语法就有所区别。考点4 视图与数据更新
视图是根据基本表派生出来的,所以把它叫做虚拟表为了通过视图能够更新基本表中的数据,需要在视图设计器的“更新条件”选项卡中的左下角选中“发送SQL更新”复选框。1指定可更新的表
如果视图是基于多个表的,默认可以更新“全部表”的相关字段,如果要指定只能更新某个表的数据,则可以通过“表”下拉列表框选择表 2指定可更新的字段
在“字段名”列表框中列出了与更新有关的字段,在字段名左侧有两列标志,“钥匙”表示关键字,“铅笔”表示更新通过单击相应列可以改变相关的状态,默认可以更新所有非关键字字段,并且通过基本表的关键字完成更新,即Visual FoxPro用这些关键字字段来唯一标识那些已在视图中修改过的基本表中的记录建议不要改变关键字的状态,不要试图通过视图来更新基本表中的关键字字段值,如有必要,可以指定更新非关键字字段值 3检查更新的合法性 如图6-1所示,“SQL WHERE子句包括”框中的选项决定哪些字段包含在UPDATE或DELETE语句的WHERE子句中,Visual FoxPro正是利用这些语句将在视图中修改或删除的记录发送到远程数据源或基本表中,WHERE子句就是用来检查自从提取记录用于视图中后,服务器上的数据是否已经改变。“SQL WHERE子句包括”框中各选项的含义如下。
(l)关键字段:当基本表中的关键字字段被改变时,更新失败。
(2)关键字和可更新字段:当基本表中任何标记为可更新的字段被改变时,更新失败。
(3)关键字和已修改字段:当在视图中改变的任一字段的值在基本表中已被改变时,更新失败。
(4)关键字和时间戳:当远程表上记录的时间戳在首次检索之后被改变时,更新失败。4使用更新方式
“使用更新”框的选项决定当向基本表发送SQL更新时的更新方式。
(1)SQL DELETE然后INSERT:先用SQL DELETE命令删除基本表中被更新的旧记录,再用SQL INSERT命令向基本表中插入更新后的记录。
(2)SQL UPDATE:使用SQL UPDATE命令更新基本表。考点5 使用视图
视图建立后,不但可以用它来显示和更新数据,而且可以通过调整它的属性来提高性能,它的使用类似于表。1视图操作
(1)在数据库中使用USE命令打开或关闭视图。(2)在“浏览器”窗口中显示或修改视图中的记录。(3)使用SQL语句操作视图。
(4)在文本框、表格控件、表单或报表中使用视图作为数据源。2使用视图
视图一经建立就基本可以像基本表一样使用,适用于基本表的命令基本都可以用于视图。比如在视图上也可以建立索引,此索引当然是临时的,视图一关闭,索引自动删除,多工作区时也可以建立联系等。但视图不可以用MODIFY STRUCTURE命令修改结构。因为视图毕竟不是独立存在的基本表,它是由基本表派生出来的,只能修改视图的定义。
小提示:
查询与视图的区别是:查询可以定义输出去向,可以将查询的结果灵活地应用于表单、报表、图形等各种场合,但是利用查询不可以修改数据;而利用视图可以修改数据,可以利用SQL将对视图的修改发送到基本表,特别是对于远程表的操作,利用视图是非常有效的。
6.1表单与控件 面向对象的概念 考点1 对象与类 1对象(Object)客观世界里的任何实体都可以被视为对象。对象可以是具体事物,也可以指某些概念二(1)属性:用来表示对象的状态。(2)方法:用来描述对象的行为。2类(Class)类是对一类相似对象性质的描述。同类对象具有相同的性质:相同的属性及方法。考点2 子类与继承 1继承
继承表达了一种从一般到特殊的进化过程。在面向对象的方法里,继承是指基于现有类的方法和属性。2类
我们把新类称为现有类的子类,而把现有类称为新类的父类。一个子类的成员一般包括以下两个方面。
(l)从其父类继承的成员,包括属性、方法。(2)由子类自己定义的成员,包括属性、方法。8.2 Visual FoxPro基类简介 考点3 Visual FoxPro基类
Visual FoxPro中所有基类共有的属性如表8-1所示。表8-1 Visual FoxPro基类的最小属性集
(l)在编程方式里,对象的生成通常使用CREATE OBJECT函数来完成,格式为: CREATE OBJECT(<类名>[,<参数1>,<参数2>,„])说明:函数基于指定的类生成一个对象,并返回对象的引用。(2)对象属性访问及对象方法调用的基本格式为: <对象引用>.<对象属性> <对象引用>.<对象方法>[(„)] 考点4 容器与控件
Visual FoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。
(l)控件:是一个可以以图形化的方式显示出来并能与用户进行交互式的对象。(2)容器:可看成是一个特殊的控件,它能包容其他的控件或容器。(3)层次:容器内的包容关系形成r对象的嵌套层次关系。对象的层次概念与类的层次概念是两个完全不同的概念对象的层次关系指的是包容与被包容的关系,而类的层次指的是继承与被继承的关系。
在对象的嵌套层次关系中,要引用其中的某个对象,需要指明对象在嵌套层次中的位置。对象引用的几个属性或关键字如表8-2所示。表8-2 对象引用的几个属性或关键字
考点5 事件
事件是一种由系统预先定义而由用户或系统发出的动作。它作用于对象,对象识别事件并做出相应的反应。与方法集可以无限扩展不同的是,事件集是固定的。用户不能定义新的事件。表8-3列出了VisualFoxPro基类的最小事件集,不管哪个基类都包含这些事件。表8-3 Visual FoxPro基类的最小事件集
8.3 创建与管理表单
考点6 创建、修改及运行表单 1使用表单向导创建表单
调用表单向导的方法有多种,这里只做简单介绍。
(l)在“项目管理器”窗口中,选择“文档”选项卡,选择其中的“表单”图标。(2)单击“新建”按钮,系统弹出“新建表单”对话框。(3)单击“表单向导”图标按钮,打开“向导选取”对话框。(4)从列表框中选择要使用的向导,然后单击“确定”按钮。2使用表单设计器创建表单
可以使用以下3种方法中的任何一种调用表单设计器。(1)在项目管理器环境下调用。(2)菜单方式调用。(3)命令方式调用。3修改已有的表单
一个表单无论是通过任何途径创建的,都可以使用表单设计器进行编辑修改。我们可以通过项目或使用命令“MODIFY FORM<表单名>”来打开表单设计器。4运行表单
可以采用下列方法运行通过表单设计器创建的表单文件。
(1)在项目管理器窗口中,选择要运行的表单,然后单击窗口里的“运行”按钮。
(2)在表单设计器环境下,选择“表单”菜单中的“执行表单”命令,或单击标准工具栏上的“运行”按钮。
(3)选择“程序”菜单中的“运行”命令,打开“运行”对话框,然后在对话框中指定要运行的表单文件并单击“运行”按钮。(4)在命令窗口中输入命令,格式为:
DO FORM<表单文件名>[NAME<变量名>] WITH<实参>[,<实参>,„][LINKED][NOSHOW] 考点7 管理表单属性和方法
可以向表单添加任意数量的新属性和新方法,并像引用表单的其他属性和方法一样引用它们。Visual FoxPro中表单的属性大约有100个,但绝大多数很少用到。表8-4列出了常用的一些表单属性,这些属性规定了表单的外观和行为。表8-4 表单的常用属性
1创建新属性
向表单添加新属性的方法如F。
(l)选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框,如图8-1所示。(2)在“名称”文本框中输入新属性的名称。
(3)有选择地在“说明”列表框中输入新建属性的说明信息。
图8-1 “新建属性”对话框
2创建新方法
向表单添加新方法的步骤如下
(l)运行“表单”→“新建方法程序”命令,打开“新建方法程序”对话框,如图8-2所示。(2)在“名称”文本框中输入新方法名。
(3)有选择地在“说明”列表框中输入新建方法的说明信息。
图8-2 “新建方法程序”对话框
3编辑方法或事件代码
在表单设计器中,编辑方法或事件代码的步骤如下。
(1)选择“显示”菜单中的“代码”命令,打开代码编辑窗口,如图8-3所示。(2)从“对象”框中选择方法或事件所属的对象。(3)从“过程”框中指定需要编辑的方法或事件。(4)在编辑区输入或修改方法或事件的代码。
图8-3 代码编辑窗口
考点8 常用事件与方法
下面将以表的形式简单介绍一下表单及控件常用的一些事件和方法,如表8-5所示。表8-5 常用的一些属性和方法
8.4 表单设计器
考点9 表单设计器环境
表单设计器启动后,在Visual FoxPro的主窗口中出现“表单设计器”窗口、“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏及“表单”菜单。1“表单设计器”窗口
用户可视化地添加和修改控件的窗口。2“属性”窗口
如图8-4所示,在“属性”窗口中包括对象框、属性设置框、方法和事件列表。用户可在此窗口中选择表取中的控件,并为表单设计属性、方法及事件。
对于表单及控件的绝大多数属性,其数据类型是固定的。一般来说,要为属性设置一个字符型数值,可以在设置框中直接输入,不需要加定界符。
“属性”窗口可以通过单击“表单设计器”工具栏中的“属性窗口”按钮或选择“显示”菜单中的“属性环境”命令打开或关闭。
图8-4 “属性”窗口
3“表单控件”工具栏
如图8-5所示,利用“表单控件”工具栏可以方便地向表单添加控件。
图8-5 “表单控件”工具栏
除了控件按钮外,“表单控件”工具栏还包含“选定对象”、“按钮锁定”、“生成器锁定”和“查看类”4个辅助按钮。4“表单设计器”工具栏
“表单设计器”工具栏如图8-6所示,它可以通过“显示”菜单中的“工具栏”命令打开或关闭。
图8-6 “表单设计器”工具栏
5“表单”菜单 “表单”菜单中的命令主要用于创建、编辑表单或表单集,如为表单增加新的属性和方法等。考点10 控件的操作与布局 1控件的基本操作
在表单设计器下,对表单上的控件可进行移动、改变大小、复制、删除等操作。(l)选定控件。(2)移动控件
(3)调整控件大小。(4)复制控件。(5)删除控件。2控件布局 利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选控件的相对大小或位置。“布局”工具栏丁以通过单击“表单设计器”工具栏上的“布局工具栏”按钮或选择“显示”菜单中的“布局工具栏”命令打开或关闭。3设置Tab键次序
当表单运行时,用户可以按Tab键选择表单中的控件,使焦点在控件间移动。控件的Tab键次序决定了选择控件的次序。Visual FoxPro提供了两种方式来设置Tab键次序:交互方式和列表方式。考点11 数据环境 1数据环境的常用属性
常用的两个数据环境是AutoOpenTables和AutoCloseTables,其功能如下。
(1)AutoOpenTables;表示当运行或打开表单时,是否打开数据环境中的表和视图,默认值为逻辑真.T.)。
(2)AutoCloseTables:表示当释放或关闭表单时,是否关闭由数据环境指定的表和视图,默认值为逻辑真(.T.)。
2打开数据环境设计器
可通过单击“表单设计器”工具栏中的“数据环境”按钮,也可以选择“显示”菜单中的“数据环境”命令打开或关闭“数据环境设计器”窗口。3向数据环境中添加表或视图
(1)选择“数据环境”菜单中的“添加”命令,或用鼠标右键单击“数据环境设计器”窗口,然后在弹出的快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。
(2)选择要添加的表或视图并单击“添加”按钮。如果单击“其他”按钮,将调出“打开”对话框,用户可以从中选择需要的表。4从数据环境中移去表或视图
在数据环境设计器环境下,按下列方法从数据环境移去表或视图。(1)在“数据环境设计器”窗口中,单击选择要移去的表或视图。(2)选择“数据环境”菜单中的“移去”命令。
也可以用鼠标右键单击要移去的表或视图,然后在弹出的快捷菜单中选择“移去”命令。当表从数据环境中移去时,与这个表有关的所有关系也将随之消失。5在数据环境中设置关系
如果添加到数据环境的表之间具有在数据库中设置的永久关系,这些关系也会自动添加到数据环境中。如果表之间没有永久关系,可以根据需要在数据环境设计器下为这些表设置关系。6在数据环境中编辑关系
关系是数据环境中的对象,它有自己的属性、方法和事件。常用的关系属性如表8-6所示。
表8-6 常用的关系属性
7向表单添加字段
我们可以利用“表单控件”工具栏方便地将一个标准控件放置到表单上,也可以从“数据环境设计器”窗口、“项目管理器”窗口或“数据库设计器”窗口中直接将字段、表或视图拖入表单,系统将产生相应的控件并与字段相联系。8.5 常用表单控件
考点12 标签(Label)控件 标签的常用属性如下
(1)Caption属性:指定标签的标题文本很多类控件都具有Caption属性。用户可以利用该属性为所创建的对象指定标题文本。
(2)Alignment属性:指定标题文本在控件中的显示对齐方式。该属性包括三个属性值――0、1和2,分别代表左对齐、右对齐和中央对齐。考点13 命令按钮(CommandButton)控件 命令按钮的常用属性如下。
(1)Default属性:该属性默认值为.F.。当属性为.T.时,可称为“确定”按钮,一个表单中只能包含一个“确定”按钮;在Windows中,当焦点不在命令按钮上时,按Enter键,系统将自动执行该命令按钮的Click事件代码、(2)Cancel属性:该属性默认值为.F.。当属性为.T.时,可称为“取消”按钮,在表单中,可通过Esc键执行该命令按钮中的Click事件代码一个表单中可有多个命令按钮的Cancel属性值为.T.。(3)Enabled属性:指定表单或控件能否响应用户引发的事件。默认的属性值为.T.,即对象是有效的,当Enabled=.F.时,只是用来显示只读的信息。
(4)Visible属性:指定对象是可见还是隐藏。默认的属性值为.T.,即对象是可见的。考点14 命令组(CommandGroup)控件
命令组是包含一组命令按钮的容器控件,其常用属性如下。
(1)ButtonCount属性:指定命令组中命令按钮的个数,默认的属性值为2。(2)Buttons属性:用于存取命令组中各按钮的数组。用户可以利用该数组为命令组中的命令按钮设置属性或调用其方法,属性数组下标的取值范围应该在1到ButtonCount属性值之间。(3)Value属性:指定命令组当前的状态。该属性的类型可以是数值型,也可以是字符型。考点15 文本框(TextBox)控件 文本框的常用属性如下。
(1)ControlSource属性:可利用该属性为文本框指定一个字段或内存变量,运行时,文本框中首先显示该变量的内容
(2)Value属性:返回文本框的当前内容。该属性的默认值是空串。(3)PasswordChar属性:指定文本框控件内是显示用户输入的字符还是显示占位符。该属性的默认值是空串,此时没有占位符。当为属性指定一个占位符(例如*)后,文本框中只显示占位符。
(4)InputMask属性:指定在一个文本框中如何输入和显示数据。各种模式符的功能如表8-7所示。
表8-7 模式符及其功能
考点16 编辑框的常用属性如下。
(1)AllowTabs属性:指定编辑框中能否使用Tab键。该属性的默认值为.F.,当按Tab键时,焦点移出编辑框。
(2)HideSelection属性:指定当编辑框失去焦点时,编辑框中选定的文本是否仍显示为选定状态。该属性的默认值为.T.,即当编辑框失去焦点时,编辑框中选定的文本不显示为选定状态(3)ReadOnly属性:指定用户能否编辑编辑框中的内容。如果该属性的默认值为.F.,则叮以编辑编辑框中的内容;当属性值为.T.时,编辑框中的内容为只读。
(4)ScrollBars属性:指定编辑框是否具有滚动条。该属性包括“0-无” 和“2-垂直”两个属性值。
(5)SelStart属性:返回用户在编辑框中所选文本的起始位置或插入点位置。属性的有效取值范围在0与编辑区中的字符总数之间。
(6)SelLength属性:返回用户在控件的文本输入区中所选定字符的数目,或指定要选定的字符数目。
(7)SelText属性:返回用户编辑区内选定的文本。如果没有选定文本,将返回空串。考点17 复选框(CheckBox)控件 复选框的常用属性如下。
(1)Caption属性:用来指定显示在复选框旁边的文字。
(2)Value属性:用来指明复选框的当前状态,共有3种情况:0或.F.表示未被选中;1或.T.表示被选扣;2或.NULL.表示不确定,只在代码中有效。
(3)ControlSource属性:指明与复选框建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是逻辑型或数值型。考点18 选项组(OptionGroup)控件
选项组是包含若干个选项按钮的一种容器控件,其常用属性如下。(1)ButtonCount属性:指定选项组中选项按钮的数目,其默认值为2,(2)Value属性:用于指定选项组中哪个选项按钮被选中。该属性值的类型可为数值k1J或字符型。
(3)ControlSource属性:指明与选项组建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是字符型或数值型
(4)Buttons属性:用于存取选项组中每个按钮的数组,其含义与命令组的Buttons类似。考点19 列表框(ListBox)控件 列表框的常用属性如下
(1)RowSourceType属性与RowSource属性:RowSourceType属性指明列表框中的条目数据源的类型,RowSource属性指定列表框的条目数据源。RowSourceType属性共有10种取值范围:0-无(默认值)、1-值,2-别名、3-SQL语句,4-查询(.qpr),5-数组,6-字段,7-文件,8-结构,9-弹出式菜单。(2)List属性:用以存取列表框中数据条目的字符串数组。(3)ListCount属性:指明列表框中数据条目的数目。(4)ColumnCount属性:指定列表框的列数。
(5)Value属性:列表框中被选中的条目。该属性可以是数值型,也可以是字符型。
(6)ControlSource属性:该属性在列表框中的用法和在其他控件中的用法有所不同。用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。(7)Selected属性:指定列表框内的某个条目是否处于选定状态〕(8)MultiSelect属性:指定用户在列表框控件内进行多重选定。其中,0或.F.表示不允许多重选定,为系统默认值;1或.T.表示允许多重选定。考点20 组合框(ComboBox)控件
组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框的特点如下。(1)对于组合框来说,通常只有一个条目是可见的。(2)组合框不提供多重选定的功能。
(3)组合框可通过Style属性设置其形式,共有两种:0表示下拉组合框,2表示下拉列表框。考点21 表格(Gride)控件 表格是一种容器对象。一个表格对象由若十列对象组成,每个列对象包含一个标头对象和若干控件,它们都有自己的属性、事件和方法。1表格的常用属性
(l)RecordSourceType属性与RecordSource属性:RecordSourceType属性指明表格数据源类型,RecordSource属性指定表格数据源。其中数据类型共有5种取值范围:0-表、1-别名(默认值)、2-提示、3-查询(.qpr)、4-SQL语句。
(2)ColumnCount属性:指定表格的列数,即一个表格对象所包含的列对象数目。(3)LinkMaster属性:用于指定表格控件中所显示的子表的父表名称。(4)ChildOrder属性:用于指定建立一对多的关联关系,子表所要用到的索引。该属性类似于SET ORDER命令。
(5)RelationalExpr属性:确定基于主表字段的关联表达式。2常用的列属性
(1)ControlSource属性:指定要在列中显示的数据源,常见的是表中的一个字段。
(2)CurrentControl属性:指定列对象中的一个控件,该控件用以显示和接收列中活动单元格的数据。
(3)Sparse属性:用于确定CurrentControl属性是影响列中的所有单元格还是影响活动单元格。
3常用的标头(Header)属性
(1)Caption属性:指定标头对象的标题文本,显示于列顶部。(2)Alignment属性:指定标题文本在对象中显示的对齐方式。考点22 页框(PageFrame)控件
页框是包含页面(Page)的容器对象,其常用属性如下。
(1)PageCount属性:用于指明一个页框对象所包含的页对象的数量。最小值为0,最大值为99。
(2)Pages属性:该属性是一个数组,用于存取页框中的某个页对象。(3)Tabs属性:指定页框中是否显示页面标签栏。
(4)TabStretch属性:如果页面标题文本太长,可通过设置该属性利用多行显示。其中0表示多重行,1表示单行(默认值)。
(5)ActivePage属性:返回页框中活动页的页号,或使页框中的指定页 7.1菜单设计
9.1 Visual FoxPro系统菜单 考点1 菜单结构 Visual FoxPro支持两种类型的菜单:条形菜单和弹出式菜单。菜单项的名称显示于屏幕供用户识别,菜单及菜单项的内部名称或选项序号则用于在代码中引用。每一个菜单项都可以选择设置一个热键和一个快捷键。无论哪种类型的菜单,当选择某个选项时都会有一定的动作,这个动作可以是下列3种情况之一:执行一条命令、执行一个过程或激活另一个菜单。考点2 系统菜单 Visual FoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。条形菜单的内部名字为_MSYSMENU,也可看做是整个菜单系统的名字。
条形菜单中常见选项的名称及内部名字如表9-1所示,各弹出式菜单的内部名字如表9-2所示。表9-3的是“编辑”菜单中常用选项的选项名称和内部名字。表9-1 主菜单(MSYSMENU)常见选项
表9-2 弹出式菜单的内部名字
表9-3 “编辑”菜单(_MEDIT)常用选项
通过SET SYSMENU命令可以允许或禁止在程序执行时访问系统菜单,也可以重新配置系统菜单,格式如下。
SET SYSMENU ON|OFF AUTOMATIC |TO[<弹出式菜单名表>] |TO[<条形菜单项名表>] |TO[DEFAULT]|SAVE|NOSAVE 小提示:
如不带任何参数,直接SET SYSMENU TO命令,将屏蔽系统菜单,使系统菜单不可用。9.2 下拉式菜单设计
考点3 菜单设计的基本过程
用菜单设计器设计下拉式菜单的基本过程如下。(l)调用菜单设计器。
(2)在“菜单设计器”窗口中定义菜单,指定菜单的各项内容,定义完成后,通过菜单命令“保存”或直接使用快捷键Ctrl+W保存菜单。
(3)通过菜单命令“菜单”*“生成”命令,产生可执行的菜单程序文件(MPR)。
(4)在命令窗口中,使用DO命令执行菜单文件,此处的文件扩展名MPR不能默认。菜单设计的基本流程如图9-1所示。
图9-1 菜单设计的基本流程图 考点4 定义菜单
1“菜单设计器”窗口
“菜单设计器”窗口每页显示和定义一个菜单,可以是条形菜单(菜单栏),也可以是弹出式菜单(子菜单)。“菜单设计器”窗口打开时,首先显示和定义的是条形菜单,即主菜单名。窗口的左边是一个列表框,其中每一行定义当前菜单的一个菜单项,包括“菜单名称”、“结果”和“选项”3列内容(如图9-2所示)。(1)“菜单名称”列。(2)“结果”列。(3)“选项”列。2“显示”菜单
在菜单设计一器环境下,系统“显示”菜单会出现两条命令。(1)“常规选项”对话框。(2)“菜单选项”对话框。
图9-2 “菜单设计器”窗口 考点5 用编程方式定义菜单
无论是条形菜单还是弹出式菜单,都可以通过命令进行定义和设计。此处介绍几种有关菜单定义的简单命令。(1)条形菜单定义。(2)弹出式菜单定义。
考点6 为顶层表单添加菜单
为顶层表单添加下拉式菜单的方法和过程如下。(1)在“菜单设计器”窗口中设计好下拉式菜单。
(2)打开“常规选项”对话框,选中对话框右下角的“顶层表单”复选框。(3)将表单的ShowWindow属性设置为2,使之成为顶层表单。(4)在表单的Init事件中添加调用菜单的程序代码: DO<文件名>WITH This[,“<菜单名>”] 此处的<文件名>是指被调用的菜单程序文件(MPR),<菜单名>是为被添加的下拉式菜单的条形菜单指定的一个内部名字。
(5)在表单的Destroy事件中添加清除菜单的程序代码: RELEASE MENU<菜单名>[EXTENDED] 其中EXTENDED表示在清除条形菜单时一起清除其下属的所有子菜单。9.3 快捷菜单设计
考点7 快捷菜单的建立与执行
与下拉式菜单相比,快捷菜单没有条形菜单,只有弹出式菜单。建立快捷菜单的方法和过程如下。
(1)打开“新建”对话框二
(2)在“新建”对话框中选择“菜单”选项.单击“新建文件”按钮。
(3)在“新建菜单”对话框中选择“快捷菜单”选项,打开“快捷菜单设计器”窗口。
(4)用与设计下拉式菜单相似的方法,在“快捷菜单设计器”窗口中设计快捷菜单,生成菜单程序文件。
(5)在快捷菜单的“清理”代码中添加清除菜单的命令,使得在选择、执行菜单命令后能及时清除菜单,释放其所占用的内存空间,格式为: RELEASE POPUPS<快捷菜单名>[EXTENDED](6)在设计器环境下,选定需要添加快捷菜单的对象。
(7)在选定对象的RightClick事件代码中,添加调用快捷菜单程序的格式为: DO<快捷菜单程序文件名> 此处的文件扩展名MPR不能默认。
第四篇:计算机等级考试二级VF考点分析
计算机等级考试二级VF考点分析:VF基础知识
1.1 数据库基础知识
考点1 计算机数据管理的发展
1数据与数据处理
数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。
2计算机数据管理
(l)人工管理。
(2)文件系统。
(3)数据库系统。
(4)分布式数据库系统。
(5)面向对象数据库系统。
3数据库管理系统
为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(DataBase Management System)。
图1-1 数据库系统中数据与程序的关系 考点2 数据库系统
1有关数据库的概念
(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。
(2)数据库应用系统(DBAS):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。
(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。
(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。
2数据库系统的特点
(l)实现数据共享,减少数据冗余。
(2)采用特定的数据模型。
(3)具有较高的数据独立性。
(4)具有统一的数据控制功能。考点3 数据模型
1实体的描述
(1)实体。
(2)实体的属性。
(3)实体集和实体型。
2实体间联系及联系的种类
(1)一对一联系。
(2)一对多联系。
(3)多对多联系。
3数据模型简介
为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。
(1)层次数据模型。
(2)网状数据模型。
(3)关系数据模型。小提示:
数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和DBMS。1.2 关系模型
关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。
1关系术语
(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。
对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为: 关系名(属性名1,属性名2,„,属性名n)
(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。
(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。
(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。
(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。
(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。
2关系的特点
(1)关系必须规范化。
(2)在同一个关系中不能出现同名属性,Visual FoxPro中表示为字段名的不同。
(3)关系中不允许有完全相同的元组,即冗余。
(4)在一个关系中元组的次序无关紧要。
(5)在一个关系中列的次序无关紧要。考点5 关系运算
对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。
1传统的集合运算
(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。
(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。
(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。
2专门的关系运算
(1)选择:从关系中找出满足给定条件的元组的操作。
(2)投影:从关系模式中指定若干个属性组成新的关系:
(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。
(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。小提示:
选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。1.3 数据库设计基础 考点6 数据库设计步骤
1设计原则
(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。
(2)避免在表之间出现重复字段。
(3)表中的字段必须是原始数据和基本数据元素。
(4)用外部关键字保证有关联的表之间的联系。
2设计步骤
利用Visual FoxPro来开发数据库应用系统,可以按照以下步骤来设计。
(1)需求分析。
(2)确定需求表C
(3)确定需求字段。
(4)确定联系。
(5)设计精确
1.4 Visual FoxPro系统概述 考点7 Visual FoxPro的特点
(l)增强项目与数据库管理。
(2)提高应用程序开发的生产率。
(3)互操作性与支持Internet。
(4)充分利用已有数据。
第五篇:全国计算机等级考试考点申请书
全国计算机等级考试考点申请书
合肥财经职业学院
尊敬的领导:
为了迎接一年一度的全国计算机等级考试,我校进一步完善考点设施的准备工作。根据省教育局考办《全国计算机等级考试考点基本条件》,我校经过自查,凡属实验操作的设施,均符合上级要求。情况如下: 合肥财经职业学院是由安徽省人民政府批准,国家教育部备案的全日制高等职业院校。学院位于国家科教名城、创新之都合肥市,座落在合肥经济技术开发区大学城,毗邻安徽大学、合肥工业大学等著名高校,占地面积近500亩,建筑面积23.5万平方米,图书馆藏书87万册,教职工近500人,已进入万人大学行列。
学院下设会计系、商务管理系、工程经济系、艺术系、旅游系、基础教学部、继续教育学院、农商学院、国际合作交流中心等教学单位,开设有会计与审计、会计电算化、营销与策划、物流管理、旅游管理、艺术设计与制作、工程造价、房地产经营与估价等31个统招专业,18个成人教育专业,形成了以财经、商务、工程经济类为主的多学科综合发展的专业群体系。学院坚持质量立校、人才强校、开放办学、特色发展的办学理念,以教学为中心,以服务为宗旨,以就业为导向,倡导“锥形人才”培养模式,突出校企合一,工学结合,订单培养,强化技能训练,注重社会实践,以培养具备创业、就业能力的应用型人才为根本任务,着力培养适应生产、建设、管理、服务
一线岗位需要的高端技能型人才。“十二五”期间,学院投入巨资,打造合财大学生50个创业团队,引导毕业生走上就业创业之路。学院聘请了一批来自中国科学技术大学、合肥工业大学、安徽大学、安徽财经大学、安徽建筑工程学院、安徽农业大学等知名高校的专家教授,为学院的教学科研注入了强劲的师资力量。精心打造名师团队,拥有一支专业理论水平高、实践教学经验丰富的“双师型”教师队伍,聘请了一批行业及企事业单位的专家担任客座教授,以知识的传授、能力的提高和人格的塑造为目的,全力帮助每位合财学子实现成才梦想。目前,全院师生正坚持以“服务区域经济、办人民满意的教育”为指导思想,秉承“励志明德、攻术践行”的校训,以“财富济世,经国安邦”为使命,奋发努力,开拓进取,为把学院打造成特色鲜明、省内一流、国内先进的财经类高等院校而努力奋斗!
计算机技术的应用在我国各个领域发展迅速,为了适应知识经济和信息社会发展的需要,操作和应用计算机已成为人们必须掌握的一种基本技能。许多单位、部门已把掌握一定的计算机知识和应用技能作为人员聘用、职务晋升、职称评定、上岗资格的重要依据之一。鉴于社会的客观需求,经原国家教委批准,原国家教委考试中心于1994年面向社会推出了NCRE,其目的在于以考促学,向社会推广和普及计算机知识,也为用人部门录用和考核工作人员提供一个统一、客观、公正的标准。
本学院非常重视全国计算机考点申请的工作,认识了此考点对学校的重要性,也为全院近万名学生赢到了考试的便捷。我院具有省级
或省级以上教育行政机构签发的办学许可证;能够执行“教考分离”;成立了NCRE考试领导小组,现职领导(主要负责人)担任考点的主考;具有符合规定的保密室及相关设备设施,且通过省级考试承办机构的审批,能保证试卷及有关考试资料的安全、保密;具有一定数量、业务水平较高、工作责任心强的管理人员和技术人员,并且通过省级考试承办机构的培训、考核、备案,持证上岗;有能够保证考试顺利实施的必要的场地,能容纳在本考点报名参加考试的考生的笔试和上机考试。包括:符合摄像要求的摄像室一间;能容纳一场上机考试考生候考室一间;能容纳一场上机考试考生休息室一间。候考室与休息室相隔离。严禁租借本单位以外的其他地点作为考试场所;考试期间应成立安全保卫、医疗等工作小组,确保考试顺利进行;计算机软、硬件设备满足教育部考试中心制定的设备标准等各项要求;具有符合规定的考生规模;能够按照有关规定、要求组织考试;考试期间,至少有一部考试专用长途电话,能够随时上网;能够按照有关规定做好经费管理、收取工作并及时上缴考试费用。
考试工作人员必须严格遵守工作纪律,认真负责,符合保密工作的条件,并有一定考试工作经验的人员担任。考试工作人员已经按规定的内容和方式参加过培训和考核。其中,考务管理员和系统管理员已持证可以具备资格上岗。
学院硬件设备完善:
1、CPU采用PentiumIII 1G或相当,内存512M或以上;硬盘剩余空间10G或以上;
2、操作系统为Windows2000,SQL server2000,MS Office 2000,Visual Foxpro6.0,考务管理软件;
3、黑白激光打印机,分辨率最少是600dpi,即每英寸600点;
4、USB摄像头或视频采集卡设备(支持文件交换);
5、光盘刻录机一台。
上机考试所需设备及软件标准
1、服务器
服务器操作系统为中文版 Windows2000 Server,CPU应至少采用PentiumIII 1G相当或以上,内存512M或以上,硬盘剩余空间10G或以上(双硬盘备份),网卡。
2、考试机及管理机
每一考点应至少配备40台以上可集中使用安排上机考试的PC兼容微机,采用交换机网络连接;
CPU至少采用PentiumIII 1G相当或以上,内存128M或以上,硬盘剩余空间500M或以上,10M网卡或以上;
中文版Windows 2000 Professional,其他考试所需的应用软件:WPS Office2007教育部考试专用版、中文版IE 6.0、中文OE 6.0、Visual studio 6.0、MSDN帮助文件、Office 2000中文专业版(或企业版)、JAVA SDK1.4.2、NetBeans IDE中国教育考试版2007、汇编MASM 4.0/LINK、Delphi 7.0企业版。
3、考试期间每个考场设置2台或以上的备用考试机,备用考试机的软硬件要求与正式考试机相同。
以上设备数量保证能够在规定的全部考试时间内,完成本考点报名考生考试所需,且使用正版软件。
我院会力争取得全国计算机等级考试的资格,努力为学生做好服务工作。保证学生的切身利益,做好学生的服务工作!而且我院并在努力争创本科级院校,学生很有信心做好申请考点的一切工作!所以特此申请在我校设立全国计算机等级考试考点!
合肥财经职业学院
2012年6月16日