版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46373-2025压缩空气储能电站接入电网技术规定
- GB/Z 18978.810-2025人-系统交互工效学第810部分:机器人、智能和自主系统
- GB/Z 145-2025标准化教育课程建设指南物流标准化
- 2026年广西水利电力职业技术学院单招职业倾向性测试题库及完整答案详解1套
- 2026年山西国际商务职业学院单招职业倾向性考试题库及答案详解1套
- 2026年柳州城市职业学院单招职业适应性测试题库及参考答案详解
- 2026年河北软件职业技术学院单招职业倾向性测试题库及参考答案详解1套
- 2026年湖北职业技术学院单招职业技能考试题库及参考答案详解1套
- 2026年巴中职业技术学院单招职业倾向性考试题库带答案详解
- 2026年郑州亚欧交通职业学院中单招职业适应性考试题库含答案详解
- 茶叶知识培训:茶叶加工
- 红色影视鉴赏学习通超星课后章节答案期末考试题库2023年
- 雷达截面与隐身技术课件
- 烟花爆竹企业安全生产责任制(二篇)
- 成人雾化吸入护理-2023中华护理学会团体标准
- 卫生应急工作手册(全)
- 长期护理保险技能比赛理论试题库300题(含各题型)
- 含铜污泥与废线路板协同处理及综合利用技术
- 法律法规及其他要求获取与识别程序
- (教师版)《项脊轩志》文言知识点检测
- IATF-I6949SPC统计过程控制管理程序
评论
0/150
提交评论