灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3756回复:0

[二级考试]2012年计算机二级VFP程序设计考前试题及答案

楼主#
更多 发布于:2012-08-22 13:52



程序设计基础 习题七
   一、单选题
   1.在Visual FoxPro 中,程序文件的扩展名为( )。
   A).QPR
   B).PRG
   C).PJX
   D).SCX
   2.在DO WHILE——ENDDO 的循环结构中,下列叙述正确的是( )。
   A)循环体中的LOOP 和EXIT 语句的位置是固定的
   B)循环体中应加入控制循环结束的语句
   C)执行到ENDDO时,首先判断表达式的值,然后再返回DO WHILE语句
   D)循环体中的LOOP语句为跳出循环体
   3.在DO WHILE——ENDDO 的循环结构中,LOOP语句的作用是( )。
   A)退出过程,返回程序开始处
   B)转移到DO WHILE语句行,开始下一个判断和循环
   C)终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行
   D)终止程序执行
   4.执行如下程序,最后S的显示值为( )。
   SET TALK OFF
   s=0
   i=5
   x=11
   DO WHILE s<=x
   s=s+i
   i=i+1
   ENDDO
   ? s
   SET TALK ON
   A)5
   B)11
   C)18
   D)26
   5.设有如下程序文件,则执行此程序后的运行结果为( )。
   SET TALK OFF
   CLEAR
   DIMENSION a(2,3)
   i=1
   DO WHILE i<=2
   j=1
   DO WHILE j<=3
   a(i,j)=i+j
   ?? a(i,j)
   j=j+1
   ENDDO
   ?
   i=i+1
   ENDDO
   SET TALK ON
   RETURN
   A)2 3 4
   B)1 2 3
   C)1 2 3
   D)2 3 4
   3 4 5 3 4 5 2 4 6 4 5 6
   6.设某程序中有PROG1.prg,PROG2.prg,PROG3.prg 三个程序依次嵌套,下面叙述中正确的是( )。
   A)在PROG1.prg 中用!RUN PROG2.prg 语句可以调用PROG2.prg 子程序
   B)在PROG2.prg 中用RUN PROG3.prg 语句可以调用PROG3.prg 子程序
   C)在PROG3.prg 中用RETURN语句可以返回PROG1.prg 主程序
   D)在PROG3.prg 中用RETURN TO MASTER语句可以返回PROG1.prg 主程序
   7.有如下程序,执行命令DO P后,屏幕显示的结果为( )。
   *** 主程序:P.prg *** *** 子程序:P1.prg ***
   SET TALK OFF x2=x2+1
   STORE 2 TO x1,x2,x3 DO P2
   x1=x1+1 x1=x1+1
   DO P1 RETURN
   ? x1+x2+x3 ***子程序:P2.prg***
   SET TALK ON x3=x3+1
   RETURN RETURN TO MASTER
   A)3
   B)4
   C)9
   D)10
8.在某个程序模块中使用命令PRIVATE XI定义了一个内存变量,则变量XI( )。    A)可以在该程序的所有模块中使用
   B)只能在定义该变量的模块中使用 来源教育城
   C)只能在定义该变量的模块及其上层模块中使用
   D)只能在定义该变量的模块及其下属模块中使用
   9.执行下列程序后的运行结果为( )。
   CLEAR PROCEDURE A PROCEDURE B
   DO A PRIVATE s s=s+10
   RETURN s=5 RETURN
   DO B
   ? s
   RETURN
   A)5
   B)10
   C)15
   D)程序错误,找不到变量
   10.执行下列程序后,屏幕上显示的结果是( )。
   X=2 PROCEDURE SUB1
   Y=3 PRIVATE Y
   ? X,Y X=4
   DO SUB1 Y=5
   ?? X,Y RETURN
   RETURN
   A)2 3 4 5
   B)2 3 4 3
   C)4 5 4 5
   D)2 3 2 3
   11.执行下列程序后的运行结果为( )。
   CLEAR PROCEDURE PROG1
   SET TALK OFF a=a*2
   STORE 1 TO i, a, b b=b+a
   DO WHILE i<=3 RETURN
   DO PROG1
   ?? "P(" + STR(i,1) + ")=" + STR(a,2) + ","
   i=i+1
   ENDDO
   ?? "b=" + STR(b,2)
   SET TALK ON
   RETURN
   A)P(1)=2, P(2)=3, P(3)=4, b=15
   B)P(1)=2, P(2)=4, P(3)=6, b=8
   C)P(1)=2, P(2)=4, P(3)=6, b=18
   D)P(1)=2, P(2)=4, P(3)=8, b=15
   12.有如下程序,执行程序后,屏幕上的输出结果为( )
   X=10 PROCEDURE SUB1
   M=2 PARAMETERS M,N
   N=3 X=M+10
   DO SUB1 WITH M,N M=M+N
   DO SUB1 WITH M,N ? X,M,N
   RETURN ENDPROC
   A) 12 5 3 B) 12 8 3 C) 12 5 3 D) 12 2 3
   12 8 3 15 8 3 15 8 3 12 8 3
   13.在运行下列程序后,屏幕上显示的输出结果是( )。
   STORE 10 TO X,Y,Z PROCEDURE PROC1
   DO PROC1 WITH (X),Y PARAMETERS M,N
   ? X,Y,Z M=M+10
   RETURN N=N+10
   RETURN
   A)10 10 10
   B)10 20 10
   C)10 20 20
   D)10 10 20
   14.下列程序段的输出结果是( )。
   CLEAR PROCEDURE SWAP
   STORE 10 TO A PARAMETERS X1,X2
   STORE 20 TO B TEMP=X1
   SET UDFPARMS TO REFERENCE X1=X2
   DO SWAP WITH A,(B) X2=TEMP
   ? A,B ENDPROC
   RETURN
   A)10 20
   B)20 20
   C)20 10
   D)10 10
   15.对第四章上机题中的XSXK.DBC数据库的操作中,与下面程序功能相同的是( )。
   set talk off
   clear
   open database xsxk
   select c
   use 学生 order tag 学号
   select b
   use 课程 order tag 课程号
   select a
   use 选课 order tag 学号课程号
   set relation to 学号 into 学生 , 课程号 into 课程
   browse fields 学号 , 学生.姓名 , 课程.课程名 , 成绩 ;
   noappend nodelete noedit
   set relation to
   close all
   A)set talk off
   open database xsxk
   select 学生.学号 , 姓名 , 课程名 , 成绩 from 学生 , 课程 , 选课 ;
   where 学生.学号 = 选课.学号 , 课程.课程号 = 选课.课程号
   close all
   B)set talk off
   open database xsxk
   select 学号 , 姓名 , 课程名 , 成绩 from 学生 , 课程 , 选课 ;
   where 学生.学号 = 选课.学号 , 课程.课程号 = 选课.课程号
   close all
   C)set talk off
   open database xsxk
   select 学生.学号 , 姓名 , 课程名 , 成绩 from 学生 join 选课 on ;
   学生.学号 = 选课.学号 join 课程 on 课程.课程号 = 选课.课程号
   close all
   D)set talk off
   open database xsxk
   select 学号 , 姓名 , 课程名 , 成绩 from 学生 , 课程 , 选课 ;
   where 学生.学号 = 选课.学号 and 课程.课程号 = 选课.课程号 www.12edu.cn
   close all
二、填空题    16.下列程序的运行结果是____________________。
   X="计算机等级考试"
   Y=""
   L=LEN(X)
   DO WHILE L>=1
   Y=Y+SUBSTR(X,L-1,2)
   L=L-2
   ENDDO
   ? Y
   17.下面程序的运行结果是__________。
   S="ABCDEFG"
   I=1
   DO WHILE I<7
   ?? SUBSTR(S,7-I ,1)
   I=I+1
   ENDDO
   18.下面程序的运行结果是________。
   N=3
   S=""
   DO WHILE N>1
   X=STR(N,1)
   S=S+X
   N=N-1
   ENDDO
   ? S , SUBSTR(S,1,N)
   19.阅读下面的程序。
   X=9
   DO WHILE .T.
   X=X-3
   IF X<0
   EXIT
   ENDIF
   ? X*X
   ENDDO
   该程序的运行结果是____
   ____
   ____
   20.下面程序的运行结果是________________________________________。
   X=.T.
   Y=0
   DO WHILE X
   Y=Y+1
   IF Y/5=INT(Y/5)
   ?? Y
   ELSE
   LOOP
   ENDIF
   IF Y>30
   X=.F.
   ENDIF
   ENDDO
   21.阅读下面程序
   CLEAR PROCEDURE gc1 PROCEDURE gc2
   PUBLIC a a=10 LOCAL a,b
   a=1 b=a*a a=15
   b=2 c=a+b b=5-a
   c=3 ? a,b,c c=a*b
   ? a,b,c RETURN ? a,b,c
   DO gc1 ENDPROC RETURN
   ? a,b,c ENDPROC
   DO gc2
   ? a,b,c
   RETURN
   该程序的运行结果是________________________
   ________________________
   ________________________
   ________________________
   ________________________
22.下列程序的功能是:计算S=1! + 2! + …… + 10!的值。请完成程序填空。    S=0
   FOR N=1 TO 10
   P=1
   FOR I=1 TO N
   ________
   ENDFOR
   ________
   ENDFOR
   ? "SUM=",S
   以下23、24、25题均使用第四章上机题中的XSXK.DBC数据库
   23.下面程序的功能是:根据输入的课程名,显示所有学生的学号、姓名和成绩。请完成程序填空。
   set talk off
   clear
   local kcm , key
   open database xsxk
   do while ______
   __________ ’课程名称:’ to kcm
   select ________________________ from 学生 , 选课 ;
   where ______________________________ and __________ in ;
   ( select 课程号 from 课程 where ________________ )
   wait "按[Y]键继续,按其它键退出程序!" to key
   if upper(key) <> ’Y’
   exit
   endif
   enddo
   close all
   return
   24.下面程序的功能是:使用模糊查询,在学生姓名中查找包含输入字符的学生,如果存在,使用SQL SELECT语句显示满足查询条件的学生信息;否则,使用WAIT语句提示“没有发现”。请完成程序填空。
   set talk off
   clear
   open database xsxk
   use 学生
   accept "请输入学生姓名:" to xsxm
   locate all for xsxm $ 姓名
   if found()
   ________________________________________________
   else
   ______________________
   endif
   close all
   return
   25.下面程序的功能是:根据键入的学生学号判断该学生是否存在,如果存在,使用SQL SELECT语句显示该学生的学号、姓名和平均成绩。请完成程序填空。
   set talk off
   close all
   open database xsxk
   private xh , key
   select 1
   use 学生 order tag 学号
   do while .t.
   clear
   accept "请输入学号:" to xh
   select 1
   seek xh
   if found()
   select 学生.学号,姓名,avg(成绩) as 平均成绩 from 学生 , 选课 ;
   where ______________________________ and __________________
   else
   wait "该学号的学生不存在,按任意键继续!"
   endif
   wait "如果退出,请按[Y]键!" to ______
   if upper(key) = ______
   ______
   endif
   enddo
   close all
   return
   26.设有零件表P.DBF,其记录如下:
  下列程序运行后,在屏幕上显示的结果是______。
   SET TALK OFF
   SELECT 1
   UPDATE P SET WEIGHT = WEIGHT-2 WHERE COLOR = ’蓝’
   INSERT INTO P VALUES(’P7’ , ’PN7’ , ’红’ , 20)
   SELECT PNO FROM P WHERE WEIGHT = ;
   ( SELECT MAX(WEIGHT) FROM P ) INTO CURSOR M_PNO
   ? PNO
   RETURN
   三、上机题
   27.试编一程序,根据输入的月份显示当前季节的名称,若月份为3、4、5,则为春季;若月份为6、7、8,则为夏季,若月份为9、10、11,则为秋季;若月份为12、1、2,则为冬季。
   28.试编一程序,可将输入的任意百分制的成绩转换为相应的等级分制,90~100分为优秀,80~89分为良好,70~79分为中等,60~69分为及格,60分以下为不及格。
   29.试编一程序,计算Y = 1 + 3 + 5 + 7 + …… + n,其中n为正奇数,可任意输入。

参考答案
   一、单选题
   1~5:B B B C A
   6~10:D C D C B
   11~15:D C B B C
   二、填空题
   16. 试考级等机算计
   17. FEDCBA
   18. 32 3
   19. 36
   9
   0
   20. 5 10 15 20 25 30 35
   21. 1 2 3
   10 100 110
   10 100 110
   15 -10 -150
   10 100 -150
   22. P=P*I S=S+P
   23. .T. ACCEPT 学生.学号, 姓名, 成绩 学生.学号=选课.学号 课程号
   课程名=KCM
   24. SELECT * FROM 学生 WHERE XSXK $ 姓名
   25. 学生.学号=选课.学号 学生.学号=XH KEY ’Y’ EXIT
   26. P7


喜欢0 评分0
游客

返回顶部