1、国家二级 VF机试(程序设计基础)模拟试卷 11及答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.下列选项中不属于结构化程序设计原则的是(分数:2.00)A.可封装B.自顶向下C.模块化D.逐步求精2.面向对象方法中,继承是指(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制3.下面对对象概念描述正确的是(分数:2.00)A.对象间的通信靠消息传递B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作4.下列字符型常量的表示中,
2、错误的是(分数:2.00)A.5+3B.x=yC.品牌/D.“计算机“5.说明数组后,数组元素的初值是(分数:2.00)A.整数 0B.不定值C.逻辑真D.逻辑假6.执行下列命令序列后,最后一条命令的显示结果是 DIMENSIONM(2,2)M(1,1)=10M(1,2)=20M(2,1)=30M(2,2)=40?M(2)(分数:2.00)A.变量未定义的提示B.10C.20D.F7.用 DIMENSION命令定义数组后,数组各元素的值是(分数:2.00)A.无定义B.0C.TD.F8.在设置日期格式时,不能使用的设置命令是(分数:2.00)A.SET DATE DMYB.SET DATE M
3、DYC.SET DATE MYDD.SET DATE YMD9.在 Visual FoxPro中,表示 2012年 9月 10日 10点整的日期时间常量是(分数:2.00)A.2012-09-10 10:00:00B.-2012-09-10-10-00:00C.2012-09-10 10:00:00D.2012-09-10-10:00:0010.对数据表建立性别(C,2)和年龄(N,2)的复合索引时,正确的索引关键字表达式为(分数:2.00)A.性别+年龄B.性别+STR(年龄,2)C.VAL(性别)+年龄D.性别,年龄11.在 Visual FoxPro中,有如下内存变量赋值语句:X=200
4、1-07-2810:15:20 PM)Y=FM=$12345N=12345Z=“12324“执行上述赋值语句之后,内存变量 X、Y、M、N 和 Z的数据类型分别是(分数:2.00)A.D、L、Y、N、CB.T、L、Y、N、CC.T、L、M、N、CD.T、L、Y、N、S12.命令?LEN(SPACE(3)-SPACE(2)的结果是(分数:2.00)A.1B.2C.3D.513.在下列的 Visual FoxPro表达式中,运算结果不为逻辑真的是(分数:2.00)A.EMPTY(SPACE(0)B.LIKE(xy*,xyz)C.AT(xy,abcxyz)D.ISNULL(NULL)14.设 A=6
5、*8-2、B=6*8-2、C=“6*8-2“,属于合法表达式的是(分数:2.00)A.A+BB.B+CC.ACD.CB15.下面表达式中,运算结果为 12的是(分数:2.00)A.INT(116)B.ROUND(114,0)C.FLOOR(116)D.CEILING(114)16.执行如下命令的输出结果是?15415-4(分数:2.00)A.3 -1B.3 3C.1 1D.1 -117.在 DO WHILEENDDO循环结构中 LOOP语句的作用是(分数:2.00)A.转移到 DO WHILE语句行,开始下一次判断和循环B.终止循环,将控制转移到本循环结构 ENDDO后面的第一条语句继续执行C
6、.该语句在 DO WHILEENDDO循环结构中不起任何作用D.退出循环,返回到程序开始除18.在 Visual FoxPro中,下列程序段执行后,内存变量 e的值是 a=300b=200c=100d=IIF(ab,a,b)e=IIF(cd,c,d)(分数:2.00)A.300B.200C.0D.10019.创建新项目的命令是(分数:2.00)A.CREATE PROJECTB.CREATE ITEMC.CREATE NEWD.CREATE NEW ITEW20.在 Visual FoxPro中,用于建立或修改程序文件的命令是(分数:2.00)A.MODIFYB.MODIFY COMMANDC
7、.MODIFY PRoCEDURED.MODIFY PROGRAM21.下列程序段的输出结果是 CLEARSTORE 10 TO ASTORE 20 TO BSET UDFPARMS TO REFERENCGDO SWAP WITH A,(B)?ABPROCEDURE SWAPPARAMETERS X1X2TEMP=X1X1=X2X2=TEMPENDPROC(分数:2.00)A.10 20B.20 20C.20 10D.10 1022.下面程序计算一个整数的各位数字之和,在下划线处应填写的语句是 SET TALK OFFINPUT“x=“TO xs=0DO WHILE x!=0s=s+MOD(
8、x,10)_ENDDO?sSET TALK ON(分数:2.00)A.x=int(x10)B.x=int(x10)C.x=x-int(x10)D.x=x-int(x10)23.下列程序段执行时在屏幕上显示的结果是 DIMEa(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.824.在 Visual FoxPro中,过程的返回语句是(分数:2.00)A.GOBACKB.COMEBACKC.RETURND.BACK25.下面关于过程调用的陈述中,哪个是正确的(分数:2.00)A.实参与形参的数量必须相
9、等B.当实参的数量多于形参的数量时,多余的实参被忽略C.当形参的数量多于实参的数量时,多余的形参取逻辑假D.当形参的数量多于实参的数量时,多余的形参取逻辑真26.下列程序段执行以后,内存变量 X和 Y的值是 CLEARSTORE 3 TO XSTORE 5 TO YSET UDFPARMS TO REFERENCEDO PLUS WITH(X),Y?XYPROCEDURE PLUSPARAMETERS A1A2A1=A1+A2A2=A1+A2ENDPROC(分数:2.00)A.5 8B.8 13C.5 13D.3 13国家二级 VF机试(程序设计基础)模拟试卷 11答案解析(总分:52.00,
10、做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.下列选项中不属于结构化程序设计原则的是(分数:2.00)A.可封装 B.自顶向下C.模块化D.逐步求精解析:解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用 goto语句。2.面向对象方法中,继承是指(分数:2.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制 解析:解析:面向对象方法中,继承是使用已有的类定义作为基础建立新类的定义技术。广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。3.下面对对象概念描述
11、正确的是(分数:2.00)A.对象间的通信靠消息传递 B.对象是名字和方法的封装体C.任何对象必须有继承性D.对象的多态性是指一个对象有多个操作解析:解析:对象是面向对象方法中最基本的概念。操作描述了对象执行的功能,通过消息传递,还可以为其他对象使用。操作过程是被封装在对象中,用户看不到,称之为对象的封装性。对象的多态性是指同一个操作可以是不同对象的行为。不是所有的对象都必须有继承性。4.下列字符型常量的表示中,错误的是(分数:2.00)A.5+3B.x=yC.品牌/ D.“计算机“解析:解析:字符型常量又称字符串。其表示方法是用半角单引号( )、双引号(“ “)或方括号( )把字符串括起来。
12、这里的单引号、双引号或方括号称为定界符。如果某种定界符本身也是字符串的内容,则需要用另一种定界符为该字符串定界,题目的选项 C)中,如果 作为字符串内容,就需要使用另外一种定界符来界定,而不能再使用 来界定,所以答案为选项 C)。5.说明数组后,数组元素的初值是(分数:2.00)A.整数 0B.不定值C.逻辑真D.逻辑假 解析:解析:数组在使用之前一般要用 dimension或 declare命令显式创建,创建后,系统自动给每个数组元素赋以逻辑假F。6.执行下列命令序列后,最后一条命令的显示结果是 DIMENSIONM(2,2)M(1,1)=10M(1,2)=20M(2,1)=30M(2,2)
13、=40?M(2)(分数:2.00)A.变量未定义的提示B.10C.20 D.F解析:解析:DIMENSION 命令是创建数组命令,其格式是:DIMENSION数组名(下标上限 1,下标上限 2),。本题定义的是一个二维数组,可以用一维数组的形式访问二维数组。例如 M(1,1)=M(1),M(1,2)=M(2)。7.用 DIMENSION命令定义数组后,数组各元素的值是(分数:2.00)A.无定义B.0C.TD.F 解析:解析:本题考查 DIMENSION命令定义数组。数组是内存中连续的一片内存区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。每个数组元素相当于一个简单变量,
14、可以给各元素分别赋值。数组在使用前要使用 DIMENSION或 DECLARE命令定义,指定数组是一维数组还是二维数组、数组名和数组大小。数组大小由下标值的上、下限决定,下限规定为 1。数组的定义格式说明如下: DIMENSION数组名(下标上限 1,下标上限 2), DECLARE数组名(下标上限1,下标上限 2),8.在设置日期格式时,不能使用的设置命令是(分数:2.00)A.SET DATE DMYB.SET DATE MDYC.SET DATE MYD D.SET DATE YMD解析:解析:本题考查设置日期格式 SETDATE命令的使用。格式为:SET DATETOAMERICAN|
15、ANSI|BRITISH|FRENCH|GERMAN|ITALIAN|JAPAN|TAIWAN|USA|MDY|DMY|YMD|SHORT|LONG 说明:下表列出了有效的设置值及其对应的日期格式9.在 Visual FoxPro中,表示 2012年 9月 10日 10点整的日期时间常量是(分数:2.00)A.2012-09-10 10:00:00B.-2012-09-10-10-00:00C.2012-09-10 10:00:00 D.2012-09-10-10:00:00解析:解析:本题考查日期时间常量的合法格式。在 VFP中,日期时间型常量包括日期和时间两部分内容:日期,时间。日期部分与
16、日期型常量相似;时间部分的格式为:hh:mm:ss/AMIPM/。其中 hh、mm 和 ss分别代表时、分和秒,默认值分别为 12、0 和 0,AM(或 A)和 PM(或 P)分别代表上午和下午,默认值为 AM,如果指定的时间大于等于 12,则系统自动转为下午时间。日期时间型数据用 8个字节存储。日期部分的取值范围与日期型数据相同,时间部分的取值范围是:00:00:00AM11:59:59PM。10.对数据表建立性别(C,2)和年龄(N,2)的复合索引时,正确的索引关键字表达式为(分数:2.00)A.性别+年龄B.性别+STR(年龄,2) C.VAL(性别)+年龄D.性别,年龄解析:解析:此题
17、是通过两个字段对数据表建立复合索引,建立复合索引时要求字段类型匹配。此题中性别为字符型,而年龄为数值型,这两个字段类型不匹配,故选项 A)是错误的。选项 D)是不正确的索引格式,选项 C)中用 VAL()函数不能将字符型数据“性别”转换成数值型,该函数只能转换由数字符号组成的字符型数据。选项 B)中的年龄字段通过 STR()函数转换成了字符型,与性别字段的类型相匹配。11.在 Visual FoxPro中,有如下内存变量赋值语句:X=2001-07-2810:15:20 PM)Y=FM=$12345N=12345Z=“12324“执行上述赋值语句之后,内存变量 X、Y、M、N 和 Z的数据类型
18、分别是(分数:2.00)A.D、L、Y、N、CB.T、L、Y、N、C C.T、L、M、N、CD.T、L、Y、N、S解析:解析:本题主要考查的是 VF的数据类型。在 VF中,变量的类型可以改变,它随变量值类型的不同而不同。另外,VF 中常量的类型可以根据其定界符进行判断。 本题中,变量 X的值是一个日期时间型数据,用大写字母 T表示;变量 Y的值是一个逻辑型数据,用大写字母 L表示;变量 M的值是一个货币型数据,用大写字母 Y表示;变量 N的值是一个数值型数据,用大写字母 N表示;变量 z的值是一个字符型数据,用大写字母 C表示。12.命令?LEN(SPACE(3)-SPACE(2)的结果是(分
19、数:2.00)A.1B.2C.3D.5 解析:解析:LEN()函数返回指定字符表达式的长度,即所包含的字节数;SPACE()函数返回指定个数的空格字符组成的字符串。而字符表达式中的“”表示空格移位连接,其含义是连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。因此 SPACE(2)SPACE(3)运算后的长度是 5。13.在下列的 Visual FoxPro表达式中,运算结果不为逻辑真的是(分数:2.00)A.EMPTY(SPACE(0)B.LIKE(xy*,xyz)C.AT(xy,abcxyz) D.ISNULL(NULL)解析:解析:选项 A)中的 EMPTY()函数是判
20、断表达式结果是否为“空”值;选项 B)中的 LIKE()函数是比较两个字符串对应位置上的字符是否匹配,选项 B)中的两个表达式对应的字符都匹配,函数返回T;选项 C)中的 AT()函数是求子串位置的函数,其函数值为数值型;选项 D)中的 ISNuLL()函数是空值(NULL值)测试函数,判断一个表达式的运算结果是否为 NULL值。14.设 A=6*8-2、B=6*8-2、C=“6*8-2“,属于合法表达式的是(分数:2.00)A.A+BB.B+CC.AC D.CB解析:解析:在 VFP中,字符型常量应使用定界符,定界符包括单引号、双引号和方括号。字符串运算符有两个:“+”和“-”。“+”将前后
21、两个字符串首尾连接形成一个新的字符串;“-”连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。 题中“6*8-2”和“6*8-2”都属于字符型常量,故变量 A和变量 C都是字符型变量,二者可以做连接运算,而变量 B是数值型变量,故不能和 A或 B进行运算。15.下面表达式中,运算结果为 12的是(分数:2.00)A.INT(116)B.ROUND(114,0)C.FLOOR(116)D.CEILING(114) 解析:解析:本题考查数值函数的用法。INT()返回给定数值表达式的整数部分,所以 INT(116)=11;函数 ROlJND(数值表达式 1,数值表达式 2),返回指
22、定表达式在指定位置四舍五入后的结果。数值表达式 2指明四舍五入的位置。大于 0则表示要保留的小数位数;小于 O则表示是整数部分的舍入位数,所以 ROUND(114,0)=11;FLOOR()返回小于或等于给定数值表达式的最大整数,所以FLOOR(116)=11;函数 CEILING(数值表达式)的功能是返回大于或等于指定数值表达式的最大整数,所以表达式 CEILING(114)=12。16.执行如下命令的输出结果是?15415-4(分数:2.00)A.3 -1 B.3 3C.1 1D.1 -1解析:解析:是求余运算符,结果的正负号与除数一致。如果被除数与除数同号,那么运算结果即为两数相除的余数
23、;如果被除数与除数异号,则运算结果为两数相除的余数再加上除数的值。17.在 DO WHILEENDDO循环结构中 LOOP语句的作用是(分数:2.00)A.转移到 DO WHILE语句行,开始下一次判断和循环 B.终止循环,将控制转移到本循环结构 ENDDO后面的第一条语句继续执行C.该语句在 DO WHILEENDDO循环结构中不起任何作用D.退出循环,返回到程序开始除解析:解析:在 DO WHILEENDDO语句中,如果循环体包含 LOOP命令,那么当遇到 LOOP时,就结束循环体的本次执行,转回 DO WHILE处重新判断条件。 如果循环体包含 EXIT命令,那么当遇到 EXIT时,就结
24、束循环语句的执行,转去执行 ENDDO后面的语句。所以选项 A)正确。18.在 Visual FoxPro中,下列程序段执行后,内存变量 e的值是 a=300b=200c=100d=IIF(ab,a,b)e=IIF(cd,c,d)(分数:2.00)A.300 B.200C.0D.100解析:解析:本题考查 IIF函数的使用。逻辑判断函数 iif(表达式 1,表达式 2,表达式 3),如果表达式1值为真就返回表达式 2的值,反之,如果表达式 1值为假就返回表达式 3的值。在这段程序中,执行d=IIF(ab,a,b)语句时,因为 ab 的值为真,所以 d=300,再执行 e=IIF(cd,c,d)
25、语句,因为cd 为假,所以 e=300。19.创建新项目的命令是(分数:2.00)A.CREATE PROJECT B.CREATE ITEMC.CREATE NEWD.CREATE NEW ITEW解析:解析:创建新项目的命令是,在命令窗口中输入命令: CREATE PROJECT项目文件名 可以创建一个扩展名为pjx 的项目文件,在 Visual FoxPro 60 的系统窗口中就会出现一个“项目管理器”窗口。所以选项 A)正确。20.在 Visual FoxPro中,用于建立或修改程序文件的命令是(分数:2.00)A.MODIFYB.MODIFY COMMAND C.MODIFY PRo
26、CEDURED.MODIFY PROGRAM解析:解析:本题考查建立修改程序文件的命令。在 Visual FoxPro中,程序文件可以通过两种方式建立。菜单方式:执行【文件】菜单中的【新建】命令,打开程序文件编辑器,然后在编辑器窗口中输入程序内容,最后保存文件。 程序文件的默认扩展名是prg,如果指定其他扩展名,那么在打开和执行程序文件时都要显示指定扩展名。 命令方式:MODIFY COMMAND文件名 用于建立或修改程序文件。21.下列程序段的输出结果是 CLEARSTORE 10 TO ASTORE 20 TO BSET UDFPARMS TO REFERENCGDO SWAP WITH
27、A,(B)?ABPROCEDURE SWAPPARAMETERS X1X2TEMP=X1X1=X2X2=TEMPENDPROC(分数:2.00)A.10 20B.20 20 C.20 10D.10 10解析:解析:在这段程序代码中,定义了子过程 SWAP,其作用是交换两个变量 X1,X2 的值。 在主程序中,首先定义了两个实参变量 A和 B,并分别赋值为 10和 20。用 SET UDFPARMS TO REFERENCG语句设置变量传递方式为按引用传递。在 DO SWAP WITH A,(B)语句中,变量 B用一对括号括起来,使其变成一般形式的表达式,所以不管什么情况,总是按值传递。所以结果
28、就是变量 A按引用传递,变量 B按值传递。因此程序运行的结果是变量 A的值等于 20,而实参变量 B的值不变,仍为 20。所以答案为选项 B。22.下面程序计算一个整数的各位数字之和,在下划线处应填写的语句是 SET TALK OFFINPUT“x=“TO xs=0DO WHILE x!=0s=s+MOD(x,10)_ENDDO?sSET TALK ON(分数:2.00)A.x=int(x10) B.x=int(x10)C.x=x-int(x10)D.x=x-int(x10)解析:解析:题干中给出的程序功能是将一个整数中的各位数字从个位数开始累加。每次循环中将个位数累加后,将该位从整数中删除,
29、这样原来十位上的数字就成为个位数,直到所有数字累加完毕。其中,MOD(x,10)语句是得到个位数字,x=int(x10)语句是将个位数字删除。23.下列程序段执行时在屏幕上显示的结果是 DIMEa(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 解析:解析:根据题干中的程序可知,从第 3项开始,各项的数值等于前两项之和,所以 a(3)=2,a(4)=3,a(5)=5,a(6)=8。24.在 Visual FoxPro中,过程的返回语句是(分数:2.00)A.GOBACKB.COMEBACKC.
30、RETURN D.BACK解析:解析:Visual FoxPro 中过程式的返回语句为 RETURN。RETURN 结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口。25.下面关于过程调用的陈述中,哪个是正确的(分数:2.00)A.实参与形参的数量必须相等B.当实参的数量多于形参的数量时,多余的实参被忽略C.当形参的数量多于实参的数量时,多余的形参取逻辑假 D.当形参的数量多于实参的数量时,多余的形参取逻辑真解析:解析:本题考查过程调用中实参与形参的关系。主要有以下四点:实参可以是常量、变量,也可以是一一般形式的表达式;调用时,实参传递给形参;形参数目不能少于实参数目;
31、形参多于实参时,多余的形参初值为逻辑假。26.下列程序段执行以后,内存变量 X和 Y的值是 CLEARSTORE 3 TO XSTORE 5 TO YSET UDFPARMS TO REFERENCEDO PLUS WITH(X),Y?XYPROCEDURE PLUSPARAMETERS A1A2A1=A1+A2A2=A1+A2ENDPROC(分数:2.00)A.5 8B.8 13C.5 13D.3 13 解析:解析:本题考查带参数的过程调用,语句 SET UDFPARMS TO REFERENCE语句,表示内存变量是按引用传递。所以实参变量 Y是引用传递,(X)是按值传递。在执行过程 PLUS时,A1=3,A5=5,过程 PLUS运行完后,A1=8,A2=13,因为实参变量 Y是引用传递,(X)是按值传递,所以实参变量 Y的值等 A2=13,X的值等于 3。