《VFP程序设计》期末考试题2Word文档格式.docx
《《VFP程序设计》期末考试题2Word文档格式.docx》由会员分享,可在线阅读,更多相关《《VFP程序设计》期末考试题2Word文档格式.docx(18页珍藏版)》请在冰点文库上搜索。
![《VFP程序设计》期末考试题2Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/3a6f04ba-1415-495e-b459-312e5bb2e079/3a6f04ba-1415-495e-b459-312e5bb2e0791.gif)
下同。
),要求显示字段“商品名称”中包含字符串“播放器”的记录,可以使用的命令是________。
I.LISTFORAT("
播放器"
商品名称)II.LISTFORAT("
商品名称)>
III.LISTFOR"
$商品名称=.T.IV.LISTFOR"
播放器$商品名称"
=.T.
A)I、IIIB)II、IVC)II、IIID)III、IV
10.对于打开的数据表KC(提示:
数据表KC参看附表2。
),输入命令LISTFOR进货日期>
={^2008/02/02},可以显示该表中记录号为_______的记录。
A)4、5、6B)5、6、7C)6、7、8D)7、8
11.在打开的数据表SQ中,若要将所有商品的单价打9折,应使用的命令是_______。
A)REPLALL单价WITH*0.9B)REPL单价WITH单价*0.9
C)REPLALL"
单价"
WITH单价*0.9D)REPLALL单价WITH单价*0.9
12.在打开的数据表SQ中,要求逻辑删除“商品编码”以字母“A”开头的所有商品的记录,应使用命令。
A)DELETEFOR"
$商品编码
B)DELETEFOR商品编码="
C)DELETEFOR商品编码=A
D)DELETEFORSUBSTR(商品编码,1)=="
13.VisualFoxPro提供了多种索引类型。
如果索引关键字的值有重复值,则可以选择的索引类型为______。
A)主索引B)侯选索引C)普通索引D)重复索引
14.下面有关“索引”概念的描述中,正确的是______。
A)索引实际上是一种逻辑排序,它不改变表中数据的物理顺序
B)索引实际上不仅是一种逻辑排序,它还改变表中数据的物理顺序
C)索引排序需要复制出一个和原表内容相同的有序文件
D)索引排序操作后产生一个索引文件,该文件和原数据表文件大小相同
15.在数据库设计器中,建立SQ表和KC表之间的一对多联系,可以通过建立以下索引实现_______。
(数据表SQ和KC参看附表1和附表2。
)
A)SQ表建立主索引或候选索引,KC表建立普通索引
B)SQ表建立主索引,KC表建立普通索引或候选索引
C)SQ表建立普通索引,KC表建立主索引或候选索引
D)SQ表建立普通索引,KC表建立候选索引或普通索引
16.已知在数据库设计器中,通过“商品编码”字段建立了SQ表和KC表之间的永久关系,如果利用“参照完整性生成器”设置相关规则如下图,则。
A)修改SQ表“商品编码”字段中相关数据项时,KC表中相关记录将自动更新。
B)修改KC表“商品编码”字段中相关数据项时,SQ表中相关记录将自动更新。
C)修改SQ表“商品名称”字段中相关数据项时,KC表中相关记录将自动更新。
D)删除SQ表中的相关记录时,KC表中相关记录也将自动删除。
17.使用SELECT-SQL语句,显示SQ表中“商品编码”、“商品名称”字段的语句是。
A)SELECT*FROMSQ
B)SELECT商品编码,商品名称FROMSQ
C)SELECT商品编码,商品名称USESQ
D)SELECT商品编码,商品名称WHERESQ
18.在SELECT-SQL语句中,查询SQ表中所有单价大于2000元的纪录,使用的语句是。
A)SELECT*FROMSQ
B)SELECT*FROMSQWHERE单价>
2000
C)SELECTALLFROMSQFOR单价>
D)SELECTALLFROMSQWHERE单价>
19.使用SELECT-SQL语句,从SQ表中查询所有“商品名称”中含有“数码”字符串的记录,使用的语句是。
A)SELECT*FROMSQWHERE商品名称="
%数码"
B)SELECT*FROMSQWHERE商品名称LIKE数码
C)SELECT*FROMSQWHERE商品名称LIKE"
%数码%"
D)SELECT*FROMSQWHERE商品名称LIKE"
_数码_"
20.使用SELECT-SQL语句,可以在SQ表中求出所有商品中的最高单价、最低单价和平均单价。
A)SELEMAX(单价)ASA1,MIN(单价)ASA2,AVG(单价)ASA3FROMSQ
B)SELEMAX(单价)ASA1,MIN(单价)A2,AVERAGE(单价)ASA3FROMSQ
C)SELEMAX(单价),MIN(单价),AVG(单价)ASA1,A2,A3FROMSQ
D)SELEMAX()TOA1,MIN()TOA2,AVG()TOA3FROMSQ
21.若要根据数据表SQ和KC查询2008年进货的记录,则可以使用的SELECT-SQL语句是______。
A)Sele*fromSQ,KCwhereSQ.商品编码=KC.商品编码andyear(进货日期)=2008
B)Sele*fromSQ,KCwhereSQ.商品编码=KC.商品编码and进货日期=2008
C)Sele*fromSQ,KCwhere商品编码=商品编码andyear(进货日期)=2008
D)Sele*fromSQ,KCwhereSQ.商品编码=KC.商品编码or进货日期=2008
22.在下面程序的IF…ELSE..ENDIF结构中,如果从键盘上输入10,则执行后屏幕显示______。
INPUNTOY
IFY>
=20
?
"
Y"
ELSE
Y
ENDIF
A)10B)20C)YD)"
23.在下面程序的DOWHILE…ENDDO循环中,循环体将执行______次。
A=10
DOWHILEA>
A=A-3
ENDDO
A)3B)4C)5D)10
24.在下面程序的DOWHILE…ENDDO程序循环中,如果从键盘上输入6,则语句B=B+1将被执行______次。
INPUTTOB
DOWHILE.T.
B=B+1
IFB>
=10
EXIT
ENDIF
A)4B)5C)6D)10
25.如果命令按钮执行后显示如右图所示:
则可以判定其Enabled属性和Visible属性已被设置成______。
A).T.和.T.B).T.和.F.C).F.和.T.D).F.和.F.
26.如果文本框执行后显示如右图所示:
则可以判定其______属性的初始值已被设置为:
0。
A)CaptionB)ValueC)FontsizeD)Source
27.如果需要改变“标签”控件上显示文本字体的大小,应对其______属性进行设置。
A)CaptionB)ValueC)FontNameD)FontSize
28.如果需要在“文本框”控件Text1上显示数据表SQ的“商品编码”字段值,则需要将其______属性设置成:
SQ.商品编码。
A)CaptionB)ValueC)ControlSourceD)Source
29.如果利用“菜单设计器”定义菜单menu1.mnx结果如下图所示,则可判定:
当该菜单运行时,用户选择其中的“添加记录”菜单项,将______。
A)执行一条VisualFoxPro命令B)弹出下一级的子菜单
C)弹出下拉菜单D)执行事先定义的若干条语句
30.如果利用“菜单设计器”定义了菜单menu1,并且按Ctrl+W组合键保存为扩展名为.mux的菜单文件以后,为了运行该菜单程序,应该________。
A)首先生成菜单程序文件menu1.mpr,然后在命令窗口中输入命令:
DOmenu1.mpr
B)首先生成菜单程序文件menu1.mpr,然后在命令窗口中输入命令:
DOmenu1
C)直接在命令窗口中输入命令:
D)直接在命令窗口中输入命令:
DOmenu1.mux
二、填空题(第1~10小题每空1分,11~20小题每空2分,共30分)
请将第1~20小题的答案写在序号为【1】~【20】对应的表格内。
【1】
【11】
【2】
【12】
【3】
【13】
【4】
【14】
【5】
【15】
【6】
【16】
【7】
【17】
【8】
【18】
【9】
【19】
【10】
【20】
1.对于数据表SQ中的数据(数据表SQ参看附表1。
),如果需要将其“单价”字段增加2个小数位,则该字段的宽度不能少于【1】个字节。
2.输入命令:
?
NOT"
VFP程序设计"
="
V"
OR.T.AND.F.以后输出结果为【2】。
3.输入命令:
ABCDEF"
ABCDEF"
OR"
=="
以后输出结果为【3】。
4.输入命令:
AT("
AC"
"
ABACBABA"
CBA"
CA"
3),系统输出结果是【4】。
5.输入命令:
MAX(INT(8+2.12),ABS(-10.12),ROUND(10.125,2),SQRT(100)),系统系统输出结果是【5】。
6.执行下列命令后,变量B的值为【6】。
A=SUBSTR(SPACE
(2)+"
笔记本电脑"
9)-"
教程"
B="
《"
+ALLTRIM(A)+"
》"
7.执行下列命令后,系统输出结果是【7】。
STORE5TOX,Y,Z
X=Y
8.执行下列命令后,系统输出结果是【8】。
X1={^2008/05/06}
STR(YEAR(X1))+"
年"
9.如果在隐含目录下已经建立了一个名为Q1.qpr的查询文件,则运行该查询的命令是【9】。
10.VisualFoxPro中,命令文件(或称程序文件)的扩展名是【10】。
******************************************************************
11.依次输入下列命令,系统输出结果是【11】。
(数据表SQ参看附表1。
USESQ
GO5
SKIP
EOF()
12.依次输入下列命令,系统输出结果是【12】。
USESQ
LOCATEFOR"
1"
$商品编码=.F.
CONT
13.依次输入下列命令,可在数据表SQ中逻辑删除记录号为【13】的记录。
UseSQ
DeleteFor商品编码="
14.要求从SQ表和KC表中查询“商品编码”、“商品名称”和“库存数量”的信息。
请将下面命令补充完整:
(数据表KC参看附表2。
SELESQ.商品编码,商品名称,库存数量fromSQ,KC【14】。
15.要求将select命令的执行结果保存到一个名为JH2007.DBF的数据表中,请将下面命令补充完整:
SELE*FROMKCWHEREYEAR(进货日期)=2007【15】
16.如果键盘输入10,下列程序执行结束时,则S的值应为【16】。
INPUTTOR
S=3.1416*R^2
Return
17.下列程序执行结束时,如果键盘输入2000,则屏幕上应显示的记录条数为【17】。
CLEAR
USESQ
INPUTTODJ
LISTFOR单价>
DJ
Return
18.下列程序执行结束后,屏幕上应显示的记录号为【18】。
LOCAFOR商品编码="
.AND.单价>
1000.AND.单价<
3000
RECNO()
19设程序文件pro20.prg和pro21.prg如下所示,pro20.prg执行结束后,S的值应为【19】。
*Main_programpro20*Sub_programpro21
S=0Ifint(X/20)=X/20
ForX=1to100S=S+X
Dopro21Endif
EndforReturn
Return
20.如果表单FORM100中设置有2个文本框,命名为Text1和Text2,1个命令按钮,命名为Command1。
命令按钮Command1的Click事件代码定义如下:
DOcase
caseThisforn.text1.value>
100
Thisforn.text2.value=Thisforn.text1.value*1.5
50
Thisforn.text2.value=Thisforn.text1.value*1.0
20
Thisforn.text2.value=Thisforn.text1.value*0.5
otherwise
Thisforn.text2.value=0
Endcase
如果在文本框Text1中输入20,则文本框Text2显示:
【20】
三、编写程序:
(每小题10分,共计40分)
1.已知表单FORM10中设置有1个文本框命名为Text1,3个命令按钮,表单执行后结果如下图所示。
(1)编写“显示”命令按钮的Click事件代码。
要求实现:
单击“显示”命令按钮时,在文本框Text1中显示当前的日期和时间。
(2)编写“清除”命令按钮的Click事件代码。
单击“清除”命令按钮时,清除在文本框Text1中显示的信息。
(3)编写“退出”命令按钮的Click事件代码。
单击“退出”命令按钮时,退出该表单。
2.已知某表单中设置有3个标签,3个文本框,1个命令按钮,所有控件的属性定义完成后,如下左图所示。
要求编写“计算”命令按钮的Click事件代码,实现如下功能:
(1)在文本框Text1和Text2中分别输入不同整数值,当文本框Text2中的输入值大于Text1中的输入值时,则单击“计算”命令按钮,即可计算两输入值之间所有的整数(包括两个输入的整数)之和,相应结果显示在文本框Text3中。
该表单一次正确输入的执行结果示例如下右图所示。
(2)当文本框Text2输入的值不大于Text1中输入值时,则单击“计算”命令按钮,显示如下所示提示框。
3.已知表单FORM11中设置有2个标签,2个文本框,2个命令按钮,1个选项按钮组,所有控件的属性定义完成后,如下左图所示。
表单执行后结果如下右图所示。
要求编写“计算”命令按钮的Click事件代码,实现如下功能:
在文本框Text1中输入半径值,并在“选项按钮组”中选定1个选项后,单击“计算”命令按钮即可在文本框Text2中显示相应计算的结果。
(提示:
球表面积计算公式为:
4πR2,球体积计算公式为:
(4/3)πR3,要求π取值精确到2位小数。
4.已知“教师情况查询”表单中设置有3个标签、2个文本框、1个命令按钮。
所有控件的属性定义完成,并设置数据源。
数据源设置结果如下左图所示。
整个表单设计显示如下右图所示。
要求编写“查询”按钮的Click事件代码,以实现如下功能:
该表单执行后,用户可以在文本框text1中输入1个教师姓名,单击“查询”按钮,可在数据表“教师情况表”中进行查询,并可进行判断:
(1)如果有该教师的记录,则将该记录的相关数据经重新组织后在文本框text2中显示,该表单一次执行的结果示例如下图所示。
(提示:
“教师情况表”结构描述如下:
姓名(C,20),性别(C,2),年龄(N,2),职称(C,6)。
(2)如果没有找到该教师的记录,则弹出一个显示“查无此人!
”的提示框,如下图所示。
===============================================================
附表1:
数据表SQ包含字段:
商品编码(C,4)、商品名称(C,10)、单价(N,5,0)。
其记录列表如下图所示。
附表2:
数据表KC包含字段:
商品编码(C,4)、库存数量(N,4,0)、进货日期(D,8)。
西南财经大学2007-2008学年第二学期全校各专业本科2007级(一年级二学期)
《VFP程序设计》期末闭卷考试答案及评分标准(A)
一、单项选择题(每小题1分,共计30分)
请在每个题号下方的空格中填入各相应小题的选择答案。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C
A
B
D
16
17
18
19
21
22
23
24
25
26
27
28
29
30
【1】7
【11】.T.
【2】.F.
【12】.F.
【3】.T.
【13】1、2、5
【4】11
【14】WHERESQ.商品编码=KC.商品编码
【5】10.13
【15】INTOTABLEJH2007
【6】《电脑教程》
【16】314.16
【7】.T.
【17】3
【8】2008年
【18】1
【9】DOQ1.QPR
【19】300
【10】.PRG
【20】0
1.参考答案及评分标准:
(1)THISFORM.TEXT1.VALUE=DATETIME()(4分)
(2)THISFORM.TEXT1.VALUE="
(3分)
(3)THISFORM.RELEASE(3分)
2.参考答案:
S=0
X=THISFORM.TEXT1.VALUE
Y=THISFORM.TEXT2.VALUE
IFX<
Y
FORI=XTOY
S=S+I
ENDFOR
THISFORM.TEXT3.VALUE=S
ELSE
=MESSAGEBOX("
输入的第2个数不大于第1个数,请重新输入!
THISFORM.TEXT3.VALUE=0
评分标准:
(1)写出IF…ELSE…END结构语句得3分。
(2)IF…ELSE之间的命令序列正确得5分。
(3)ELSE…END之间的命令序列正确得2分。
3.参考答案:
x=thisform.optiongroup1.value
y=thisform.text1.value
docase
casex=1
thisform.text2.value=2*3.14*y
casex=2
thisform.text2.value=3.14*y^2
casex=3
thisform.text2.value=4*3.14*y^2
casex=4
thisform.text2.value=4/3*3.14*y^3
endcase
评分标准:
(1)写出DOCASE…CASE…ENDCASE结构语句得2分。
(2)每个分支判断正确得2分。
(分支判断共计8分。
4.参考答案:
X=ALLTRIM(THISFORM.TEXT1.VALUE)
LOCAFOR姓名=X
IF.NOT.EOF()
Y=TRIM(姓名)+"
,"
+性别+"
+STR(年龄,2)+"
岁,"
+TRIM(职称)+"
。
THISFORM.TEXT2.VALUE=Y
查无此人!
评分标准:
(2)LOCAFOR…语句正确得2分
(3)IF…ELSE之间的命令序列正确得4分。
(4)ELSE…END之间的命令序列正确得1分。
注:
1.语