河海大学VFP期末考试复习 下载本文

内容发布更新时间 : 2024/5/20 2:46:37星期一 下面是文章的全部内容请认真阅读。

B.打开一个数据库表,即自动打开其所对应的数据库 C.关闭一个视图或查询所对应的基表,即自动关闭该视图或查询 D.关闭一个视图或查询,则不会自动关闭其所对应的基表

44、在VFP的报表设计器中,报表的带区最多可以分为 (44) 个。 A、3 B、5 C、7 D、9

45、对于当前被打开的表文件,表中有若干条记录,若要在使用顺序上使记录指针向后移动8条记录,应使用的命令是 (45) 。

A.SKIP –8 B.GO 8 C.SKIP8 D.LOCA 8

46、MyLabel是派生于标签基类的子类,该子类的BackColor属性为兰色。在某表单上创建一个基于MyLabel类的标签对象Lb1,该对象的BackColor属性为绿色,则当运行该表单时,Lb1对象的背景颜色是 (46) 。 A、兰色 B、绿色 C、黄色 D、兰色与绿色的调配色 47、命令_SCREEN.ActiveForm.ActiveControl的引用对象是 (47) 。 A、当前活动表单 B、当前活动控件 C、指定表单 D、指定控件 48、命令DIMENSION W(2,3)定义了一个名为X的数组,并依次赋值W(3)=10,W(5)=20, W=30 命令后,数组元素W(1,1)、W(1,3)、W(2,2)的值分别是 (48) 。

A.0、10、20 B..f.、10、20 C.30、10、20 D.30、30、30 49、设S=“河海大学工商学院”,从中取出“工商”二字的表达式是__(49)___ 。 A、 SUBSTR(S,8, 4) B. SUBSTR(S,5, 2 ) C、 SUBSTR(S,9, 4) D. SUBSTR(S,9, 2 )

50、子类或对象具有延用父类的属性、事件和方法的能力,称为类的 (50) 。 A、封装性 B、抽象性 C、继承性 D、多态性

二.填空题:(25*2=50)

1、 利用页框对象的集合属性和计数属性可以对页框上所有的页面进行属性修改等操作,页

框对象计数属性的属性名是 (1) 。 2、VFP的菜单有两种:一般菜单和 (2) _菜单。

3、在VFP中,与表操作相关的系统函数有多个,如EOF()、BOF()、USED()等等。用于统计当前工作区中表的字段个数的函数是 (3) 。

4、在程序中将变量N定义为全局变量,可以使用 (4) 命令。

5、 如果要物理删除带有删除标志的记录,可使用命令 PACK,但在该命令执行前,必须将表以 ___(5)____方式打开。

6、 利用DBSETPROP()函数,可以设置当前数据库的属性,或设置当前数据库中表、表的字段和视图的有关属性。例如,要设置JS表中gh字段的标题属性,可以使用函数DBSETPROP(“ (6) ”, “FIELD”, “Caption”) 。

7、设Label1是某表单上一个标签控件,则利用Label1控件显示系统日期和时间,可以在该表单Init事件中使用语句THISFORM. (7) =TTOC(DATETIME())。

8. 在VFP中,组合框控件类似于列表框控件和文本框控件的组合。根据是否可以输入数据值,组合框分为下拉组合框和_____(8)______两种。

9. 已知某数据库中有学生表和成绩表,且两张表之间以建立了参照完整性(学生表为主表,

第 5 页 共 32 页

成绩表为子表)。如果将学生表中的某位同学的记录删除,则该同学在成绩表中的所有成绩记录将自动全部被删除。这是因为两表之间的参照完整性设置成了 (9) 。

10、编辑框(EditBox)的用途与文本框(TextBox)相似,但编辑框除了可以编辑文本框能编辑的字段外,还可以编辑 (10) 型字段。

11、用户使用CREATE TABLE-SQL命令创建表的结构时,字段类型必须用单个字母表示。对备注型字段,字段类型用单个字母表示时为 (11) 。 12. 已知学生(KC)表中含课程代号号(kcdh)、课程名(kcmm),成绩(CJ)表中含课程代号(kcdh)、成绩(cj)等字段。下列SQL命令用来查询每门课选课人数、优秀人数、不及格人数。请填空:

SELECT Kc.kcdh, Kc.kcm, COUNT(*) as 选课人数,;

SUM(IIF(cj.cj>=90,1,0)) AS 优秀人数,SUM(IIF(cj.cj<60,1,0)) AS 不及格人数; FROM sjk!kc INNER JOIN sjk!cj ; ON Kc.kcdh = Cj.kcdh;

GROUP BY ____(12)________ 13、运行以下程序后,VFP主窗口显示的结果是 (13) 。 CLEAR

N=0 S=0

FOR I=1 TO 10 IF N/2=INT(N/2) S=S+I ENDIF N=N+1

ENDFOR ? S

14、 以下程序可显示7~~ 1000以内能被7整除、且包含有数字5的所有整数,如35、56、105?等均为满足此条件的数。请填空: 【程序清单】

FOR N=7 TO 1000 (14)

CH=ALLT(STR(N)) IF ″5″$CH

?N ENDIF ENDFOR

15、专业表(ZY)中含有专业代号(zydh),专业名称(zymc),学制(Xz)等字段,学生表(XS) 中含有学号(Xh),姓名(Xm),姓别(Xb),专业代号(zydh)等字段,完善下列语句以实现查询哪些专业在学生(XS)表中尚未有该专业的学生 (即在学生表中没有该专业代号) 。 【程序清单】 SELECT * FROM ZY ; WHERE ZY.ZYDH (15) ; (SELECT XS.ZYDH FROM xs)

第 6 页 共 32 页

16、完善下列程序,以实现计算1!、2!、3!、4!?n!的前10项之和:

【程序清单】 SET TALK OFF S=0

P= ( 16) FOR N=1 TO 10

P=P*N

S= (17)

ENDFOR ? S

17. 表单Form1中有一个文本框(TEXT1)和一个列表框(LIST1):当用户在文本框中输入文本并按回车键后,则该文本框内容作为一个列表项添加到列表框中,要实现以上功能,则应在文本框的KeyPress事件设置如下事件代码:

LPARAMETERS NKEYCODE, NSHIFTALTCTRL IF NKEYCODE=13 THISFORM.LIST1.ADDITEM(THIS.VALUE) THIS.VALUE=\ENDIF

当用户在列表框中双击某列表项,则该列表项从列表框中移去,并将该列表项作为文本框内容。要实现以上功能,则应在列表框DblClick事件中设置如下事件代码: THISFORM.TEXT1.VALUE=THIS.LIST(THIS.LISTINDEX) THIS. (18) 。

DZ.dbf结构 字段名 借书证号 单位 姓名 性别 职称 地址 字段类型 C(6) C(18) C(8) C(2) C(10) C(20) JY.dbf结构 字段名 借书证号 总编号 借书日期 还书日期 字段类型 C(6) C(10) D(8) D(8) 18、设某图书馆图书管理数据库中有三张表:TS.dbf 、DZ.dbf 与JY.dbf。表结构如下:

TS.dbf结构 字段名 总编号 分类号 书名 出版单位 作者 单价 馆藏册数 字段类型 C(10) C(10) C(8) C(20) C(8) N(7,2) N(4) 完善下列语句以查询该图书馆各出版社出版图书的馆藏总册数、总金额、平均单价。

SELECT 出版单位,SUM(馆藏册数) AS馆藏总册数, ; (19) AS 总金额,AVG(单价) AS平均单价; FROM 图书管理!TS ; GROUP BY 出版单位

完善下列语句以查询借阅了10本(含10本)以上图书的读者姓名和单位。

SELECT DZ.借书证号,DZ.姓名,DZ.单位, COUNT(*) as 借阅次数, ;

FROM 图书管理!DZ INNER图书管理!JY ; ON DZ. 借书证号= JY. 借书证号;

第 7 页 共 32 页

GROUP BY 1 ;

HAVING (20)

19.下列程序的功能是:十进制数字字符串转换为二进制数字字符串。其基本算法是“除2取余法”。要求:在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。该程序只有两处错,请将错误语句找出并改正后分别填入 (21) 和 (22) 。

LOCAL cDec,cBin,nDec,n cDec=\ && 十进制字符串 cBin=SPACE(0) && 二进制字符串 nDec=VAL(cDec) IF cDec=\ cBin=\ELSE DO WHILE nDec>0 n=MOD(nDec,10) nDec=INT(nDec/2) cBin=STR(n,1)+cBin ENDW ENDIF

cMsg=\十进制数 \的二进制表示为:\? cMsg 20、下图是一个可供逐条记录翻看学生表内容的表单,该表单的Caption属性为: (23) 。以下程序代码是命令按钮组的Click事件代码,请将其填充完整。

DO CASE

CASE THIS.value=1

(24) IF BOF()

GO TOP

ENDIF

THISFORM.Refresh CASE THIS.value=2

SKIP IF EOF()

第 8 页 共 32 页