文档库 最新最全的文档下载
当前位置:文档库 › 《数据库程序设计基础》模拟题A答案

《数据库程序设计基础》模拟题A答案

《数据库程序设计基础》模拟题A答案
《数据库程序设计基础》模拟题A答案

电子科技大学网络教育考卷(A 卷)

(20 年至20 学年度第 学期)

考试时间 年 月 日(120分钟) 课程 数据库程序设计基础 教师签名_____

一、单项选择题(每小题1分,共30分)

1、统计女生人数并将结果存放于变量X 中的命令是_________①_________ ①COUNT FOR .NOT. 性别="男" TO X ②COUNT FOR ( 性别="女")=.T. TO X ③SUM FOR ( 性别<>"男")=.T. TO X ④SUM FOR 性别="女" TO X

2、在已打开的表中,要永久删除当前记录位置开始的10条记录,可用_______①_____ ①先执行DELETE NEXT 10命令,后用PACK 命令 ②先执行DELETE RECORD 10命令,后用PACK 命令 ③先执行DELETE FOR RECORD> 10命令,后用PACK 命令 ④ZAP NEXT 10

3、按数值型字段“总分”进行索引,使其按降序排列的命令是_________①_________ ①INDEX ON -总分 TO WP ②INDEX ON 总分/A TO WP ③INDEX ON 总分 TO WP ④INDEX ON 总分/D TO WP

4、下列操作后,不改变表记录指针的命令是_________①_________ ①RECALL ②LIST ③SUM ④REPL ALL

5、按照数据库的数据模型分类,VFP 属于_________②_________ ①层次型 ②关系型 ③网状型 ④混合型

6、函数LEN(SPACE(5)-SPACE(1))的返回值是_________③_________ ①错误信息 ②17 ③6 ④4

7、某表文件中有日期型字段“出生日期”,设N='01/01/80',下列命令正确的是_________③_________ ①LOCATE FOR 出生日期='01/01/80' ②LOCATE FOR 出生日期=&N

③LOCATE FOR DTOC(出生日期)=N ④LOCATE FOR DTOC(出生日期)=CTOD(N)

8、从表customer 中提取所有记录生成查询,并将查询结果存放于表MyCursor 的SQL 命令为_________②_________ ①SELECT * FROM customer INTO CURSOR MyCursor ②SELECT * FROM customer INTO TABLE MyCursor

③SELECT ALL FROM customer INTO TABLE MyCursor ④CREATE SQL VIEWMyCursor ASSELECT * FROM customer 9、下列概念中,正确的是_________①_________

①在一个工作区中只能打开一个表文件,打开新的表文件后,原来所打开的表文件就自动关闭 ②一个表文件可以在不同的工作区同时打开 ③一个工作区中可以同时打开多个表文件

④一个表文件可以在不同的工作区同时打开,且一个工作区中可以同时打开多个表 10、将2009年国庆节的日期送入内存变量ND 的方法是_________②_________ ①ND=DTOC("10/01/09") ②ND=CTOD("10/01/09") ③STORE DATE()TO ND ④STORE 10/01/09 TO ND

11、表文件DD.DBF 有100条记录,当前记录号是10,执行DISPLAY ALL 命令后,记录指针向的记录号是_________④_________

①100 ②10 ③1 ④101

12、执行命令:ACCEPT "请输入出生日期:" TO MDATE 时,如果通过键盘输入CTOD("01/01/69"),则MDATE 的值应当是_________①_________ ①CTOD("01/01/69") ②"01/01/69"

③01/01/69 ④拒绝接受,MDATE 不赋值

13、在表结构中,逻辑型、日期型、备注型字段的宽度分别固定为_________④_________ ①3,8,4 ②1,6,4 ③1,8,任意 ④1,8,4

14、表与相应索引文件已经打开,内存变量XM="李春",执行时会产生逻辑错误的命令是_________④_________ ①LOCATE FOR 姓名=XM ②FIND &XM ③SEEK XM

④LOCATE FOR 姓名=&XM

15、以下命令中正确的是_________①_________ ①STORE 8 TO X,Y ②STORE 8,9 TO X,Y ③X=8,Y=9 ④X=Y=8

16、在非嵌套程序结构中,可以使用LOOP 和EXIT 语句的基本程序结构是_________②_________ ①TEXT--ENDTEXT ②DO WHILE--ENDDO ③IF--ENDIF ④DO CASE--ENDCASE

姓名__________________ 专业名称__________________ 班号________________学号__________________教学中心_________________

……………… …… … … … … …密………………… …… … … … … ……封……………… …… … … …线… … … …… … … ……………………

17、下面可使程序单步执行的命令是________③______

①SET STEP ON ②SET ESCAPE ON

③SET DEBUG ON ④SET STEP OFF

18、如果想从字符串"成都市"中取出汉字"都",应该用函数_________④_________

①SUBSTR("成都市",2,2) ②SUBSTR("成都市",2,1)

③SUBSTR("成都市",3,1) ④SUBSTR("成都市",3,2)

19、若使用REPLACE命令时,其范围子句为ALL或REST,则执行该命令后,记录指针指向_________④ _________

①首记录②末记录③首记录的前面④末记录的后面

20、若要恢复用DELETE命令删除的若干记录,应该_________①_________

①用RECALL命令②立即按[ESC]键

③用RELEASE命令④用FOUND命令

21、执行命令STORE CTOD('03/09/94') TO A后,变量A的类型为_________①_______

①日期型②数值型③备注型④字符型

22、在Visual FoxPro中,数据环境指定义表单或表单集时使用的______③_______

①数据②数据库③数据源④数据项

23、"电子科技大学"这六个汉字作为字符串常量,在VFP中,可表示为_______④______

①{电子科技大学} ②(电子科技大学)

③电子科技大学④"电子科技大学"

24、在VFP中,INPUT,APPEND,WAIT三条命令中可以接受字符的命令是_________③_________

①只有ACCEPT ②只有ACCEPT和WAIT

③都可以④只有WAIT

25、下列VFP表达式运算结果为日期型的是_________③_________

①04/05/97-2

②CTOD('04/05/97') - DATE( )

③CTOD('04/05/97')-3

④DATE( )"04/05/97"

26、职工工资数据库文件按基本工资字段升序索引后,再执行GO TOP命令,此时当前记录号是_________②

_________

①1 ②基本工资最少的记录号

③0 ④基本工资最多的记录号

27、当前数据库文件有20条记录,当前记录号是10。执行命令LIST REST以后,当前记录号是_________③_________

①10 ②20 ③21 ④1

28、对学生成绩数据库文件按总分/N/6.2降序、姓名/C/8升序索引。应当使用命令_________④_________

①INDEX TO ABC ON 总分,姓名

②INDEX TO ABC ON -总分,姓名

③INDEX TO ABC ON STR(-总分,5,1)+姓名④INDEX TO ABC ON STR(1000-总分) +姓名

29、把当前数据库文件中"性别"字段的值全部清除,但仍保留该字段,应当使用命令_________③_________

①MODIFY STRUCTURE ②DELETE

③REPLACE ④ZAP

30、命令SELECT 0 的功能是_________①_________

①选择区号最小的空闲工作区

②选择区号最大的空闲工作区

③选择当前工作区的区号加1的工作区

④随机选择一个工作区的区号

二、判断题(正确的划√,错误的划×,每小题1分,共10分)

( × )1、对象具有属性,而属性只能在设计阶段设置。

( × )2、一条命令可分几行写,在行结束处用“:”表示一行未完,转入下一行。

(√)3、建立自由表分两步:定义表结构和输入数据。

(√)4、表间的关系分三种:一对一关系、一对多关系和多对多关系。

(√)5、若要使用多个表,就要使用多个工作区。

(√)6、在应用程序中可以通过使用该工作区的表的别名来标识工作区。

(√)7、报表包括两个基本组成部分:数据源和布局。

(√)8、视图与查询相类似的地方是:可以用来从一个或多个相关联的表中提取有用信息。

(√)9、视图与表相类似的地方是:可以用来更新其中的信息,并将更新结果永久保存在磁盘上。

(√)10、一个视图在使用时,将作为临时表在自己的工作区中打开。

三、简答题(每小题5分,共10分)

1、FOR条件和WHILE条件有何区别?

答:当FOR和WHILE在同一条命令语句中使用时,系统规定WHILE子句优先。这两种子句的差别是:FOR子句能在整个数据表文件中筛选出符合条件的记录,而WHILE子句从当前记录开始顺序查找出满足条件的记录,一旦发现下面有一条记录不满足条件,就终止寻找。

2、GO TOP和GO 1在什么情况下其作用相同?在什么情况下不同?

答:(1)当表文件中有记录且没有主控索引时,GO TOP和GO 1是等价的。

(2)GO TOP和GO 1作用不同时的情况如下:

①如果当前文件没有记录,执行GO TOP,系统不会出错,而执行GO 1系统将报告记录越界。这时RECNO()的值仍为1,而RECCOUNT()=0。

②如果当前数据表文件有记录且有主控索引,执行GO TOP,系统将当前记录指针定位在主控索引的第一条记录上;而执行GO 1系统将当前记录指针绝对定位在数据表文件的第一条记录上。

四、程序填空题(请在横线上填入合适的语句,将程序补充完整。每小题5分,共15分)

1、SET TALK OFF

ACCEPT "输入表名:" TO KM

USE &KM

*显示最前面5条记录

________________________ DISP NEXT 5_________________________

WAIT

GO BOTTOM

*显示最后4条记录

SKIP –3

DISP NEXT 4

USE

2、有12个结构完全相同的表WY01,WY02,…….WY11,WY12,下列程序完成的功能是:顺序打开每一个表并浏览之. SET TALK OFF

G=1

DO WHILE G<13

DO CASE

CASE G<10

GW='WY0'+STR(G,1)

CASE G>=10

GW='WY'+ STR(G,2)

ENDCASE

USE &GW

BROW

_______________________G=G+1_________________________

USE

ENDDO

RETU

3、对TEACHER.DBF中的每条记录的SALARY字段作如下变化:若SALARY>=3000,则上浮3%,若SALARY<3000,则上浮6%

USE TEACHER

SCAN

IF salary >= 3000

REPLACE salary WITH salary * 1.03

ELSE

_______________ REPLACE salary WITH salary * 1.06_________________

ENDIF

ENDSCAN

USE

五、程序分析题(请将程序运行后的输出结果写在横线上。每小题5分,共15分)1、* a.prg

s=0

FOR i=1 TO 5

s=s+i

ENDFOR

?"s=",s

输出结果:__________________s=15__________________

2、CLEAR

STORE 2 TO I,C,T

DO WHILE I<=4

DO PR

?"F("+STR(I,1)+")="+STR(C,2)

I=I+1

ENDDO

?"T="+STR(T,2)

RETURN

PROCEDURE PR

C=C*2

T=T+C

RETURN

输出结果:________________________________________________ 答:F(2)=4

F(3)=8

F(4)=16

T=30

3、i=1

DO WHILE i<10

i=i+2

ENDDO

?i

输出结果:________________________11________________________

六、编程题(每小题10分,共20分)

1、编程在屏幕上显示“九九”乘法口诀表。

SET TALK OFF

CLEAR

FOR I=1 TO 9

FOR J=1 TO I

K=I*J

S=STR(K,2)

??STR(I,1)+"X"+STR(J,1)+"="+S+" "

ENDFOR

?

ENDFOR

SET TALK ON

2、逐条显示体检表中性别为“男”的所有记录。set talk off

clear

use 体检表

do while .not. eof()

if 性别="男"

?"*********************************"

display

endif

skip

enddo

use

set talk on

return

相关文档