您的当前位置:首页正文

VFP模拟测试

2020-04-13 来源:步旅网


一、选择题(每题1分,共25分)

1. Visual FoxPro是一种关系型数据库管理系统,这里关系通常是指( )。

A) 数据库文件 B)一个数据库中两个表之间有一定的关系 C)数据表文件 D) 一个表文件中两条记录之间有一定的关系

2. 在Visual FoxPro中,用表数据来表示实体之间联系的数据模型称为( )。

A)层次模型 B)关系模型 C)网状模型 D)联系模型 3.扩展名为 .DBC的文件表示 ( )。

A)表文件 B)备份文件 C)数据库文件 D)项目文件

4. 关系表达式的运算结果是( )。

A)数值型数据 B)逻辑型数据 C)字符型数据 D)日期型数据 5. 在命令窗口中输入下列命令:

A=\"红细胞□□\" && □为空格 B=\"生成素\" ?A+B

则主屏幕上显示的结果为( )。

A)红细胞生成素 B)红细胞生成素□□ C)红细胞□□生成素 D)□□红细胞生成素 6. ?AT(\"大学\北京语言文化学院\")的结果是( ).

A)12 B)13 C)16 D)0

7. 在Visual FoxPro中下面4个关于日期的表达式中,错误的是( )。

A){^2009/02/01}-{^2008/02/01} B){^2009/02/01}+20 C){^2009/02/01}+{^2008/02/01} D){^2009/02/01}-20 8. 设S=\"沈阳医学院\",从中取出\"学院\"的表达式是( )。

A) SUBS(S,4,2) B) SUBS(S,4,4) C) SUBS(S,7,2) D) SUBS(S,7,4) 9. 不允许出现重复字段值的索引是( )。

A) 主索引和普通索引 B)侯选索引和普通索 C)主索引和侯选索引 D)侯选索引和惟一索引 10. VFP的PACK命令可以删除当前数据表文件的( )

A)满足条件的记录 B)带有删除标记的记录 C)所有记录 D)结构 11. 执行SELECT 0选择工作区的结果是( )。

A)选择了0号工作区 B)选择了空闲的最小数值工作区 C)关闭选择的工作区 D)选择已打开的工作区 12. 下述命令中的哪一条不能关闭数据表( )。

A)CLEAR ALL B)USE C)CLOSE ALL D)CLOSE DATABASE 13. 在Visual FoxPro中,若要恢复DELETE命令删除的若干记录,应该用( 命令。

A)UNDELETE B)ESC C)RELEASE D)RECALL 14. 在Visual FoxPro中,以下关于视图描述中错误的是( )。

A)通过视图可以对表进行查询 B)通过视图可以对表进行更新

)1

C)视图是一个虚表 D)视图就是一种查询 15. 有关查询设计器,正确的描述是( )。

A)“联接”选项卡与SQL语句的GROUP BY短语对应 B)“筛选”选项卡与SQL语句的HAVING短语对应

C)“排序依据”选项卡与SQL语句的ORDER BY短语对应

D)“分组依据”选项卡与SQL语句的JOIN ON短语对应

16.对象的相对引用中,要引用当前操作的对象,可以使用的关键字是( )。

A)PARENT B)THISFORM C)THISFORMSET D)THIS

17.在命令按钮组中,决定命令按钮数目的属性是( )。

A) ButtonCount B) Buttons C)Value D) ControlSource 18. 在SQL语句中,DISTINCT短语的作用是( )。

A) 对查询结果进行分组过滤 B) 消除重复出现的查询记录

C) 显示部分查询记录 D) 删除不符合条件的记录 19.有 Visual FoxPro中,释放表单时使用的命令是( )

A) UnLoad命令 B)Init命令 C)Load命令 D)Release命令 20. 对VFP表单设置背景颜色的属性是( )。

A)Caption B)BackColor C)ForeColor D)AutoSize 21. 一个表单里有一个文本Text1和包含Command1 和Command2两个命令按钮的一个命令按钮组CommandGroup1。如果要在Command1的单击事件要访问标签Text1的forecolor属性值,下面哪个引用是正确的( )。

A) ThisForm.Text1.Forecolor B)This.Parent.Forecolor

C) Parent.Text1.Forecolor D)This.Parent.Text1.Forecolor 22~25题使用如下数据表:

学生.DBF:学号(C,6),姓名(C,6),性别(C,2),出生日期(D) 选课.DBF:学号(C,6),课程号(C,3),成绩(N,5,1)

22. 计算刘涛同学选修的所有课程的平均成绩,正确的SQL语句是( )。

A) SELECT AVG(成绩) FROM 选课WHERE 姓名=\"刘涛\" B) SELECT AVG(成绩) FROM学生,选课WHERE 姓名=\"刘涛\"

C) SELECT AVG(成绩) FROM学生,选课WHERE学生.姓名=\"刘涛\"

D) SELECT AVG(成绩) FROM学生,选课WHERE学生.学号=选课.学号 AND姓名=\"刘涛\"

23. 将学号为“080103”、课程号为“1001”的选课记录的成绩改为85,正确的 SQL语句是( )。

A)UPDATE选课SET成绩WITH 85 WHERE学号=\"080103\"AND课程号=\"1001\"

B)UPDATE FROM选课SET成绩WITH 85 WHERE学号=\"080103\"AND课程号=\"1001\"

C)UPDATE FROM选课SET成绩=85 WHERE学号=\"080103\"AND课程号=\"1001\"

D)UPDATE选课SET 成绩=85 WHERE学号=\"020801\"AND课程号=\"1001\"

2

24. 假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为”1001”课程的平均成绩,正确的SQL语句是( )。

A) SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号=\"1001 GROUP BY 专业

B) SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=\"1001\" GROUP BY 1

C) SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课 WHERE 课程号=\"1001\" ORDER BY 1

D) SELECT SUBS(学号,3,2) AS专业, AVG(成绩) AS平均分 FROM 选课WHERE 课程号=\"1001\" ORDER BY 专业

25. 查询选修课程号为”1001”中的所有学生的最高分,正确的SQL语句是( )。

A) SELECT MAX(成绩) AS 最高分 FROM 选课 WHERE 课程号=\"1001\" B) SELECT MAX(成绩) AS 最高分 FROM 选课 FOR 课程号=\"1001\" C) SELECT最高分=MAX(成绩) FROM 选课 WHERE 课程号=\"1001\" D) SELECT最高分=MAX(成绩) FROM 选课 FOR 课程号=\"1001\"

在以下各题中,有的要用到数据表文件,学生.DBF和入学成绩.DBF,其中: 学生.DBF

学号 姓名 性别 出生日期 汉族否 专业 入学成绩 C,6 C,6 C,2 D,8 L,1 C,6 N,5,1 080101 李萍 女 09/25/89 F 计算机 617.5 080201 刘涛 男 10/10/89 T 会计 606.0 080301 王小军 男 05/26/88 T 数学 587.0 080102 赵国柱 男 01/06/90 F 计算机 577.0 080202 周晓华 女 11/28/90 T 会计 598.5 080302 陈玲 女 12/22/88 T 数学 618.5 080103 孙强 男 04/11/88 F 计算机 607.5 080104 吴丽丽 女 03/21/89 T 计算机 613.0

入学成绩.DBF

学号 姓名 语文 数学 外语 综合 总分 C,6 C,6 N,5,1 N,5,1 N,5,1 N,5,1 N,5,1

080101 李萍 127.0 123.5 112.5 254.5 0.0 080201 刘涛 134.0 109.0 121.5 241.5 0.0 080301 王小军 104.5 119.0 106.0 257.0 0.0 080102 赵国柱 124.5 103.5 103.0 246.0 0.0 080202 周晓华 118.0 126.5 102.0 252.0 0.0 080302 陈玲 122.0 116.5 131.0 249.0 0.0

080103 孙强 112.0 120.0 128.0 247.5 0.0 080104 吴丽丽 129.0 122.0 119.0 243.0 0.0

说明:所有使用以上数据的程序,如不作特殊说明,均使用上面原始数据,即不考虑各程序运行后对数据表文件内容的影响。

二、填空: (每题1分,共10分)

3

1. 关系数据库管理系统能实现的专门关系运算包括选择、________和连接。 2. 表单文件的扩展名是_______。

3. 通过关键字建立临时关系的前提是子表必须建立_________并打开。 4. 在表单当中要使控件成为可见,应设置控件的______属性为.T.。

5. 执行DIME a(4,2) 命令后,未做任何赋值,a (2,1)的值应为________。

6. 在Visual FoxPro中,使用Locate All命令按条件对表中的记录进行查找,若

查找不到记录,函数EOF ()的返回值是 ________。

7. 复选框Check控件的Value值为________,表明该框未被选定。

8. 在数据库中可以设计视图与查询,其中________不能独立存储为文件(存储

在数据库中)。

9. 在 Visual FoxPro中,计时器控件的Interval属性默认值是________。 10. 在 Visual FoxPro中,刷新表单时会使用的方法是________。

三、阅读程序,写出运行结果(每题3分,共18分)

1.SET TALK OFF 2.SET TALK OFF USE 学生

X=”1” DO WHILE .NOT.EOF() IF X=”12” IF 性别=\"女\"

X=X+”34” LOOP

ELSE ELSE

X=X-”56” ? 姓名,性别

ENDIF ENDIF ?X SKIP RETURN ENDDO RETURN

3.SET TALK OFF 4. X=\"计算机综合测试\" X=0 Y=\"\" N=1 L=LEN(X) DO WHILE N<=10 DO WHILE L>=1 X=X+N Y=Y+SUBSTR(X,L-1,2) N=N+2 L=L-2 ENDDO ENDDO ? \"X=\ ?Y RETURN RETURN

4

5. N=73

6.SET TALK OFF DO CASE

USE 入学成绩 CASE N>=90

?RECNO(),BOF( ) ? \"优秀\"

SKIP 2 CASE N>=80 LIST &&不写出此句的结果 ? \"良好\" ?RECNO(),EOF() CASE N>=70 USE ? \"中等\" RETURN CASE N>=60 ?\"及格\" ENDCASE RETURN

四、完善程序(每题2分,共12分)

1. 求1-100之间的能被3整除的 2. 统计学生表中男、女生的人数。数的和。

SET TALK OFF SET TALK OFF

USE 学生 S=0

STORE 0 TO X,Y I=1

DO WHILE .NOT.EOF( ) DO WHILE I<=100

IF 性别=\"男\" IF ____________

X=X+1 S=S+I ELSE ENDIF Y=Y+1 ENDIF I=I+1 _____ ENDDO ENDDO ?S ?X,Y RETURN

SELECT * 3.下面的程序是当从键盘输入 _________ 4. 查询“入学成绩”在550-610 ”Y” 时则退出循环。 FROM 之间的学生信息的学生 SQL语句是:

SET TALK OFF ORDER BY SELECT *

入学成绩 DESC DO WHILE .T.

FROM 学生 WAIT \"输入Y/N\" TO X WHERE 入学成绩 IF X=\"Y\" _________________ __________ ELSE LOOP ENDIF ENDDO

5

5.按学号建立学生和入学成 绩表的关联。 SET TALK OFF SELE 2

USE 入学成绩

INDE ON 学号TO XH SELE 1 USE学生

SET RELA TO_____________

LIST 姓名,性别,B.语文,B.数学 USE RETURN

6. 设计一密码演示程序(假定密码为“1234”),则【确定】按钮的Click事件代码为: If ________________________ =MessageBox (\"密码正确! \提示\") Else =Mssagebox (\"输入错误!\提示\") Thisform.Text1.SetFocus Endif

五、程序改错,指出错误语句并修改(每题1错,每错3分,共15分)

(不能增删语句)

1. 输入一个数,大于零输出“正数”,

否则输出该数。

1) SET TALK OFF 2) ACCEPT TO X 3) IF X>0 4) ?\"正数\" 5) ELSE 6)?X 7) ENDIF 8) RETURN

4.索引查询“学生”表中学生“陈玲”的记录.

日期改为1989年5月26日。

1) SET TALK OFF

1) SET TALK OFF

2) USE 学生

2) USE 学生

3) INDE ON 姓名TO XM

3) SKIP 2

4) SEEK 陈玲

4) REPLACE ALL 出生日期 WITH {^1998/05/26} 5) DISP 5) DISPLAY

6) USE

6) USE

7) RETURN 3.将学生.DBF表第三个记录的出生

2. 显示学生.DBF中男学生的信息。

1) SET TALK OFF 2) USE 学生

3) LOCATE FOR 性别=\"男\" 4) DO WHILE .NOT.EOF() 5) DISP 6) SKIP 7) ENDDO 8) USE

6

7) RETURN

5. 将学号是” 080102”,课程

六、程序设计(共13分)

1.用循环语句编程:将“学生”表中少数民族学生的入学成绩加10分。(6分) 2. 计算N!(即1×2×3ׄ×N)的表单界面如下:(用循环语句编程,过程编程算出N!4分,面向对象部分3分)

号是”1002”的选课记录的成绩

修改为92

1) UPDATE 选课;

2)SET 成绩 WITH 92 ; 3)WHERE 学号=”080102”,; 4)AND 课程号=”1002”

Text1 Text2

Command1 Command2 Command3 要求分别编写计算(Command1按钮)、清除(Command2按钮)和退出(Command3按钮)的Click事件代码。(7分)

7

因篇幅问题不能全部显示,请点此查看更多更全内容