资源描述
期末测试题3
一、填空题(每题1分,共40分)
1.关系数据库中有3种基本操作,从数据库中取出满足条件的属性的操作称为 。
A.选择 B.投影 C.连接 D.扫描
2.关系理论中,将二维表表头中的栏目称为 。
A.数据项 B.元组 C.属性名 D.结构名
3.关系数据库管理系统应能实现的专门关系运算包括 。
A.排序、索引、统计 B.选择、投影、连接
C.关联、更新、排序 D.显示、打印、制表
4.关于数据表,下列说法错误的是 。
A.表中行的次序可以交换 B.表中列的次序可以交换
C.表中允许出现相同的行 D.表中不允许出现相同的列
5.“程序”是在“项目管理器”的 选项卡中。
A.数据 B.代码 C.文档 D.类
6.Visual FoxPro数据表中,逻辑型、日期型、整型和通用型字段的宽度分别为 。
A.1,8,2,4 B.3,8,2,4 C.1,10,4,4 D.1,8,4,4
7.在Visual FoxPro中,下列定义的变量名中,错误的是 。
A.ABC B.3A_4B C._CLIPTEXT D.A3_4B
8.29对-3取余、-29对3取余、-29对-3取余的值是分别是 。
A.-1,1,-2 B.2,-2,-2 C.-2,-2, 2 D.-1,-2,2
9.在Visual FoxPro中,以下赋值语句正确的是 。
A.STORE 8,9 TO X,Y B.X=8,Y=9
C.STORE 9 TO X,Y D.X,Y=8
10.可以用一维数组的形式引用二维数组元素,对于数组Y(3,4)来说,元素Y(2,3)与 是等价的。
A.Y(5) B.Y(6) C.Y(7) D.Y(8)
11.命令”DIME CC(3,4)”执行后,CC(2,2)的值为 。
A.0 B..T. C..F. D.无显示
12.ROUND(345.456,-2)的结果是 。
A.35 B.300 C.345.47 D.350
13.求一个3位正整数的十位数,正确的方法是 。
A.STR(N,2) B.VAL(N,2)
C.VAL(SUBS(N,2,1)) D.MOD(INT(N/10),10)
14.在下列的Visual FoxPro表达式中,运算结果为字符型数据的是 。
A."ABCD "+"EF"="ABCDEF" B."1234"-"34"
C.CTOD("05/08/03") D.DTOC(DATE())>"04/03/02"
15.若A=”北京理工大学”,要想在屏幕上显示“北理大”,应该使用的命令是 。
A.?SUBSTR(A,1,2)+SUBSTR(A,5,2)+ SUBSTR(A,7,2)
B.?SUBSTR(A,1,2)+RIGHT(A,4)
C.? LEFT(A,1,2) + SUBSTR(A,5,2)+RIGHT(A,2,2)
D.?LEFT(A,2)+ SUBSTR(A,5,2) + SUBSTR(A,9,2)
16.表达式NOT(3*2)**2=12 AND AT("CA","ABC")=1 OR SQRT(9)=ROUND(3.51,0)的结果是 。
A.0 B.1 C..T. D..F.
17.显示“学生档案.DBF”表中孙克同学年龄的命令是 。
A.LIST 出生日期 FOR 姓名="孙克"
B.LIST YEAR(DATE())-YEAR(出生日期) FOR姓名="孙克"
C.LIST DATE()-出生日期 FOR姓名="孙克"
D.LIST 年龄 FOR 姓名="孙克"
18.Visual FoxPro数据库管理系统的复合索引文件的扩展名是 。
A.IDX B.PRG C.CDX D.DBC
19.在CJ表关闭状态下将其复制出一张新表XCJ的命令是 。
A.COPY CJ TO XCJ
B.COPY FILE CJ TO XCJ
C.COPY TO XCJ
D.COPY FILE CJ.DBF TO XCJ.DBF
20.下列4个选项中,结果相同的是 。
A.AT("5", "36-5*4" )与LEN(" 36-5*4" )
B.YEAR(DATE())与SUBSTR(DTOC(DATE()),7,2)
C.假定A="this",B="is a string",A-B与A+B
D.LEFT("Visual FoxPro",6)与SUBSTR("Visual FoxPro",1,6)
21.下面命令执行后,显示的是记录号为 的记录。
USE 学生信息
GO 4
DISP NEXT 3
A.4 B.5 C.4,5,6 D.5,6,7
22.“表”菜单中的“追加新记录”和“显示”菜单中“追回方式”有何区别 。
A.前者只能实现追加一条新的空记录;后者可实现连续追加多条记录
B.前者可实现连续追加多条记录;后者只能实现追加一条新的空记录
C.两者均只能追加一条新的新记录
D.两者均能连续追加多条记录
23.设有关系SC(SNO,CNO,GRADE),其中SNO、CNO分别表示学号、课程号(两者均为字符型),GRADE表示成绩(数值型),若要把学号为“S101”的同学,选修课程号为“C11”,成绩为98分的记录插到表SC中,正确的语句是 。
A.INSERT INTO SC(SNO,CNO,GRADE)VALUES("S101","C11","98")
B.INSERT INTO SC(SNO,CNO,GRADE)VALUES("S101", "C11", "98")
C.INSERT ("S101","C11","98") INTO SC
D.INSERT INTO SC VALUES ("S101","C11",98)
24.打开一个数据库的命令是 。
A.USE B.USE DATABASE C.OPEN D.OPEN DATABASE
25.在Visual FoxPro中,数据库表的字段或记录的有效性规则的设置可以在 中进行。
A.项目管理器中进行 B.数据库设计器中进行
C.表设计器中进行 D.表单设计器中进行
26.已知已建立查询.QPR文件和视图.VUE文件,下列描述正确的是 。
A.两种文件的运行可分别用:DO 查询和DO 视图 来完成
B.用Ctrl+W,可保存该两个文件
C.查询.QPR用Ctrl+W来保存; 视图.VUE用Ctrl+S来保存
D.用DO 查询.QPR来运行该文件;用DO 视图.VUE来运行该文件
27.设有学生表S(学号,姓名,性别,年龄),查询所有年龄小于等于18岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL命令是 。
A.SELECT*FROM S WHERE 性别="女" AND 年龄<=18 ORDER BY 4 DESC INTO DBF WS
B.SELECT*FROM S WHERE 性别="女" AND 年龄<=18 ORDER BY 年龄 INTO DBF WS
C.SELECT*FROM S WHERE 性别="女" AND 年龄<=18 ORDER BY "年龄" DESC INTO DBF WS
D.SELECT*FROM S WHERE 性别="女" AND 年龄<=18 ORDER BY "年龄" ASC INTO DBF WS
28.对职称为教授的教师按工资由高到低排序,工资相同的职工按年龄由大到小排序,应使用的命令是 。
A.SORT TO XL ON 工资/A,出生日期/D FOR 职称="教授"
B.SORT TO XL ON 工资/D,出生日期/A FOR 职称="教授"
C.SORT TO XL ON 工资/A,出生日期/A FOR 职称="教授"
D.SORT TO XL ON 工资/D,出生日期/D FOR 职称="教授"
29.下列 语言被作为关系数据库的标准语言。
A.ISBL B.QUEL C. SQL D.QBE
30.查询设计器和视图设计器的主要不同表现在于 。
A.查询设计器有“更新条件”选项卡,没有“查询”去向选项卡
B.查询设计器有没有“更新条件”选项卡,有“查询”去向选项卡
C.视图设计器有“更新条件”选项卡,没有“查询”去向选项卡
D.视图设计器有“更新条件”选项卡,也有“查询”去向选项卡
31.设字段变量“工作日期”为日期型,“工资”为数值型,则要表达“工龄大于30年,工资高于1500且低于1800元”,其FoxPro表达式是 。
A.工龄>30.AND.工资>1500.AND.工资<1800
B.工龄>30.AND.工资>1500.AND.工资<1800
C.INT(DATE()-工作日期)/365)>30.AND.工资>1500.AND.工资<1800
D.INT(DATE()-工作日期)/365)>30.AND.(工资>1500.OR.工资<1800)
32.下面关于过程调用的叙述, 是正确的。
A.实参与形参的数量必须相等
B.当实参的数量多于形参的数量时,运行时出现错误
C.当形参的数量多于实参的数量时,多余的形参取逻辑值.F.
D.上面的B和C都对
33.在命令按钮组中,决定按钮数目的属性是 。
A.ButtonCout B.Buttons C.Value D.ControlSource
34.若要在表单MyForm中的CmdOK控件的Click事件中改变其Caption属性,正确的命令是 。
A.MyForm. CmdOK. Caption="退出" B.This.CmdOK. Caption="退出"
C.ThisForm.CmdOK. Caption="退出" D.ThisFormSet.CmdOK. Caption="退出"
35.要使表单运行时文本框内容显示"*",则需要设置的属性是 。
A.Caption B.Value
C.PassWord D. PassWordChar
36.以下属于非容器类控件的是 。
A.表单 B.图像 C.页框 D.文本框
37.有一菜单文件MAIN.MNX,要运行该菜单的方法是 。
A.执行命令DO MAIN.MNX
B.执行命令DO MENU MAIN.MNX
C.先生成菜单程序文件MAIN.MPR,再执行命令DO MAIN.MPR
D.先生成菜单程序文件MAIN.MPR,再执行命令DO MENU MAIN.MPR
38. 用菜单设计器设计的菜单保存后,其生成的文件扩展名为 。
A..SCX和.SCT B..MNX和.MNT C..FRX和.FRT D..PJX和.PJT
39.设计菜单要完成的最终操作是 。
A.创建主菜单及子菜单 B.指定各菜单任务
C.浏览菜单 D.生成菜单程序
40.不能作为报表数据源的是 。
A.数据库表 B.视图 C.查询 D.自由表
二、填空题(每空2分,共20分)
1.用二维表形式来表示实体之间联系的数据模型称为 ⑴ 。
2.代数式(a+b)7h ⑵ 。
3.在定义字段有效性规则进,在规则框中输入的表达式的返回值类型是 ⑶ 。
4.在Visual FoxPro中,参照完整性规则有插入、删除和 ⑷ 。
5.若已在1号工作区打开XS.DBF数据表,2号工作区打开CJ.DBF数据表,为了使未被使用的最小工作区为当前工作区,以便打开KC.DBF数据表,应执行命令 ⑸ 。
6.在Visual FoxPro中,已打开“STUDENT.DBF”表,要统计该表中学生记录数,应使用 ⑹ 统计命令
7.在SELECT-SQL语句中,分组用GROUP BY子句,排序用ORDER BY子句,表示条件表达式用 ⑺ 子句。
8.视图有两种,分别是 ⑻ 和远程视图。
9.若要将D盘VFPDIR设置为默认文件夹,应执行命令 ⑼ 。
10.在Visual FoxPro的对象引用中,THISFORM表示 ⑽ 。
三、阅读程序,写出程序运行结果或功能(每题5分,共25分)
【程序1】 【程序2】
SET TALK OFF SET TALK OFF
CLEA CLEA
INPUT"请输入数值:" TO X FOR J=1 TO 5
DO CASE ?STR(J,1)+ ")"
CASE X<0 FOR K=1 TO J
F=2*X+1 ??STR(J*K,6)
CASE X<5 ENDFOR
F=2*X-1 ENDFOR
OTHERWISE RETURN
F=2*X
ENDCASE
?F
RETURN
若是两次运行输入的数字依次是-5和6,
分别写出运行结果。
【程序3】 【程序4】
STORE 0 TO M,N SET TALK OFF
DO WHILE .T. PUBLIC X
N=N+2 X=1
DO CASE Y=2
CASE INT(N/3)*3=N DO SUB WITH Y
LOOP ? "X=",X, "Y=",Y
CASE N>10 RETURN
EXIT
OTHERWISE PROCEDURE SUB
M=M+N PARAMETERS A
ENDCASE PRIVATE X
ENDDO X=2*A
? "M=",M, "N=",N A=X-1
CANCEL ENDPROC
【程序5】
SET TALK OFF
CLEAR
USE XS
INDEX ON 奖学金 DESC TAG JXJ
SCAN FOR SUBSTR(学号,3,2) = "03"
IF 性别="女" AND 奖学金 > 0
?学号,姓名,奖学金
ENDIF
ENDSCAN
USE
RETURN
其中,程序中打开的数据表XS.DBF内容如表1所示。
表1 XS.DBF
学号
姓名
性别
奖学金
20080301
李小敏
女
380
20080201
姚大勇
男
1000
20080302
王菲
女
20080303
张显耀
男
180
20080202
赵灵
女
20080304
陈雅
女
800
四、程序设计与填空题(第1题7分,第2题8分,共15分)
1.编写程序,找出100-999之间的“水仙花数”。所谓水仙花数是指一个3位数,各位数字的立方和等于该数本身(如153=13+53+53)。
2.设计一个可供抽奖的表单。其中,客户数据表KHSJB.DBF的结构如下:
KHSJK(客户名C(8)、身份证号C(18)、商品名称C(14)、购货商店C(20)、购货日期D)
要求完成:
(1)从所有记录中随机抽取一个中奖信息并显示在Label3和Label4中。
(2)为了反复抽奖并防止同一个人两次被抽中,被抽中记录应该立即在数据表中加上逻辑删除标记。
(3)下次抽奖从余下的记录中随机抽取。
(4)抽奖结束恢复逻辑删除记录,关闭数据表并释放表单。
试将以下操作步骤和程序填写完整:
首先打开表单设计器,在该表单的 (1) 中加入客户数据表KHSJB.DBF,并按下图所示完成表单的控件布局与属性设置。
图1 表单运行界面
然后对表单命令按钮组的 (2) 事件编写代码:
DO CASE
CASE This.Value=1
SET DELETE (3)
COUNT TO JLS
IF JLS>0
ZJH=INT(JLS*RAND())+1
(4)
ThisForm.Label3.Caption="客户名"
ThisForm.Label4.Caption="身份证号"
(5)
ELSE
ThisForm.Label3.Caption=""
ThisForm.Label4.Caption=""
(6) ("没有客户信息,无法抽奖",48,"系统提示:")
ENDIF
ThisForm.Refresh
CASE This.Value=2
RECALL ALL
CLOSE ALL
ThisForm. (7)
(8)
参考答案
一、选择题(每小题1分,共40分)
1
A
2
C
3
B
4
C
5
B
6
D
7
B
8
A
9
C
10
C
11
C
12
B
13
D
14
B
15
D
16
D
17
B
18
C
19
B
20
D
21
C
22
A
23
D
24
D
25
C
26
D
27
A
28
B
29
B
30
D
31
C
32
C
33
A
34
A
35
D
36
D
37
C
38
B
39
D
40
C
二、填空题(每空2分,共20分)
1
⑴ 关系模型
2
⑵(a+b)^7*h或者(a+b)**7*h
3
⑶ 逻辑型
4
⑷ 更新
5
⑸ SELECT
6
⑹ COUNT
7
⑺ WHERE
8
⑻ 本地视图
9
⑼ SET DEFAULT TO D\VFPDIR
10
⑽ 当前表单
三、阅读程序,写出程序运行结果或功能(每题5分,共25分)
【程序1】 【程序2】
输入数值:-5 运行结果为: -9 1) 1
输入数值:6 运行结果为: 12 2) 2 4
3) 3 6 9
4) 4 8 12 16
5) 5 10 15 20 25
【程序3】 【程序4】
M=24 N=14 X=1 Y=3
【程序5】
20080304 陈雅 800
20080301 李小敏 380
四、程序设计与填空题(第1题7分,第2题8分,共15分)
1.程序代码如下:
方法1 方法2
SET TALK OFF SET TALK OFF
CLEA CLEA
FOR I=100 TO 999 FOR I=100 TO 999
A=INT(I/100) S=STR(I,3)
B=INT((I-100*A)/10) A=VAL(LEFT(S,1))
C=I-INT(I/10)*10 B=VAL(SUBS(S,2,1))
IF I=A^3+B^3+C^3 C=VAL(RIGHT(S,1))
??I IF I=A^3+B^3+C^3
ENDIF ??I
ENDFOR ENDIF
SET TALK ON ENDFOR
RETURN SET TALK ON
RETURN
2.填空如下:
(1)数据环境 (2) Click
(3) ON (4) GO ZJH
(5) Delete (6) MessageBox
(7) Release (8) Endcase
展开阅读全文