重庆VFP历年真题练习题_第1页
重庆VFP历年真题练习题_第2页
重庆VFP历年真题练习题_第3页
重庆VFP历年真题练习题_第4页
重庆VFP历年真题练习题_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFP程序设计练习题第一套

一、单项选择题()

1RDBS的意思是()

A数据库管理系统B关系数据库管理系统C对象-关系型数据库文件D结

构化查询语言

2一个数据表的全部“MEMO”字段的内容存储在()

A不同的备注文件B同一个文本文件C同一个备注文件D同一个数据库文

3结构化程序的主要优点是()

A程序体积小,节省内存空间B程序效率高,节省运行时间C程序结构清晰,

可读性好,易修改维护,可靠性高D容易实现巧妙的算法

4在FOXPRO中要删除结构复合索引标识“BMJG1”使用的命令是()

AdelecdxbmjglBdeleidxbmjglCdeletagbmjglDdelefilebmjgl

5英文缩写SQL指的是()

A数据库管理系统B关系型数据库系统C对象-关系型数据库系统D结构

化查询语言

6函数ROUND(156.765,2)返回的结果是()

A160.00B156.79C156.77D200.00

7使用REPLACE命令时,其范围子句为ALL和REST,则执行该命令后,记

录指针指向()

A首记录B末记录C首记录的前面D末记录的后面

8设已打开数据表文件,现在要为它建立一个结构复合索引文件标识INDSC,

使其先按总分的升序,总分相同时再按英语成绩升序索引。使用的正确命令是|

()

AINDEXON总分+英语tagindsc

Bindexonstr(总分,3),str(英语,3)tagindsc

Cindexonstr(总分,3)+str(英语,3)tagindsc

Dindexon总分,英语tagindsc

9建立一个新数据表文件结构命令可以是()

AmodifystructureBcopytoCjoinwithDcreate

10假设X=5,执行命令:?X=X+3后淇结果是()

A8B3C.T.D.F.

11设当前记录号为15,现欲将记录指针指向11的操作是()(注:未建索引)

Askip-4BgotopCgo10Dgobottom

12vf中打开菜单生成器的命令是()

AmodifystructureBmenutoCmodifyreportDmodimenu

13下列叙述中不正确的是()

A子程序通常是以return命令结尾B子程序可以嵌套调用C没有用publ或

priv命令说明的变量,默认为全局变量D局部就量只在定义它的局部范围内有

14total命令使用的条件是()

A不需要任何条件B要有数据值型字段的数据表C任何已打开的数据表D

当前数据表必须是按指定关键字或索引排序的

15设已打开表文件ABC.DBF,执行copystructuretost.dbf的作用是()

A仅将当前一条记录拷贝到ST.DBFB将ABC.DBF的全部记录拷贝到ST.DBF

中C将ABC.DBF和ST.DBF的内容连接后再存入ST.DBFD仅将表文件

ABC.DBF的结构复制到新建立的ST.DBF中

16执行了语句N=10,M=20和S="N+M”之后,再执行:?10+&S的输出结果是()

A10+N+MB40C10+SD出错信息

17打开过程文件SR.PRG的命令是()

AUSESR.PRGBSETPROCEDURETOSR.PRGCDOSR.PRGDSETFORMAT

TOSR.PRG

18()字段的宽度是由用户自己定义的.

A逻辑型B日期型C备注型D字符型

19设有一数据表,其中有逻辑型字段“团员”和日期型“出生日期”.现欲显示库中

所有1980年以后出生的团员的记录,可选择()

Alistfor团员=.t.andyear(出生日期)<1980

Blistfor团员andyear(出生日期)>1980

Clistfor团员oryear(出生日期)>1980

Dlistfornot(团员=.F.andyear(出生日期)<=1998)

20数组的定义命令和下标的下界值分别为()

Adime和0Bdeci和1Cdime和2Ddime和任意的数值

二多项选择题

1索引的更新方式有()

A重建数据表B删除原有的索引C自动更新D重建索引E改变表的记录

2下列VF表达式中,结果为数值型的是()

A8-3=5Bdate()-ctod(“98/09/09")C[8]+[3]Dat("ad'’,"xyadvancad")E

len("ABCDE”)

3下列属于逻辑型常量的数据有()

A“.T.”B,F.C,Y.D.K.E,N.

4下列使用正确的函数有()

Amax(30,20.50)Bmin({98/05/20},{99/12/01})Cmod(25.3,5.0)Dchr(65+3)E

int(12.657,2)

5在数据表操作中,要修改记录可使用的命令是()

AappendBchangeCbrowseDrepaceEedit

6关闭一个数据库表的命令有()

AuseBclearCclosdataDcleaallEreturn

7可进行索引查询的命令有()

AlocateBlistCdisplayDfindEseek

8下列叙述中正确的是()

AVF中,刚定义的数组各元素的默认值是.F.

B调用过程文件的过程之前,必须先打开过程文件

C数据库文件的扩展名不能由系统自动生成

D建立索引的目的是将数据库排序后,形成一个新的数据库

E同一时刻只能打开一个过程文件

9可以通过键盘输入数据的命令有()

AinputBacceptCwaitDcancelE@...get...read

10设当前库中[婚否]是L型字段,检索年龄在30岁以上的(包含30岁)的未婚大

龄青年的命令是()

Alistfornot婚否and(not年龄<30)

Blistfornot婚否and年龄>=30

Clistfor未婚and年龄>=30

Dlistfor婚否=.f.and年龄>=30

Elistfor婚否and年龄>=30

三是非判断题

1同一记录的不相同字段值不允许相同

2如果scatterto〈数组名〉命令中的数组不存在,则该命令会自动生成所需大小的

数组

3某数据库中有工资字段,如果要对当前记录中的工资字段增加30元,可用命令:

工资=工资+30完成

4两个数据表间建立关联的目的是为了找出两个表中的相同关键字段.

5用DELETE命令删除记录,将无法恢复

6复合索引文件可分为结构和非结构两种,若定义复合索引文件与表文件取名不

同,则其为非结构的,否则为结构的.

7appendfrom命令允许在相同或不同文件结构的库文件之间添加记录

8在操作数据库过程中用命令:gobottom后,eof()的值为.F.

9VF中字段变量名不允许与内存变量名相同

10一个工作区可以同时打开多个表文件

四填空题

1执行以下命令的输出结果是()

Store5totest

?type("test")

2数据库文件grade.dbf中包括学号、姓名、成绩等字段,下列程序是输出最高

成绩记录的学号、姓名、成绩,请填空完善此程序。

Settalkoff

Clear

Usegrade

记录号=1

最高成绩=成绩

Scan

If_最高成绩〈成绩

最高成绩=成绩

记录号=recno()

Endif

Endscan

Go_记录号

?”最高成绩:学号=”+学号+"姓名="+姓名+"成绩="

??—成绩

Use

Return

3设数据库name.dbf中有“姓名”字段,并以此字段建索引文件名为NSY.idx.因该

库中有一些重复记录需要删除,请填空完善此程序.

Settalkoff

Usenameindexnsy

Gotop

Dowhile

*111=姓名

Skip

If_____

Dele

Endif

enddo

Use

Return

4设有数据库book.dbf,现需要向该库中添加记录,请完善此程序.

Settalkoff

Clear

Usebook

An="Y"

Dowhiluppe(an)=,Y,

@4,10say"书号:"GET书号

@4,40SAY"书名:"GET书名

@6,10say"单价:"get单价

@6,40say”册数:"get册数

Wait“继续(y/n)?”toan

Clear

Use

Return

5读程序写出运行结果

1设有如下主程序和子程序段,请写出N=2,A分别为2和5时的输出结果

*主程序

Settalkoff

Publy

Clear

1=1

S=0

Input"n=''ton

Dowhili<=n

Input''a="toa

Dosqwitha

S=s+y

?a,y

I=i+1

Enddo

?"s="+str(s,5)

Return

*子程序sq.prg

Parax

Y=(x+l)*(x+l)

Return

2设有数据库student.dbf的结构和内容如下:

记录号编号(N)姓名(C)性别(C)出生日期(D)总分(N)

1970102王五男06/08/80586.00

2970201李四女08/09/82532.00

3970202张三男05/06/81618.00

4970101赵六女07/08/82609.00

5970103孙九女06/23/80589.00

阅读下列程序,写出运行结果

Settalkoff

Clear

Usestudent

Scan

If性别=''女"

Skip

Else

?总分

Endif

Endscan

Use

Return

3有一程序如下,请写出运行结果

Settalkoff

X=0

Y=1

B=“1234”

N=len(b)

K=1

Dowhilek<N

C=val(substr(b,k,1))

Ifint(c/2)=c/2

s仁

Else

Sf=''+"

Endif

Ss="X”+”&"+“SF'+"Y”

?”输出:“+str(&ss,4)

X=x+2+k

Y=y+k

K=k+1

Enddo

Settalkon

Return

4设有数据库与本大题2小题中的studentdbf相同,设变量REC分别输入1、4、

0三个数据,请写出运行程序后,屏幕显示结果

Settalkoff

Usestudent

Scan

Input"]己录号="torec

Ifrec=0

Exit

Endif

Gorec

Scattertoab

Delete

Appeblank

Gatherfromab

Endscan

Pack

List姓名,总分

Use

Return

六编写程序

某公司有一材料数据表文件CL.DBF,其结构包括:编号(C)、名称(C)、型号

(C)、进货单价(N)、售出单价(N)、数量(N)、进货总价(N)、售出总价

(N)、利润(N);有若干条记录,前6个字段已有值。

另有一材料销售数据表文件CLXS.DBF,其结构包括:编号(C)、销售量(N)、

销售额(N)、销售利润(N);有若干条记录(编号有重复值),前两个字段有

值。

要求:编程序PALPRG,完成以下功能:

1计算CL.DBF库文件的进货总价、售出单价、利润三个字段的值,其中:

进货总价=进货单价*数量

售出总价=售出单价*数量

利润=售出单价-进货单价

2计算CLXS.DBF表文件的销售额和销售利润两个字段的值。其中:

销售额=销售量*售出单价

销售利润=销售额-销售量*进货单价

3汇总CLXS.DBF库文件中各种材料的销售量、销售额、销售利润并按以下格

式输出:

各种材料销售情况

编号名称型号销售量销售额销售利润

.........

总计XXXXXX.XXXXXX.X

VFP程序设计练习题第二套

一单项选择题(每小题1分,共30分)

1一列叙述正确的是()

A在关系数据库中,数据查询不需要通过关系运算就可以实现

B一个关系允许有完全相同的2个元组

C关系就是一个二维表

D关系数据库中的数据表都是自由表

2“商品”与“顾客”两个实体集之间的联系一般是()

A一对一B一对多C多对一D多对多

3在一个数据表中,有一个或若干个字段,它们的值可以唯一的标识一条记录,

这样的字段称为()

A主题字B标题C关键字D记录名

4在VFP中以下叙述错误的是()

A关系也被称作表B数据库文件不存储用户数据

C表文件的扩展名是.DBFD多个表存储在一个物理文件中

5设数据表文件在当前工作区已经打开,命令LISTFOR<条件>完成的工作相当

于关系运算()

A选择B连接C自然连接D投影

6DBMS的中文意思是()

A对象-关系型数据库系统B数据库管理系统C关系数据库系统D结构

化查询语言

7在命令窗口输入并执行如下4条命令,屏幕上将显示()

setcenturyon

setmarkto

setdatetodmy

?{A2006-09-03)

A03/09/2006B03/09/06C2006-09-03D09/03/2006

8下列数据中不属于常量的是()

A12B.Y.C[ABCDEF]DHello

9使用dimenson命令定义数组后,各数组元素在没有赋值之前的值是()

A""B.F.C0D空值(NULL)

10执行int(val(“-10.72"))命令后,结果是()

A-llB11C-10D10

11函数MOD(26,-10)的值是()

A-6B-4C4D6

12已知日期显示格式设置为:setdatetomdy,则下列合法的表达式是()

A8-3=[5]Bctod(t406/06/06,,)-5C[8]+[3]>10Dat("ad'',"xyadvancea'')+''Myname

is”

13设乂=“15”,执行命令:?“&M"+”25”后,屏幕显示()

A1525B20CM25D出错信息

14可以存储链接或嵌入OLE对象的字段类型是()

A任意类型B备注型C通用型D通用型和备注型

15在VFP中以下叙述正确的是()

A利用视图可以修改数据B利用查询可以修改数据C查询和视图具有相同

的作用D视图可以定义输出去向

16SQL的数据操作语句不包括()

AinsertBupdateCdeleteDchange

17要将数组DG中的内容作为一个新纪录追加到当前表的末尾,应执行的命令

组为()

AappendblankscattertoDGBgobottomscattertodg

CgobottomgatherfromdgDappendblankgatherfromdg

18以下每两组表达式中,其运算结果完全相同的是()

A假定A="visual",B="fbxpro”,贝ljA-B与A+B

Byear(date())与substr(dtoc(date()),7,2)

C“40-4*5”与“40-4*5

Dleft("VFP”,3)与SUBstrf'vfp”,2,3)

19当前数据表中有商品名(C,8),单价(N,6,1)等字段,直接显示当前记

录的商品名及单价,不能使用命令()

Adisp商品名,单价B?商品名+单价C?商品名+STR(单价,6,1)D?商

品名,单价

20学生成绩表有字段(计算机/N),该表已打开,要将所有学生的计算机成绩

增加5分,应该使用命令()

Achange+计算机with计算机+5Breplaceall计算机with计算机+5

Creplace计算机with计算机+5Dchangeall计算机with计算机+5

21有成绩数据表,其中有学号(C),班级(C),成绩1(N),成绩2(N),成

绩3(N)等字段,现已按“班级”建立了索引,则按班级分类汇总各科成绩的

命令是()

Atotalon班级intohzBtotalon成绩1intohzCtotalto班级onhzDtotalon

班级tohz

22在职工表zg.dbf中按工资(N,6,2)升序,工资相同者按参加工作日期(D)

早晚顺序建立结构化复合索引,正确的命令是()

Aindexon工资/A,工作日期/DtaggeBsetindexon工资-工作日期tagge

Cindexonstr(工资,6,2)+dtoc(工作日期,1)tagge

Dindexonstr(工资+year(工作日期))tagge

23“图书”表中有字符型字段“图书号”。要求用SQLDELETE命令将图书号以

字母A开头的图书记录全部打上删除标记,正确的命令是()

Adeletefrom图书for图书号like"A%"

Bdeletefrom图书while图书号like"A%"

Cdeletefrom图书where图书号="A*"

Ddeletefrom图书where图书号like"A%"

24SQL语言中修改表结构的命令是()

AaltertableBmodifytableCalterstructureDmodifystructure

25假设“订单”表中有订单号、职员号、客户号和金额字段,正确的SQL语句

只能是()

Aselect职员号from订单groupby职员号havingcount(*)>3andavg_金

额>200

Bselect职员号from订单groupby职员号havingcount(*)>3andavg(金

额)>200

Cselect职员号from订单groupby职员号havingcount(*)>3whereavg(金

额)>200

Dselect职员号from订单groupby职员号wherecount(*)>3andavg_金

额>200

26要使“产品”表中所有产品的单价上浮8%,正确的SQL命令是()

Aupdate产品set单价=单价+单价*8%forall

Bupdate产品set单价=单价*1.08forall

Cupdate产品set单价=单价*1.08

Dupdate产品set单价=单价+单价*8%

27设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL

语句是()

Aselect产品名称,avg(单价)from产品groupby单价

Bselect产品名称,avg(单价)from产品orderby单价

Cselect产品名称,avg(单价)from产品groupby产品名称

Dselect产品名称,avg(单价)from产品orderby产品名称

28执行如下命令序列后,最后一条命令的显示结果是()

dimensionm(2,2)

m(l,1)=10

m(l,2)=20

m(2,1)=30

m(2,2)=40

?n^2)

A变量未定义的提示B10C20D.F.

29执行下列命令序列:

x=6

?iif(-x>0,-6,iif(x=0,0,6))

屏幕显示为()

AOB6C-6D错误信息

30下列几组控件中,均为容器类的是()

A表单、歹(J、组合框B页框、表单、表格

C列表框、表单、下拉列表框D表单、命令按钮组、文本框

二判断分析题(每小题1分,共10分)

1在打开一个含有记录的数据表后,执行GOBOTTOM,则EOF()为.T.

2VisualFoxPro系统中用属性描述对象的状态,用方法描述对象的行为

3在VisualFoxPro中,LISTFOR姓名="李”和LISTWHILE姓名="李”这

两条命令是等价的

4在VisualFoxPro中,可以用.Y.表示逻辑真,用.N.表示逻辑假

5使用TOTAL命令时,要求必须对当前数据表进行排序或索引

6打开数据库的命令是OPEN<数据库名〉

7DELETEALL与PACK两条命令联合执行的功能等价于ZAP命令执行的功能

8数据表复制命令COPY可以对复制后的数据表自动排序

9SQL的查询语句可以为输出的字段标题重新命名

10事件是一种预先定义好的特定动作,由用户或系统激活

三填空题(每空2分,共20分)

1下列程序判断一个自然数n是否为素数,其方法是用2到,?之间的数逐个去

除,若余数都不为0,则n为素数,否则不是素数,请填空完成

input”请输入一个大于1的自然数:“ton

y=i

x=int(sqrt(n))

i=2

dowhilei<=x

ifn%i

loop

else

y=0

exit

endif

enddo

ify=l

?+”是素数”

else

?n,“不是素数”

endif

return

2有课程表kcb.dbf,包含课程号(c)、课程名(c)、学分(n)等字段。以下程序的功能

是:输出第一学期的最低学分和第二学期的最高学分,其中课程号的第3、4位

表示学期,一门课程的最高学分是10o假设“01”表示第一学期,“02”表示第

二学期。请完善程序

usekcb

xl=10

x2=0

dowhile.not.eof()

docase

casesubs(课程号,3,2)="01"

if____

xl=学分

endif

casesubs(课程号,3,2)="02”

ifx2(学分

x2=^^

endif

endcase

enddo

?,,第一学期的最低学分为:,,,xl

?”第二学期的最高学分为:”,x2

use

return

3有教师数据表:教师.dbf(教师编号/C、教师姓名/C、职称/C、工资/N),请对

下面的SQL语句填空

(1)如果要查找职称为“讲师”和“副教授”的教师

SELECT教师姓名,职称,工资FROM教师WHERE

(2)查询各类职称的教师人数及平均工资

SELECT职称,,AVG(工资)FROM教师GROUPBY职称

4一数据表DAY.DBF中有两个日期型字段RI、R2和一个数值型字段N,每一

条记录都包含两个日期(存放在字段R1和R2中)。以下程序功能是:计算每条

记录的RI、R2两个日期的相差的天数,即两个日期相差的绝对值,并将结果存

放在该记录的字段N中。请填空完成

useDAY

scan

dosub________

replaceNwithts

endscan

use

*1*

procsub

parametersR11,R21,ts

ts=________

return

四读程序写出运行结果(20分,每小题5分)

1有两个表文件:任课教师表JSB.DBF和工资表GZB.DBF以及相应的处理程

序如下。请写出程序运行的结果

JSB.DBF的内容如下:GZB.DBF的内容如下:

编号姓名担任课程外聘编号基本工资奖金

x0233吴东计算机.F.x02331000500

x0335刘柳大学英语.T.y0255800400

y0255赵义高等数学.T.y02881200450

y0288袁圆大学语文.F.x03351000480

程序如下:

clear

sele1

useJSB

indeon编号tagbh

sele2

useGZB

setrelationto编号intoJSB

listofffielJSB.姓名,基本工资,奖金forJSB.外聘

closedatabase

return

2请写出以下程序运行的结果

*主程序main.prg

publicx3

store0toxl,x2,x3

setproctogc

dogelwithxl

?xl,x2

dogc2

?x2,x3

closeprocedure

return

*gc.prg过程文件

proceduregc1

parax2

x2=x2*3-l

return

proceduregc2

privatex2

x2=x3*2+l

x3=x2*2-l

dogc3

return

proceduregc3

x2=x2*2-l

return

3有一程序如下,请写出运行结果(&&此题可反过来变成填空题。即要输出721

35,请填空。)

tt=O

ss=O

dowhile.T.

tt=tt+l

ss=7*tt

iftt%2=0

loop

else

??ss

endif

iftt>=5

exit

endif

enddo

4利用文本框和标签控件设计了一表单FLSCX,文本框Textl的Valid事件代码

及表单界面如图1所示。向Textl中输入一段字符:“Figure1-18showsyouhowto

useaMENU."(不含双引号),请写出“统计1”右边的文本框Text2和“统计2”

Foral..j□|fX

右边的文本框Text3中的数据值

[Textl.Validevent]谙在下面的文本框中愉入统计字符串:

统计1:r「

x=alltrim(thisform.textl.value)|Figure1-18SHOWSyouhowtouse

妩计21

y=len(x)

store0toz1,z2

fori=ltoy

a=substr(x,i,l)

docase

caseasc(a)>=65andasc(a)<=90

zl=zl+l

caseasc(a)>=97andasc(a)<=122

z2=z2+l

endcase

endfor

thisform.text2.value=zl

thisform.text3.value=z2

注释:asc("A")=65asc("a")=97

五程序设计题(共20分)

有计算机等级考试数据表ksb.dbf(准考证号/C、笔试成绩/N、上机成绩/N、合

格否/L)和计算机等级考试报名数据表bmb.dbf(准考证号/C、姓名/C)。按要求

编写程序:

1规定笔试成绩和上机成绩均不小于60分为合格。判断各考生是否合格,并改

写数据表ksb.dbf的“合格否”字段值

2输出合格考生的名单,要求按总成绩由高到低排序,并统计人数,格式如下:

合格考生笔试成绩上机成绩

合格人数

XX

VFP程序设计练习题第三套

一单项选择题

1数据库FoxPro中函数round(4321.789,2)的值是()

A4321.00B4321.78C4321.79D4321.790

2()不是FoxPro程序的基本结构

A顺序结构B分支结构C网络结构D循环结构

3设已打开一个数据库,库中每条记录对应一名职工,为统计出职工总人数,

可选用的命令是()

Asumall工资toabBaverageall工资toab

CcountalltoabDtotalallon工资toab

4职工工资数据库文件按“基本工资”字段升序索引后,在执行GOTOP命令,

此时当前记录号是()

AlB“基本工资”最少的记录COD“基本工资”最多的记录

5相应的数据表与索引文件已经打开,用FIND命令把记录指针指向姓“李”的

记录后,要使记录指针指向下一个同姓的记录的命令是()

AGONEXTBCONTINUECSKIPDFIND李

6设x=8、y=5结果为逻辑假的表达式()

A(x>y).and."beijing"$"bei"B(x>y).and."bei"$"beijing”

C(x>y).or.“beijing''$''bei"D(x>y).or.“bei”$"beijing”

7设6=戊。出“12/31/95”),则命令?year(b)+2的结果是()

A1995B1996C1997D1998

8假设有一个内存变量文件为man.mem。在man.mem文件的恢复时,为了保留

内存中已有内存变量不被清除,应使用的命令是()

ArestoreformmanBrestoreman.mem

CreleaseallexceptDrestorefrommanadditive

9FoxPro是一种()数据库管理系统

A层次型B关系型C网状型D逻辑型

10环境参数设置命令SETTALKON的作用是()

A可以在屏幕上进行会话B可以接收用户的命令

C命令执行的结果显示在屏幕上D可以进行交互式操作

11数组变量K(2,3)的下标变量的个数是()

A2个B3个C6个D12个

12命令FIND和SEEK均可以用于索引查找,他们的区别在于()

ASEEK可以用于非索引文件的查找,而FIND不能

BSEEK可以用于组合关键字查找,而FIND不能

CSEEK可以直接用于日期型关键字查找,而FIND不能

DFIND可以用于非关键字查找,而FIND不能

13在FoxPro中,数组可以是数字型、字符型、逻辑型和日期型,对数组赋值

时()

A必须用dimension语句事先说明,各数组元素必须是相同类型

B通常用dimension语句事先说明,各数组元素可以是不同类型

C不必用dimension语句事先说明,各数组元素必须是相同类型

D必须用dimension语句事先说明,各数组元素可以是不同类型

14将a区上的主(父)表文件按关键字段“xm”和c区上的从(子)表文件建

立关联,正确的操作是()

AsetrelationtoxmintocBsetrelationtocintoxm

CsetrelationonxmtocDsetrelationonxmintoc

15执行如下程序:

store“FOXBASE”toaa

?upper(substr(aa,1,1))+lower(substr(aa,2))

屏幕显示的结果是:

AFOXBASEBFoxBASECFoxbaseDfoxBASE

16对数据库文件中字段的值进行有规律的修改时,使用()命令最为方便。

AEDITBBROWSECCHANGEDREPLACE

17ToTAL命令要求数据库必须是()

A未打开的B字段均为数值型

C按关键字索引或排序D以上三种都可以

18DBMS是()的英文缩写。

A数据库B数据库系统C数据库应用D数据库管理系统

二多项选择题

1以下()是数据库的关系运算。

A投影B循环C选择D连接E顺序

2给日期变量赋值的方法有()

Astore“01/01/99"todlBdl=ctod(“01/01/1999")Cdl=ctod(“01/01/99”)

Ddl=date+2Estoredate()todl

3计算数据库中所有职称为工程师的总人数,并将结果赋予变量zrs,可使用的

命令是()。

Acount工程师tozrsBsumtozrsfor职称="工程师"Ccounttozrsfor职称="

工程师”Dsum工程师tozrsEcounttozrsfor“工程师"$职称

4关闭数据表文件可用的命令有()。

AuseBcloseCcloseallDclosedatabasesEclearall

5下列VFP表达式中,结果为数值型的有()。

A2+3=5Brecno()Clen(“LEN”)Ddate()-10Ectodf401/01/99,,)-date()

6在下列函数调用中,正确的是()

Astr(day(date(),2)Bval(123)Cchr("A”)Dat("AB”,123)Esubsr(Dtoc(date()),7)

7命令文件执行过程中要输入一串字符时,可以选用的命令是()。

AwaitBacceptCstoreDinputErepl

8browse命令的作用是()。

A只能修改记录数据B能添加、修改记录C只能浏览记录数据D可用来翻

阅、浏览记录数据E当加上某些选项时,也可限制用户对记录的修改或添加

9在VFP语句中,可作为〈范围〉子句的选择有()-

AallBnextCforDrestErecordn

三是非判断题(正确选A,错误选B)

1VFP不能用交互式命令对数据库进行操作

2操作的学生数据库中有字段:姓名(C)、年龄(N),现要显示当前记录的姓

名、年龄,可用命令:??姓名+年龄

3一次修改库结构中字段的一个属性,记录数据不会被损坏。

4在VFP中当字段变量名与内存变量名相同时,系统默认的访问对象是字段变

量。

5数据就是信息,信息就是数据。

6数据表中的查询也可用list/display命令

7记录删除命令delete、zap和pack没有区别

8最多可同时在不同的10个工作区打开同一个数据表

9请判断下面的语句组合。

dowhil.t.

ifx<0

enddo

endif

10语句”@2,30getMvalidM$”YyNn"”中的validM$”YyNn”表示变量M只能接

收Y、y和N、n,其他字符皆为无效数据。

五填空题

1同一时刻只能打开()个过程文件。

2自由表字段名的长度最多不超过()个字符。

3设数据库文件及其索引文件已打开,为了确保指针定位在物理记录号为1的

记录上,应该使用命令()o

4对STU.DBF数据文件编一个小程序P3.PRG,由用户从键盘上输入学号(学

号/C/6),然后根据学号进行查询,查询后显示姓名(姓名/C/6)、性别(性别/C/2)、

年龄(年龄/N/2),当用户输入“0”时,程序结束运行,否则可以复查询。请填

空完成该程序。

usestu

storspac(6)toxh

dowhile.t.

clea

@5,20say”请输入学号(输0后回车即可退出);“getxh

iftrim(xh)=,,0,^

exit

endif

locatefor

@6,20say"姓名:"+姓名

@7,20say“性别:”+性别

@8,20say“年龄:”+

wait

enddo

use

5设数据库(XS.DBF)中有学号(C/6)和姓名(C/8)两个字段,该数据库以

学号索引(文件名XH.IDX)。该程序是:当用户输入学号后,如果库中有此学

号的学生,则显示该学生的信息。否则,输入该学号对应的学生姓名后,添加

到该库中。

settalkoff

usexsindexh

accept”输入学生的学号:"

gotop

keyl=trim(keyl)

seekkeyl

if______

disp

else

accept”输入学生的姓名:"tokey2

replace学号withkeyl,姓名withkey2

endi

closeall

return

六读程序写出运行结果

1有一个程序如下:

settalkoff

clear

clearmemo

dimeaa(2,3)

m=l

dowhilm<=2

ab=^^abc^^

j=l

dowhilj<3

aa(m,j)=m*j

?str(aa(m,j),2)

??trim(substr(ab,m,j))

j=j+l

enddo

?

m=m+l

enddo

wait

retu

2有数据库student.dbf的记录数据如下:

记录号#学号(N)姓名(C)性别(C)出生日期(D)总分(N)

198104赵和平男01/28/79586.00

298102钱可丹女05/08/78532.00

398101孙微波男01/21/80618.00

498103李度强女04/28/80609.00

598105周量博女04/24/79589.00

运行以下程序:

settalkoff

clear

usestudent

a=0

dowhil.t.

ifeof()

exit

endif

if性别="女”

skip

loop

else

a=总分+a

endif

skip

?a

enddo

use

return

3有一个主程序和一个过程文件如下:

*js.prg

settalkoff

setproceduretojsl23

publica,b,c

a=l

b=l

c=l

dojsl

?a

dojs2

?b

?c

closeprocedure

settalkon

return

*jsl23.prg

procedurejsl

a=a*2+l

return

procedurejs2

b=b*4+l

c=a*2+l

dojs3

return

procedurejs3

c=c*2+5

return

4有程序如下:

*主程序:main.prg

settalkoff

clea

ml="建国”

dosub

??ml

return

*子程序:sub.prg

ml=ml+"五十周年”

?ml

return

5有如下命令序列

usestudent

list

record#姓名学号年龄性别

1李红09876520男

2王师12345619男

3赵莎34567821女

4刘知86374518男

5钱生37495120女

6杨博90327818女

indexon年龄tostu

find20

skip

disp姓名,年龄

gotop

find18

dispnext2

分别写出上述两条DISP命令显示的内容。

七编写程序

有如下各数据表文件:

人事数据表jbqkdbf包括有:编号(04)、姓名(C/8)、性别(C/2)、出生日期

(D)、文化程序(C/8)、职称(C/6)等7个字段及内容;

工资数据表GZ.DBF,包括有:编号(C/4)、姓名(C/8)、基本工资(N/7/2)、

活动工资(N/7/2)、补贴(N/7/2)、扣除(N/7/2)、实发工资(N/7/2)等7个字

段及内容;

销售表XS.DBF(1-12月的数据)包括含有:月份(N/2)、商品名(C/10)、销

售数量(N/5)等三个字段及内容。

商品表SP.DBF包含有:商品名(C/10)、单位(C/6)、单价(N/8/2)、产地(C/8)

等4个字段及内容。

1编一个程序DA.PRG,可反复随意查询任何一个人的姓名,文化程度和基本工

资情况,并按如下格式输出:

姓名:XXXXXX

文化程度:XXXXXXXXX基本工资:XXXXXXX

2编一个程序DB.PRG,统计现在年龄在30〜35岁之间,职称为副教授或教授的

人数,并按如下格式显示这些人的姓名、性别和职称。

姓名性别职称

合计:XX

3编一个程序DCPRG,统计出全年各类商品的总销售量,并按如下格式输出:

各类商品全年销售量统计表

商品名单价产地销售数量

VFP程序设计练习题第四套

一单项选择题

1数据库系统的核心是()

A编译程序B数据库C操作系统D数据库管理系统

2数据表的最小存取单位是()

A字符B数据项C记录D文件

3设数据库文件在当前工作区已经打开,命令COPYTOTEMPFOR(条件〉完成

的工作相当于关系运算()

A连接B选择C自然连接D投影

4在下面的VisualFoxPro表达式中,运算结果是逻辑真的是()

Aempty(.nulL)Blike('acd','ac?')Cat('a',’123abe')Dempty(space(2))

5VisualFoxPro数据库文件是指存放()

A数据记录的文件B管理对象的系统文件

C多张表及表的视图、连接、关系的集合D前三种说法都对

6在已打开的数据库文件中有“姓名”字段,此外又定义了一个内存变量“姓

名”,要把内存变量姓名的值传送给当前记录的姓名字段,应使用命令()

A姓名=1\4->姓名Breplace姓名withM->姓名

CstoreM->姓名DgatherfromM->姓名fields姓名

7报表的输出命令是()(&&打印或预览报表)

AcreatereportBrepoformCmodirepoDsetrepo

8设数据库score.dbf有“姓名(C,6)”、“班级(C,2)”、“总分(N,5,1)”

等字段,并已按班级索引,执行下列命令序列:

usescoreindebj

list

record#姓名班级总分

1董一婉1085.0

2黄兴东1075.0

3刘艳飞1175.0

4赵飞1170.0

5姜浚1365.0

6毛俊丽1380.0

totalon班级totemp(&&按班级相同分类汇总到汇总表temp.dbf)

则temp.dbf中第三条记录是()

A董一婉10160.0B刘艳飞11145.0

C姜浚13145.0D刘艳飞1175.0

9以下关于自由表的叙述,正确的是()

A全部是用以前版本的FoxPro(FoxBASE)建立的表

B可以用VisualFoxPro建立,但是不能把它添加到数据库中

C自由表可以添加到数据库,数据库表也可以从数据库中移出成为自由表

D自由表可以添加到数据库,但数据库表不可以从数据库中移出成为自由表

10如果要改变表单的标题,需要设置表单对象的()属性

ANameBCaptionCBackColorDBorderStyle

11在使用@命令进行格式化输入时,为了保证只允许输入字母,应该在Picture

短语使用模式符()

AABXCNDZ

12以下程序执行后,数据记录指针指向()

dimensiona(3)

a(l)=,top,

a(2户'bottom,

a(3)=,skip,

go&a(2)

A表头B表的最末一条记录C第五条记录D第二条记录

13以下命令()实现统计数据表的记录数

AsumBcontinueCcountDrecordnum

14有图书数据表按“书名”、“作者”复合索引,索引标识与字段名相同,执行

以下命令:

setordertotag作者

seek,巴金,

现在要使指针指向巴金的第二部著作,应用命令()

AskipBcontinueCseek'巴金2'Dfind巴金

15数据库系统的结构化特征指出:由DBMS管理数据的物理结构和()结构

A机械B驱动C逻辑D管理

16不能释放内存变量的命令是()

AreleaseallBclearallCclearDclearmemo

17退出VisualFoxPro,返回操作系统,应使用命令()

AexitBcloseCquitDsetdown

18表单的BackColor属性用于设置表单的()

A高度B宽度C背景色D前景色

19以下有关排序和索引的描述中,正确的是()

A排序是对数据表中的记录按关键字逻辑排序

B索引过程占用空间大、无需生成新的排序文件

C排序文件空间小、索引文件空间大

D索引是按关键字对数据表记录的逻辑排序

20命令

?iif(substr('de',2,2)>right('abcde',2),type('a'),val('abcde'))的结果是()

AN(数值)BC(字符)CU(未知)DM(备注)

二多项选择题

1以下哪些是程序设计的基本结构()

A分支B复制C选择D循环E顺序

2关系数据库的运算是()

A投影B循环C选择D连接E顺序

3以下表达式中,合法的是()

A8-3=5B{99/01/01)+15C[8]+[3]>10

Dat("ad","xyadvanad")-len("adadad'')E.not.(a=b).and.a-d>0orb=0

4以下叙述不正确的是()

ACalculate命令支持同时计算一个数值字段内容的平均值、最大值和累加值

Btotal命令汇总数据表没有前提条件

C当两个表建立了关联之后,setskipto(别名)命令支持一对多关系

DVisualFoxPro不支持循环关联,即AfB,B^A

E程序中定义的内存变量的作用域为全部变量

5命令文件中可以实现单击一键输入一个字符的命令或函数有()

AwaitBinputCstoreDinkey()E@x,xgetVERpictix,

6使用use〈表文件名〉命令打开表文件时,能同时自动打开的相关文件有()

A备注文件B独立复合索引文件C结构复合索引文件

D内存变量文件E文本文件

7在学生数据表文件中有“姓名”字段,要显示所有姓李的学生的学生记录,

使用命令()

Alistforsubstr(姓名,1,2)="李"Blistfor姓名="李*”

Clistforstr(姓名,1,2)="李"Dlistfbr姓名="李"Elocatefbr姓名="李"

8在VisualFoxPro系统中,能移动记录指针的命令有()

AlistBeof()CcontDgoEskip

9关于程序(命令)文件,下列说法正确的有()

A程序文件不再是逐条发出和执行,而是“批处理”方式发出和执行

B程序文件是用户和数据之间的一种软件接口

C依赖程序文件可以保证数据管理的高效率

D程序文件仍是以交互方式工作

E程序文件不能相互调用

10VisualFoxPro中的表达式有()

A算术表达式B混合表达式C字符表达式

D关系表达式E逻辑表达式

三是非判断题(正确打A,错误打B)

1loop或exit词语不能单独使用,只能在循环体内使用。

2listmemoryexceptxx??命令显示头2位为"xx”的4个字符名称的变量。

3VFP工作区号的大小不能说明同时打开数据表的先后次序。

4表达式chr(65)-str(mod(l,7),2)的结果是,Al1串长=2。

5VFP的过程允许有参数,程序执行不能带参数。

6用DELETE和ZAP删除的记录都不能恢复。

7日期型数据之间不能进行加法运算,但可以进行减法运算。

8数据表在操作之前必须打开。

9多分支语DOCASEENDCASE中的各个条件之间必须关联。

10对一个已经打开的数据表,只需要用BROWSE命令就可以对表中的数据进

行浏览和编辑。

四、填空题

1控件是表单上_____和的基本对象。

2以下程序实现功能:统计数据表name99中,字段“编号”(数值型)为奇数

的“库存量”之和。请填空完成。

settalkoff

x=0

dowhile.not.eof()

if编号/2<>

x=x+库存量

endif

enddo

?”编号为奇数的库存量为:”,X

use

3设有一数据表gz.dbf,有一字段名为“实发工资”。下面是按“实发工资”计

算税金的程序,并将计算结果填入“税金”字段(假设职工最高实发工资为2500

元),请将正确的内容填在下划线处。(&&主程序调用子程序参数传递)

***主程序main.prg***

settalkoff

tax=0

usegz

dowhile.not.eof()

51^2=实发工资

dosub________

?tax

replace税金withtax

enddo

use

cancel

***子程序sub.prg***

paraa,x

x=0

docase

casea>=800.and.a<1300

x=(a-800)*0.05

casea>=1300.anda<2300

b=a-1800

x=b*0.15+500*0.1+500*0.05

casea>=2300

b=a-2300

x=b*0.2+500*0.15+500*0.1+500*0.05

return

4设一职工档案数据表(zgdadbf)有字段“编号/C/6、姓名/C/8、职称/C/6、性

别/C/2、基本工资/N/7.2、活工资/N/6.2、实发工资/N/7.2”现有一程序要计算所

有职工的实发工资和女职工的平均实发工资。

settalkoff

usezgda

*计算所有职工的实发工资:实发工资=基本工资+活动资-水电气费

*计算所有女职工的平均实发工资

calculatetoa

??”女职工的平均实发工资:”+str(a,7,2)

use

return

五读程序写出运行结果(&&跟踪变量及表达式)

1settalkoff

m=3

dowhilem<10

n=2

dowhilen<=m-1

ifint(m/n)<>m/n

exit

endif

n=n+l

enddo

m=m+l

enddo

?’'m=",m,'‘n=”,n

return

2数据表(status.dbf)内容如下:

record#学号姓名性别数学外语国语计算机

11458王芹女78667580

21479张海东男85937995

31480高伟峰男66707080

41500明宇男73806571

51503李燕女8892

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论