(老师版本)2014年春VFP复习题答案_第1页
(老师版本)2014年春VFP复习题答案_第2页
(老师版本)2014年春VFP复习题答案_第3页
(老师版本)2014年春VFP复习题答案_第4页
(老师版本)2014年春VFP复习题答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、单项选择题单项选择题 1条件函数 IIF(LEN(SPACE(4)3,1,-1)的值是:A A A1 B-1 C3 D4 2当前表文件有 20 条记录,当前记录号为 1 ,执行命令 GO 10 和 LIST 以后,当前记录号是:D D A1 B10 C20 D21 4下面有关表索引的几种说法,正确的是:B B A索引和排序一样,它改变记录的物理顺序。 B索引文件有单索引文件(.IDX)和复合索引文件(.CDX)两大类。 C建立单索引可以使用 FOR 子句,复合索引不能使用该子句。 D索引关键字中涉及到多个字段时,用“,”将各个子段分隔开。 5函数 TYPE(“CTOD(05/01/97)”

2、)返回的结果是( B )。 AC BD CN DU 610 题基于如下数据表 stud.dbf Stud.dbf 学号姓名性别出生日期专业名称入校总分政治面貌 李敏女 10/03/80 应用数学 520 团员 王子恒男 05/12/79 应用数学 600 党员 赵小芳女 02/16/80 应用数学 580 团员 何华军女 08/04/80 应用数学 610 团员 刘力扬女 10/23/80 计算机应用 480 党员 霍大伟男 02/11/79 计算机应用 680 团员 马艳枫女 06/12/81 计算机应用 480 团员 曲丽芳女 03/03/78 计算机应用 630 团员 6要查询入校总分低

3、于 600,高于 650 的同学信息的 SQL 语句是:C C ASELECT * FROM stud WHERE 入校总分650 BSELECT * FROM stud WHERE 入校总分650 CSELECT * FROM stud WHERE 入校总分 NOT BETWEEN 600 AND 650 DSELECT * FROM stud WHERE 入校总分 NOT IN(600,650) 7将 stud 表的专业名称字段的宽度由 10 改成 12,应使用 SQL 语句:C C AALTER TABLE stud 专业名称 WITH C(12) BALTER TABLE stud 专

4、业名称 C(12) CALTER TABLE stud ALTER 专业名称 C(12) DALTER TABLE stud SET 专业名称 C(12) 8执行如下 SQL 语句: SELECT DISTINCT 入校总分 FROM stud WHERE 单价=(SELECT MIN(入校总分) FROM stud) INTO DBF stud_x 则表 stud_x 中的记录个数是:D D A4 B3 C2 D1 9求每个专业的平均入校总分的 SQL 语句是:D D ASELECT 专业名称,AVG(入校总分) FROM stud GROUP BY 入校总分 BSELECT 专业名称,AV

5、G(入校总分) FROM stud ORDER BY 入校总分 CSELECT 专业名称,AVG(入校总分) FROM stud ORDER BY 专业名称 DSELECT 专业名称,AVG(入校总分) FROM stud GROUP BY 专业名称 10下列查询语句的结果和“SELECT * FROM stud WHERE 学号= ”的查询结果相同的是:A ASELECT * FROM stud WHERE 入学总分=ALL(SELECT 入学总分 FROM stud WHERE 政治面貌=团员) BSELECT * FROM stud WHERE 入学总分=ANY(SELECT 入学总分

6、FROM stud) CSELECT * FROM stud WHERE 入学总分=SOME(SELECT 入学总分 FROM stud WHERE 政治面貌=团员) DSELECT * FROM stud WHERE 入学总分=(SELECT 入学总分 FROM stud WHERE 政治面貌=团员) 11“图书”表中有字符型字段“图书号”,要求用 SQL DELETE 命令将图书号以字母 A 开头的图书记录全部打 上删除标记,正确的命令是( B )。 A)DELETE FROM 图书 FOR 图书号 LIKE A B)DELETE FROM 图书 WHILE 图书号 LIKE A C)DE

7、LETE FROM 图书 WHERE 图书号=A* D)DELETE FROM 图书 WHERE 图书号 LIKE A 12 A A)ALTER TABLE 歌手 ADD 最后得分 F(6,2) B)ALTER DBF 歌手 ADD 最后得分 F 6,2 C)CHANGE TABLE 歌手 ADD 最后得分 F(6,2) D)CHANGE TABLE 学院 INSERT 最后得分 F 6,2 13在数据库表中,要求指定字段或表达式不出现重复值,应该建立索引时 D D A惟一索引 B惟一索引和候选索引 C惟一索引和主索引 D主索引和候选索引 14消除 SQL SELECT 查询结果中的重复记录,

8、可采取的方法是:C C A通过指定主关键字 B通过制定惟一索引 C使用 DISTINCT 短语 D使用 UNIQUE 短语 15计算所有职称为正、副教授的平均工资,将结果赋予变量 PJ 中,应使用命令:A AAVERAGE 工资 TO PJ FOR “教授”$职称 BAVERAGE FIELDS 工资 TO PJ FOR “教授”$职称 CAVERAGE 工资 TO PJ FOR 职称=“副教授”.AND.职称=“教授” DAVERAGE 工资 TO PJ FOR 职称=“副教授”.OR.“教授” 16在 Visual FoxPro 中,打开数据库的命令是:A AOPEN DATABASE B

9、USE CUSE DATABASE DOPEN 17下列短语不是 Visual FoxPro 范围短语的是:A ASKIP BNEXT 2 CREST DALL 18Mdify Command 命令建立的文件的默认扩展名是:C Acmd Bapp Cprg Dexe 19关于自由表和数据库表叙述正确的是:C A自由表和数据库表是完全相同的 B数据库表不能建立字段级规则和约束 C只有数据库表才能建立主索引 D数据库表不能转换为自由表 20用 SQL 语句为职工工资表 GZ 文件中的所有工资涨 200 圆,其应使用的命令是:B B AREPLACE ALL 工资 WITH 工资+200 BUPDA

10、TE GZ SET 工资=工资+200 CUPDATE GZ 工资=工资+200 DUSE GZ SET 工资=工资+200 21关于查询和视图说法正确的是:D D A查询和视图都可以定义查询去向 B查询和视图都可以进行更新操作 C查询和视图都必须在打开数据库的情况下建立 D查询和视图都可以在设计器中添加自由表 22两表之间的临时性联系称为关联,在两个表之间的关联已经建立的情况下,有关“关联”说法正确的是 C C A建立关联的两个表一定在同一个数据库中 B两表之间临时性联系时建立在两表之间永久性联系基础之上的 C当父表记录指针移动时,子表记录指针按一定的规律跟随移动 D当父表关闭时,子表自动被

11、关闭 下表是用 list 命令显示的“运动员”表的内容和结构,第 2527 题使用该表。 记录号运动员号投中 2 分球投中 3 分球罚球 11345 22213 33000 44567 23、为“运动员”表增加一个字段“得分”的 SQL 语句是:C C A)CHANGE TABLE 运动员 ADD 得分 I B)ALTER DATA 运动员 ADD 得分 I C)ALTER TABLE 运动员 ADD 得分 I D)CHANGE TABLE 运动员 INSERT 得分 I 24、计算每名运动员的“得分”(33 题增加的字段)的正确 SQL 语句是:D A)UPDATE 运动员 FIELD 得分

12、=2*投中 2 分球+3*投中 3 分球+罚球 B)UPDATE 运动员 FIELD 得分 WITH 2*投中 2 分球+3*投中 3 分球+罚球 C)UPDATE 运动员 SET 得分 WITH 2*投中 2 分球+3*投中 3 分球+罚球 D)UPDATE 运动员 SET 得分=2*投中 2 分球+3*投中 3 分球+罚球 25、检索“投中 3 分球”小于等于 5 个的运动员中“得分”最高的运动员的“得分”,正确的 SQL 语句是:A A)SELECT MAX(得分) 得分 FROM 运动员 WHERE 投中 3 分球=5 B)SELECT MAX(得分) 得分 FROM 运动员 WHEN

13、 投中 3 分球=5 C)SELECT 得分=MAX(得分) FROM 运动员 WHERE 投中 3 分球=5 D))SELECT 得分=MAX(得分) FROM 运动员 WHEN 投中 3 分球=5 二、是非题二、是非题 1. 可以伴随着表的打开而自动打开的索引是非结构化复合索引文件。 ( ) 2. 打开数据库 student.dbc 的命令 OPEN DATABESE STUDEN ( ) 3. 执行 SQL 中的命令 UPDATE RSDA SET 工作单位=“计算机系”,则 RSDA 表中全部记录的“工作单位”将 修改为“计算机系”。 ( ) 4. 利用 SQL 中的 SELECT 查

14、询命令不能将查询的结果存储到数据表文件中。( ) 5. 当指针指向首记录时,BOF( )的值为.T.。 ( ) 6. 如果指定参照完整性的删除规则为“级联”,则当删除父表中的记录时会自动删除子表中所有相关记录。 ( ) 7. 输入命令 ACCEPT 只能接受字符串,用户在输入字符串时不需要加定界符。( ) 8. 设数据表文件有关复合型索引文件已经建立,要打开该数据表文件的复合型索引文件,必须与数据表文件一 起打开。 ( ) 9. Visual FoxPro 定义的字符串运算符有两个:+,-。+为字符串精确连接符, 它把两个字符串原封不动连接 起来,形成一个新的字符串。 ( ) 三、读程序题三、

15、读程序题(在下列各题中,只有一个选项是正确的,请将正确的答案的代码填入答题卡中。每个选择 2 分,共计 40 分) 1有如下程序: X=1 A=0 DO WHILE X=5 EXIT ENDIF X=X+1 ENDDO ?A 1)则程序运行的结果为( D D ) A5 B6 C55 D15 2S=1 FOR I=1 TO 15 STEP 5 S=S*I ENDFOR ?S=,S 1)S 的显示结果为( D D ) A) 18 B)24 C)50 D) 66 2) 和该题目中 ENDFOR 语句等价的语句是( A ) A) NEXT B)READ C)RETU D)DISP 3. use 学生

16、I=1 FILEN= DO WHILE I3000 DO WHILE NOT EOF() IF SUBSTR(部门号,1,2)=06 X=X+工资 ENDIF CONT ENDDO ?X USE ?X 的显示结果为( C ) A6000 B5000 C11000 D14000 5. 有下列程序: X=54321 Y=0 DO WHILE X0 Y=X%10+Y*10 X=INT(X/10) ENDDO ?Y S1=stuff(STR(Y,5),2,4, ”XXXX”) ?S1 RETURN 1)程序运行以后,输出显示 Y 的值是( B B ) A1234 B12345 C5432 D54321

17、 2)程序运行以后,输出显示 S1 的值是( A A ) A1XXXX B12XXXX C54XXXX D5XXXX 6. 如果在命令窗口输入并执行命令:“LIST 名称”后在主窗口中显示: 记录号 名称 1 电视机 2 计算机 3 电话线 4 电冰箱 5 电线 假定名称字段为字符型、宽度为 6,那么下面程序段的输出结果是( C C )。 GO 2 SCAN NEXT 4 FOR LEFT(名称,2)=电 IF RIGHT(名称,2)=线 LOOP ENDIF ?名称 ENDSCAN A电话线B电冰箱 C电冰箱电线 D电视机电冰箱 7有如下程序: CLEAR N=1 H=0.5 DO WHIL

18、E .T. H=H*2 IF H=16 EXIT ENDIF N=N+1 ENDDO ?”循环次数为:”,N 则程序运行的结果中 N 值为( C C ) A0 B4 C5 D6 8 下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是(A A)。 SET TALK OFF INPUT X= TO X S=0 DO WHILE X!=0 S=S+MOD(X,10) ENDDO ?S SET TALK ON AX=INT(X/10) BX=INT(X%10) CX=X-INT(X/10) DX=X-INT(X%10) 9. 执行下列程序: one=BIOS two= a=LEN (one)

19、 i=a DO WHILE i= 1 two = two+SUBSTR( one,i,1) i=i-1 ENDDO ? two 最终输出的结果为( B B ) ABIOS BSOIB C4 D0 10. 有下面的程序段: I=0 DO WHILE I0 y=x%10+y*10 x=int(x/10) ENDDO 内存变量 y 的值是:D D A3456 B34567 C7654 D76543 13.下列的程序段中与上题的程序段对 y 的计算结果相同的是 。B A x=34567 B x=34567 y=0 y=0 Flag=.T. Flag=.T. DO WHILE flag DO WHILE

20、 flag y=x%10+y*10 y=x%10+y*10 x=int(x/10) x=int(x/10) IF x0 IF x=0 Flag=.F. Flag=.F. ENDIF ENDIF ENDDO ENDDO C x=34567 D x=34567 y=0 y=0 Flag=.T. Flag=.T. DO WHILE ! flag DO WHILE ! flag y=x%10+y*10 y=x%10+y*10 x=int(x/10) x=int(x/10) IF x0 IF x=0 Flag=.F. Flag=.T. ENDIF ENDIF ENDDO ENDDO 14第 1)到第 3

21、)题基于下列给定的两张数据表:教师.DBF、学院.DBF 职工号系号姓名工资主讲课程 01 肖海 3408 数据结构 02 王岩 4390 数据结构 01 刘星魂 2450 C 语言 03 张月新 3200 操作系统 01 李明玉 4520 数据结构 02 孙民山 2976 操作系统 03 钱无名 2987 数据库 04 呼延军 3220 编译原理 03 王小龙 3980 数据结构 01 张国梁 2400 C 语言 04 林新月 1800 操作系统 01 乔小月 5400 网络技术 02 周兴池 3670 数据库 04 欧阳秀 3345 编译原理 1)下列程序段的输出结果是 ( A A ) C

22、LOSE DATA S=0 USE 教师 GO TOP DO WHILE NOT EOF() IF 主讲课程=C 语言 OR 主讲课程=数据库 S=S+1 ENDIF SKIP ENDDO ?S A4 B5 C6 D7 2)下列程序段的输出结果是 ( D D ) USE 教师 LOCATE FOR 工资4500 CONTINUE DISPLAY FIELDS 主讲课程 RETURN A数据结构 BC 语言 C操作系统 D网络技术 3)下列程序段的输出结果有( B B )条记录 SELECT 1 USE 学院 INDEX ON 系号 TAG XH SELECT 2 USE 教师 INDEX ON

23、 系号 TAG XH SET RELATION TO 系号 INTO A DO WHILE NOT EOF() IF (A.系名=信息管理 OR A.系名=数学) AND 工资3000 ?职工号,姓名,A.系名 ENDIF SKIP ENDDO RETURN A1 B2 C3 D4 15执行以下程序 CLEAR INPUT “请输入第一个数:” TO A INPUT “请输入第二个数:” TO B INPUT “请输入第三个数:” TO C IF MAX(A,B)C ?MAX(A,B) ELSE IF MIN(A,B)15 AND 工资600 SUM 工资 TO G1 SET FILTER T

24、O DELETE FOR 工龄15 AND 工资600 PACK COUNT TO G2 ?G1,G2 USE 程序运行结束时,G1 显示结果为( C C ) A2420 B1910 C1310 D1290 程序运行结束时,G2 显示结果为(B B ) A3 B4 C5 D6 17有如下程序: ACCEPT 请输入学生的平均成绩: TO X X=VAL(X) DO CASE CASE X=90 ? 优秀 CASE X=80 ? 良好 CASE X=60 ? 中等 OTHERWISE ? 差 ENDCASE 1) 若键盘输入 85,则屏幕上显示的结果是( B B ) A优秀 B良好 C中等 D差

25、 2)若把该程序中 ACCEPT 替换为 INPUT,以下哪个成绩的输入是不正确的( A ) A80 B80 C”80” D80 18 CLEAR A=1 B=1 5,10 SAY 输入整数 A , B: GET A 8,25 GET B READ T=A A=B B=T 10,10 SAY 结果为:+STR(A,10)+STR(B,10) 15)该程序的功能是( B B ) A)A,B 值原样输出 B)A,B 值互换 C)A,B 值相连接 D)A,B 值相加 19有以下两个表文件,其中表文件 KU1.DBF 中的记录如下: Record # 学号 姓名 性别 专业 1 96004 罗华东 男

26、 机械工程 2 96005 姜山 男 计算机科学 3 96006 张玲 女 经济管理 4 96007 王先林 男 应用化学 表 KU2.DBF 中的记录如下: Record # 学号 上机 笔试 1 96004 84 77 2 96005 56 83 3 96006 91 93 4 96007 63 51 执行以下程序: SET TALK OFF SET DELETED ON SELECT 2 USE KU2 INDEX ON 学号 TAG XH2 SELECT 1 USE KU1 INDEX ON 学号 TAG XH1 SET RELATION TO 学号 INTO B COPY TO KU3 FIELDS 学号,姓名,性别,B.上机,B.笔试 USE KU3 DELETE ALL FOR 上机60 OR 笔试=0,应使用 SQL 语句: ALTER TABLE 金牌榜 ADD 奖牌总数 I CHECK 奖牌总数=0。 使用“获奖牌情况”和“国家”两个表查询“中国”所获金牌(名次为 1)的数量,应使用 SQL 语句: SELECT COUNT(*) FROM 国家 INNER JOIN 获奖牌情况; ON 国家.国家代码 = 获奖牌情况.国家代码; WHERE 国家.国家名称=中国 AND 名次=1 将金牌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论