《Visual Foxpro》综合复习资料

更新时间:2024-01-11 13:37:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Visual Foxpro》综合复习资料

一、单项选择题

1 - 5、B A B D A

1、连编后可以脱离开Visual FoxPro独立运行的程序是( )

A)PRG程序 B)EXE程序 C)FXP程序 D)APP程序

2、假定表文件ABC.DBF前6条记录均为男生记录,执行以下命令后,记录指针定位在( )

USE ABC GO 3

LOCATE NEXT 3 FOR 性别 =\男\

A)第3号记录上 B)第4号记录上 C)第5号记录上 D)第6号记录上 3、设表文件“学生.DBF”中有10条记录,执行如下两条命令:

USE 学生 INSERT BLANK

其结果是在学生表文件的( )

A)第1条记录的位置插入了1个空白记录 B)第2条记录的位置插入了1个空白记录 C)文件尾插入了1个空白记录

D)不确定位置插入了1个空白记录

4、要为当前表所有职工增加100元工资,应该使用命令( ) A)CHANGE 工资 WITH 工资+100 B)REPLACE 工资 WITH 工资+100 C)CHANGE ALL 工资 WITH 工资+100 D)REPLACE ALL 工资 WITH 工资+100

5、在Visual FoxPro中,关于视图的描述正确的是( ) A)视图是从一个或多个数据库表导出的虚拟表 B)视图与数据库表相同,用来存储数据 C)视图不能同数据库表进行连接操作 D)在视图上不能进行更新操作 6 -10、D B B B D

6、以下关于空值(NULL)的叙述正确的是( )

A)空值等同于数值0 B)Visual FoxPro不支持NULL

C)空值等同于空字符串 D)NULL表示字段或变量还没有确定值 7、SQL是哪几个英语单词的缩写( ) A)Standard Query Language C)Select Query Language

B)Structured Query Language D)其他三项都不是

8、在Visual FoxPro中存储图像的字段类型应该是( )

A)字符型 B)通用型 C)备注型 D)双精度型

9、若某一个扩展名为.DBF的文件有3个备注型字段,则该文件对应的备注文件有( ) A)3个 B)1个 C)4个 D)0个

10、使用DLSPLAY命令时,若范围短语为ALL或REST,执行命令后,记录指针指为( ) A)首记录 B)末记录 C)首记录的前面 D)末记录的后面 11-15、C C C C A

11、( )是( )的具体表现形式,( )是( )有意义的表现。 A)信息、数据、数据、信息 B)数据库、信息、信息、数据库 C)数据、信息、信息、数据 D)数据、信息、数据库、信息

12、作为数据库管理系统(DBMS)功能的一部分,( )被用来描述数据及其联系。 A)数据定义语言 B)自含语言 C)数据操作语言 D)过程化语言 13、常见的3种数据模型是( ) A)链状模型、关系模型、层次模型 B)关系模型、环状模型、结构模型 C)层次模型、网状模型、关系模型 D)链表模型、结构模型、网状模型 14、数据库系统的特点不包括( ) A)数据共享

B)加强了对数据安全性和完整性保护

C)完全没有数据冗余 D)具有较高的数据独立性

15、数据操纵语言DML根据其实现方法可以分为( )和( )两大类。 A)自含型语言、宿主型语言 B)自主型语言、高级语言 C)高级语言、宿主型语言 D)高级语言、低级语言 16-20、C D B B A

16、关系模型中,一个关系就是一个( ) A)一维数组

B)一维表

C)二维表

D)三维表

17、在关系模型中,对关系的要求不包括( ) A)关系必须规范化

B)在同一关系中不允许出现完全相同的记录 C)在同一关系中不允许出现完全相同的字段 D)在同一关系中字段必须按顺序排列

18、从关系中指定若干个字段组成新的关系的操作称为( ) A)选择

B)投影 C)联接 D)关联

19、Visual FoxPro的表中的字段是一种( ) A)常量 B)变量 C)函数 D)表达式

20、备注型字段的数据内容存放在扩展名为( )的文件中。 A).FPT

B).DBF

C).MEM

D).TXT

21-25、D C D A B

21、在Visual FoxPro中,内存变量的类型是( ) A)在使用内存变量前定义的 B)由变量名规定的 C)由数据输入语句决定的 D)赋值时决定的

22、设A=[5*8+9],B=6*8,C=“6*8”,在下列表示形式中,只有( )是合法表达式。 A)A+B B)B+C C)A+C D)C-B 23、下列表达式中不符合Visual FoxPro语法要求的是( ) A)04/05/99 B)T+t

C)1234 D)2X>15

24、在下列表达式中,结果为真的是( ) A)“BEI”$“BEIJING” C)“BEFORE”$“E” A)23 B)34 26-30、A B C D B

B)“BEI”$“BEFORE” D)“BEIJING”$“BEI”

25、函数SUBSTR(“12345678”,3,2)的结果是( )

C)12 D)6

26、打开一个空表,EOF()和BOF()函数的结果是( ) A).T.和.T. B).F.和.F. C).T.和.F. D)不确定

27、对于向一个数据库添加自由表,下列那种说法是不正确的( ) A)可以将一个自由表添加到数据库中

B)可以将一个数据库表直接添加到另一个数据库中

C)可以在项目管理器中将自由表拖放到数据库中使它成为数据库表 D)将一个数据库表从一个数据库移至另一个数据库,则必须先使其成为自由表

28、要删除当前表文件中“补贴”字段的全部值,应使用的命令是( ) A)MODIFY STRUCTURE C)REPLACE

B)DELETE D)ZAP

29、Visual FoxPro表文件有100条记录,当前记录号是11,执行命令LIST后,记录指针将指向( ) A)第1条记录

B)第100条记录 D)文件结束标识位置

C)第101条记录

30、新建一个表JSNEW.DBF,其结构与表JS.DBF的结构完全相同,但记录不同,比较方便的建库命令是( ) A) USE JS

B) USE JS

COPY STRU TO JSNEW

COPY TO JSNEW

C) COPY FILE JS.DBF TO JSNEW.DBF D) CREAT JSNEW FROM JS 31-35、D B A B C

31、在下面的命令格式中,同时缺省范围、条件表示全部记录的是( )。 A)REPLACE B)DELETE C)DISPLAY D)SUM 32、若要在表中真正删除记录,先用DELETE命令,再用( )

A)RECALL B)PACK C)按ESC键 D)不用其他命令

33、对于尚未建立索引文件的表JS.DBF,查找职称为讲师的记录,应用命令( ) A)LOCATE ALL FOR 职称=“讲师” B)FIND 职称=“讲师” C)FIND 讲师

D)SEEK “讲师”

34、在Visual FoxPro中,用INDEX命令建立索引文件时,<关键字表达式>应该是( )。 A)只能由一个数值型字段组成

B)可以由多个字段组成,但表达式的值必须是数值型、字符型、日期型、逻辑型 C)只能是由数值型和字符型字段组成的合法表达式 D)任意字段组成的合法表达式

35、职工表及姓名索引文件都打开后,用FIND命令把指针指向姓“王”的记录,使指针指向下一个同姓记录的命令是( )

A)GOTO NEXT B)CONTINUE C)SKIP D)FIND 王 36-40、B D D A A

36、将打开的表中全部记录删除的命令为ZAP,与之等价的命令是( ) A)DELETE ALL B)DELETE ALL PACK C)DELETE D)RECALL ALL PACK

37、对已经打开的表文件ASDF.DBF按“性别”和“平均分”降序建立结构复合索引,应使用的命令是( )

A)INDEX TO XSPX ON 性别+平均分 B)INDEX TO XSPX ON 性别-平均分 C)INDEX ON 性别+平均分 TAG 性别

D)INDEX ON 性别+STR(1000-平均分) TAG 性别

38、使用MODIFY STRUCTURE命令时,为了避免丢失数据应注意几点,下列事项中不必要的是( )

A)不能同时修改字段名及其类型或宽度 B)不能同时修改字段名和插入新的字段 C)不能同时修改字段名和删除字段

D)不能在删除字段的同时修改其他字段的类型及宽度 39、SQL语言是( )的语言

A)关系型数据库 B)层次型数据库 C)网状型数据库 D)非关系型数据库

40、( )是面向对象程序设计中程序运行的最基本实体。 A)对象 B)类 C)方法 D)函数

二、判断题

1 - 5、√√××× 6-10、√×××√

1、数据模型是数据库管理系统中用来表示实体及实体间联系的方法。( ) 2、若当前记录号为1,则函数BOF( )的值可能为.T.,也可能为.F. 。( ) 3、命令DISPLAY FOR RECORD( )=3不能显示当前表的第3条记录。( ) 4、相继执行以下两条命令:M=[10+20] 和? M,屏幕上显示的输出结果是30。( ) 5、打开数据库时,其中的数据库表会自动打开。( )

6、利用菜单设计器设计菜单时,各菜单项及其功能必须由用户自己定义。( ) 7、对自由表XS.DBF建立索引后,XS.DBF中的数据全部按索引顺序存入索引文件中。( ) 8、在Visual FoxPro中,建立数据库表时,将年龄字段值限制在18~60岁之间的这种约束属于参照完整性约束。( )

9、有备注型字段的表文件,当删除所对应的表备注文件后,该表文件仍可打开。( ) 10、表单的数据源可以是表,也可以是视图。( )

三、填空题

1、用二维表表示实体及实体之间联系的数据模型的是________________。 2、字段变量可以与内存变量同名,若没有指明是哪种形式的变量,系统默认为是________________。 3、执行SET EXACT OFF命令后,命令\数据库\数据]的执行结果是_______。 4、命令LEFT(\,LEN(\计算机\的结果是_____________。 5、打开一个空表,函数EOF()的值为______。

6、在SELECT-SQL语句中,DISTINCT选项的功能是_______________________________。 7、在一个有10条记录的表中,执行LIST命令后,再执行SKIP -5,这时记录指针指向第__________条记录。

8、图片声音动画数据一般以___________类型的字段存储在数据库记录中。 9、SQL是一种___________________数据库的语言

10、在SQL查询时,使用where子句指出的是:_________________________。

11、学生档案表中有性别(c,2)和民族(c,8),要求找出所有民族是回族的女同学纪录的查找条件是_____________________。

12、可以接受数值型常量的输入命令是______________。

13、在SQL语句中要查询表s在AGE字段上取空值的记录,正确的SQL语句为: SELECT * FROM s WHERE ________________________。

14、在Visual Foxpro中,可以使用____________________语句跳出SCAN?ENDSCAN循环体执行ENDSCAN后面的语句。

15、与命令list的执行结果完全相同的另一个display命令应该是_______________。

16、在Visual Foxpro中,数据库表中不允许有重复记录是通过指定____________来实现的。

17、在SQL的SELECT语句进行分组计算查询时,可以使用_______________子句来去掉不满足条件的分组。

18、要在\成绩\表中插入一条记录,应该使用的SQL语句是:

___________ 成绩 (学号,英语,数学,语文) values (“2001100111”,9l,78,86)

19、职工的部门、职工号在“职工”表中,津贴在“工资”表中,两个表的公共字段是职工号,列出职工的部门、职工号和津贴等信息的SQL语句是:SELECT 职工.部门,职工.职工号,工资.津贴 FROM 职工,工资__________________________。

20、在Visual Foxpro中,数据库表S中的通用型字段的内容将存储在_____________文件中。

四、程序填空题

1、设供应商.DBF用于存放供应商信息,其字段有:姓名(字符型),电话(字符型),地址(字符型)。下面程序的功能是:查找电话号码中含有“123”的所有姓李的供应商的信息。请将程序填写完整。 SET TALK OFF CLEAR __________

DO WHILE .NOT. EOF()

IF SUBSTR(姓名,1,2)=“李” AND __________ ?姓名+电话+地址 __________ ENDDO USE

SET TALK ON RETURN

2、有如下程序段,其功能是显示汉字“2008年北京申奥成功!”从屏幕的顶部移至底部,设屏幕共24行。请填空补充该程序。 CLEAR

CH=〝2008年北京申奥成功!〞 R=1

DO WHILE ____________

@__________ , 26 SAY CH T=INKEY(0.2) _______________ ENDDO RETURN

3、表文件“xs.dbf”中记录如下 学号 S101 S102 S103 S104 S105 S106 S107 S108 S109 S110 姓名 张军 林平 任涛 何晓红 徐静 刘维海 李敏 马华远 李娜 赵菲 性别 男 男 男 女 女 男 女 男 女 女 成绩 90 66 50 76 82 86 92 60 76 78 阅读下列程序: CLEAR USE XS

INDEX ON –成绩 TO CJ1 GO TOP

DISP 姓名,成绩 N=0

LOCATE FOR 性别=女 AND 成绩>=80

DO WHILE .NOT. EOF() IF FOUND() N=N+1 CONTINUE ENDIF ENDDO ? N

CLOSE ALL RETURN

(1)程序第六行“DISP 姓名,成绩”执行结果显示是__________

(A) 张军 90 (B)赵菲 78 (C)任涛 50 (D)李敏 92 (2)程序运行完毕后,N的值为______________

(A) 2 (B)3 (C)4 (D)5 (3)关于循环中的CONTINUE,说法正确的是_________________ (A) 可以用SKIP语句代替,不影响程序执行结果 (B) 可以放到循环外,不影响程序执行结果 (C) 去掉CONTINUE,程序将进入死循环 (D) 去掉CONTINUE,不影响程序执行结果 4、数据库信息.DBC 中有数据库表职工.DBF,用SELECT 命令查询职工表中年龄不小于25岁、“职务”字段为“销售员”的职工的信息,结果按“部门号”字段值降序排列,请填空:

SELECT 部门号,职工号,姓名,职务,年龄; 人事!职工

WHERE 年龄>=25 职务=“销售员” ORDER BY 5、有图书表TS.DBF,其内容如下

记录号 书名 出版单位 单价 1 VFP数据库 电子科大 20.00 2 计算机基础 四川大学 25.00 3 信号与系统 电子科大 28.00 4 计算机网络 电子科大 27.00 5 计算机原理 四川大学 21.00 6 现代汉语 四川师大 23.00 7 操作系统 西南交大 24.00 阅读下列程序:

UPDATE TS SET 单价=单价+8 WHERE 出版单位=’四川师大’

SELECT 出版单位,AVG(单价) AS 单价 FROM TS GROUP BY 出版单位;

INTO DBF ABC

SELECT * FROM ABC WHERE 单价<28 ORDER BY 单价 DESC; INTO DBF ABC1 USE ABC1 ? 出版单位

(1) 新表ABC的记录数有______________个

(A)7 (B) 5 (C)4 (D)3 (2) 最后显示的出版单位是____________

(A)电子科大 (B)四川大学 (C)西南交大 (D)四川师大 (4)新表ABC1的记录数有_____________个

(A)3 (B)4 (C)5 (D)6

五、程序设计题

1、假设约定年龄不超过35岁的职工为青年职工;年龄在36岁至45岁的职工为中年职工;年龄超过45岁的职工为老年职工。从键盘输入任一职工姓名在STUD表中查找,显示其姓名、年龄以及所属的职工类型。

2、编程显示STUD表中所有男学员的姓名、工龄及工资。 3、从键盘输入N个数存入数组A中,找出其中的最大数。

4、打开STUD表,分别统计所有姓“张”学员的平均年龄和所有姓“王”学员的平均年龄。 5、有如下售书数据表BOOK.DBF,BOOK.DBF中的记录如下: 书号 单价 数量 总计 B0168 19.8 3 B6915 12.6 36 B9023 40.0 100 B4682 18.0 40 B6329 28.0 56 B8127 2.0 20

要逐条计算总计并填入“总计”字段之中,计算按照如下规则: 若数量小于等于10,总计等于“单价*数量” 若数量大于50,总计等于“单价*数量*(1-5/100)” 若数量在11与50之间,总计等于“单价*数量(1-10/100)” 6、从键盘输入任一自然数N,求小于等于N的自然数之和。

7、根据表SCORE(学号,课程号,成绩)中的数据,统计选修课程号分别为“000002”、“000005”和“000008”课程的人数以及这些课程的平均分。

8、设有一成绩表score.dbf,它由以下字段组成:姓名(C,8)、平时成绩(N,6.2)、期末成绩(N,6.2)、总成绩(N,6.2)、等级(C,6)。其中前3项已有数据,用SCAN循环编写程序计算并填写每一记录的“总成绩”和“等级”字段,他们的计算方法分别为:

1)总成绩计算方法:总成绩=平时成绩×30%+期末成绩×70% 2)等级计算方法:

总成绩≥90 “等级”为“优秀”; 75≤总成绩<90 “等级”为“良好”; 60≤总成绩<75 “等级”为“合格”; 总成绩<60 “等级”为“不合格”。

9、从键盘输入任一小于10的自然数N,求N的阶乘。

10、编写程序,在STUDENT数据库的STUD表中查找并显示任意一个学生学号、性别、班级

名、地址等基本情况。

11、在STUDENT数据库的STUD表中任意查找一同学,有此人就显示该生的姓名、性别、出生日期等信息,无此人就显示“查无此人”。

12、逐条显示在STUDENT数据库的STUD表中性别为“男”的所有记录。

《Visual Foxpro》综合复习资料参考答案

一、单项选择题

1 - 5、B A B D A 6 -10、D B B B D 11-15、C C C C A 16-20、C D B B A 21-25、D C D A B 26-30、A B C D B 31-35、D B A B C 36-40、B D D A A

二、判断题

1 - 5、√√××× 6-10、√×××√

三、填空题

1、关系模型 2、字段变量 3、true

4、”123456” 5、.t.

6、去掉重复记录 7、6

8、通用型 9、关系

10、查询条件

11、性别=”女” and 民族=”回族” 12、input

13、age is null 14、exit

15、display all 16、distinct 17、having 18、insert

19、where 职工.职工号=工资.职工号 20、备注

四、程序填空题

1、use 供应商.db、”123”$电话、skip

2、R<=24、R、R=R+1 3、D、A、C

4、FROM、AND、部门号 desc 5、C、B、A

五、程序设计题

1、假设约定年龄不超过35岁的职工为青年职工;年龄在36岁至45岁的职工为中年职工;年龄超过45岁的职工为老年职工。从键盘输入任一职工姓名在STUD表中查找,显示其姓名、年龄以及所属的职工类型。

SET TALK OFF CLEAR USE STUD

ACCEPT '请输入所查的姓名: ' TO XM LOCATE FOR 姓名=XM IF .NOT. FOUND()

?”查无此人” ELSE

NL=YEAR(DATE())-YEAR(出生日期) DO CASE

CASE NL<=35

?姓名,NL,”青年职工” CASE NL>35 .AND. NL<=45 ? 姓名,NL,”中年职工” OTHERWISE

? 姓名,NL,”老年职工”

ENDCASE

ENDIF USE

SET TALK ON RETURN

2、编程显示STUD表中所有男学员的姓名、工龄及工资。

SET TALK OFF USE STUD SCAN

IF 性别=”男”

? 姓名,YEAR(DATE())-YEAR(工作时间),工资 ENDIF ENDSCAN USE

SET TALK ON RETURN

3、从键盘输入N个数存入数组A中,找出其中的最大数。

SET TALK OFF CLEAR

INPUT “N=?” TO N

DIMENSION A(N) FOR I=1 TO N

INPUT \输入一个数\ TO A(I) ENDFOR

MAX=A(1) &&给存放最大数的变量MAX赋初值 FOR I=2 TO N

IF A(I) >MAX MAX=A(I) ENDIF ENDFOR

?”MAX=”,MAX SET TALK ON RETURN

4、打开STUD表,分别统计所有姓“张”学员的平均年龄和所有姓“王”学员的平均年龄。

SET TALK OFF CLEAR CNTZH=0 SUMZH=0 CNTWANG=0 SUMWANG=0

DO WHILE NOT EOF() IF 姓名=”张” CNTZH=CNTZH+1 SUMZH=SUMZH+(YEAR(DATE())-YEAR(出生日期)) ENDIF

IF 姓名=”张” CNTWANG=CNTWANG+1 SUMWANG=SUMWANG+(YEAR(DATE())-YEAR(出生日期)) ENDIF ENDDO

? “张姓学员的平均年龄为:”,SUMZH/CNTZH

? “王姓学员的平均年龄为:”,SUMWANG/CNTWANG SET TALK ON RETURN

5、有如下售书数据表BOOK.DBF,BOOK.DBF中的记录如下:

书号 单价 数量 总计 B0168 19.8 3 B6915 12.6 36 B9023 40.0 100 B4682 18.0 40 B6329 28.0 56 B8127 2.0 20

要逐条计算总计并填入“总计”字段之中,计算按照如下规则: 若数量小于等于10,总计等于“单价*数量”

若数量大于50,总计等于“单价*数量*(1-5/100)”

若数量在11与50之间,总计等于“单价*数量(1-10/100)” SET TALK OFF CLEAR USE BOOK

DO WHILE NOT EOF() IF 数量<=10 REPLACE 总计 WITH 单价*数量 ENDIF

IF 数量>50 REPLACE 总计 WITH 单价*数量*(1-5/100) ENDIF

IF 数量>=11 AND 数量<=50 REPLACE 总计 WITH 单价*数量*(1-10/100) ENDIF SKIP ENDDO

SET TALK ON RETURN

6、从键盘输入任一自然数N,求小于等于N的自然数之和。 SET TALK OFF CLEAR

S=0 T=0

INPUT “N=?” TO N DO WHILE T

S=S+T ENDDO ?”S=”,S

SET TALK ON RETURN

7、根据表SCORE(学号,课程号,成绩)中的数据,统计选修课程号分别为“000002”、“000005”和“000008”课程的人数以及这些课程的平均分。

SET TALK OFF

STORE 0 TO S2,S5,S8 STORE 0 TO N2,N5,N8 USE SCORE SCAN

DO CASE

CASE 课程号=”000002” N2=N2+1 S2=S2+成绩

CASE 课程号=”000005”

N5=N5+1 S5=S5+成绩

CASE 课程号=”000008”

N8=N8+1 S8=S8+成绩 ENDCASE ENDSCAN

P2=S2/N2 P5=S5/N5 P8=S8/N8

? “000002号课程选课人数”,N2, “000002号课程平均分”,P2 ? “000005号课程选课人数”,N5, “000005号课程平均分”,P5 ? “000008号课程选课人数”,N8, “000008号课程平均分”,P8 USE

SET TALK ON RETURN

8、设有一成绩表score.dbf,它由以下字段组成:姓名(C,8)、平时成绩(N,6.2)、期末成绩(N,6.2)、总成绩(N,6.2)、等级(C,6)。其中前3项已有数据,用SCAN循环编写程序计算并填写每一记录的“总成绩”和“等级”字段,他们的计算方法分别为:

1)总成绩计算方法:总成绩=平时成绩×30%+期末成绩×70% 2)等级计算方法:

总成绩≥90 “等级”为“优秀”; 75≤总成绩<90 “等级”为“良好”; 60≤总成绩<75 “等级”为“合格”; 总成绩<60 “等级”为“不合格”。 SET TALK OFF CLEAR

USE SCORE SCAN REPLACE 总成绩 WITH 平时成绩*0.3+期末成绩*0.7 IF 总成绩>=90 REPLACE 等级 WITH “优秀” ENDIF IF 总成绩>=75 AND 总成绩<90 REPLACE 等级 WITH “良好” ENDIF IF 总成绩>=60 AND 总成绩<75 REPLACE 等级 WITH “合格” ENDIF IF 总成绩<60 REPLACE 等级 WITH “不及格” ENDIF ENDSCAN SET TALK ON

RETURN

9、从键盘输入任一小于10的自然数N,求N的阶乘。 SET TALK OFF CLEAR

S=1

INPUT “N=?” TO N FOR T=1 TO N S=S*T ENDFOR ?”S=”,S

SET TALK ON RETURN 10、set talk off

clear

open database student use stud

accept “请输入学生的姓名:” to xm locate for 姓名=xm

? “学生”+xm+”的基本情况如下:” ? “学号”+学号 ? “性别”+性别 ? “班级名”+班级名 ? “地址”+地址 Close database Set talk on return

11、set talk off

clear

open database student use stud

accept “请输入待查学生姓名:” to aaa locate for 姓名=aaa if found() ? “姓名:”+姓名 ? “性别:”+性别 ? “出生日期:”+dtoc(出生日期) Else ? “查无此人!” Endif

Close database Set talk on return

12、set talk off

clear

open database student use stud

do while .not.eof() if 性别=”男” display endif skip enddo

close database set talk on return

本文来源:https://www.bwwdw.com/article/nxko.html

Top