《VFP复习题及答案.doc》由会员分享,可在线阅读,更多相关《VFP复习题及答案.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、VFP复习题及答案考试题型判断10(10道)选择20(10道)填空10(5空)简答20(5道)程序分析12(3道)编程7(1道)SQL语言21(6道)教材目录1、Visual FoxPro基础2、Visual FoxPro编程基础3、Visual FoxPro编程工具与编程步骤4、赋值与输入/输出5、选择结构程序设计6、循环结构程序设计7、数组8、自定义属性与自定义方法9、表单集与多重表单10、菜单与工具栏11、数据表12、数据库和多表操作13、查询与视图14、关系数据库标准语言SQL15、报表第一章一、数据库的基本概念1、数据、数据处理、数据模型(层次模型、网状模型、关系模型)、实体之间的关
2、系(一对一,一对多,多对多)关系=二维表,关系中的术语:字段(属性)、记录(元组)、域、主关键字(候选关键字)、外部关键字2、数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)、数据库应用系统(DBAS)的关系;3、Visual FoxPro是一个32位的使用关系模型的数据库管理系统。二、Visual FoxPro的概述VFP的发展;VFP的窗口介绍:启动、退出、界面(标题栏、菜单栏、状态栏、主窗口、工具栏、命令窗口)VFP的系统环境设置: “工具”“选项”,文件默认位置、区域、表单、数据VFP的工作方式:交互式(菜单、命令)和程序方式VFP提供的工具:向导、设计器、生成器三、命
3、令的书写规则1每命令必须以命令动词开头;2命令动词后面的命令短语可按任意顺序排列,短语之间用空格分隔,空格数任意;3命令一行书写不下时,可以换行,并在分行处加上分号“;”;所有符号都是英文状态下的半角符号;4每行只能书写一条命令;5所有命令和函数均可只写前4个字符,且不分大小写;6行命令结束后,用Enter键确认并执行,可重复执行。第二章一、语言基础1、数据类型(13种):类型名称,简写,字节长度;哪些是基本类型,哪些用于表;2、常量与变量:6种基本类型的常量表示变量如何命名和赋值3、表达式与运算符:6种类型的表达式以及运算符4、函数:常用函数的参数、返回值类型1、数据类型13种基本数据类型:
4、可用于字段变量,常量、内存变量、表达式的类型,有:字符型(C,注意英文1位和中文2位,最长254)数值型(N,注意小数点和正负号,最长20)、货币型(Y,注意小数位只有4位,定长8)、日期型(D,定长8位)日期时间型(T,定长8位)逻辑型(L,定长1位)1、数据类型13种其余用于表的数据类型有:浮点型 (F,20)、双精度型 (B,8)、整型(I,4)、备注型(M,4)、通用型(G,4):备注文件(.fpt)二进制字符型C、二进制备注型M1,常量字符型:“”,数值型:e,-,+,.货币型:$日期型: ,连字符可以是/ -,用set mark to改日期时间型: :a|p ,日期顺序set da
5、te to逻辑型: .T.2、变量值可能会发生变化的量,变量是内存中的一个存储单元的位置变量的类型:分为字段变量、内存变量、数组变量和系统变量4种命名规则由数字、字母、汉字、下划线组成只能以字母或下划线开头,不可以包含空格长度1128字符(自由表的字段名、表的索引标识名长度最多为10个字符)避免使用VFP的保留字2、变量变量的赋值格式1:变量名格式2:store to 变量名1,变量名2,格式3:INPUT “提示” TO 内存变量的作用范围LOCAL 指定的变量为局部变量PRIVATE 私有变量PUBLIC 全局变量3数组变量数组:一组内存变量的集合Vfp只能定义一维数组和二维数组声明方式:
6、Public、 Local 、declare/dimension(行数,列数) 例:dime a(4),b(2,3)特点 1)数组各个元素的默认值为.F. 2)下标计数从1开始,每个元素可以不是同一类型。 3)表达式中数组下标缺省时,在等号左侧表示数组的所有元素,在等号右侧表示数组第一个元素。 4)二维编号可以转化为一维。 3、表达式与运算符表达式是变量、运算符、常量、字段名、控件以及属性的组合,每个表达式都有一个返回值 。算术表达式:表达式要写在一行上,没有分式、上下标,,,运算符如下: +,-,*,/,或者*,%,()字符表达式:字符+ /-字符;表示字符拼接日期时间表达式:日期+/-数值
7、(天数、秒数)日期,日期-日期-数值,两个日期不能相加3、表达式与运算符关系表达式(第五章),同种类型之间如下运算:、=、或#或!=、=、= =逻辑型逻辑类型:.T.F.日期时间类型:后面的时间前面的时间字符类型: ASCII码比较,$运算注意set exact on|off逻辑表达式:逻辑类型 and|or|not 或者!函数(系统函数)数值类函数 字符类函数、数据转换类函数 日期和时间类函数变量处理类函数 表和数据库类函数环境类函数 数据共享类函数输入和输出类函数 编程类函数和动态数据操作类函数常用的数值函数函数格式 函数功能ABS(表达式) 求表达式绝对值。INT(表达式) 取整数。MA
8、X(表达式1,表达式2) 求各表达式的最大值。MIN(表达式1,表达式2) 求各表达式最小值。MOD(表达式1,表达式2) 表达式1除以表达式2的余数。RAND( ) 产生01之间随机数。ROUND(表达式1,n) 对表达式1四舍五入保留n位小数。SIN(表达式) 正弦函数SQRT(表达式) 求平方根请看教材24页常用的字符串函数 函数格式 功能(注:函数参数为字符表达式)ALLTRIM(表达式) 去掉表达式前、后空格。TRIM(表达式) 去掉表达式尾部空格。LTRIM(表达式) 去掉表达式前导空格。LEFT(表达式1,n) 取表达式左边的n个字符。RIGHT(表达式1,n) 取表达式右边的n
9、个字符。LEN(表达式) 求表达式所含字符个数。SUBSTR(表达式,n,M) 从表达式第n个字符开始取m个字符。SPACE() 返回n个空格组成的字符串函数格式 功能(注:函数参数为字符表达式)AT(表达式1,表达式2,n) 得到表达式1在表达式2开始位置。LIKE(表达式1,表达式2) 比较两个字符串的字符是否匹配。LOWER(表达式) 将表达式中大写字母变为小写。UPPER(表达式) 将表达式中小写字母变为大写。常用的日期和时间函数函数格式 功能(函数参数为日期或日期时间表达式)YEAR(表达式) 得到日期表达式的年份。MONTH(表达式) 得到日期表达式的月份。DAY(表达式) 得到日
10、期表达式的日。HOUR(表达式) 取日期时间表达式的小时数。MINUTE(表达式) 取日期时间表达式的分钟数。SECONDS(表达式) 取日期时间表达式的秒数。TIME( ) 得到当前系统时间。函数值类型为CDATE( ) 得到当前系统日期。函数值类型为DDATETIME( ) 得到当前系统日期和时间。函数值类型为T常用的类型转换函数函数格式 函数功能CTOD(表达式) 将字符串转换为日期表达式。CTOT(表达式) 将字符串转换为日期时间表达式。DTOC(表达式,1) 将日期表达式转换为字符串。TTOC(表达式,1) 将日期时间表达式转换为字符串。STR(表达式 ,n,) 将数值表达式转换为n
11、位带有m位小数的字符串VAL(表达式) 将字符表达式转换为数值。CHR(ASCII码) 返回ASCII码对应的字符。ASC(表达式) 得到字符表达式首字符对应的ASCII码。常用的测试函数函数格式 函数功能BETWEEN(表达式1,表达式2,表达式3) 判断表达式1的值是否在表达式2和表达式3之间ISNULL(表达式) 判断表达式值是否为NULLEMPTY(表达式) 判断表达式的值是否为空值VARTYPE(表达式) 测试表达式值的类型EOF( ) 测试记录指针是否在表文件末尾BOF( ) 测试记录指针是否在表文件开头RECNO( ) 测试记录指针正指向的记录号RECCOUNT( ) 测试数据表
12、的记录个数DELETED() 测试记录指针是否有删除标记IIF(条件,表达式1,表达式2) 条件成立,返回表达式1的值;否则,返回表达式2的值。第二章二、面向对象的编程基础1、类、对象、属性、方法、事件的概念对象(OBJECT):客观世界里的任何实体。即可以是具体的物,也可以指某些概念。类(CLASS):是已经定义了的关于对象特征和行为的模板。属性(Property):对象状态的一项描述内容,描述对象的一个特性。 方法(Method):描述对象的行为。 事件(Event):由外界触发的能够被对象识别并执行的一个动作。 (由系统或用户触发)在VFP中,可以给对象定义新的属性和方法,不能添加新的事
13、件。二、面向对象的编程基础2、表单对象表单(.SCX:表单文件; .SCT:表单备注文件)表单的基本操作:创建:CREATE FORM运行:DO FORM 修改:MODIFY FORM表单设计器的使用:控件的添加、编辑、布局、设置等表单的常用属性、事件、方法AutoCenter、BackColor 、Caption、 ControlBox、 TitleBar、ShowWindowLoad、Init、Activate、Destroy、Unload、Resize、Hide、Show、Release、Refresh二、面向对象的编程基础3、控件及控件的引用控件:Label、Textbox、Comma
14、ndbutton、checkbox、Listbox、Combobox、Optionbutton、Spinner、Timer容器:Form、Grid、Column、Pagefram、page、Commandgroup、optiongroup、Container对象的引用:1 绝对引用:通过提供对象的完整容器层次来引用对象2 相对引用:通过快捷方式指明所要处理的对象Parent、This、Thisform、ThisformSet二、面向对象的编程基础4、对象的属性、事件、方法的调用对象属性的设置:属性框代码:表单名.对象名.属性名属性值;多个属性用WITH . ENDWITH调用对象方法的语句格式
15、是: 表单名.对象名.方法名( ) thisform.release()调用事件的语句格式是: 表单名.对象名.事件名第三章一,项目管理器扩展名为*.PJX,备注文件是.pjt。是VFP处理数据和对象的主要组织工具。选项卡:全部、数据、文档、类、代码、其他新建方法文件-新建,选择“项目”;Create project命令编辑方法文件-打开;Modify project命令外观设置:可以对它进行位置的移动、窗口大小的改变、窗口的折叠与展开等操作。二、数据输出(第四章)1、标签(LABEL)常用属性:Caption、Autosize、Forecolor、Fontsize 、Wordwrap2、对话
16、框MessageBox()格式:MessageBox(信息文本,对话框类型,对话框标题)三、数据输入(第四章)1、文本框(Text)控件:用于输入、编辑、输出各种类型的数据。常用属性:Value、PasswordChar、Selstart、Sellength、Seltext2、编辑框(Editbox)可编辑长文本或备注字段,利用它可选择、剪切、复制文本。 ScrollBars、ReadOnly3、控件属性Visible和enabled的区别4、setfocus方法和gotfocus事件四、形状、容器和图像控件的使用(第四章)容器的specialeffect属性,可以设置三维效果通过格式菜单设置
17、控件层次注意如何将控件放入容器中选择容器编辑,这样拖动控件到容器中注意容器内对象的引用Thisform.container1.text1.setfocus图像(image) :picture:要显示的图片,可以根据打开对话框查找。二、控件(第五章)1、命令按钮组 CommandGroup2、选项按钮组(单选按钮组)OptionGroup常用属性:ButtonCount,Buttons:按钮数组,buttons(n)代表第n个按钮常设置的事件:Click用命令按钮组的value属性获得单击的按钮3、复选框check复选框不是一个容器控件常用属性:value:0或.f.(假);1或.t.(真);2
18、或.null.(暗,灰的)常设置的事件:Click二、控件(第五章)4、计时器Timer 控件计时器最重要的一个属性是:Interval(间隔时间)1000=1秒最重要的一个事件是:Timer事件,即每隔一定时间要执行的操作。5、微调器Spinner控件常用属性:KeyboardHighValue、KeyboardLowValue、SpinnerHighValue、SpinnerLowValue、Increment最重要的一个事件是:InteractiveChange事件,即值发生改变时要执行的操作。二、控件(第六章)1列表框(ListBox):常用属性:List、ListCount、List
19、Index、ColumnCount、MultiSelect、Value、Selected、RowSourceType、RowSource常用方法:AddItem、 RemoveItem、 Addlistitem常用事件:KeyPress、DblClick、 Click、 InterActiveChange二、控件(第六章)2 组合框(ComboBox):下拉列表框和下拉组合框两种。常用属性:DisplayValue、DisplayCount、RowSource、RowSourceType、 ListIndex、Style(0是下拉组合框,2是下拉列表框)常用方法:AddItem、RemoveI
20、tem、list常用事件:KeyPress、DblClick、Click、 InterActiveChange二、控件(第六章)3 页框(PageFrame)属性:pagecount 、tabs4 页(Page)属性:caption方法:zorder第四章一、基本语句赋值语句:=;store to语句的换行:;注释语句:note ;&暂停语句:wait TO window timeout常用显示语句:?;?;?;结束程序运行命令:return ; quit ; thisform.release();release thisform一、选择结构1、简单选择IF条件表达式 语句组1ELSE 语句组
21、2ENDIFIIF(条件表达式, ,)第五章一、选择结构3、多路选择 DO CASE CASE 条件表达式1 语句组1 CASE 条件表达式2 语句组2 : OTHERWISE 语句组n+1 ENDCASE一、循环结构1、当型循环结构DO WHILE 条件表达式 语句组 ENDDO一、循环结构2、 步长型循环结构FOR = TO STEP ENDFOR|NEXT 循环过程是首先将初值赋于循环变量,每当执行一次循环,循环变量增加一个步长(默认是1) ,直到循环变量值大于终值时结束循环。一、循环结构3、扫描型循环结构 SCAN范围FOR条件表达式 命令序列 ENDSCAN4、循环体中的特殊语句 L
22、OOP:中断本次循环体的执行,跳回到循环的开始处,重复条件的判断EXIT:终止正常循环,无条件地转到循环结束语句的后面继命令去执行多重循环,只能在当层循环中作用第十一章自由表和数据库表,表文件*.dbf表的操作包括:1、创建新表2、表结构的定制(通过表设计器完成增、删字段,修改字段名、字段类型、宽度等)3、存储和查看表中的信息(显示下拉菜单中的浏览、编辑、追加方式)4、表数据的修改5、定制表(关系的投影和选择操作)对于已经建好的表,可以利用索引对其中的数据进行排序。1、创建新表:用表设计器创建新表;CREATE TABLE ( () , ()2、修改表结构:显示表设计器;MODIFY STRU
23、CTURE3、表的打开:“数据工作期” ;USE Shared 或者exclusive4、表的关闭: USE5、浏览模式和编辑模式:浏览模式:Browse for 编辑模式:Edit for 6、追加记录:显示追加记录表追加新记录表追加记录使用APPEND、insert命令7、删除分为:逻辑删除和物理删除1)逻辑删除:删除标记表删除记录;DELETE FOR 2)物理删除:可以将数据表中所有具有删除标记的记录正式从表文件中删掉表彻底删除;命令 PACK删除所有记录 zap3)恢复删除记录命令 RECALL FOR 8、批量修改数据:表替换字段;REPLACE WITH FOR |WHILE 9
24、、表记录的定位:绝对定位:go n| top| bottom相对定位:skip n|-n条件定位:locate for 10、筛选1)筛选记录:表属性:“工作区属性”窗口,选择“数据过滤器”;SET FILTER TO (逻辑表达式)2)筛选字段:表属性:设置“字段过滤器”; SET FIELDS TO ALL | 11、索引索引的类型:主索引、候选索引、普通索引、惟一索引;自由表没有主索引11、索引索引的建立:表设计器; INDEX ON 索引表达式 TAG 索引标识ASCENDING|DESCENDINGUNIQUECANDIDATE删除索引: Delete tag 索引标识名|all使用
25、索引:表属性索引顺序; SET ORDER TO 12、数据查询条件查询:Locatefor continu常用查询:Find /表达式查询:Seek Found();第十二章数据库*.dbc1、数据库的基本操作建立数据库:Create database 打开数据库:Open database 修改数据库:modify database往数据库添加表:add table 从数据库移去表:remove table 删除数据库:Delete database deletetables关闭数据库: Close database设置当前数据库:Set database to 2、数据库的基本操作建立数
26、据库:Create database 打开数据库:Open database 修改数据库:modify database往数据库添加表:add table 从数据库移去表:remove table 删除数据库:Delete database deletetables关闭数据库: Close database设置当前数据库:Set database to 2、数据库表的特殊属性为数据库表设置长表名、注释设置字段标题、注释、默认值设置字段格式设置字段掩码设置字段有效性规则设置记录有效性规则3、数据的完整性实体的完整性:保证表中记录的唯一性,不允许有空值。通过主索引和候选索引来保证表中记录的唯一性。
27、域完整性:保证表中数据的正确性。通过表设计器设置字段的类型、宽度、字段有效性规则来保证域完整性,包括数据类型、取值范围、是否允许空值等。参照完整性:涉及相互关联的两个表。主要是通过插入、删除、更新规则来实现的。4、实体之间的联系种类:一对一、一对多(多对一) 和多对多关系。实现:要保证建立关系的两表具有相同的属性字段,每个表都要以该字段建立索引。父表可以创建主索引或候选索引。子表可以创建创建主索引,候选索引,普通索引。多对多关系建立纽带表,转化为两个一对多关系。5、多工作区SELECT 或:SELECT 说明:工作区号编号由132767。 表的别名可以是表名自身,也可以是所在的工作区名。 前1
28、0个工作区名为AJ,1132767工作区名为W11W32767 Use xsdj in 0临时关系:Set Relation To 索引关键字 Into 工作表名sql创建表 Creat Table 表名修改表 Alter Table 表名删除表 Drop Table 表名创建视图 Creat View 视图名 As Select删除视图 Drop View 视图名1、创建表CREATE TABLE | DBF 表名1 NAME 长表名FREE(字段1 类型 (宽度 , 长度) NULL | NOT NULL CHECK 逻辑表达式1 ERROR 字符型文本信息1 DEFAULT 表达式1PR
29、IMARY KEY | UNIQUE REFERENCES 表名2 TAG 索引名2 .2、删除表的命令格式: Drop table 修改表结构格式一:添加字段或修改已有的字段ALTER TABLE | DBF表名1 ADD| ALTER COLUMN 字段名1 字段类型 (字段宽度 , 小数位数)NULL | NOT NULL CHECK ERROR DEFAULT PRIMARY KEY | UNIQUE REFERENCES TAG 格式二:指定字段的default和check等约束规则,不影响原有表的数据ALTER TABLE | DBF表名1 ALTER COLUMN字段名1NULL
30、 | NOT NULL SET DEFAULT DROP DEFAULT SET CHECK ERROR DROPCHECK 可以设置或删除表中指定字段的默认值、约束条件格式三:删除指定表的指定字段,修改字段名,修改指定表的记录完整性约束,添加或删除表的主索引、外索引、候选索引和表的合法值。ALTER TABLE | DBF表名1 DROP COLUMN字段名1RENAME COLUMN toSET CHECK ERROR DROP CHECK ADD PRIMARY KEY TAGDROP PRIMARY KEYADD UNIQUE TAGDROP UNIQUE TAGADD FOREIGN
31、 KEY TAGDROP FOREIGN KEY TAG四,数据库操纵功能1、插入INSERT INTO 表名 (字段名1 , 字段名2, .) VALUES (表达式1 ,表达式2 , .) 2、更新UPDATE 数据库名!表名SET 字段名1 =表达式1 ,字段名2 =表达式2 . WHERE 3、删除DELETE FROM 数据库名!表名WHERE 总结SelectFrom 表WhereCreate table 表 (字段1 类型 (宽度) default check errorprimary keyAlter table 表 alter | add |drop 字段Drop table
32、 表Insert into 表(字段1, ) values()Update 表 set 字段1=值1,where 条件Delete from 表 where 条件4,视图视图是在数据库表的基础上创建的一种虚拟表。所谓虚拟是指视图的数据是从已有的数据库表或其它视图中提取的,这些数据在数据库中并不实际存储,仅在数据词典中存储了视图的定义。视图一经定义,就成为数据库的组成部分,只能存在于数据库中,不能单独存在。视图是操作表的一种手段,通过视图可以查询表,也可以更新表,查询的数据仅供查看。Visual Foxpro的视图分为本地视图和远程视图。CREATE VIEW AS Drop View 第十三章
33、查询设计器视图设计器 Select FromWhereOrder byGroup byHavingInto或toDistinct. VFP答案VFP教材书后练习题答案第一章一、选择题 1C 2A 3C 4C 5C 6D 7D 8D 二、填空题 1数据库管理系统 2冗余度 3元数据 4概念层 5属性 6完整性规则 7实体完整性 8信息流第二章一、选择题 1C 2C 3D 4C 5A 6C 7C 8C 9C 10.B二、填空题 1; 2Shift 3SET ESCAPE ON /OFF 4 .PIX.和.PJT 5全局 6DIMESION 7Save to mVar all like c* 810
34、,8 9MESSAGEB( ) 第三章一、选择题 1D 2C 3B 4A 5C 6A 7A 8A 9? 10. C二、填空题 1255 2Ctrl+Home 3Additive 4Y 5drop column by6select 0 7xs, w20 8freeze 9zap 10. .cdx第四章一、选择题 1B 2C 3A 4C ?D 5D 6D 7D二、填空题 1完全联接 2DISTINCT 3UNION 4TO FILE 5SUBSTR(BM.ZKZ,4,2), GROUP BY 1 6MONTH(XS.CSRQ), COUNT(*)*100, DESC7DISTINCT, COUNT
35、(*), 1 80, 0 91 10. IIF(KS.CJ59,1 0), 4 DESC第五章一、选择题 1?D 2D 3C 4C 5D 6D 7C 8A 9D 10. C二、填空题 1.FXP 2ESC 3i=10, ?CHR(k) 410,15 5Nsum=jc(n)/jc(n+1), to x655+mod(num,16), num1 7封装性 8属性 9error 10. 容器对象11. _screen.caption, thisformset第六章一、选择题 1C 2B 3A 4A 5B 6D 7C 8B 9D 10. A二、填空题 1集合 2顶层表单 3LOAD, ACTIVATE
36、E 4确定(Y) 5PASSWORDCHAR60 7下拉列表框 8099 9INTERVAL 10. ENABLED11. THIS.PARENT.CMD2.ENABLED=.F. 12. TEXT1.VALUE 13. 文本框14. SETALL 15. COLUMNS(i), STR(i-2,1) 16. IIF(CJ60,RGB(255,0,0), RGB(0,255, 0) 17. ACTIVEPAGE 18. PAGECOUNT19. ACTIVEPAGE 20. USE (X), -1, X第七章一、选择题 1C 2C 3B 4A 5D 6D 7B 8C 9B 10.D二、填空题
37、1类库,.vcx 2公共、保护、隐蔽 3.F., .F. /0 4控件5cmdclose,CommandButton, cmd 6. RGB(0, 0,255)本答案有课后答案网会员分享,如果转载请著名网址:www点khdaw点com。第八章 一、选择题1B 2 D 3A 4B 5B 二、填空题 1_PAGENO 2一对多 3每行 4细节 5细节 6页面设置 7双击 8 PREVIEW 9. PROMPT 10. LBX第九章 一、选择题 1C 2D 3C 4B 5D 6B 7A 8A 二、填空题 1快捷菜单 2set sysmenu to default 3set sysmenu off 4过程 5Day(date()#16. .T. 7. MPR 8. DO MENU A.MPR 9. RIGHTCLICK 10. DOCK(0)第十章 一、选择题 1C 2B 3A 4B 5D 二、填空题 1255,254 , 20 2调试器3ON ERROR, ERROR 4CLEAR EVENT 5排除,包含 6连编可执行文件 7Web安装