【计算机类职业资格】程序设计基础(五)及答案解析.doc

上传人:medalangle361 文档编号:1336199 上传时间:2019-10-17 格式:DOC 页数:15 大小:47KB
下载 相关 举报
【计算机类职业资格】程序设计基础(五)及答案解析.doc_第1页
第1页 / 共15页
【计算机类职业资格】程序设计基础(五)及答案解析.doc_第2页
第2页 / 共15页
【计算机类职业资格】程序设计基础(五)及答案解析.doc_第3页
第3页 / 共15页
【计算机类职业资格】程序设计基础(五)及答案解析.doc_第4页
第4页 / 共15页
【计算机类职业资格】程序设计基础(五)及答案解析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、程序设计基础(五)及答案解析(总分:44.00,做题时间:90 分钟)1.下列程序的运行结果是_。SET EXACT OHS=“ni“+space(2)IF S=“ni“IF S=“ni“?“one“ELSE?“two“ENDIFELSEIF S=“ni“?“three“ELSE?“four“ENDIFENDIFRETURN(分数:2.00)A.oneB.twoC.threeD.four2.欲执行程序 temp.prg,应该执行的命令是_。(分数:2.00)A.DO PRG temp.prgB.DO temp.prgC.DO CMD temp.prgD.DO FORM temp.prg3.下列

2、程序段执行以后,内存变量 y 的值是_。CLEARx=12345y=0DO WHLIE x0y=y+x%10x=int(x/10)ENDDO?y(分数:2.00)A.54321B.12345C.51D.154.在 Visual FoxPro 中,程序中不需要用 PUBLIC 等命令明确声明和建立,可直接使用的内存变量是_。(分数:2.00)A.局部变量B.私有变量C.公共变量D.全局变量5.下列的程序中与上题的程序段对 Y 的计算结果相同的是_。(分数:2.00)A.X=34567Y=0flag=.T.DO WHILE flagY=X%10+Y*10X=INT(X/10)IF X0Flag=.

3、F.ENDIFENDDOB.X=34567Y=0flag=.T.DO WHILE flagY=X%10+Y*10X=INT(X/10)IF X=0Flag=.F.ENDIFENDDOC.X=34567Y=0flag=.T.DO WHILE ! flagY=X%10+Y*10X=INT(X/10)IF X0Flag=.F.ENDIFENDDOD.X=34567Y=0flag=.T.DO WHILE ! flagY=X%10+Y*10X=INT(X/10)IF X=0Flag=.F.ENDIFENDDO6.下列程序段的输出结果是_。ACCEPT TO AIF A=123S=0END IFS=1?S

4、(分数:2.00)A.0B.1C.123D.由 A 的值决定7.执行下列程序,显示的结果是_。one=“WORK“two=“a=LEN(one)i=aDO WHILE i=1Two=two+SUBSTR(one,i,1)I=i-1ENDDO?two(分数:2.00)填空项 1:_8.在 Visual FoxPro 中,有如下程序:*程序名:TEST.PRGSET TALK OFFPRIVATE X,YX=“数据库“Y=“管理系统“DO sub1?X+YRETURN*子程序:sub1PROCEDU sub1LOCAL XX=“应用“Y=“系统“X=X+YRETURN执行命令 DO TEST 后,

5、屏幕显示的结果应是_。(分数:2.00)填空项 1:_9.下列程序段执行时在屏幕上显示的结果是_。x1=20x2=30SET UDFPARMS TO VALUEDO test WTTH x1,x2?x1,x2PROCEDURE testPARAMETERS a,bx=aa=bb=xENDPRO(分数:2.00)A.30 30B.30 20C.20 20D.20 3010.在 Visual FoxPro 中,过程的返回语句是_。(分数:2.00)A.GOBACKB.COMEBACKC.RETURND.BACK11.下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是_。SET TALK

6、OFFINPUT “x=“ TO xs=0DO WHILE x!=0s=s+MOD(x,10)ENDDO?sSET TALK ON(分数:2.00)A.x=int(x/10)B.x=int(x%10)C.x=x-int(x/10)D.x=x-int(x%10)12.在 Visual FoxPro 中,将只能在建立它的模块中使用的内存变量称为 1。(分数:2.00)填空项 1:_13.下列程序段执行时在屏幕上显示的结果是_。DIME a(6)a(1)=1a(2)=1FOR i=3 TO 6a(i)=a(i-1)+a(i-2)NEXT?a(6)(分数:2.00)A.5B.6C.7D.814.在 V

7、isual FoxPro 中,程序文件的扩展名是 1。(分数:2.00)填空项 1:_15.在 Visual FoxPro 中,用于建立或修改程序文件的命令是_。(分数:2.00)A.MODIFY文件名B.MODIFY COMMAND文件名C.MODIFY PROCEDURE文件名D.上面 B 和 C 都对16.MODIFY COMMAND 命令建立的文件的默认扩展名是_。(分数:2.00)AprgBappCcmdDexe17.下列程序段执行以后,内存变量 X 和 Y 的值是_。CLEARSTORE 3 TO XSTORE 5 TO YPLUS(X),Y)?X,YPROCEDURE PLUSP

8、ARAMETERS A1,A2A1=A1+A2A2=A1+A2ENDPROC(分数:2.00)A.8 13B.3 13C.3 5D.8 518.下列程序执行以后,内存变量 y 的值是_。x=34567y=0DO WHILE x0y=x%10+y*10x=int(x/10)ENDDO(分数:2.00)A.3456B.34567C.7654D.7654319.在 Visual FoxPro 中,如果要在子程序中创建一个只在本程序中使用的变量 x1(不影响上级或下级的程序),应该使用 1 说明变量。(分数:2.00)填空项 1:_20.如果定义 LOCAL data,data 的初值是_。(分数:2

9、.00)A.整数B.不定值C.逻辑真D.逻辑假21.下列程序段执行以后,内存变量 y 的值是_。X=76543y=0DO WHILE x0y=x%10+y*10x=int(x/10)ENDDO(分数:2.00)A.3456B.34567C.7654D.7654322.下列程序段执行以后,内存变量 A 和 B 的值是_。CLEARA=10B=20SET UDFPARMS TO REFERENCEDO SQ WITH((分数:2.00)A.,B参数是值传送,B 是引用传送?A,BPROCEDURE SQPARAMETERS X1,Y1X1=X1*X1Y1=2*X1ENDPROCA) 10 200B

10、.100 200C.100 20D.10 20程序设计基础(五)答案解析(总分:44.00,做题时间:90 分钟)1.下列程序的运行结果是_。SET EXACT OHS=“ni“+space(2)IF S=“ni“IF S=“ni“?“one“ELSE?“two“ENDIFELSEIF S=“ni“?“three“ELSE?“four“ENDIFENDIFRETURN(分数:2.00)A.oneB.twoC.three D.four解析:解析 内存变量的赋值应使用“=”;判断两个值是否相同应使用“=”。本题中 S 不等于“ni”,但是,对 s 进行赋值操作总是成功的,因此结果为“three”。

11、2.欲执行程序 temp.prg,应该执行的命令是_。(分数:2.00)A.DO PRG temp.prgB.DO temp.prg C.DO CMD temp.prgD.DO FORM temp.prg解析:解析 在 VFP 中,DO 命令的作用是执行一个 Visual FoxPro 程序文件,命令格式为 DO文件名。3.下列程序段执行以后,内存变量 y 的值是_。CLEARx=12345y=0DO WHLIE x0y=y+x%10x=int(x/10)ENDDO?y(分数:2.00)A.54321B.12345C.51D.15 解析:解析 程序的目的是将 x 的各位数字相累加,第一次累加个

12、位数,第二次累加十位数,直至 x 变成小数。4.在 Visual FoxPro 中,程序中不需要用 PUBLIC 等命令明确声明和建立,可直接使用的内存变量是_。(分数:2.00)A.局部变量B.私有变量 C.公共变量D.全局变量解析:解析 在 Visual FoxPro 中,以变量的作用域来分,内存变量可分为公共变量、私有变量和局部变量 3 类。公共变量用 PUBLIC 声明,一旦建立就一直有效;私有变量用 PRIVATE 声明,在程序中可以直接使用。程序中没有直接使用 PUBLIC 或 LOCAL 命令事先声明而由系统自动隐含建立的变量都是私有变量。局部变量用 LOCAL 声明。5.下列的

13、程序中与上题的程序段对 Y 的计算结果相同的是_。(分数:2.00)A.X=34567Y=0flag=.T.DO WHILE flagY=X%10+Y*10X=INT(X/10)IF X0Flag=.F.ENDIFENDDOB.X=34567Y=0flag=.T.DO WHILE flagY=X%10+Y*10X=INT(X/10)IF X=0Flag=.F.ENDIFENDDO C.X=34567Y=0flag=.T.DO WHILE ! flagY=X%10+Y*10X=INT(X/10)IF X0Flag=.F.ENDIFENDDOD.X=34567Y=0flag=.T.DO WHILE

14、 ! flagY=X%10+Y*10X=INT(X/10)IF X=0Flag=.F.ENDIFENDDO解析:解析 选项 A 中 Y 的运算结果为 7;选项 C 中,循环条件为假,不执行循环,Y 的运算结果为 0;选项 D 陷入死循环。6.下列程序段的输出结果是_。ACCEPT TO AIF A=123S=0END IFS=1?S(分数:2.00)A.0B.1 C.123D.由 A 的值决定解析:解析 本题考查的知识点是程序的选择结构。由程序段可知,无论输入的值是否为 123,S 最后都会被赋值为 1,所以最后输出结果为 1。即本题的答案为 B。7.执行下列程序,显示的结果是_。one=“W

15、ORK“two=“a=LEN(one)i=aDO WHILE i=1Two=two+SUBSTR(one,i,1)I=i-1ENDDO?two(分数:2.00)填空项 1:_ (正确答案:KROW)解析:解析 这段程序的功能是从字符串“WORK“的最后一个字符开始,依次从后向前读取并连接第一个字符,即反向显示字符串的内容。8.在 Visual FoxPro 中,有如下程序:*程序名:TEST.PRGSET TALK OFFPRIVATE X,YX=“数据库“Y=“管理系统“DO sub1?X+YRETURN*子程序:sub1PROCEDU sub1LOCAL XX=“应用“Y=“系统“X=X+

16、YRETURN执行命令 DO TEST 后,屏幕显示的结果应是_。(分数:2.00)填空项 1:_ (正确答案:数据库系统)解析:解析 在子程序 sub1 中定义了局部变量 X 和私有变量 Y。在主程序中采用了传值的方式调用了子程序 sub1,由于 X 是局部变量,当离开子程序 sub1 时便自动释放,不会影响主程序中的私有变量 X;而sub1 中的 Y 是私有变量,会影响到主程序中定义的私有变量 Y。因此执行 DO sub1 语句后,X=“数据库”,Y=“系统”,因此输出结果为“数据库系统”。9.下列程序段执行时在屏幕上显示的结果是_。x1=20x2=30SET UDFPARMS TO VA

17、LUEDO test WTTH x1,x2?x1,x2PROCEDURE testPARAMETERS a,bx=aa=bb=xENDPRO(分数:2.00)A.30 30B.30 20 C.20 20D.20 30解析:解析 本题主要考查函数调用过程中的参数传递。调用模块程序的格式如下。格式 1:DO文件名|过程名WITH实参 1,实参 2,格式 2:DO文件名|过程名实参 1(,实参 2,)调用程序与被调用程序之间的参数传递有以下两种方式。(1)按“引用”传递采用格式 1 调用模块程序时,如果实参是常量或一般形式的表达式,系统会计算出实参的值,并把它们赋给相应的形参变量,称为按值传递。如果

18、实参是变量,则传递的将不是变量的值,而是变量的地址,此时形参和实参实际上是同一个变量(尽管它们的名字可能不同),在模块程序中对形参变量值的改变,同样也是对实参变量值的改变。(2)按“值”传递采用格式 2 调用模块程序时,默认情况下以按值方式传递参数。如果实参是变量,可以利用 SET UDFPARMS 命令重新设置参数传递的方式。本题中采用格式 1 调用模块程序,实参为变量,可知参数是采用按“引用”方式传递的。程序模块 test的作用是交换两个变量的值。由于参数是采用按“引用”方式传递的,因此程序模块中对形参变量改变的同时也改变了实参变量的值。10.在 Visual FoxPro 中,过程的返回

19、语句是_。(分数:2.00)A.GOBACKB.COMEBACKC.RETURN D.BACK解析:解析 在 Visual FoxPro 中,RETURN 是过程的返回语句。11.下面程序计算一个整数的各位数字之和。在下划线处应填写的语句是_。SET TALK OFFINPUT “x=“ TO xs=0DO WHILE x!=0s=s+MOD(x,10)ENDDO?sSET TALK ON(分数:2.00)A.x=int(x/10) B.x=int(x%10)C.x=x-int(x/10)D.x=x-int(x%10)解析:解析 “/”是除运算,“%”是求余运算,计算一个整数的各位数字之和用

20、INT()函数,所以选A。12.在 Visual FoxPro 中,将只能在建立它的模块中使用的内存变量称为 1。(分数:2.00)填空项 1:_ (正确答案:局部变量)解析:解析 局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。13.下列程序段执行时在屏幕上显示的结果是_。DIME a(6)a(1)=1a(2)=1FOR i=3 TO 6a(i)=a(i-1)+a(i-2)NEXT?a(6)(分数:2.00)A.5B.6C.7D.8 解析:解析 本题考查 FOR 循环,该循环用于给 a(3)、a(4)、a(5)、a(6)赋值。a(3)=a(1)+a(2)=2,a(4)=a(2)

21、+a(3)=3,a(5)=a(3)+a(4)=5,a(6)=a(4)+a(5)=8。14.在 Visual FoxPro 中,程序文件的扩展名是 1。(分数:2.00)填空项 1:_ (正确答案:.PRG)解析:解析 Visual FoxPro 将命令文件称为程序文件或程序。程序文件由 Visual FoxPro 命令组成,用户名由用户指定,默认的扩展名为.PRG。15.在 Visual FoxPro 中,用于建立或修改程序文件的命令是_。(分数:2.00)A.MODIFY文件名B.MODIFY COMMAND文件名 C.MODIFY PROCEDURE文件名D.上面 B 和 C 都对解析:解

22、析 “MODIFY COMMAND文件名”的功能是打开文本编辑窗口,用于建立或修改程序文件,如 MODIFY COMMAND D:VFPQH。16.MODIFY COMMAND 命令建立的文件的默认扩展名是_。(分数:2.00)Aprg BappCcmdDexe解析:解析 MODIFY COMMAND 命令的功能是打开文本编辑窗口,用来建立或修改程序文件,程序文件的文件名由用户指定,默认的扩展名为.prg。17.下列程序段执行以后,内存变量 X 和 Y 的值是_。CLEARSTORE 3 TO XSTORE 5 TO YPLUS(X),Y)?X,YPROCEDURE PLUSPARAMETER

23、S A1,A2A1=A1+A2A2=A1+A2ENDPROC(分数:2.00)A.8 13B.3 13 C.3 5D.8 5解析:解析 Visual FoxPro 的参数传递规则为:如果实际参数是常数或表达式则传值,如果实际参数是变量则传址,即传递的不是实参变量的值而是实参变量的地址,这样,过程中对形参变量值的改变也将使实参变量值改变。如果实参是内存变量而又希望进行值传递,可以用圆括号将该内存变量括起来,强制该变量以值方式传递数据。18.下列程序执行以后,内存变量 y 的值是_。x=34567y=0DO WHILE x0y=x%10+y*10x=int(x/10)ENDDO(分数:2.00)A

24、.3456B.34567C.7654D.76543 解析:解析 首先给 x、y 分别赋值 34567、0;当第一次循环时,y=34567%10+0*10=7,x=3456;当第二次循环时。y=3456%10+7*10=76,x=345;依次循环,最后得到结果 76543。19.在 Visual FoxPro 中,如果要在子程序中创建一个只在本程序中使用的变量 x1(不影响上级或下级的程序),应该使用 1 说明变量。(分数:2.00)填空项 1:_ (正确答案:LOCAL)解析:解析 局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。当建立它的模块程序运行结束时,局部变量自动释放。局

25、部变量用 LOCAL 命令建立:LOCAL内存变量表。该命令建立指定的局部内存变量,并为它们赋初值逻辑假。由于 LOCAL 与 LOCATE 前 4 个字母相同,所以这条命令的命令动词不能缩写。局部变量要先建立后使用。20.如果定义 LOCAL data,data 的初值是_。(分数:2.00)A.整数B.不定值C.逻辑真D.逻辑假 解析:解析 局部变量用 LOCAL 命令建立,该命令建立指定的局部内存变量,并为它们赋初值逻辑假.F.。21.下列程序段执行以后,内存变量 y 的值是_。X=76543y=0DO WHILE x0y=x%10+y*10x=int(x/10)ENDDO(分数:2.0

26、0)A.3456B.34567 C.7654D.76543解析:解析 根据 Visual FoxPro 中求余运算的特点,第一次运行 x=7654,y=3;第二次运行x=765,y=34;第三次运行 x=76,y=345;第四次运行 x=7,y=3456;第五次运行 x=0,y=34567;退出循环。22.下列程序段执行以后,内存变量 A 和 B 的值是_。CLEARA=10B=20SET UDFPARMS TO REFERENCEDO SQ WITH((分数:2.00)A.,B参数是值传送,B 是引用传送?A,BPROCEDURE SQPARAMETERS X1,Y1X1=X1*X1Y1=2*X1ENDPROCA) 10 200 B.100 200C.100 20D.10 20解析:解析 参数传递有两种传递方式:按值传递和按引用传递。当按值传递且形参变量值改变时,不会影响实参变量的取值;当按引用传递且形参变量值改变时,实参变量值也随之改变,因为在按引用传递时形参变量和实参变量使用的是相同的变量地址。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1