就业数据资源平台
当前位置:首页 > Visual FoxPro
全国计算机等级考试二级VF试题及答案(1)

  单项选择题 (每小题1分,共20分)


  1. 在VFP的命令窗口中,以下叙述正确的是(A )


  (A) 所使用的变量都是全局变量 (B)不能运行任何程序


  (C) 不能打开数据表 (D)不能修改执行过的命令


  2. 在数据库的三级模式中,真正存储数据的是( B )。


  (A)模式 (B)内模式 (C)外模式 (D)概念模式


  3. 在VFP的命令窗口中已经定义了若干个内存变量,若执行QUIT命令后,这些变量所保存的数据将(C )


  (A) 存入一个自动生成的内存变量文件中 (B)自动转到磁盘存储器上保留


  (C) 随着系统的退出全部丢失 (D)转为外存变量保存下来


  4. 通用字段的数据宽度为4,它存放的是( C ).


  (A) 多媒体数据 (B) 文件名称 (C) FPT指针 (D) CDX指针


  5. 下列符号中,不是变量名的是( A )。


  (A) "姓名" (B) 性别 (C) A100 (D) AB


  6. 表达式SUBSTR(RIGHT(“ZIYUANGUANLI”,6),3,4)的结果( A )。


  (A) ANLI (B) GUAN (C) YUAN (D) ZIYU


  7. 下列函数中,将字符串转换为数值的是( B )。


  (A) STR() (B) VAL() (C) CHR() (D) MOD()


  8. TIME()函数返回值的数据类型是(B )。


  (A) 数值型 (B) 字符型 (C) 逻辑型 (D) 日期型


  9. 执行A=″1.保护环境″和B=20两条赋值命令后,能够正确求值的表达式是( B )。


  (A) RIGHT(A,4)+SUBSTR(B,2) (B)VAL(LEFT(A,1))+B


  (C) A+B (D)SUBSTR(A,1,1)+B


  10. 设X=123,Y=678,H=”X+Y”,则表达式1+&H的值是( A )。


  (A) 802 (B)数据类型不匹配 (C)1+X+Y (D)679



  11. DB(数据库)、DBMS(数据库管理系统)和DBS(数据库系统)三者之间的关系是(B )。


  (A) DB包括DBMS和DBS     (B) DBS包括DB和DBMS


  (C) DBMS包括DBS和DB (D) DBS与DB和DBMS无关


  12. 既可输入字符、数值,又可输入日期、逻辑值的数据输入命令是( C )。


  (A)WAIT (B)ACCEPT (C)INPUT (D)=INKEY(0)


  13. 有如下命令序列


  X=1


  Y=2


  Z=3


  ?Z=X+Y


  执行最后一条命令后,显示的结果应该是( D )。


  (A) X+Y (B)3 (C).F. (D).T.


  14. SELECT 0的功能是( A )。


  (A) 选择工作区号最小的空闲工作区 (B) 选择工作区号最大的空闲工作区


  (C)选择当前工作区号+1的工作区 (D)随机选择一个工作区的区号


  15. 删除一个数据表文件XS.DBF,使用的命令是( D )。


  (A) DELE XS.DBF (B)PACK XS.DBF


  (C) ZAP (D)DELE FILE XS.DBF


  16. 将职工工资数据表中所有研究员的工资增加100元,应使用命令(D )。


  (A) REPLACE 工资 WITH 100 FOR 职称=”研究员”


  (B) REPLACE 工资 WITH 工资+100 WHILE 职称=”研究员”


  (C) CHANGE 工资 WITH 工资+100 FOR 职称=”研究员”


  (D) REPLACE 工资 WITH 工资+100 FOR 职称=”研究员”


  17. 与下列语句序列等效的删除命令是( D ):


  DO WHILE .T.


  IF 性别<> "男"


  EXIT


  ENDIF


  IF 政治面目="群众"


  DELETE


  ENDIF


  SKIP


  ENDDO


  (A) DELETE FOR 性别="男" .AND.政治面目="群众"


  (B) DELETE WHILE 性别="男" .AND.政治面目="群众"


  (C) DELETE FOR 性别="男" WHILE 政治面目="群众"


  (D) DELETE WHILE 性别="男" FOR 政治面目="群众"


  18. 以下有关排序和索引的描述中,不正确的是( C )。


  (A) 排序和索引都是对数据表中的记录按关键字重新组织。


  (B) 排序过程占用空间大、所需时间长、需重新生成新的排序文件。


  (C) 排序文件空间小、索引文件空间大。


  (D) 索引是按关键字对数据表记录的逻辑排序。


  19. 已知商品数据表goods的结构为(商品代码 c10,品名 c30,单价 n5,供应商代码 c10)。设商品代码的值是数字字符,以下哪条VFP-SQL语句能够实现功能:查询商品代码的值是偶数,并且单价大于3000的全部商品信息( C )。


  (A) list for sqrt(val(商品代码),2)=0 and 单价>3000


  (B) select where mod(val(商品代码),2)#0 and 单价>3000


  (C) select * from goods where mod(val(商品代码),2)=0 and 单价>3000


  (D) select where mod(val(商品代码),2)=0 and 单价>3000


  20.在表单程序运行期间,控件对象(如:命令按钮)获得焦点时,引发的事件是( A )。


  (A) gotfocus (B) lostfocus (C) destroy (D) click


  多项选择题 (每小题1分,共10分,错选、漏选均不得分)


  1. VFP的特点有( ABE )。


  (A) 友好的窗口菜单界面 (B) 采用RUSHMORE优化技术


  (C) 安全机制强 (D) 库表文件的最大记录数为一亿条


  (E) 支持VFP-SQL语句


  2. 以下叙述正确的有( BE)。


  (A) 使用COPY FILE TO 必须先打开文件。


  (B) COPY TO 命令可以同时复制备注文件。


  (C) APPEND FROM SCORE.DBF 需要事先打开SCORE.DBF数据表。


  (D) SCATTER命令一次可将数据表内全部记录内容传送给指定数组。


  (E) 修改数据表结构可采用交互式命令MODIFY STRUCTURE。


  3. 在VFP的语句中,可作为<范围>子句的选项有( ABDE )。


  (A) ALL (B) NEXT N (C) FOR (D) REST (E) RECORD N


  4. 内存变量的作用域有( CDE )。


  (A) screen (B) command (C) local (D) public (E) private


  5. 在VFP的可视化程序设计中,控件CommandButton的主要属性是(ACE )。


  (A)Caption  (B)Click (C)Enabled (D)Move (E) Picture


  6. 以下表达式中,a,b为数值,其中合法的表达式有( ABDE )。


  (A) 8-3=5 (B){99/01/01}+15


  (C) [8]+[3]>10 (D)at(”ad”, ”xyadvanad”)-len(”adadad”)


  (E) .not. (a=b) .and. a-b>0 or b=0


  7. 以下可以在数据表中增加一条空白记录的命令有( BC )。


  (A) insert (B) insert blank (C) append blank


  (D) insert before (E) repl blank


  8. 下列命令是显示年龄为10的整数倍的全部在职职工记录,正确的有( ABC )。


  (A) browse FOR MOD(年龄,10)=0 (B) browse FOR 年龄/10=INT(年龄/10)


  (C) browse FOR SUBSTR(STR(年龄,2),2,1)= "0"


  (D) browse FOR 年龄=20 .OR.30 .OR.40 .OR . 50 .OR.60


  (E) browse FOR ROUND(年龄,10)=0


  9. 以下哪些是程序设计的基本结构(ADE )


  (A) 分支 (B)复制 (C)选通 (D)循环 (E)顺序


  10. 数据库的数据模型一般分为( BDE )。


  (A) 选择 (B) 关系 (C) 连接 (D) 层次 (E) 网状


  1 ABE 6 ABDE


  2 BE 7 BC


  3 ABDE 8 ABC


  4 CDE 9 ADE


  5 ACE 10 BDE


  判断分析题 (每小题1分,共10分)


  1. VFP的数组单元允许赋予各自不同的数据类型。(R)


  2. 宏替换&的操作数只能用字符型变量。(R)


  3. .? IIF(1-6=5,"男","女")命令显示的是“男”。(W)


  4. 日期型数据之间不能进行加法运算,但可以进行减法运算。(R)


  5. VFP工作区号的大小可以说明同时打开数据表的先后次序。(W)


  6. 在命令按钮控件中,可以通过前导符 \< 设置按钮标题的快捷键。(R)


  7. 关系模型的“码”指属性的取值范围。(W)


  8. 在数学(M)、物理(P)、英语(E)三科中,均高于85分或者三科总分大于270分者,其逻辑表达式是:M>85 .AND. P>85 .AND. E>85 .AND. M+P+E>270 (W)


  9. 某数据库表的“字段有效性”规则为:性别=“男”or 性别=“女”。它不仅限制“性别”字段的值域,而且限制“姓名”字段的值域。


  10. VFP的数据统计命令:calculate aver(工资),max(工资),min(工资) to a,b,c 可以计算出工资数据表的全部职工的平均工资、最高工资和最低工资。(W)


  1 2 3 4 5 6 7 8 9 10


  √ √ × √ × √ × × × ×


  填空题 (每空2分,共20分)


  1. 有一密码验证程序,其设计界面如图1,运行界面如图2。基本功能是在2个文本框中输入两次密码,2个密码完全相同,验证通过(释放表单)。否则,弹出警告窗口,报告“密码值有误,重新输入!”,表单不释放。以下为一些控件的属性设置和事件代码,请填空完成。


  Text1.PasswordChar= ①


  Command1.Click Event


  if ②


  =messagebox("密码值有误,重新输入!")


  return


  endif


  thisform.release


  2.以下程序实现功能:统计数据表stock99中,字段“编号”为奇数的 “库存量”之和。请填空完成。


  Set talk off


  X=0 &&库存量的和值


  ___________ ③ ________


  do while .not.eof()


  if val(编号)/2<>______④


  X=X+库存量


  endif


  ___________ ⑤ _______


  enddo


  ? "编号为奇数的库存量之和为:", X


  use


  3. 设有一数据表GZ.DBF,有一字段名为“实发工资”。下面是按“实发工资”计算税金的程序,并将计算结果填入“税金”字段(假设职工最高实发工资为3000元),请将正确的内容填在下划线处。


  ***主程序MAIN.PRG*** ***子程序SUB.PRG***


  SET TALK OFF PARAMETERS SF,X


  TAX=0 X=0


  USE GZ DO CASE


  DO WHILE .NOT.EOF() CASE SF>=800 .AND.SF<1300


  SFGZ=实发工资 X=(SF-800)*0.05


  DO SUB WITH ___⑥_____ CASE SF>=1300 .AND. SF<2300


  ? TAX B=SF-1300


  ______⑦________ X=B*0.15+500*0.1+500*0.05


  SKIP CASE SF>=2300


  ENDDO B=SF-2300


  USE X=B*0.2+500*0.15+500*0.1+500*0.05


  CANCEL ______⑧______


  RETURN


  4.请完善TEST1.PRG程序,使得运行该程序后,将在屏幕上显示左边的乘法表:


  1 ***TEST1.PRG***


  2 4 SET TALK OFF


  3 6 9 FOR ______⑨_______


  4 8 12 16 FOR ______⑩_______


  5 10 15 20 25 ?? STR(J*K,6);


  6 12 18 24 30 36 ENDFOR


  7 14 21 28 35 42 49 ?


  8 16 24 32 40 48 56 64 ENDFOR


  9 18 27 36 45 54 63 72 81 RETURN


  ① “*”


  ② thisform.text1.value # thisform.text2.value


  ③ USE stock99


  ④ INT(val(编号)/2)


  ⑤ SKIP


  ⑥ SFGZ,TAX


  ⑦ REPLACE 税金 WITH TAX


  ⑧ ENDCASE


  ⑨ J=1 TO 9


  ⑩ K=1 TO J


  读程序写出运行结果 (每小题4分,共20分)


  1. 有一程序如下,写出运行结果:


  SET TALK OFF


  CLEAR


  STORE 1 to f1,f2


  FOR k=1 to 4


  ?f1,f2


  f1=f1+f2


  f2=f2+f1


  ENDFOR


  RETURN


  2. 设有一学生成绩数据表XSCJ.DBF如下,写出下面程序的运行结果。


  学号 课程号 学期 考试成绩 补考成绩


  1999013001 01601 6 86.0


  2000100723 10312 4 91.0


  1998205134 20734 8 70.0


  1999120815 12915 6 89.0


  1999013001 60623 6 55.0 78.0


  1999013001 60101 8 75.0


  2000221005 22510 4 53.0 80.0


  SET TALK OFF


  CLEAR


  USE XSCJ


  k=0


  DO WHILE .NOT. EOF()


  IF 学号="1999013001"


  If k=0


  ? 学号,课程号,iif(考试成绩<60,补考成绩,考试成绩),“—”


  k=k+1


  else


  ?? 课程号, iif(考试成绩<60,补考成绩,考试成绩),“—”


  endif


  endif


  SKIP


  ENDDO


  USE


  Return


  3. 已知cTest=”hello2008,Luck5688PIG”,写出以下程序的运行结果:


  SET TALK OFF


  CLEAR


  cNumOnly = "" &&空串


  FOR nCnt = 1 TO LEN(cTest)


  cCharacter = SUBSTR(cTest, nCnt, 1)


  IF ISDIGIT(cCharacter)


  cNumOnly = cNumOnly + cCharacter


  ENDIF


  ENDFOR


  ? cNumOnly


  return


  4. 写出以下程序运行的结果:


  SET TALK OFF


  Local i PROCEDURE M2


  i=8 Parameters j


  C1="计算机等级考试" do while j>=i


  DO M1 ?? substr(cd , j , 2)


  ? 1998+i, right(C1,i ) j=j-2


  RETURN enddo


  ?? C1


  PROCEDURE M1 i=4


  PUBLIC cd RETURN


  i=1


  cd="校高市庆重"


  do M2 with 9


  RETURN


  5. 有两个数据表文件,其内容如下:


  学生成绩表CJ.DBF: 学生学号、姓名对照表XM.DBF:


  学号 科目 成绩 学号 姓名


  99011 马列原理 70 99011 张三


  99013 马列原理 85 99012 李四


  99012 马列原理 65 99013 王五


  99012 英语 70


  99011 英语 85


  99013 英语 70


  执行以下程序段,写出运行结果:


  set talk off


  sele a


  use xm


  inde on 学号 to xh


  sele b


  use cj


  inde on 学号to cj1


  set rela to 学号 into a


  list off 学号,a->姓名,科目,成绩 for right (学号,2)=”12”


  close data


  return


  1. 1 1


  2 3


  5 8


  13 21


  2. 1999013001 01601 86.0 – 60623 78.0 – 60101 75.0 --


  3. 20085688


  4. 重庆市高校计算机等级考试


  2006 等级考试


  5. 学号 姓名 科目 成绩


  99012 李四 马列原理 65


  99012 李四 英语 70


  程序设计题 (20分)


  某一库存管理数据库,有数据表:


  实时库存量表xa,表结构(编号/ c/ 5,品名/ c/ 10,库存量/ n/ 6);


  入库和出库单据表xb,表结构(编号/ c/ 5,标志/ L/ 1,数量/ n/ 5)。


  其中,xb中的标志字段为“真”时代表入库,为“假”时代表出库。


  试编写程序,根据xb表的数据,更新xa表的实时库存量。具体算法是,如果标志字段为“真”,将数量增加到xa对应的商品库存量;如果标志字段为“假”,从xa对应的商品库存量中减去数量。


  set talk off


  select 1


  USE xb


  select 2


  use xa


  index on 编号 to ibh


  select 1


  set rela TO 编号 INTO B


  go top


  do while .not.eof(1)


  sele 2


  if .not.eof(2)


  if A->标志


  repl 库存量 with 库存量+a->数量


  else


  repl 库存量 with 库存量-a->数量


  endif


  endif


  SELE 1


  skip


  enddo


  close all


  retu

就业数据资源平台