VF模拟试题 及答案

更新时间:2024-05-23 23:03:01 阅读量: 综合文库 文档下载

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

《VFP程序设计》期末模拟试卷-Ⅰ

一、判断正误(对的打√号,错的打X号,每题1分,共10分)

( X)1、 利用VAL函数实现字符型数据到数值型数据的转换时,要转换的字符串必须全部由数字字符组成,否则将无法转换。

( √)2、 数据库管理技术的发展经历了人工管理阶段、文件管理阶段和数据库系统阶段。 ( √)3、 若希望避免用户向自由表中的某字段输入重复数据,则应该根据此字段建立候选索引,以便自动进行惟一性检查。

( X)4、 COUNT、SUM和AVERAGE命令中若缺省<范围>子句,其默认的记录范围仅为当前记录。

(√ )5、 工作区选择命令SELECT中既可使用表别名,也可以使用工作区别名或工作区编号来指定欲选择的工作区。

(√)6、 Visual FoxPro中一个工作区中只能打开一个表,但同一个表可以在不同的工作区中同时被打开。

(X)7、 循环结构中,LOOP语句的功能是退出循环,执行循环结构的下一条语句。 (√)8、 主索引只能在数据库表中指定,而候选索引在数据库表和自由表中都可使用。 ( X)9、 Visual FoxPro中的命令按钮组、文本框、表格、选项按钮组等都属于容器类控件。

( √ )10、系统提供的查询设计器和查询向导建立的查询保存时会产生一个扩展名为.QPR的文件,运行后才能得到查询结果。

二、单项选择(请将答案填在每题的括号内,每题1分,共20分) 1、保存在计算机中具有一定结构的相关数据的集合称为( )。

(A)数据库 (B)数据库系统 (C)数据库管理系统 (D)数据结构 2、利用数据库技术进行人事档案管理是属于计算机的( )。

(A)科学计算应用 (B)过程控制应用 (C)数据处理应用 (D)辅助工程应用 3、Visual FoxPro 6.0 管理的数据库是( )型数据库。

(A)网络 (B)层次 (C)关系 (D)链状

4、Visual FoxPro 6.0系统提供的FOR<条件>子句与一些相关的命令配合使用可以方便地实

现关系运算中( )的操作。 (A)投影 (B)复制 (C)选择 (D)关联 5、数据的完整性是指( )。

(A)数据的存储与使用数据的程序有关 (B)防止数据被非法使用

(C)数据的正确性、合理性和一致性 (D)减少系统中不必要的重复数据 6、在Visual FoxPro数据库管理系统中,下列数据属于常量的是( )。

(A).n. (B) F (C) 07/08/99 (D) ALL 7、在下列Visual FoxPro表达式中,运算结果一定是逻辑型值的是( )。 (A)字符表达式 (B)数值表达式 (C)关系表达式 (D)日期表达式 8、如果想从字符串“青岛市”中取出汉字“岛”,应该使用函数( )。 (A)SUBSTR(“青岛市”,2,2) (B)SUBSTR(“青岛市”,2,1) (C)SUBSTR(“青岛市”,3,1) (D)SUBSTR(“青岛市”,3,2) 9、逻辑运算符从高到低运算优先级是( )。 (A)NOT OR AND (B)NOT AND OR (C)AND NOT OR (D)OR NOT AND

10、用LOCATE命令查找出满足条件的第一个记录后,若要继续查找满足条件的下一条记录,

应该用( )命令。 (A)SKIP (B)GO (C)NEXT (D)CONTINUE

11、用FOR?ENDFOR组织的循环结构中,如省略步长则系统默认步长是( )。 (A)0 (B)-1 (C)1 (D)2

12、在Visual FoxPro的表文件(.DBF)中,逻辑型、日期型、通用型和备注型字段的宽度

分别为( )。 (A)1,8,4,4 (B)2,8,10,4 (C)1,8,10,10 (D)2,8,任意,任意

13、定义一个表的结构时,需要指明表中包含多少个字段,每个字段的字段名、( )、

宽度和小数位数等结构参数。 (A)别名 (B)含义 (C) 作用 (D)类型 14、下面关于表的索引的描述中,错误的是( )。 (A)复合索引文件的扩展名为.CDX

(B)结构化复合索引文件随着表的打开而自动打开

(C)当对表进行编辑修改时,系统会自动对结构化复合索引文件中的索引进行维护 (D)每张表只能创建一个主索引和候选索引

15、记录逻辑删除DELETE命令不带任何范围和条件时,表示( )。 (A) 删除当前记录 (B)删除从当前记录开始往后的全部记录 (C) 全部记录 (D)删除从当前记录开始往前的全部记录 16、若要选中表单中的多个控件对象,可按住( )键的同时再单击欲选中的控件对象。 (A)SHIFT (B)CTRL (C) ALT (D)TAB 17、表单的( )方法用于从内存中释放表单。

(A)Release (B)Refresh (C) Show (D)Hide 18、Visual FoxPro中的This关键字是对( )的引用。

(A)当前对象 (B)当前表单 (C) 任意对象 (D)任意表单 19、命令按钮的( )属性指定了其表面上显示的文本。

(A)Name (B)Enabled (C) Caption (D)Picture

20、无论是通过表单向导还是表单设计器,所设计的表单保存时都会形成扩展名为( )

文件。 (A)SCX (B)PRG (C) DBC (D)DBF

三、填空题(每空1分,共15分)

1、数据库系统的核心是 数据库管理系统 。

2、在关系数据库的基本操作中,从表中取出若干个属性(字段)列的操作称为投影,为实

现该操作,Visual FoxPro中的一些对表操作的命令经常用 FIELDS 短语指定取出的相关属性列。 3、?MOD(12,-9) 的返回值是 -6 ;?”World”$”World Wide Web”的结果

是_____.T.__________。 4、?INT(4.9)的返回值是 4 ;?3+3>=6 .AND “CARD”>”CARE”的结果

是 .F. 。 5、?2+8 > 4 +5 and (not .t. or \的结果是 .T. ;?Str(1234.5678,

6,1) 的结果是 1234.6 。 6、Visual FoxPro中若创建的数据表中包含备注型字段,则备注型字段内容会自动保存在

一个与表文件主名相同,但扩展名为 .FTP 的文件中。 7、永久关系是数据库表间的关系,在数据库设计器中表现为表索引之间的 连线 。 8、SQL语言的数据查询语句SELECT中,用 DISTINCT 子句去掉重复的记录。 9、首次启动报表设计器时,报表布局中只有3个带区,它们是页标头、 细节 和页注脚。 10、结构化程序所使用的三种基本控制结构是顺序结构、 选择结构 和循环结构。 11、对象的特征和行为称为对象的属性,对象能执行的操作称为对象的 方法 ,

对象能够识别的外界动作称为 事件 。

四、数据表操作(20分)

1、若要在第2号工作区中,以“XS”为别名打开“STUDENT.DBF”表文件的命令是 USE STUDENT ALIAS XS IN 2。

2、若STUDENT.DBF具有10条数据记录,则在交互方式下依次顺序执行下列命令序列,请空

格处填上屏幕的显示结果。 USE STUDENT.DBF

?RECNO(),BOF() 1 .F. SKIP –1

?RECNO(),BOF() 1 .T. GO BOTTOM

?RECNO(),EOF() 10 .F. SKIP +1

?RECNO(),EOF() 11 .T.

3、若有图书库存表“BOOKSTORE.DBF” (书号N 5,书名C 20,作者C 8,出版日期D 8,

出版社C 10,定价N 5,2,册数N 5,总价N 8,2 ),部分数据记录如下,请给出完成下列任务的Visual FoxPro命令。

(1)若需要按“书号”为索引关键字表达式建立索引标记名SH的普通索引(保存在其结构

化复合索引文件中)且并指定为主控索引。 index on书号 tag sh

(2)按“总价=定价*册数”修改计算表中全部记录的“总价”字段。 Replace all总价 with 定价*册数

(3)显示出版日期在2003以后且册数大于150的图书的全部信息。 List all for year(出版日期)>=2003 and 册数>150

(4)根据BOOKSTORE.DBF表产生一个仅包含“高教出版社”数据记录的新表GJBOOK.DBF。 Copy to GJBOOK for出版社=“高教出版社”

(5)用SELECT-SQL语句查询“出版日期”在2004年以前的书号、书名、册数等字段信息

并按出版社进行排序,查询结果在浏览窗口中显示。 Select书号、书名、册数 from BOOKSTORE; Where year(出版日期)<2004; Order by 出版社

五、程序阅读与填充(20分)

1、下列程序片段的执行结果是 55 。

S=0

FOR I=1 TO 10

S=S+I ENDFOR ? S

2、下列程序片段实现了将STUD.DBF中所有男生的数据记录的输出,请在画线处填上正确的

语句。

USE STUD

DO WHILE .NOT.EOF() IF 性别=”男”

DISPLAY

WAIT ”按任意键继续显示下一条记录!” ENDIF

Skip ENDDO USE

3、下列程序片段完成了程序运行时,根据所输入的姓名从XSDA表(包含姓名字段)中查找记录的操作,若查找到则显示其学号、姓名、专业信息,若无则显示“查无此人!”。要求在画线处填上适当的程序代码。

USE XSDA.DBF

ACCEPT “请输入待查学生姓名:” TO NAME

LOCATE for 姓名=name IF found()

? ”学号:”+学号+”姓名:”+姓名+ ”专业:”+专业 ELSE

? ” 查无此人!” ENDIF

USE

4、下列程序片段执行后,T的结果为 120 。

T=1 I=1

DO WHILE I<=5

T=T*I I=I+1 ENDDO ?T

5、下列程序片段的功能是判断所输入的一个字符是属于字母、数字或特殊符号(字母、数字之外的符号),请在画线处填上适当的程序代码。

ACCEPT “请输入一个字符:” TO cVar DO CASE

CASE UPPER(cVar)<=”Z”.AND.UPPER(cVar)>=”A”

? cVar, ”是字母!”

CASE cVar>=”0” .AND. cVar<=”9”

? cVar, ”是数字!”

otherwise ? cVar, ”是特殊符号!” ENDCASE

6、下列程序片段执行后,Y的结果为 5 。

X=0 Y=0

DO WHILE X<10 X=X+1

IF INT(X/2)<>X/2

Y=Y+1 ENDIF ENDDO ?Y

7、下列的程序实现了一个圆环面积的计算并输出结果。其中,圆面积计算代码按自定义函

数形式组织,函数名为AREA,要求在画线处填上适当的程序代码。 * ============= 主程序 ============= INPUT “请输入大圆的半径:” TO R1 INPUT “请输入小圆的半径:” TO R2

S=AREA(R1)-AREA(R2) &&调用函数AREA

?”圆环的面积:”+ str(s,8,1) RETURN

*=======完成圆面积计算的自定义函数======== FUNCTION AREA(R)

S=PI( )*R^2

Return s

ENDFUN

六、编程(共15分)

1、编写程序,统计1~100之间所有能被7又能被3整除的整数的个数。(5分) x=0

for i=1 to 100

if mod(i,3)=0 and mod(i,7)=0 x=x+1 endif endfor

?\之间所有能被7又能被3整除的整数的个数:\retu

2、编写程序实现从键盘上输入正整数N,计算1!+2!+??+N!。要求N的阶乘计算代码按函

数的形式来组织,过程名为JC,请写出完整的程序代码。(5分) input \输入正整数N:\sum=0

for i=1 to n sum=sum+jc(i) endfor

?\ retu

function jc(m) t=1

for j=1 to m t=t*j endfor retu t

3、若设计如下图所示的求解一元二次方程根的表单程序,其中方程的三个参数从表单的文

本框(Text1、Text2、Text3)中输入,单击“求解”按钮求实数根,所求实数根显示在文本框(Text4和Text5)中。(5分)

要求(1)简单写出在Visual FoxPro设计如下表单的基本过程(2)请写出“求解”和“退出”按钮的Click事件过程代码。

求解:a=val(thisform.text1.value) b=val(thisform.text2.value) c=val(thisform.text3.value)

d=b^2-4*a*c if d>=0

thisform.text4.value=(-b+sqrt(d))/(2*a) thisform.text5.value=(-b-sqrt(d))/(2*a) else

thisform.text4.value=“无实根” thisform.text5.value=“无实根” endif

退出:thisform.release

《Visual FoxPro程序设计》期末模拟试卷-Ⅱ

一、判断正误(对的打√号,错的打X号,每题1分,共10分)

(√)1. 数据管理技术的发展经历了人工管理阶段、文件系统阶段和数据库系统阶段。 (√)2. 关系的三种基本运算中,投影是指从一个关系中选取若干个属性(列)的操作。 (X)3. 备注型字段系统默认的宽度为4,因此该字段只能存放占四个字节的数据信息。 (X)4.无论执行何种操作,Visual FoxPro系统菜单栏总是一成不变的。

(X )5.备注型字段系统默认的宽度为4,因此该字段只能存放占四个字节的数据信息。 (√)6. Visual FoxPro中的一个简单变量、常量或者函数也是表达式。

(√)7. 结构化复合索引文件随着表的打开而自动打开,随着表的关闭而自动关闭。 (X )8. Visual FoxPro中,内存变量的类型一经确定,就再也不能改变其类型了。 (X )9. 程序中若用INPUT语句实现数据的输入,则在程序运行时不能输入字符型数据。 ( √)10. 在Visual FoxPro中,表单(Form)是指窗口界面。 二、单项选择(请将答案填在每题的括号内,每题1分,共20分)

1. 计算机系统中按照一定的数据模型组织、存储的数据集合称为______。

A. 数据文件

B. 数据软件 C. 数据系统

D. 数据库

2. 学生选课时,一名学生可以选择多门课程,一门课程可以由多名学生选择,这说

明学生数据表与课程数据表之间的关系是______。 A. 一对多

B. 多对多

C. 一对一

D. 多对一

3. 下列四个函数中,函数值为数值型的是______。

A. BOF() B. AT(”中心”,”计算机科学实验教学中心”)

C. CTOD(”10/01/99”) D. SUBSTR(“青岛大学”,5)

4. 若要逻辑删除当前数据表中的全部数据记录,正确的操作命令是______。 A. PACK

B. ZAP

C. DELETE D. DELETE ALL

5. 下列表达式中不符合VFP规则的是______。 A. “04/05/97”

B. T+T C.VAL(“1234”) D. 2X>15

6. 若当前工作区为A,利用SET RELATION命令将A工作区中的表文件按关键字段“W”

与B工作区中打开的表文件建立关联的命令为______。 A.SET RELATION TO B INTO W

B.SET RELATION TO W INTO B

C.SET RELATION ON B INTO W D.SET RELATION ON W INTO B

7. 若当前工作区打开的表中包含有基本工资(数值型)字段,若要将记录指针定位

到第一个基本工资高于1200的记录上,应使用命令______。 A. SEEK 基本工资>1200

B. FIND 基本工资>1200

D. LOCATE FOR 基本工资>1200

C. FIND FOR 基本工资>1200

8. 在一个有算术、关系、逻辑运算的表达式中,如果没有括号,它们的运算顺序为______。 A. 逻辑、算术、关系

B. 逻辑、关系、算术 D. 关系、逻辑、算术

C. 算术、关系、逻辑

9. 统计表记录数量的命令是______。 A. COUNT B. SUM

C. AVERAGE D. TOTAL

10.Visual FoxPro的结构化索引文件扩展名是______。 A. .NDX

B. .DBF

C. .CDX

D. .DBC

11.执行LIST NEXT 1命令后,当前表记录指针指向的位置是______。 A. 下一条记录

B. 原来记录 C. 尾记录

D. 首记录

12.逻辑运算符从高到低的运算优先级是______。 A. NOT OR AND B. NOT AND OR C. AND NOT OR D. OR NOT AND

13.函数ROUND(-8.8,0)结果是______。 A. 8 B. -8 C. 9 D. -9

14.若要建立或打开程序文件(.PRG),则在命令窗口中所使用的命令是______。 A. MODI STRU B. MODI COMM C. EDIT

D. CREATE

15.查询设计器建立的查询运行后,系统默认将查询结果输出到______。

A. 命令窗口 B. 浏览窗口 C. 视图窗口 D. 表单窗

口 16.在Visual FoxPro中,其扩展名是.QPR的文件是______。

A. 备注文件

B. 查询文件 C. 数据库文件

D. 报表格式文件

17.SQL语言中的数据查询语句SELECT指定分组查询的短语是______。

A. ORDER BY

B. GROUP BY C. HAVING D. ASC

18.若在Visual FoxPro中建立名为“员工管理”的数据库,则可在命令窗口中执行______。

A. OPEN DATABASE 员工管理 B. CREATE DATABASE 员工管理 C. USE DATABASE 员工管理

D. CREATE 员工管理

19.若YUANGONG表中有“部门”和“工资”两个字段,其中,“工资”字段为数值型,若要按部门分类汇总“工资”总和,并把结果保存到GZZH表中,应使用的汇总命令为______。

A. SUM 部门 TO GZZH

B. TOTAL ON 部门 TO GZZH FIELDS 工资

C. SUM 工资 TO GZZH D. TOTAL ON 工资 TO GZZH FIELDS 部门 20.在Visual FoxPro的命令窗口中执行程序文件FM.PRG的命令为______。

A. DO PROGRAM FM.PRG B. DO FM.PRG C. FM.PRG D. RUN FM.PRG

三、填空题(每空1分,共20分)

1. 数据库系统的核心是 DBMS 。

2. 用二维表来表示实体之间联系的数据模型称为_关系模型_______。

3. 命令?ROUND(337.2007,3)的执行结果是 337.201 ,命令?LEN(\

BOOK\的结果是 15 ,命令函数?IIF(LEN(“3”)=3,1,-1)的值是 -1 。

4. 关系的完整性通常包括_实体完整性_、参照完整性和用户定义完整性。

5. 执行Visual FoxPro的 QUIT 命令亦可以退出FoxPro系统。

6. VFP中一条命令可以分多行书写,在一行未写完时行尾必须用一个续行标志,续

行标志的是 ; 。

7. Visual FoxPro中,若要改变系统默认的工作目录,则可在“选项”对话框中的

_文件位置_选项卡中进行设置。

8. VFP中的COPY TO <表文件名> FOR <条件>命令实现的是关系三种运算中的 选择

运算操作。

9. 若在Visual FoxPro中选择一个没有使用且编号最小的工作区的命令是 IN

0 。

10.Visual FoxPro中,根据变量作用域的不同可分为全局变量、局部变量__和隐藏(私有)

变量3种。

11.若表中含有一个数值字段,其中需要保存4位整数和2位小数且有可能是正数或负数,

则其字段宽度最少应为__8___。

12.在Visual FoxPro中,只有_数据库__表才能够设置字段的默认值。

13.Visual FoxPro是一种关系数据库管理系统,它在支持标准的面向过程的程序设计方式

的同时,还支持面向对象_的程序设计方式。

14.对象的特征和行为称为对象的属性,对象能够执行的操作称为对象的方法,对象能识别

的外界动作称为对象_事件__。

15.若在当前工作区打开STUDENT.DBF表的同时指定ST为其表别名,则相应的命令或语句为

use student alias st_。

16.程序设计的三种基本结构包括顺序_、__选择_和_循环__。

四、叙述题(每小题4分,共20分)

若“员工管理.DBC”数据库中包含有RSDA和SALARY 两个表,并且两个表通过公共字段“编号”可以建立起一对一的关系,请写出完成如下操作任务的命令。两个表的结构如下: RSDA(编号 C(4),姓名 C(8),性别 C(2),婚否(L),出生日期 D,工作时间 D,部门C(8))

SALARY(编号 C(4),基本工资N(7,2),奖金 N(4,0),所得税 N(7,2),实发工资 N(7,2)) 1.利用COPY命令,由RSDA表创建仅包含部门为“技术部”人员记录的表JSB.DBF。 Copy to jsb for 部门=“技术部”

2.若要对RSDA表根据“编号”建立结构化复合索引文件,索引标记名为“BH”。 Index on 编号 tag bh

3. 按“实发工资=基本工资+奖金-所得税”替换SALARY表中所有记录的“实发工资”字段。

Replace all 实发工资with 基本工资+奖金-所得税

4.利用SQL语言的SELECT语句查询RSDA表中“工作时间”在1988年1月1日以前人员的“姓名”、“部门”、“工作时间”等字段的信息,查询结果在浏览窗口中显示。

Select姓名,部门,工作时间 from rsda where工作时间<{^1988/01/01} 5.基于RSDA和SALARY两个表,利用SQL语言的SELECT语句建立一个包含各位员工相应“编号”、“姓名”、“部门”和“实发工资”的新表SFGZ.DBF。

Select a.编号,a.姓名,a.部门,b.实发工资; From rsda a,salary b; Where a.编号=b.编号; Into table sfgz

五、程序阅读题(每空2分,共10分)

1.若STUDENT.DBF是一个有10条记录的表文件,若在交互方式下依次顺序执行如下命令序列,请空格处填上屏幕的显示结果。

USE STUDENT.DBF ?RECNO(),BOF() 1 .f. SKIP –1

?RECNO(),BOF() 1 .t. GO BOTTOM

?RECNO(),EOF() 10 .f.

2. 执行下列程序代码片段后,屏幕上的输出是_55_____。

T=0

FOR I=1 TO 10 T=T+I ENDFOR ?T

3. 若运行下列的程序文件,屏幕上的输出是__10,100_。

**********主程序********* STORE 10 TO S,T

DO SUB &&调用过程SUB ?S,T RETURN

**********过程SUB******** PROCEDURE SUB PRIVATE S S=100 T=100 RETURN

六、程序填空题(每空2分,共10分)

1. 下列程序完成了1~100之间所有偶数和的计算,请把程序中的空缺部分填上。

STORE 0 TO X,Y DO WHILE x<=100

X=X+1

IF int(x/2)=x/2 Y=Y+X ENDIF

ENDDO

2. 若表GZ.DBF含有“基本工资”数值型字段,且包含有若干条记录,则下列程序代码完成了“基本工资”小于1200的记录的显示,请把程序中的空缺部分填上。

USE GZ

DO WHILE not eof() IF 基本工资>=1200

SKIP

ELSE

DISPLAY skip

ENDIF

ENDDO

3. 以下程序通过调用自定义函数计算圆环的面积,请把程序中的空缺部分填上。 INPUT ”请输入大圆的半径:” TO X

INPUT ”请输入小圆的半径:” TO Y Z=JC(X)- JC(Y) ?Z RETURN

FUNCTION JC

PARAMETER R T=PI()*R*R _return t_ ENDFUNC

七、编程题(每题5分,共10分)

1、 编写程序实现对表STUDENT(学号 C(6),姓名 C(8),性别C(2),出生日期 D,是

否党员L,专业 C(12),籍贯C(10)中的记录按姓名进行顺序查询。要求在程序每次运行时只能从键盘上输入一位待查学生姓名,若查找到则显示该生“学号”、“姓名”和“专业”字段信息,若没有找到则在屏幕上显示“查无此人!”。 Clear

Set talk off

Accept “输入一位待查学生姓名:” to name Use student

Locate for 姓名=name If found()

Display fields 学号,姓名,专业 Else

?“查无此人!” Endif Use

Set talk on retu

2、编写程序计算 e的近似值。其中计算e近似值公式为:E≈1+1/1!+1/2!+1/3!+??1/n!,

直到1/n!<=0.00001。 clear e=1 t=1 n=1 s=1

do while s>=0.000001 t=t*n s=1/t e=e+s n=n+1 enddo

?\ retu

《Visual FoxPro程序设计》期末模拟试

卷-Ⅲ

一、判断正误(对的打√号,错的打X号,每题1分,共10分)

(√ )1. 在数据管理技术的发展过程中,可实现数据完全共享的阶段是数据库阶段。 ( X )2. 数据库系统(DBS)、数据库(DB)、数据库管理系统(DBMS)之间的关系是DB

包括DBS和DBMS ( √)3. 用二维表来表示实体与实体之间联系的数据模型称为关系模型。 ( X 4. 在一个关系中任意交换两行的位置,将会影响数据的实际含义。 ( √)5. Visual FoxPro支持交互操作方式和程序执行方式。

( X )6. 备注型字段系统默认的宽度为4,因此该字段只能存放占四个字节的数据信息。 ( X )7. 不允许记录出现重复索引值的索引是主索引、候选索引和普通索引。 ( X )8. 在Visual FoxPro数据库中进行添加表的操作时,可以将一个数据库表直接添

加到另一个数据库中。 (√ )9. “查询设计器”中的“筛选”选项卡的作用是制定查询记录的条件。 (√ )10. Visual FoxPro提供了报表向导、快速报表和报表设计器三种方式用于报表的

设计。

二、单项选择(请将答案填在每题前面的括号内,每题1分,共20分)

1. Visual FoxPro中,在建立字段的类型时,C表示字符型字段,N表示数字型字段,M表

示 。 A.备注型字段

B. 日期型字段 C. 逻辑型字段 D. 枚举型字段

2. 若变量a=36.736789,则函数ROUND(a,2)的结果是 。

A. 36.74

B. 36.7367 C.36

D.37

3. 若要从字符串“青岛大学”中取出汉字“岛”来,应该用函数 。

A. SUBSTR(“青岛大学”,2,1)

B.SUBSTR(“青岛大学”,2,2)

C. SUBSTR(“青岛大学”,3,1)

D.SUBSTR(“青岛大学”,3,2)

4. 若变量a=”中华人民共和国”,则函数LEN(a)的返回值为______。

A. 中华人民共和国 B. ”中华人民共和国” C.7 5. 下列四个函数中,函数值为数值型的是______。

A. BOF() B. AT(”中心”,”计算机科学实验教学中心”) C. CTOD(”10/01/99”) D. SUBSTR(“青岛大学”,5)

6. 若变量X=”中国建设银行”,则函数STUFF(X,5,4,”农业”)返回值为______。

A. “中国建设银行”

B. “中国农业银行” C. “中国农业” D.”中国建设”

D. 14

7. 在VFP的命令中,“FIELDS<字段名>”和“FOR <条件>”分别对应的两种关系运算是

______。 A. 投影和连接

B. 选择和替换

C. 统计和筛选

D.投影和选择

8. 若数据表STUDENT文件中包含有备注型字段,则备注字段的内容存储在______文件中。 A. STUDENT.DBF STUDENT.DBC

B. STUDENT.TXT

C. STUDENT.FPT

D.

9. Visual FoxPro数据表中的逻辑型、通用型和日期型字段的宽度由系统自动给出,它们

的宽度分别为______。 A. 1、4、8

B. 4、4、10 C. 1、10、8

D.2、8、8

10.若STUDENT.DBF中包含有姓名(C,8)、性别(C,2)、出生日期(D)等字段,则要显

示1986年出生的学生名单,正确的命令是______。 A. LIST 姓名 FOR 出生日期=1986

B. LIST 姓名 FOR 出生日期=”1986” C. LIST 姓名 FOR YEAR(出生日期)=1986

D. LIST 姓名 FOR 出生日期>={1986-01-01} AND出生日期<={1986-12-31} 11.若当前工作区打开的表中包含有基本工资(数值型)字段,若要将记录指针定位到第一个基

本工资高于1200的记录上,应使用命令______。 A. SEEK 基本工资>1200

B. FIND 基本工资>1200

D. LOCATE FOR 基本工资>1200

C. FIND FOR 基本工资>1200

12.Visual FoxPro中若要将当前工作区中打开的表文件 GZB.DBF 复制到 GZB1.DBF 文

件,则可以使用命令 _____________ 。

A. COPY GZB.DBF GZB1.DBF B. COPY TO GZB1 REST C. COPY TO GZB1 STRU D. COPY TO GZB1 13.Visual FoxPro的结构化索引文件扩展名是______。

A. NDX B. DBF C. CDX

D. DBC

14.Visual FoxPro中,项目文件和查询文件的扩展名分别是______。 A.PRG和QPR

B. PJX和QPR

C. DBF和SCX

D. DBC和DBF

15.查询设计器建立的查询运行后,系统默认将查询结果输出到______。

A. 命令窗口

B. 浏览窗口 C. 视图窗口

D. 表单窗口

16.SQL语言中的数据查询语句SELECT指定分组查询的短语是______。 A. ORDER BY

B. GROUP BY C. HAVING D. ASC

17.若在Visual FoxPro中建立名为“员工管理”的数据库,则可在命令窗口中执行______。 A. OPEN DATABASE 员工管理 B. CREATE DATABASE 员工管理 C. USE DATABASE 员工管理

D. CREATE 员工管理

18.若YUANGONG表中有“部门”和“工资”两个字段,其中,“工资”字段为数值型,若要

按部门分类汇总“工资”总和,并把结果保存到GZZH表中,应使用的汇总命令为______。 A. SUM 部门 TO GZZH C. SUM 工资 TO GZZH

B. TOTAL ON 部门 TO GZZH FIELDS 工资

D. TOTAL ON 工资 TO GZZH FIELDS 部门

19.下列选项中属于容器类控件的是______。

A. 表单

B. 标签

C.文本框

D. 组合框

20.下列控件中,在设计表单时可见,而在运行表单时不可见的是______。

A. 记时器 B. 文本框 C.图像 D. 命令按钮

三、填空题(每空1分,共20分)

1. 命令?23+VAL(“16YEAR”)的值为__39__ ,函数IIF(LEN(“3”)=3,1,-1)值是

-1 。

2. 若表中含有一个数值字段,其中需要保存4位整数和2位小数且有可能是正数或负数,则

其字段宽度最少应为___8______。

3. 若在当前工作区打开STUDENT.DBF表的同时指定ST为其表别名,则相应的命令或语句为

use student alias st

4. 利用LOCATE命令将记录指针顺序地定位到满足条件的第一条记录后,连续地执行

_continue_命令可找到满足条件的其他记录。

5. 若当前数据表中包含有10条记录,依次执行GO BOTTOM和SKIP命令后,RECNO()返

回值为____11____,EOF()的返回值为___.t.____。

6. Visual FoxPro中,根据变量作用域的不同可分为全局变量、___局部变量______和隐藏

(私有)变量3种。

7. 若在建立数据库表STOCK.DBF时,将“单价”(数值型)字段的字段有效性规则设为“单

价>0”,通过该设置能够确保数据 用户自定义(或域)_______完整性。

8. 在Visual FoxPro中,只有___数据库表_______表才能够设置字段的默认值。

9. 永久关系存在于是数据库表之间,在数据库设计器中表现为索引之间有___连线_______。

10.结构化程序设计的三种基本结构包括 顺序结构 、 选择结构 和 循环

结构 。

11.一个对象可以执行的动作和可被对象识别的动作分别称为__方法______和___事件___ 。

12.Visual FoxPro中对象的引用方式有绝对引用和____相对引用______

13.表单设计器中设置对象的标题应该选择属性窗口中的__caption_______属性。

14.表单控件中若要接收和保存多行文本,可以创建和使用__编辑框 _______控件。

15.数据环境泛指定义表单或表单集时使用的__数据实体________,包括表和视图等。

四、叙述题(每小题2分,共10分)

若“学生管理.DBC”数据库包含STUDENT.DBF 、COURSE.DBF和SCORE.DBF三个表的结构如下:

STUDENT(学号 C(6)、姓名 C(8)、性别C(2)、出生日期 D、入学时间 D、是否党员L、籍贯 C(10),专业 C(12))

COURSE(课程编号C(8)、课程名称C(12)学时N(2,0)、任课教师 C(8))

SCORE(学号 C(6),课程编号C(8),成绩N(4,1))

1.利用BROWSE命令,在浏览窗口中显示STUDENT表中专业为“计算机信息管理”、1986年以前出生的学生信息。

Use student

Browse for 专业=”计算机信息管理” and year(出生日期)<1986

2.对STUDENT表,根据“学号”建立结构化复合索引文件,索引标记名为“XH”。 Index on 学号 tag xh

3. 利用SQL的SELECT命令从STUDENT表中查询“山东”籍学生的信息,并且按专业排序,专业相同时按出生日期排序。

Select * from STUDENT where 籍贯=”山东” order by 专业,出生日期 4.利用SQL的UPDATE语句将表STUDENT中“旅游管理”专业学生的“学号”中的前两位修改为“06”。

Update student set 学号=stuff(学号,1,2,\专业=\旅游管理\

5.利用SQL的SELECT命令,根据上述三个表查询输出“张员”同学所学过课程的成绩单并保存到ZHANGYUAN.DBF表中(结果中应包含学号、姓名、课程名称和成绩)。

Select a.学号,姓名,课程名称,成绩 from student a,course b,score c ; where a.学号=c.学号 and b.课程编号=c.课程编号 and 姓名=”张员”; into dbf zhangyuan

五、程序阅读题(每空1分,共10分)

1. 执行下列命令序列后,表A1记录指针指向第_1_____条记录,表A2记录指针指向第_3___

条记录。

SELECT 2 USE A1 SELECT 3 USE A2 SKIP 2

2. 执行下列程序代码片段后,变量J的值为___5___,变量K的值为__7_____。

T=0

FOR K=1 TO 6 STEP 2 J=K ENDFOR ?J,K

3. 执行下列程序后,变量A的值为__200____,变量B的值为__100_____。

A=100 B=200 IF A-B<0 T=A A=B B=T ENDIF ?A,B

4. 在执行下列程序时,如果输入N值为10,则最后Y的显示值为_____42________。

STORE 0 TO X,Y

INPUT “N=” TO N DO WHILE X<=N X=X+2 Y=Y+X ENDDO ?Y

5. 下列程序运行时,若从键盘输入25时,则屏幕最后的显示结果为___”A1”____。

INPUT “X=” TO X DO CASE CASE X>10 ?”A1” CASE X>20 ?”A2” OTHERWISE ?”A3” ENDCASE RETURN

6. 源程序AA.PRG的代码如下,执行DO AA后M结果为___1___N的结果为___4____。

***AA.PRG*** M=1 N=2 DO BB ?M,N RETURN

***过程BB*** PROCEDURE BB PRIVATE M M=3 N=4 RETURN ENDPROC

六、程序填空(每空2分,共20分)

1. 下列程序实现了1~100之间全部奇数之和的计算,结果保存在Y中,请把程序中的空缺部分填上。

STORE 0 TO X,Y DO WHILE .T.

X=X+1 DO CASE

CASE INT(X/2)=X/2 LOOP CASE X>=100 EXIT OTHERWISE Y=Y+X

ENDCASE ENDDO ?Y

2.下列程序代码需要实现1!+2!+??+10!的计算,结果保存在SUM中,请把程序中的空缺部分填上。

SUM=0

FOR I=1 TO 10 X=1 FOR J=1 TO I X=X*J ENDFOR

SUM= SUM+X ENDFOR

3. 以下程序通过调用自定义函数计算圆环的面积,请把程序中的空缺部分填上。 INPUT ”请输入大圆的半径:” TO X

INPUT ”请输入小圆的半径:” TO Y Z=JC(X)- JC(Y) ?Z RETURN FUNCTION JC PARAMETER R

T=PI()*R*R

_RETURN T____________ ENDFUNC

4.若STUDENT表中包含有“性别”字符型字段,若希望通过下列程序的实现全部女

生记录的逐条显示,请把程序中的空缺部分填上。 USE STUDENT

LOCATE FOR __性别=”女”___________ DO WHILE __!eof()_______

DISPLAY 学号,姓名,性别,出生日期,专业 WAIT CONTINUE ENDDO

5.下列程序代码实现了向数组A的元素依次赋1、3、5、7、9、11的操作,请把程序中的空缺部分填上。

DIMENSION A(6) FOR I=1 TO 6

A(I)= _2*I-1________ ENDFOR

6.已知一个表单(如右图)中有一个包含三个按钮的命令按钮组,其中有前两个按钮分别为:

上一条(Cmdprior)和下一条(CmdNext),分别用于控制所打开的数据表记录指针前后移动,另外一个退出(CmdReturn)按钮用于结束表单的运行,下面是该命令按钮组Click事件的代码,请把程序中的空缺部分填上。

DO CASE

CASE This.Value=1 &&按上一条按钮 SKIP -1 IF BOF() GO TOP ELSE

Thisform.Refresh ENDIF

CASE This.Value=2 &&按下一条按钮 SKIP IF EOF() GO BOTTOM ELSE

Thisform.Refresh ENDIF

CASE This.Value=3 &&按退出按钮 _ Thisform.Release ____________ ENDCASE

七、编程(每题5分,共10分)

1. 编写程序实现对SCORE.DBF中每条记录根据“成绩”字段值(百分制)自动替换其“等级”字段。其中,SCORE表的结构为SCORE(学号 C(5),姓名 C(8),班级 C(10),成绩 N(3,0),等级 C(6))。判断的依据是:若成绩大于等于90填入“优秀”,若成绩大于等于80小于90填入“良好”,若成绩大于等于60小于80填入“及格”,60以下填写“不及格”。

请参考《实验教程》P56 多分支结构程序设计

2. 求Fibonacci数列中的前20个数,存放在数组中并输出。Fibonacci数列的前两个数为1,1,后面的每一个数都是其前两个数之和。

请参考《实验教程》P61 思考与练习 4

《Visual FoxPro程序设计》期末模拟试

卷-Ⅳ

一、单项选择(请将答案填在每题的括号内,每题2分,共70分)

(1) Visual FoxPro DBMS 是( )。

A)操作系统的一部分 B)操作系统支持下的系统软件 C)一种编译程序 D)一种操作系统 (2) Visual FoxPro DBMS 基于的数据模型是( )。

A)层次型 B)关系型 C)网状型 D)混合型

(3) 设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是( )。

A)m:n B)1:m C)m:k D)1:1 (4) 在Visual FoxPro中,调用表设计器建立数据库表STUDENT.DBF的命令是( )。

A)MODIFY STRUCTURE STUDENT B) MODIFY COMMAND STUDENT C)REATE STUDENT D) CREATE TABLE STUDENT

(5) 在Visual FoxPro中,关于自由表叙述正确的是( )。 A)自由表和数据库表是完全相同的 B)自由表不能建立字段级规则和约束 C)自由表不能建立候选索引 D)自由表不可以加入到数据库中

(6)在Visual FoxPro中 ,建立数据库表时,将年龄字段值限制在12~14之间的这种约束属于( )。

A)实体完整性约束 B)域完整性约束 C)参照完整性约束 D)视图完整性约束

(7) 在Visual FoxPro中,运行表单T1.SCX的命令是( )。 A)DO T1 B)RUN FORM1 T1 C) DO FORM T1 D) DO FROM T1

(8)使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( )。 A)使用WHERE子句

B)在GROUP BY后面使用HAVING 子句 C)先使用WHERE子句,再使用HAVING子句。

D)先使用HAVING 子句,再使用WHERE子句

(9) 在Visual FoxPro的参照完整性规则不包括( )。

A)更新规则 B)删除规则 C)查询规则 D)插入规则 (10) 在Visual FoxPro中,表结构中的逻辑型、通用型、日期型字段的宽度由系统自动给出,它们分别为( )。

A)1、4、8 B)4、4、10 C)1、10、8 D)2、8、8 (11)在Visual FoxPro中,学生表STUDENT中包含有通用型字段,表中通用型字段中的( )。

A) STUDENT.DOC B) STUDENT.MEN C) STUDENT.DBT D) STUDENT.FPT

(12) 在Visual FoxPro中,使用“菜单设计器”定义菜单,最后生成的菜单程序的扩展名是( )。

A)MNX B)PRG C)MPR D)SPR

(13)在Visual FoxPro中,使用SQL命令将学生STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是( )。 A) REPLACE AGE WITH AGE+1 B) UPDATE STUDENT AGE WITH AGE+1 C) UPDATE SET AGE WITH AGE+1 D) UPDATE STUDENT SET AGE=AGE+1

(14) 调用报表格式文件PP1预览报表的命令是( )。

A)REPORT FROM PP1 PREVIEW B)DO FROM PP1 PREVIEW C)REPORT FORM PP1PREVIEW D)DO FORM PP1 PREVIEW (15)在Visual FoxPro中,建立索引的作用之一是( )。 A) 节省存储空间 B) 便于管理

C)提高查询速度 D)提高查询和更新的速度 (16)在Visual FoxPro中,相当于主关键字的索引是( )。 A) 主索引 B) 普通索引 C) 唯一索引 D) 排序索引

(17)在Visual FoxPro中,为了将按钮的Click事件代码设置为表单从内存中释放(清除),

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

Top