VFP入门学习VFP入门学习VFP第二学期VFP程序设计试题.docx
《VFP入门学习VFP入门学习VFP第二学期VFP程序设计试题.docx》由会员分享,可在线阅读,更多相关《VFP入门学习VFP入门学习VFP第二学期VFP程序设计试题.docx(18页珍藏版)》请在冰豆网上搜索。
VFP入门学习VFP入门学习VFP第二学期VFP程序设计试题
共15页
第1页
江苏大学试题
(2011-2012学年第二学期)
课程名称VFP程序设计开课学院计算机学院
学生所在学院专业、班级学号姓名任课教师
使用班级药学1101等考试日期2012.6
题号
一
二
三
四
五
六
七
八
总分
核查人签名
得分
阅卷教师
注意事项:
1、考试时间:
120分钟
2、请将选择题答案填写在答题卡上,否则不予评分!
3、请将填空题答案填写在答题纸上,否则不予评分!
一、选择题(每题1分,共50分)
1、假设某教师表(js.dbf)中有工号(GH)、姓名(XM)、性别(XB)等字段,则SELECT-SQL命令语句:
Select*fromjswherexb=”男”
完成的关系运算是()运算。
A、选择B、投影C、并D、连接
2、E-R图是E-R模型的图形表示法,它是直接表示概念模型的有力工具。
在E-R图中,用()表示属性。
A、三角形B、菱形C、椭圆形D、矩形
3、下列各组表达式中,返回值均为数值的是()。
A.DTOC(DATE())STR(3.158)SPACE(0)
B.VAL(“1.2E3”)ATC(“大学”,“江苏大学”)ASC(“vfp”)
C.BETWEEN(2,0,10)EMPTY({})DOW(DATE())
D.SUBSTR(“5.6897”,3,2)YEAR(DATE())ISNULL(0)
4、创建并保存一个表、数据库、菜单、查询等文件时,生成的文件个数不相同。
如果创建了一个表文件并保存,则在磁盘上生成()个文件。
A、1B、2C、3D、1或2
5、执行下列命令后,显示结果是()。
STORE“10”TOA
STORE“20”TOB
?
&A+&B
A.30B.1020C.ABD.显示错误提示
6、打开一个有20条记录的教师表(js.dbf),执行以下命令后,返回的结果应该是()。
USEJS
?
RECNO(),BOF(),EOF()
A.1.T..T.B.1.F..F.
C.1.T..F.D.1.F..T.
7、在下列有关数据库及表的叙述中,错误的是()
A、使用CLOSETABLEALL命令关闭数据库的同时,将只关闭所有已打开的数据库表
B、一个表可以在多个工作区中被打开
C、在打开数据库表时,该表所隶属的数据库会自动被打开
D、利用项目管理器中的“移去”删除数据库时,数据库中的所有表均转换成自由表
8、函数SELECT(0)的返回值是()。
A、当前未被使用的最小工作区号B、当前未被使用的最大工作区号
C、当前工作区号D、当前已被使用的最小工作区号
9、执行CLOSETABLEALL命令后,再执行()命令,就可逻辑删除JS表中年龄超过60岁的记录(表中有CSRQ字段,意义为出生日期,日期型)
A、DELETEFROMJSWHEREYEAR(DATE())-YEAR(CSRQ)>60
B.DELETEFORYEAR(DATE())-YEAR(CSRQ)>60
C.DELETEFROMJSFORYEAR(DATE())-YEAR(CSRQ)>60
D.DELETEFROMJSWHILEYEAR(DATE())-YEAR(CSRQ)>60
10、通用型、日期型和逻辑型字段的宽度是固定的,它们分别是()。
A.481B.881C.441D.1681
11、在下列表达式中,表达式数据类型为日期型的是()。
A、09/06/2011-2B、CTOD(“09/06/2011”)-DATE()
C、DTOC(DATE())+”09/06/2011”D、CTOD(“09/06/2011”)-3
12、若设置了某数据库表的删除触发器为.F.,则()。
A、禁止在该表中删除记录
B、允许在该表中删除记录
C、禁止在该表中删除字段的值
D、允许在该表中删除字段的值
13、下列字段中,不能作为索引表达式的是()
A、日期型B、数值型C、字符型D、通用型
14、在VFP中,使用“查询设计器”设计查询时,以下不能作为查询的输出类型的是()。
A、临时表B、数组C、文本文件D、报表
15、在“项目管理器”窗口中有一个查询文件chaxun和一个视图jsst,包含视图的数据库已打开,则下列命令中正确的是()。
A.DOquerychaxunB.DOchaxun.qpr
C.UseviewjsstD.Usejsst
16、执行下列命令后,当前工作区与当前工作表分别是()。
Closetablall
Usejs
Select0
Usexs
Usecjin0
A.2xsB.2cj
C.3cjD.0cj
17、一次性删除表中全部记录的命令是()。
A.PACKB.DELETEALLC.ERASEallD.ZAP
18、要将js.dbf中的nl(年龄)小于60的jbgz(基本工资)字段的值加500,正确的命令是()。
A、Replacejbgzwithjbgz+500wherenl<60
B.Updatejssetjbgz=jbgz+500wherenl<60
C.Updatejssetjbgzwithjbgz+500fornl<60
D.Replacejbgz=jbgz+500fornl<60
19、已知在打开的js.dbf中,对gh字段建立了主索引,索引名为jsgh,现要将此索引设置为主控索引,下列命令中正确的是()。
A.setordertojsghB.setindexonjsgh
C.setorderonjsghD.setindextojsgh
20、在数据库jxsj.dbc中有学生表xs.dbf,xs.dbf中含有xh(学号)、xm(姓名)、csrq(出生日期)等字段,若规定每位学生的生日补贴为100元,可用下列SELECT-SQL命令查询并显示每月份出生的学生人数和各月份的补贴总额,要求输出月份、人数、补贴总额,且按补贴总额的降序排列。
正确的表达是()。
Selectmonth(csrq)as月份,count(*)as人数,;
100*count(*)as补贴总额;
Fromjxsj!
xs;
Groupby1;
Orderyby()
A.补贴总额B.补贴总额desc
C.3descD.100*count(*)desc
21、设当前工作目录(文件夹)中有一个表文件ABC.DBF,该表仅有两个字段(字段名分别为xx和yy,字段类型均为字符型,宽度均为10),且含有多条记录。
下列SELECT-SQL命令中,语法错误的是。
A.SELECT1,2,3FROMabcORDERBY3
B.SELECTxx,COUNT(yy)FROMabcGROUPBYyy
C.SELECTxx,SUM(yy)FROMabcGROUPBYxxORDERBY2
D.SELECTxx+yy,xx-yyFROMabcTOPRINTER
22、消除SELECT-SQL查询结果中的重复记录,可以采用的方法是()。
A、使用WHERE子句B、使用UNION关键字
C、使用DISTINCT子句D、通过指定主关键字
23、参照完整性是用来控制数据的一致性。
VFP系统提供的参照完整性机制不能实现的是()。
A、设置“更新级联”:
更新主表主关键字段的值,用新的关键字值更新子表中所有相关的记录
B、设置“插入级联”:
主表插入新的记录后,在子表中自动插入相应的记录
C、设置“删除级联”:
主表可以任意的删除记录,同时删除子表中所有相关记录
D、设置“删除限制”:
若子表中有相关记录,则主表禁止删除记录
24、在SELECT-SQL命令中,如果在分组的基础上,还需对查询结果再进行筛选,可以用()子句。
A.HAVINGB.WHERE
C.DISTINCTD.ORDERBY
25、在VFP中,下列有关表及字段的叙述中,错误的是()。
A、一个表只能属于一个数据库
B、自由表中的字段名最多由10个字符组成
C、表中的字段名不能以下划线开头
D、一个表最多可以有128个字段
26、已知JS表中有GH、XM等字段,下列SELECT-SQL命令中语法错误的是()。
A.SELECTGH,XMFROMJSINTODBFXX
B.SELECTGH,XMFROMJSINTOFILEXX
C.SELECTGH,XMFROMJSINTOARRAYXX
D.SELECTGH,XMFROMJSINTOCURSORXX
27、在下列4种控件中,不能设置访问键的是()。
A、列表框B、标签C、命令按钮D、选项按钮
28、在下列有关表单及一些控件的叙述中,错误的是()。
A.用户可以为表单创建新的方法和新的属性,但不能创建新的事件
B.标签控件的Backstyle属性的默认值为0,即标签的背景为不透明
C.若将表单的ControlBox属性设置为.F.,则表单无最大化、最小化按钮,但有关闭按钮
D.组合框控件可以设置为下拉组合框或下拉列表框,其区别在于:
前者既可以输入数据、也可以在下拉列表中选择一个数据,而后者只能在下拉列表中选择一个数据
29、下列几组控件中都有controlcount属性的是()。
A、表单、页面、列
B、表单、文本框、列表框
C、列、选项按钮组、命令按钮组
D、表单集、表单、页框
30、在下列有关表单及一些控件的叙述中,错误的是()。
A、一个标签控件可多行显示文本
B、命令按钮控件上同时设置了caption和picture属性,将显示picture属性值
C、复选框控件的VALUE值只能为0或1
D、表格中的列是容器对象,而且拥有自己的属性、事件和方法
31、下列VFP对象中能直接添加到表单中的是()。
A、命令按钮B、列
C、选项按钮D、页面
32、当某个数据绑定型控件(非表格控件)与某个表的字段绑定后,若移动表中记录指针使该字段的值发生变化,则该控件的()属性的值也随之发生变化。
A.NAMEB.CONTROLSOURCEC.CAPTIOND.VALUE
33、在表单form1上有一个命令按钮组cmg,组中有两个命令按钮,分别为cmd1和cmd2。
如果要在cmd1的click事件代码中调用cmd2的click事件代码,则下列调用中不正确的是()。
A.THISFORM.CMG.CMD2.CLICK
B.THIS.PARENT.CMD2.CLICK
C.THIS.CMG.CMD2.CLICK
D.THIS.PARENT.PARENT.CMG.CMD2.CILCK
34、为了把表格控件grid1中列对象的backcolor属性设置为红色,以下命令正确的是()。
A.Thisform.setall(“backcolor”,rgb(255,0,0),”column”)
B.Thisform.grid1.setall(“backcolor”,rgb(255,0,0),”column”)
C.Thisform.grid1.setall(backcolor,rgb(255,0,0),column)
D.Thisform.grid1.setall(backcolor,rgb(255,0,0),”column”)
35、若从表单的数据环境中将备注型字段拖放到表单中,则默认情况下在表单中添加的控件个数和控件类型分别是().
A、1,复选框B、2,标签和文本框
C、2,标签和编辑框D、2,标签和组合框
36、对于表单上的某文本框控件来说,下列事件中一定会发生的是()。
A.GOTFOCUSB.WHENC.VALIDD.INIT
37、下列几个控件中,没有Value属性的是()。
A、命令按钮B、复选框
C、选项按钮D、微调框
38、下列有关表单(集)及其控件的叙述中,错误的是()。
A、可以为表单添加新的属性、新的方法,但是不能添加新的事件
B、可以向表单的数据环境中添加表和视图,但不可以向数据环境中添加查询
C、利用表单设计器设计表单时,可以利用生成器设置文本框、命令按钮组等控件的部分属性
D、表单运行时,如果用户调整表单的大小,则其包含的控件也随之改变大小
39、利用“表单控件“工具栏向一个不包含任何控件的表单上添加一个命令按钮组控件,在默认情况下该控件的名称(即NAME属性值)是
A.Spinner1B.Commandgroup1C.Optiongroup1D.Listbox1
40、下列几种VFP的文件类型中,不能作为项目的主文件的是( )
A、表单B、程序C、表D、菜单
41、在VFP中,菜单文件分为菜单设计文件和菜单程序文件,能执行的菜单程序文件的扩展名是()
A..MPRB..MNXC..MNTD..MPX
42、在某菜单系统中,有一菜单项显示为“Help”(H字母有下划线,即访问键是ALT+H),则在设计此菜单时,在该菜单名称中可输入()。
A.Help(\43、对于表单来说,用户可以设置Showwindow属性。
该属性的取值可以为()
A、在屏幕中或在顶层表单中或作为顶层表单
B、普通或最小化或最大化
C、模式或无模式
D、平面或三维
44、在表单中为列表框控件指定数据源的属性是()
A.ControlsorceB.Recordsource
C.RowsoruceD.Datasource
45.添加到工具栏上的控件。
A.只能是命令按钮
B.只能是命令按钮和分隔符
C.只能是命令按钮、文本框和分隔符
D.除表格外,所有可以添加到表单上的控件都可以添加到工具栏上
46、某用户创建了一个命令按钮子类,并设置了CLICK事件代码,把该类添加到一表单中,则在表单设计器中该按钮的CLICK事件代码窗口中()。
A、看不到按钮的CLICK事件代码,但代码可以被执行,也可被屏蔽
B、看不到按钮的CLICK事件代码,代码不被执行
C、可以看到按钮的CLICK事件代码,但不准修改
D、可以看到按钮的CLICK事件代码,并且可以修改
47、在某子类的CLICK事件代码中,要调用父类的INIT事件代码时,可以用()
A、NODEFAULTB、DODEFAULT()
C、:
:
操作符D、This.parent.init()
48、在VFP中,有一报表文件myrepo,预览该报表的命令是()
A.reportformmyrepopreview
B.reportfrommyrepo
C.doreportmyrepo
D.doreportmyrepopreview
49、VFP中有一些语句只能用在循环体中。
下列语句中只能用于循环体中的语句是()
A.returnB.quitC.exitD.clear
50、执行以下程序,屏幕显示为()
X=12
Dowhile.t.
X=x+1
Ifx=int(x/4)*5
?
?
x
Else
Loop
Endif
Ifx>10
Exit
Endif
Enddo
A.1015B.1215C.15D.12
二、填空题(每空1分,共30分)
1.表达式TYPE(“.T.or.F.”)的值为
(1)。
2.表达式ROUND(356.457,-2)的值为
(2)。
3.在VFP中,可以直接使用命令对文件进行复制。
例如,将当前文件夹中所有的文本文件复制到D盘,可使用命令:
(3)*.txttoD:
4.VFP支持多种数据类型,例如字符型、货币型、数值型等。
每种数据类型可以用一个字母表示,例如字符型用C表示,数值型用N表示,货币型用(4)表示。
5.与自由表相比,数据库表可以设置许多字段属性和表属性,以扩展表的功能。
例如,某字符型字段的(5)属性设置为T!
,则在输入和显示时其前导空格自动地被删除,且所有字母均转换为大写字母。
6.用INSERT-SQL命令在XS表中添加一条记录,请补充完整:
Insertintoxs(xh,xm,xb)(6)(“12001”,”王强”,“性别”)
7.XS表已在1号工作区中被打开,若要求在2号工作区中再次打开XS表且别名为xuesheng,可使用命令:
Usexs(7)xueshengin2again
8.JS表已设置了记录有效性规则,使用命令:
ALTERTABLEjsDROP(8)可以删除该表的记录有效性规则。
9.若当前数据库中有一XS表,表中有字段XM,利用DBsetprop()函数设置该字段的标题属性为“姓名”的命令是:
=Dbsetprop(“xs.xm”,(“9“),”caption”,”姓名”)
10.某图书馆登记表TSB含有书号(SH)字段、书名(SM)字段和作者(ZZ)字段等,且这些字段均为字符型。
下列SELECT-SQL命令可以查询出书名中含有“计算机”的所有图书:
SELECTSH,SM,ZZFROMTSB(10)
11.数据库表可以创建主索引、候选索引、普通索引和唯一索引。
如果要控制表中某一字段的值不允许重复出现,则可以以该字段为索引表达式创建主索引或(11)
12.用户可以在表设计器中修改表结构,也可以用命令直接修改表结构。
例如,删除XS表的更新触发器可以使用命令Deletetriggeronxsfor(12)
13、某数据库表含有XH(字符型)和CSRQ(日期型)等字段,若要创建一个普通索引,要求记录先按XH字段排序,XH字段值相同时再按CSRQ字段中的年份进行排序,则该索引的索引表达式为XH+STR(13)。
14.数据库JXSJ中有XS(学生)表和CJ(成绩)表。
学生表中有XH(学号)、XM(姓名)等字段,CJ表中有XH(学号)、KCDM(课程代码)、CJ(成绩,N型)等字段。
下列SELECT-SQL命令的功能是基于两表查询各门课程的考试成绩均在75以上的学生的总成绩情况,要求输出学号、姓名和总成绩,且仅输出前5条记录。
Select(14)xs.xhas学号,xs.xmas姓名,;
Sum(cj.cj)as总成绩;
Fromxsinnerjoincjonxs.xh=cj.xh;
Groupbyxs.xh;
Having(15);
Orderby3desc
15、数据库JXSJ中有KC(课程)表和CJ(成绩)表。
已知课程表(kc.dbf)中含课程代码(kcdm)、课程名(kcm)等字段,成绩表(cj.dbf)中含课程代码(kcdm)、成绩(cj)等字段。
完善下列SELECT-SQL命令以查询每门课程的选课人数、优秀人数(成绩在90分及以上为优秀)。
Selectkc.kcdm,kc.kcm,(16)as选课人数,;
(17)as优秀人数;
Fromkc,cjwherekc.kcdm=cj.kcdm;
Groupbykc.kcdm
16、运行下列程序后,屏幕显示的数据为(18)。
CLEAR
STORE“good”TOc
cc=SPACE(0)
DOWHILELEN(c)>0
cc=CHR(ASC(LEFT(c,1))+2)+cc
c=SUBS(c,2)
ENDDO
?
cc
17、运行下列程序后,屏幕显示的数据为(19)。
*****主程序*********自定义过程*****
Clearprocedurepp
X=3localx
Y=4x=6
Z=5y=7
DOppz=x+y
?
x+y+zendproc
18、在运行程序文件(.prg)时,系统会自动对程序文件进行“伪编译”,系统生成的“伪编译”程序的文件扩展名为(20)。
19、引用当前对象的直接容器的关键字是(21)。
20、若表单上包含一个页框控件,页框上包含的页面数是未知的(或者是动态变化的),则在刷新表单时为了刷新页框中的所有页面,可在页框的REFRESH方法中包含如下代码:
Fori=1tothis.(22)
This.pages[i].refresh
Endfor
21、为增强菜单的可读性,用分隔线将菜单中内容相关的菜单项分隔成组,要实现菜单分组可在“菜单名称”栏中键入(23)。
22、在设计VFP菜单时,若要将某一菜单项设置为JS表打开时才可操作,则可在“跳过”选项中输入表达式:
(24)。
23、在visualfoxpro中,不同的报表带区有不同的作用,主要表现在数据的处理方式和打印次数。
在一个报表中最多可以有9种类型的带区,其中标题带区和(25)带区在每个报表中仅打印一次,它们与记录数、页数无关。
24、如果为新建的可视类添加了一个新属性myprop,则该属性的默认值为(26).
25、现有一表单是一个直行的交通控制信号灯模拟程序,如下图所示。
交通灯的控制规则为:
红、黄、绿灯交替,红灯、绿灯各亮15秒,在红灯、绿灯交替之间黄灯亮2秒,设置表单的有关属性,使得:
(1)表单的边框为固定对话框,则设置(27)属性;
(2)形状控制shap1的默认背景色为绿色,则设置(28)属性;(3)修改计时器控件的(29)属性,使它时间间隔为1秒;(4)计时器控件初始状态为不可用,则设置其(30)属性。
三、程序完善题(每空2分,共20分)
1、下列程序的功能是将由任意字符(包括汉字)组成的字符串进行反序显示,请完善程序。
Clear
Store“ab56江苏镇江cd78”toc,cc
K=space(0)
Dowhilelen(c)>0
X=asc(left(c,1))
Ifx>127
I=2
Else
I=1
Endif
K=
(1)+k
C=substr(c,2)
Enddo