第二部分VFP程序设计习题习题一一、判断题(1分/题,共20分,对打画√,错打×)T1.建立自由表分两步:定义表结构和输入数据。T2.表间的关系分三种:一对一关系、一对多关系和多对多关系。T3.若要使用多个表,就要使用多个工作区。T4.在应用程序中可以通过使用该工作区的表的别名来标识工作区。F5.对象具有属性,而属性只能在设计阶段设置。T6.引用对象的方法分绝对引用和相对引用。T7.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。F8.一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。T9.VFP主要数据容器有:表记录、变量和数组。T10.报表包括两个基本组成部分:数据源和布局。T11.如果不想使用“报表向导”或“快速报表”设计报表,可以从空白报表布局开始,然后自己添加控件。F12.表选择查询输出的去向可以是浏览、报表或表单。T13.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。T14:视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。T15.在“数据库设计器”中,视图的显示方式与表在分层结构中的显示方式相同,所不同的是视图名代替了表名。T16.一个视图在使用时,将作为临时表在自己的工作区中打开。T17.如果打开基于本地表的视图,则在VisualFoxPro的另一个工作区中基表被同时打开。T18.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。T19.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。F20.索引是改变表的物理顺序,排序是排列表的逻辑顺序。二、选择题(每个选择3分,共24分)二.AAAABCCB1.统计女生人数并将结果存放于变量X中的命令是(A)(A).COUNTFOR.NOT.性别=”男”TOX(B).COUNTFOR(性别=”女”)=.T.TOX(C).SUMFOR(性别”男”)=.T.TOX(D).SUMFOR性别=”女”TOX2.在已打开的表中,要永久删除当前记录位置开始的10条记录,可用(A)(A)先执行DELETENEXT10命令,后用PACK命令(B)先执行DELETERECORD10命令,后用PACK命令(C)先执行DELETEFORRECORD10命令,后用PACK命令(D)ZAPNEXT103.按数值型字段”总分”进行索引,使其按降序排列的命令是(A)(A)INDEXON-总分TOWP(B)INDEXON总分/ATOWP(C)INDEXON总分TOWP(D)INDEXON总分/DTOWP4.下列操作后,不改变表记录指针的命令是(A)(A)RECALL(B)LIST(C)SUM(D)REPLALL5.按照数据库的数据模型分类,VFP属于(B)(A)层次型(B)关系型(C)网状型(D)混合型6.函数LEN(SPACE(5)-SPACE(1))的返回值是(C)(A)错误信息(B)17(C)6(D)47.某表文件中有日期型字段”出生日期”,设N=’01/01/80’,下列命令正确的是(C)(A)LOCATEFOR出生日期=’01/01/80’(B)LOCATEFOR出生日期=&N(C)LOCATEFORDTOC(出生日期)=N(D)LOCATEFORDTOC(出生日期)=CTOD(N)8.从表customer中提取所有记录生成查询,并将查询结果存放于表MyCursor的SQL命令为(B)(A)SELECT*FROMcustomerINTOCURSORMyCursor(B)SELECT*FROMcustomerINTOTABLEMyCursor(C)SELECTALLFROMcustomerINTOTABLEMyCursor(D)CREATESQLVIEWMyCursorASSELECT*FROMcustomer三.读程序(每个选择4分,共24分)1.设表STU.DBF中有“学号、姓名、性别、出生日期、班级”等字段,有程序如下:settalkoffusestustorespace(6)toxmindexon学号toxhdowhile.t.accept“输入姓名:”toxmlocatefor姓名=xmif.not.eof()displayelse?’查无此人’endifwait“继续吗?”toynifupper(yn)=’N’exitelseloopendifenddousesettalkoff(1)程序中“locatefor姓名=xm”如该用find命令,应为(D)。(A)findxm(B)find&xm(C)find姓名=xm(D)无法使用find命令(2)在什么情况下结束程序运行(C)。(A)输入姓名后(B)显示完一条记录后(C)给变量yn赋以’n’或’N’(D)给变量yn赋以’y’或’Y’2.假如有如下两个表:XS.DBF学号(C,4)姓名(C,8)性别(L,1)出生日期(D,8)9901张三.T.02/12/799902王红.F.02/11/809903李霞.F.07/23/789904李四.T.04/01/829905张莉.F.09/22/83CJ.DBF学号(C,4)语文(N,6,2)数学(N,6,2)9903907899027080990188559905458199049792SETTALKOFFSETSAFEOFFCLEARALLCLEARSELE1USECJALIASPINDEXON学号TOICJSELE2USEXSSETRELATO学号INTOA&&①LOCATEFORYEAR(DATE())-YEAR(出生日期)=20DOWHILE.NOT.EOF()?学号,IIF(性别,’男’,’女’),A-数学CONTINUEENDDOWAIT&&②SETTALKONSETSAFEONCLOSEALLRETURN(3)程序中①处的命令可用下面哪一条命令代替(D)(A)SETRELATIONTO学号INTOXS(B)SETRELATIONTO学号INTOP(C)SETRELATIONTO学号INTO1(D)(B)和(C)均可(4)程序执行到②处显示结果为(A)(A)9901男559902女809903女78(B)9901.T.559903.F.78(C)9902女809904男929905女81(D)9902.F.809904.T.929905.F.81()表与第2题相同。SETTALKOFFSETSAFEOFFCLEARALLCLEARSELE1USECJALIASPINDEXON学号TOICJFIND9902SELE2USEXSSETRELATIONTO学号INTOALOCATEFOR.NOT.性别?姓名,性别,A-语文,A-数学&&①SELE1SEEK“9904”?B-姓名,B-性别,语文,数学SELE2SETRELATIONTOLOCATEFORRIGHT(DTOC(出生日期),2)=”79”?姓名,性别,A-语文,A-数学&&②SETTALKONSETSAFEONRETURN(5)程序执行到①处显示的结果为(B)(A)王红.F.9078(B)王红.F.7080(C)王红.T.9078(D)王红.T.7080(5)程序执行到②处显示的结果为(A)(A)张三.T.9792(B)李四.T.9792(C)王红.F.7080(D)张三.T.8885四.程序填空(每空4分,共32分)1.SETTALKOFFACCEPT“输入表名:”TOKMUSE&KM*显示最前面5条记录_______DISPNEXT5______WAITGOBOTTOM*显示最后4条记录_______SKIP–3______DISPNEXT4USE2.有12个结构完全相同的表WY01,WY02,…….WY11,WY12,下列程序完成的功能是:顺序打开每一个表并浏览之.SETTALKOFFG=1DOWHILE______G13_______DOCASECASEG10GW=’WY0’+STR(G,1)CASEG=10GW=’WY’+______STR(G,2)_______ENDCASEUSE______&GW_______BROW______G=G+1_______USEENDDORETU(3)一学生档案表XSDA.DBF,其字段有:学号、姓名、专业、出生日期、入学成绩、简历,表中已有数据。另新生入学文本文件CJ.TXT,内容如下:王刚,496张放,487李立,503刘英,492编程构造一个表文件XSCJ.DBF,包括姓名和入学成绩两个字段,表中记录由两部分内容组成,一部分为从XSDA.DBF中提取的相关字段的内容,另一部分为CJ.TXT中相关字段的内容,然后将记录内容依次显示出来。程序如下:SETTALKOFFCLEARALLUSEXSDACOPY______TOXSCJFIELDS姓名,入学成绩_______USEXSCJAPPEND______FROMCJ.TXTTYPEDELIMITEDWITH_______GOTOPDOWHILE.NOT.EOF()?姓名,入学成绩SKIPENDDORETURN习题二一.判断题(1分/题,共21分,对画√,错画×)F1.VFP程序每行必须以“;”结尾。F2.DISPLAY在VFP中与DISPLAY命令等效。T3.VFP中的变量分内存变量和字段变量。T4.VFP刚开始工作时,系统默认选择为第一号工作区。T5.建立自由表分两步:定义表结构和输入数据。T6.表间的关系分三种:一对一关系、一对多关系和多对多关系。T7.若要使用多个表,就要使用多个工作区。T8.在应用程序中可以通过使用该工作区的表的别名来标识工作区。F9.对象具有属性,而属性只能在设计阶段设置。T10.引用对象的方法分绝对引用和相对引用。T11.表单集是指两个以上的表单同时输出,并且可以通过程序或鼠标交换输出权。F12.一条命令可分几行写,在行结束处用:表示一行未完,转入下一行。T13.VFP主要数据容器有:表记录、变量和数组。T14.报表包括两个基本组成部分:数据源和布局。F15.表选择查询输出的去向可以是浏览、报表或表单。T16.如果打开基于本地表的视图,则在VisualFoxPro的另一个工作区中基表被同时打开。T17.在视图中更新数据与在表中更新数据类似,使用视图还可以对其基表进行更新。T18.VFP中的NULL表示未知数据,便于与含有NULL值的SQL数据库一起工作。F19.索引是改变表的物理顺序,排序是排列表的逻辑顺序。T20.视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。T21.视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。二、选择题(每个选择3分,共24分)1.统计女生人数并将结果存放于变量X中的命令是(A)(A)COUNTFOR.NOT.性别=男TOX(B)COUNTFOR(性别=女)=.T.TOX(C)SUMFOR(性别男)=.T.TOX(D)SUMFOR性别=女TOX2.在已打开的表中,要永久删除当前记录位置开始的10条记录,可用(A)(A)先执行DELETENEXT10命令,后用PACK命令(B)先执行DELETERECORD10命令,后用PACK命令(C)先执行DELETEFORRECORD10命令,后用PACK命令(D)ZAPNEXT103.按数值型字段总分进行索引,使其按降序排列的命令是(A)(A)INDEXON-总分TOWP(B)INDEXON总分/ATOWP(C)INDEXON总分TOWP(D)INDEXON总分/DTOWP4.下列操作后,不改变表记录指针的命令是(A)(A)RECALL(B)LIST(C)SUM(D)REPLALL5.按照数据库的数据模型分类,VFP属于(B)(A)层次型(B)关系型(C)网状型(D)混合型6.函数LEN(SPACE(5)-SPACE(1))的返回值是(C)(A)错误信息(B)17(C)6(D)47.某表文件中有日期