1、一、选择题1、如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的关系属于( A ) 。(A)一对一联系 (B)一对二联系 (C) 多对多联系 (D) 一对多联系2、Visual FoxPro 支持的数据模型是( B )(A)层次数据模型 (B)关系数据模型 (C) 网状数据模型 (D) 树状数据模型3、下列语句正确的是?( B )(A)?X= “中国 ” (B )X=中国 (C) STORE “中国” IN X (D) X=中国4、以下函数的用法中,正确的是?(D )(A)长度(len) (B)len(5) (C) left(“abcdefg”,1,2)
2、(D) left(“abcdefg”,5)5、打开数据库的命令是( A ) 。A. OPEN DATA B.MODIFY DATABASE C. DELETE DATE D. USE DATABASE 6、下列哪条命令的功能是“使表指针向前或向后跳跃”?( D )(A)use (B)brows (C) go top (D) skip7、要使标签控件在运行时不可显示,应对( B )属性进行设置。(A)Enabled (B)Visible (C) BackColor (D) Font8、要使文本框控件在运行时显示但不可使用,应对( )属性进行设置。(A)Enabled (B)Visible (C)
3、 BackColor (D) Font9、在 Visual FoxPro 中,表单(Form)是指(D ) 。(A)数据库中各个表的清单 (B)一个表中各个记录的清单 (C) 数据库查询的列表 (D) 窗口界面10、使用下面哪个命令可以退出 Visual FoxPro(D )A.EXIT B.CANCEL C.CLOSE D.QUIT11、在 Visual FoxPro 中,通用型字段 M 在表中的宽度都是(B ) 。(A)2 (B)4 (C) 8 (D) 102、备注型、逻辑型、日期时间型、整型等字段的宽度分别是( D ) 。A. 4,4,1, 8 B. 1,1,8,4 C. 8,4,1,4
4、 D. 4,1,8,412、数据库表的字段有效性规则是一个( D ) 。(A)字符表达式 (B)数值表达式 (C) 日期表达式 (D) 逻辑表达式13、在下列表达式中,运算结果为数值的是( D ) 。 A.“1234”+“5678” B. CTOD(“11/08/05” )-11 C. 123+456=789 D. LEN(“ABCD” )-114、函数 ROUND(12345.6789,-2)的结果为( C ) 。A.12345 B.12340 C.12300 D.1200015、在 Visual FoxPro 中,运行表单 T1.SCX 的命令是( C ) 。(A) DO T1 (B)RU
5、N FORM T1 (C) DO FORM T1 (D) DO FROM T116、关系数据库的任何检索操作都是由三种基本运算组合而成的,这三种基本运算不包括:( B ) 。(A)联接 (B)比较 (C) 选择 (D) 投影17、下面是关于表单数据环境的叙述,其中错误的是( B ) 。(A)可以在数据环境中加入与表单操作有关的表 (B)数据环境是表单的容器 (C)可以在数据环境中建立表之间的联系 (D)表单运行时自动打开其数据环境中的表 18、退出 Visual FoxPro 6.0 的操作方法是:( D) 。(A)从“文件”下拉菜单中选择 “退出”选项 (B)用鼠标左按钮单击关闭窗口按钮 (
6、C)在命令窗口中键入 QUIT 命令,然后敲回车键 (D)以上方法都可以 8、如果一个表中有 80 条记录,当前记录号为 60,执行命令 SKIP 40 后,再执行命令?RECNO(),其结果为( C ) 。A. 61 B.100 C. 81 D.809、能彻底删除当前表文件中所有记录的命令是( A ) 。A.ZAP B.PACK C.DELETE ALL D.CLEAR ALL19、在报表设计器中, “域控件”的作用是( ) 。(A)显示文本 ( B)显示表中的字段、变量和其它表达式 (C)显示边框 ( D)显示图片 20、在 Visual FoxPro 6.0 中,有下面几个内存赋值语句:
7、X=2001-07-28 10:15:20 PMY=.T.Z=$123.45P=123.45Q=”123.234”执行上述赋值语句后,内存变量 X、Y 、Z、P、Q 的数据类型分别是:( D ) 。(A)D、L、Y、N、C (B)D 、L 、M 、N、C (C)T、L、M、N、C (D)T、L、Y 、N 、C 21、打开一个数据库的命令是:( D ) 。(A)USE (B)USE DATABASE (C)OPEN (D)OPEN DATABASE 22、要为当前表所有职工增加 100 元工资,应该使用命令是:( D ) 。(A)CHANGE 工资 WITH 工资+100 (B)REPLACE
8、工资 WITH 工资+100 (C)CHANGE ALL 工资 WITH 工资+100 (D)REPLACE ALL 工资 WITH 工资+100 23、关于自由表的叙述中,正确的是:( A ) 。(A)自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表 (B)自由表可以添加到数据库中,但数据库表不可以从数据库中移出成为自由表 (C)自由表不能添加到数据库中 (D)不可以用 Visual FoxPro 6.0 创建自由表20、SQL 语句中条件短语的关键字是:( B ) 。(A)WHILE (B)WHERE (C )FOR (D)IF 24、Visual FoxPro 提供了结构
9、化程序设计的三种基本结构,三种基本结构是( D ) 。(A)递归结构、选择结构、循环结构(B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、嵌套结构(D)顺序结构、选择结构、循环结构25、阅读下列程序:在如右图所示的表单中,有文本框 text1,文本框text2,命令按钮 command1,在命令按钮人 click 事件中编写 的代码如下:a=thisform.text1.valueb=thisform.text2.valuec=aa=bb=cthisform.text1.value=athisform.text2.value=b运行该表单,在文本框 text1 中,输入 1,在
10、文本框 text2 中输入 2,然后单击命令按钮 command1 一次,则文本框 text1 和文本框 text2 中显示的值为( B ).(A)1,2 (B)2,1 (C)2,2 (D)1,1 26、阅读下列程序:input to a1if a1=10s=0endifs=1?s假定从键盘输入的 a1 值是 10,那么上面条件选择程序的执行结果是( B) 。(A)0 (B)1 (C)由 a1 值确定 (D)程序出错 27、阅读下列程序:set talk offclearinput “输入考试成绩:” to chjdj=iif(chj=90,” 优秀”,”通过”))?djset talk on
11、假定从键盘输入 70,那么该程序的运行结果是( C) 。(A)不合格 (B)优秀 (C)通过 (D)不通过 28、有一个表文件 bh.dbf,其内容如下:记录号 编号 数量1 A1 102 A0 853 A2 674 A10 505 A12 65阅读下列程序:use bhs=0do while .not. eof()if 数量65s=s+数量endifskipenddo?s, eof()use该程序运行后,输出的结果是:( C ) 。(A)152 .F. (B )217 .F. (C )152 .T. (D )217 .T. 29、当前记录表中共有 20 条记录,如果要给第 5 条记录加删除标
12、记,能够使用的命令是( A ) 。A. DELETE RECORD 5 B. DELETE 5C. DELETE FROM 5 D. DELETE NEXT 5二、填空题1、在 VFP 中数据库文件的扩展名是 DBC 。2、若想将 E:VFP 设置为当前目录或默认目录,应键入命令 SET DEFT TO E 。3、在 VFP 中项目文件的扩展名是 PLX 。4、创建“DHGL”数据库,所用的命令是 CREAFE 空格 。5、可视化编程的主要工具是 向导 。6、查询设计器的“筛选”选项卡用来指定查询的 条件 。7、字段“成绩”为数值型,如果整数部分最多 3 位,小数部分 1 位,那么该字段的宽度
13、至少应为 5 位 。8、假若设备表中设备的最大价格为 7 位整数和 1 位小数,那么价格这个字段的宽度应为 9 位。9、VFP 定义数组后,下标的最小值是 1 。10、检测是否到达文件尾应使用的函数为 EOF() 。11、?MAX(“A“,“a“)的显示结果为 “a” 。12、YEAR(2012-04-20)的显示结果为 2012 。13、SQL 插入记录的命令是 INSERT,删除记录的命令是 delete (拼写必须完整) 。14、用一条命令给 A1,A2 同时赋以数值 20 的语句是 STORE “2.0” TOA,A2 。15、一个数据库表最多只能有一 主 索引。16、SQL 的中文含
14、义是 结构化查询语言 。17、SQL 是英文 STRUCTURED QUERY LANGUAGE 的缩写。18、SQL SELECT 语句为了将查询结果存放到临时表中应该使用 INTO CUSOR 短语。19、在创建“工资表报表”时,数据分组选择“单位” ,但没有真正按单位分组,其原因可能是 没有对表进行排 。20、说明公共变量的命令关键字是 PUBLIC (关键字必须拼写完整) 。21、在命令窗口执行完 SUBSTR(“中华人民共和国” ,5,4)的结果是 人民 。22、检测是否到达文件首应使用的函数为 BOF() 。23、设 X=10,?VARTYPE(“X”)的输出结果是 C 。24、字
15、段“成绩”为数值型,如果整数部分最多 3 位,小数部分 2 位,那么该字段的宽度至少应为 6 。25、参照完整性规则包括:更新规则、删除规则和( 插入规则 ) 。26、用当前窗体的 LABLE1 控件显示系统时间的语句是THISFORM.LABLE1. COPTION =TIME()27、运行 XY.PRG 程序后,将在屏幕上显示如下乘法表:阅读下面的程序并完成空【12】和空【13】* 输出九九表 XY.PRG *CLEARFOR I=1 TO 9FOR J=I to I A=ALLTRIM(STR(I)B=ALLTRIM(STR(J)C= ALLTRIMSTR(I*J) ?” “+B+”x”
16、+A+”=”+CENDFOR?ENDFOR*28、空【14】空【16】使用如下数据库表:当前盘当前目录下有数据库 db_stock,其中有数据库表 stock.dbf,该数据库表的内容是股票代码 股票名称 单价 交易所600600 青岛啤酒 7.48 上海600601 方正科技 15.20 上海600602 广电电子 10.40 上海600603 兴业房产 12.76 上海600604 二纺机 9.96 上海600605 轻工机械 14.59 上海000001 深发展 7.48 深圳000002 深万科 12.50 深圳. 执行下列程序段以后,内存变量 A 的内容是 找不到内存变量 A CLO
17、SE DATABASEUSE STOCKGO TOPDO WHILE .NOT. EOF()IF 单价10A=A+1ENDIFSKIPENDDO. 以下 SQL 语句功能是要统计每个交易所的股票总数,请补充完整:SELECT 交易所, COUNT(股票代码) FROM STOCK Croup By 交易所 . 有如下 SQL 语句CREATE VIEW STOCK_VIEW AS SELECT * FROM STOCK WHERE 交易所=“深圳”执行该语句产生的视图包含的记录个数是 2 29、空【17】空【20】使用如下的“教师”表和“学院”表“教师”表职工号 姓名 职称 年龄 工资 系号1
18、1020001 肖天海 副教授 35 2000.00 0111020002 王岩盐 教授 40 3000.00 0211020003 刘星魂 讲师 25 1500.00 0111020004 张月新 讲师 30 1500.00 0311020005 李明玉 副教授 34 2000.00 0111020006 孙民山 教授 47 2600.00 0211020007 钱无名 教授 49 2500.00 03“学院”表系号 系名01 英语02 会计03 工商管理 . 使用在教师表中查询年龄在 40 岁(含 40 岁)以下的教授记录。SELECT * FROM 教师 WHERE 年龄40 AND 职
19、称教授 . 使用 SQL 语句将所有副教授的工资增加 100 元。UPDATE 教师 SET 工资=工资+100 WHERE 职称=“副教授” . 使用 SQL 语句求“工商管理”系的所有职工的工资总和。SELECT SUM (工资) FROM 教师 WHERE 系号 IN (SELECT 系号 FROM 学院 WHERE 系名=”工商管理”). 执行以下 SQL 语句以后结果应有 2 条记录。SELECT 姓名,职称,年龄,工资,系名 FROM 教师,学院 WHERE 教师.系号=学院.系号 AND (系名= “英语 ” OR 系名= “会计” ) AND 工资2000三、VFP 命令题假定
20、有职工表(职工.dbf) ,结构如下:职工(编号 C(6), 姓名 C(8), 性别 C(2), 单位 C(16), 出生日期 D, 职称 C(6), 工资 N(8, 2) ) ,其中编号为主关键字,已经建立主索引 BH。使用 Visual FoxPro 命令完成下列操作1、建立数据库 库名为职工库 crea data 职工.dbf2、打开职工表 use 职工3、修改表的结构(打开表设计器修改) modify structure 可以简写为 modi stru4、指针向下移动 2 个记录 skip 25、显示当前记录后的全部记录 disp rest6、浏览所有单位是“外语系”的职工的姓名和职称
21、。Brows field 姓名,职称,FOR 单位=“外语系”7、在表尾追加一条空白记录 append blank8、为所有职称是“讲师”的记录添加删除标志 dele for 职称=“讲师”9、显示 1990 年以后出生的所有记录 disp for year(出生日期)=199010、取消男职工的记录的删除标志 reca for 职工=“男”11、将“王悦”的单位改为“计算机系” for 姓名=“王悦”12、给每个男职工的工资增加 100 元 repl 工资 with 工资+100 for 性别=“男”13、将记录指针定位在第一位男职工的记录上。 Loca for 性别=“男”14、按“工资”
22、字段建立降序索引,索引标识为 GZ。 Inde on 工资 tag GZ decs15、将 BH 设置为主控索引,并将记录指针快速定位在编号为“120002”的记录上。Set orde to BHSeek “120002” 16、将记录指针移动到最后一条记录上。 Go bott17、统计教授的平均工资是多少。 Average.for。工资 教授18、计算开一次工资需多少钱。19、将编号是“120000”的职工的工资增加 50 元。Repl 工资 with 工资+50 for BH=”12000”20、将表的记录指针定位在工资多于 5000 元的职工的第一条记录上。Locate for 工资50
23、00四、SQL 命令题有学生情况表(XSQK.DBF) ,其结构如下:XSQK(学号 C(6),姓名 C(12),性别 C(2) ,班级 C(20),出生日期 D,入学成绩 N(5,1))使用 SQL 命令完成下列操作:1、 用 SQL 命令创建学生情况表,表名为 xsqk,表结构如上所述 CERATE TABLE XSQK(学号 char【6】姓名 char【12】性别 char【2】班级 char【20】出生日期 date入学成绩 float) 2、查询 XSQK 表中所有学生信息。 SELECT*FROM XSQK3、查询 XSQK 表中所有学生的学号、姓名和年龄。 SELECT 学号,
24、姓名,年龄 FROM XSQK4、查询学生情况表中各班的入学成绩平均SELECT 班级,AVG( 入学成绩)FORM XSQK GROUP BY 班级5、查询学生情况表中性别为女的学生的信息SELECT*FROM XSQK WHERE 性别=女6、查询 XSQK 表中所有学生的班级,要求去掉重复信息。SELECT DISTINCT 班级 FROM XSQK7、查询 XSQK 表中入学成绩多于 565 分(含)的学生的学号、姓名和入学成绩。SELECT 学号,姓名,入学成绩 FROM XSQK WHERE 入学成绩=5658、查询 XSQK 表中入学成绩在 550 到 600 分之间的学生的学号
25、、姓名和入学成绩。SELECT 学号,姓名,入学成绩 FROM XSQK WHERE 入学成绩550AND 入学成绩6009、查询 XSQK 表中所有姓“张”的学号和姓名。SELECT 学号,姓名 FROM XSQK WHERE 姓名=张10、统计 XSQK 表中班级人数超过 18(含)人的各班级的入学成绩平均分,并按平均分降序排列。SELECT 班级,AVG(入学成绩) FROM XSQK HAVING COUNT(DISTINCT 学号)=18 GROUP BY 班级 ORDER BY AVG(入学成绩) DEST11、查询 XSQK 表中入学成绩最高的三位同学的姓名和入学成绩。SELEC
26、T 姓名,TOP 3 入学成绩 FROM XSQK12、统计 XSQK 表中学生人数。SELECT COUNT(DISTINCT 学号)FROM XSQK 13、查询 XSQK 表中“生物 091”班和“生物 092”班的所有学生信息 。SELECT*FROM XSQK WHERE 班级=“生物 091” OR 班级=“生物 092”14、将学生情况表(XSQK)的姓名字段的宽度修改为 10UPDATE XSQK SET 姓名 CHAR1015、用 sql 命令将学生情况表删除DELETE XAQK CASCADE16、将学生情况表中所有学生的入学成绩都提高 5 分UPDATE XSQK SE
27、T 入学成绩 =入学成绩+517、查询学生情况表中成绩大于 550 分的学生记录保存到文件“成绩.t.xt ”中Select*from .xsqk where 入学成绩550.to file 成绩五、程序设计题1.执行如下命令序列:STORE 0 TO SUM,IDO WHILE I=300SKIPLOOPENDIFDISPLAYSKIPENDDOCLOSE DATABASERETURN该程序完成的功能是 (1)显示工资小于 300 的记录 ;LOOP 语句的功能是 (2)Loop 结束循环体本次执行转动 DO while 处重新判断条件 。10、编程,从键盘输入圆的半径 R,求圆的面积,并输出结果。ClearInput “请输入圆的半径” to RS=3.14*p*p?“圆的面积为”SReturn11、写出执行下列程序之后的输出结果为 5 。N=1I=0DO WHILE N0 REPLACE ALL 水电费 WITH 0ENDIFGO TOPBROWSE FIELDS 姓名,水电费USERETURN14、有两个数 A 和 B,下列程序段的功能是找出其中最大的那个数,请填空。INPUT “请输入一个数 A” TO A INPUT “请输入另一个数 B” TO BDO CASECASE (1)AB ?”A=”,ACASE (2)A=10EXIT