计算机软件设计基础课后答案,2012年计算机二级VFP程序设计基础习题及答案

程序设计基础 习题七

一、单选题

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

来源:考试大-计算机二级考试[NextPage]

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

来源:考试大-计算机二级考试[NextPage]

二、填空题

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

该程序的运行结果是________________________

________________________

________________________

________________________

________________________

来源:考试大-计算机二级考试[NextPage]

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为正奇数,可任意输入。

来源:考试大-计算机二级考试[NextPage]

参考答案

一、单选题

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值