1、第 1 页重 庆 科 技 学 院200 /200 学年第 学期考试试卷课程名称: VF 程序设计 适用专业/年级: 选课课号: 抽(命)题人: 本卷为 A 卷,共 6 页,考试方式 闭 ,考试时间: 120 分钟题 号 一 二 三 四 五 六 七 八 九 十 总 分得 分复核人阅卷人一、选择题:(本题共 35 小题,每小题 2 分,共 70 分)1.某个数据表文件的一个数值字段要求 3 位整数,2 位小数,则其宽度应为( ) 。A. 4 B. 3 C. 6 D. 52.以下日期值正确的是( ) 。A.“2007-6-4” B.2007-06-04 C. 2007-6-4 D. 2007-6-4
2、3.对数据库表的字段设置标题在( )中进行。A.表单设计器 B.表设计器 C.数据库设计器 D.视图设计器4.DIMENSION TP(3,7)语句定义的数组元素个数是( ) 。A.30 B.20 C.21 D.455.语言是一种( )的语言。A.关系型数据库 B.网状型数据库 C.层次型数据库 D.非关系型数据库6.表文件 XS.DBF 的全部备份文件的内容存储在( )文件中 A.XS.DBF B.XS.TXT C.XS.FPT D.XS.BAK7.Visual FoxPro 备注型字段中存放( ) 。A.字段值 B.字符串 C.Memo D.指向备注文件的指针8.建立索引的正确命令是( )
3、 。A.SORT INDX B.INDEX SORTC.SORT TO INDEX TO D.INDEX ON TO 9.要想在一个打开的数据表中删除某些记录,应先后选用的两个命令是( ) 。A.DELETE 、RECALL B.DELETE 、PACKC.DELETE、ZAP D.PACK 、ELETE10.命令?LEN(SPACE(3)-SPACE(2) )的结果是( ) 。A.1 B.2 C.3 D)5 11.已知表中有字符型字段职称和姓别,要建立一个索引,要求首先按职称排序、职称相同时专业班级: 姓 名: 学 号: 密 封 线第 2 页*过程*PROCEDURE PPLOCAL xx=
4、5y=7z=x+yENDPROC再按性别排序,正确的命令是( ) 。A.INDEX ON 职称性别 TO ttt B.INDEX ON 性别职称 TO ttt C.INDEX ON 职称,性别 TO ttt D.INDEX ON 性别,职称 TO ttt12命令 SELECT 0 的功能是( ) 。A.选择编号最小的未使用工作区 B.选择 0 号工作区 C.关闭当前工作区的表 D.选择当前工作区13在 Visual Foxpro 中,过程的返回语句是( ) 。A.GOBACK B.COMEBACK C.RETURN D.BACK14执行下列程序后,输出结果为( ) 。*主程序*CLEARPUB
5、LIC x,y,zx=3y=4z=5DO PP?x+y+zA.12 B.19 C.4 D.22 15在 SQL 的 ALTER TABLE 语句中,为了删除一个字段应该使用短语( ) 。A.CREATE B.APPEND C.COLUMN D.DROP16.下列语句中,能够正确地给内存变量 A 赋逻辑真值的命令是( ) 。A.A=“.T.“ B.STORE “T“ TO AC.A=TRUE D:STORE .T. TO A17.函数 Int(-4.5)的返回结果是( )。A.-4.5 B.-5 C.4 D.-418.从“学生资料“表中查询所有年龄大于 22 岁的学生并显示其姓名,应输入( )命
6、令。A.SELECT 年龄 FROM 学生资料 WHERE 姓名22B.SELECT 年龄 FROM 学生资料C.SELECT 姓名 FROM 学生资料 WHERE 年龄22D.SELECT 姓名 FROM 学生资料19.Click 事件在( )时引发。A.用鼠标双击对象 B.用鼠标单击对象 C.表单对象建立之前 D.用鼠标指向对象20.不能修改当前数据表记录内容的命令有( ) 。A.UPDATE B.REPLACE C.DISPLAY D.BROWSE21.在 Visual FoxPro 中,为了实现单击 command1 按钮来退出表单(将表单从内存中释放掉),则 command1 按钮的
7、 Click 事件代码应为( ) 。A.ThisForm.Refresh B.ThisForm.Delete C.ThisForm.Hide D.ThisForm.Release第 3 页22.在 DO WHILE ENDDO 循环结构中,LOOP 命令的作用是( )。A.退出过程,返回程序开始处B.转移到 DO WHILE 语句行,开始下一个判断和循环C.终止循环,将控制转移到本循环结构 ENDDO 后面的第一条语句继续执行 D.终止程序执行23.有以下程序段: DO CASECASE 计算机=60?计算机成绩是:+及格CASE 计算机=70?计算机成绩是:+中CASE 计算机=80 ?计算
8、机成绩是:+良CASE 计算机=90?计算机成绩是:+优ENDCASE设学生数据库当前记录的“计算机“字段的值是 89,执行上面程序段之后,屏幕输出( ) 。A.计算机成绩是:不及格 B.计算机成绩是:及格C.计算机成绩是:良 D.计算机成绩是:优24.按照语句排列的先后顺序,逐条依次执行的程序结构是( ) 。A.分支结构 B.顺序结构 C.循环结构 D.模块结构25.在 VFP 窗口输出:大家都来学习,应在命令窗口键入( ) ,并按 Enter 键。A.大家都来学习 B.大家都来学习C.? 大家都来学习 D.? 大家都来学习26要刷新表单,使用的命令语句是( )。A.Thisform.Ref
9、resh B.Form.hideC.Thisform.Close D.Thisform.Release27SQL 中,建立视图用( )命令。A.Create Schema B.Create Table C.Create View D.Create Index28可以存储照片的字段类型是( ) 。A.通用型 B.字符型 C.逻辑型 D.日期型29要为当前表所有职工增加 100 元工资应该使用命令( ) 。A.CHANGE 工资 WITH 工资+100 B.REPLACE 工资 WITH 工资+100C.CHANGE ALL 工资 WITH 工资+100 D.REPLACE ALL 工资 WITH
10、 工资+10030.35.题使用如下数据表:学生.DBF:学号(C,8) ,姓名(C,6) ,性别(C,2) ,出生日期(D) 选课.DBF:学号(C,8) ,课程号(C,3) ,成绩(N,5,1) 30.查询所有 1983 年 5 月 21 日以后(含)出生、性别为男的学生,正确的 SQL 语句是( 专业班级: 姓 名: 学 号: 密 封 线第 4 页) 。A.SELECT * FROM 学生 WHERE 出生日期=1983-05-21 AND 性别=”男” B.SELECT * FROM 学生 WHERE 出生日期=1983-05-21 OR 性别=”男” D.SELECT * FROM
11、学生 WHERE 出生日期=ALL(SELECT 成绩 FROM 选课) B.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=”101” )C.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩=ANY(SELECT 成绩 FROM 选课 WHERE 课程号=”101” ) D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=”101” AND 成绩 =ALL(SEL
12、ECT 成绩 FROM 选课 WHERE 课程号=” 101”)34.插入一条记录到“选课” 表中,学号、课程号和成绩分别是“ 02080111”、 “103”和 80,正确的 SQL 语句是( ) 。A.INSERT INTO 选课 VALUES(“02080111” , ”103”,80) B.INSERT VALUES(“02080111” , ”103”,80)TO 选课(学号,课程号,成绩) C.INSERT VALUES(“02080111” , “103”,80)INTO 选课(学号,课程号,成绩) D.INSERT INTO 选课(学号,课程号,成绩) FORM VALUES(
13、“02080111”,” 103”,80) 35.将学号为“02080110” 、课程号为 “102”的选课记录的成绩改为 92,正确的 SQL 语句是( ) 。A.UPDATE 选课 SET 成绩 WITH 92 WHERE 学号=”02080110”AND 课程号=” 102” 第 5 页B.UPDATE 选课 SET 成绩=92 WHERE 学号=”02080110 AND 课程号=”102” C.UPDATE FROM 选课 SET 成绩 WITH 92 WHERE 学号=”02080110”AND 课程号=” 102” D.UPDATE FROM 选课 SET 成绩=92 WHERE
14、 学号=”02080110” AND 课程号=” 102” 二、填空题:(本题共 11 小题,每空 1 分,共 15 分)1SET TALK OFFACCEPT “输入表名:“ TO KMUSE &KM*显示最前面 5 条记录_【 1 】WAIT GO BOTTOM*显示最后 4 条记录_【 2 】DISP NEXT 4USE2.有表 STUDENT.DBF,其中有姓名等字段,姓名的类型为字符型,以下是查询程序。SET TALK OFF【 3 】 ACCEPT “输入姓名:“ TO【 4 】 LOCATE FOR 姓名=XINGMINGIF FOUND ( )DISPLAYELSE?“查无此人
15、!“_【 5 】_ USESET TALK ONRETURN3.如下命令查询雇员表中“部门号“字段为空值的记录:SELECT * FROM 雇员 WHERE 部门号【 6 】。4. SQL 的 SELECT 查询中,HAVING 字句不可以单独使用,总是跟在【 7 】子句之后一起使用。5. 在 Visual FoxPro 中,在运行表单时最先引发的表单事件是【 8 】事件。 专业班级: 姓 名: 学 号: 密 封 线第 6 页6在 Visual FoxPro 中,使用 LOCATE ALL 命令按条件对表中的记录进行查找,若查不到记录,函数 EOF()的返回值应是【 9 】。 7.S 在关系模
16、型中,把数据看成是二维表,每一个二维表称为一个【 10 】。8. 表达式2005-1-3 10:0:0一2005-10-3 9:0:0的数据类型是【 11 】。9. 函数 LEN(STR(123456789012)的返回值为【 12 】,函数 LEN(DTOC(DATE(),1)的返回值为【 13 】。10. 数据库表的触发器(Trigger)是在对表的记录进行操作时被触发的检验规则。在 VFP中,触发器分为 3 种类型,即更新触发器、删除触发器和_【 14 】触发器。11. 在面向对象方法中, 【 15 】描述的是具有相似属性与操作的一组对象。三、编写程序(共 15 分)1.从键盘输入 3 个数,对这 3 个数按从小到大的顺序输出。 (8 分)2求两实数 X 与 Y 的乘积,要求设计出如图所示的表单界面。功能为:在文本框中输入X 和 Y 后,单击“计算”按钮即计算出 X*Y 的值。请写出计算按钮的 Click 事件代码。 (7 分)