1、二级 VISUAL+FOXPRO-91 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:52,分数:100.00)1.命令? LEN(SPACE(3)-SPACE(2)的结果是(分数:2.00)A.1B.2C.3D.52.要想将日期型或日期时间型数据中的年份用 4 位数字显示,应当使用设置命令(分数:2.00)A.SET CENTURY ONB.SET CENTURY OFFC.SET CENTURY TO 4D.SET CENTURY OF 43.设 X=6=65,命令? VARTYPE(X)的输出是(分数:2.00)A.NB.CC.LD.出错4.设 X=“11“,
2、Y=“1122“,下列表达式结果为假的是(分数:2.00)A.NOT(X=Y)AND(X$Y)B.NOT(X$Y)OR(Y)C.NOT(X=Y)D.NOT(X$Y)5.在下列的 Visual FoxPro 表达式中,运算结果不为逻辑真的是(分数:2.00)A.EMPTY(SPACE(0)B.LIKE(“xy*“,“xyz“)C.AT(“xy“,“abcxyz“)D.ISNULL(.NULL.)6.计算结果不是字符串“Teacher”的语句是(分数:2.00)A.at(“MyTeacher“,3,7)B.substr(“MyTeacher“,3,7)C.right(“MyTeacher“,7)D
3、.left(“Teacher“,7)7.有如下赋值语句,结果为“大家好”的表达式是 a=“你好“ b=“大家“(分数:2.00)A.b+AT(a,1)B.b+RIGHT(a,1)C.b+LEFT(a,3,4)D.b+RIGHT(a,2)8.在下面的 Visual FoxPro 表达式中,运算结果为逻辑真的是(分数:2.00)A.EMPTY(.NULL.)B.LIKE(“xy?“,“xyz“)C.AT(“xy“,“abcxyz“)D.ISNULL(SPACE(0)9.设 A=6*8-2、B=6*8-2、C=“6*8-2“,属于合法表达式的是(分数:2.00)A.A+BB.B+CC.A-CD.C-
4、B10.设 x=“123“,y=123,k=“y“,表达式 x+&k 的值是(分数:2.00)A.123123B.246C.123yD.数据类型不匹配11.运算结果不是 2010 的表达式是(分数:2.00)A.int(2010.9)B.round(2010.1,0)C.ceiling(2010.1)D.floor(2010.9)12.表达式 LEN(TRIM(SPACE(2)+“abc“-SPACE(3)的计算结果是:(分数:2.00)A.3B.5C.6D.813.下面表达式中,运算结果为 12 的是(分数:2.00)A.INT(11.6)B.ROUND(11.4,0)C.FLOOR(11.
5、6)D.CEILING(11.4)14.假设变量 a 的内容是“计算机软件工程师”,变量 b 的内容是“数据库管理员”,表达式的结果为“数据库工程师”的是(分数:2.00)A.left(b,6)-right(a,6)B.substr(b,1,3)-substr(a,6,3)C.A 和 B 都是D.A 和 B 都不是15.下列表达式中,表达式返回结果为.F.的是(分数:2.00)A.AT(“A“,“BCD“)B.“信息“$“管理信息系统“C.ISNULL(.NULL.)D.SUBSTR(“计算机技术“,3,2)16.运算结果不是 2015 的表达式是(分数:2.00)A.int(2015.9)B
6、.round(2015.1,0)C.ceiling(2015.1)D.floor(2015.9)17.执行如下命令的输出结果是 ?15%4,15%-4(分数:2.00)A.3 -1B.3 3C.1 1D.1 -118.下列 Visual FoxPro 表达式中,运算结果为逻辑真的是(分数:2.00)A.EMPTY(.NULL.)B.LIKE(“xy?“,“xyz“)C.AT(“xy“,“abcxyz“)D.ISNULL(SPACE(0)19.在 Visual FoxPro 中,有如下程序,函数 IIF()返回值是 *程序 PRIVATE X,Y STORE “男“ TO X Y=LEN(X)+
7、2 ? IIF(Y4,“男“,“女“) RETURN(分数:2.00)A.“女“B.“男“CT.DF.20.下列函数返回类型为数值型的是(分数:2.00)A.STRB.VALC.DTOCD.TTOC21.下列程序段执行后,内存变量 e 的值是 a=10 b=20 c=30 d=IIF(ab,a,b) e=IIF(cd,c,d)(分数:2.00)A.10B.20C.30D.55022.在 Visual FoxPro 中,下列程序段执行后,内存变量 e 的值是 a=300 b=200 c=100 d=IIF(ab,a,b) e=IIF(cd,c,d)(分数:2.00)A.300B.200C.0D.
8、10023.下列程序段执行后,内存变量 s1 的值是 s1=“奥运会游泳比赛“ s1=stuff(s1,7,4,“田径“) ?s1(分数:2.00)A.奥运会游泳比赛B.奥运会田径比赛C.奥运会田径D.奥运会游泳24.在 Visual FoxPro 中,下列程序段执行后,内存变量 s1 的值是 s1=“奥运会体操比赛“ s1=stuff(s1,7,4,“篮球“) ?s1(分数:2.00)A.奥运会比赛体操B.奥运会比赛C.奥运会篮球D.奥运会篮球比赛25.在 Visual FoxPro 中,下列程序段执行后,内存变量 s1 的值是 s1=“奥运开幕日期“ s1=substr(s1,5,4)+l
9、eft(s1,4)+right(s1,4) ?s1(分数:2.00)A.开幕日期奥运B.奥运日期C.开幕日期D.开幕奥运日期26.Modify Command 命令建立的文件的默认扩展名是(分数:2.00)A.prgB.appC.cmdD.exe27.欲执行程序 temp.prg,应该执行的命令是(分数:2.00)A.DO PRG temp.prgB.DO temp.prgC.DO CMD temp.prgD.DO FORM temp.prg28.在 Visual FoxPro 中可以用 DO 命令执行的文件不包括(分数:2.00)Aprg 文件Bmpr 文件Cfrx 文件Dqpr 文件29.
10、在 Visual FoxPro 中,用于建立或修改程序文件的命令是(分数:2.00)A.MODIFYB.MODIFY COMMANDC.MODIFY PROCEDURED.MODIFY PROGRAM30.下列命令中,不会创建文件的是(分数:2.00)A.CREATEB.CREATE VIEWC.CREATE FORMD.CREATE QUERY31.下面的程序的功能是将 11 到 2011 之间的素数插入数据库 prime,程序中的错误语句是 CREATE TABLE prime(dat f) n=11 DO WHILE n=2011 f=0 i=2 DO WHILE i=INT(SQRT(
11、n) IF MOD(n,i)0 i=i+1 LOOP ELSE f=1 EXIT ENDIF ENDDO IF f=0 INSERT TO prime VALUES(n) ENDIF n=n+1 ENDDO(分数:2.00)A.DO WHILE n=2011B.INSERT TO prime VALUES(n)C.i=i+1D.EXIT32.假设表 s 中有 10 条记录,其中字段 b 小于 20 的记录有 3 条,大于等于 20、并且小于等于 30 的记录有 3 条,大于 30 的记录有 4 条。执行下面的程序后,屏幕显示的结果是 SET DELETE ON DELETE FROM s WH
12、ERE b BETWEEN 20 AND 30 ? RECCOUNT()(分数:2.00)A.10B.7C.0D.333.下列程序段的执行结果是 DIME a(8) a(1)=1 a(2)=1 for i=3 to 8 a(i)=a(i-1)+a(i-2) next ?a(7)(分数:2.00)A.5B.8C.13D.2134.下面程序的运行结果是 SET EXACT ON s=“ni“+SPACE(2) IF s=“ni“ IF s=“ni“ ? “one“ ELSE ? “two“ ENDIF ELSE IF s=“ni“ ? “three“ ELSE ? “four“ ENDIF END
13、IF RETURN(分数:2.00)A.oneB.twoC.threeD.four35.下列程序段执行以后,内存变量 y 的值是 x=76543 y=0 DO WHILE x0 y=x%10+y*10 x=int(x/10) ENDDO(分数:2.00)A.3456B.34567C.7654D.7654336.下面程序计算一个整数的各位数字之和,在下划线处应填写的语句是 SETTALK OFF INPUT “x=“ TO X s=0 DO WHILE x!=0 s=s+MOD(x,10) _ ENDDO ? s SET TALK ON(分数:2.00)A.x=int(x/10)B.x=int(
14、x%10)C.x=x-int(x/10)D.x=x-int(x%10)37.下列程序段执行以后,内存变量 y 的值是 CLEAR x=12345 y=0 DO WHILE x0 y=y+x%10 x=int(x/10) ENDDO ?y(分数:2.00)A.54321B.12345C.51D.1538.下列程序段执行以后,内存变量 y 的值是 x=34567 y=0 DO WHILE x0 y=x%10+y*10 x=int(x/10) ENDDO(分数:2.00)A.3456B.34567C.7654D.7654339.下列的程序段中 y 的计算结果为 76543 的是(分数:2.00)A.
15、x=34567y=0flag=.T.DO WHILE flag y=x%10+y*10x=int(x/10)IF x0flag=.F.ENDIFENDDOB.x=34567y=0flag=.T.DO WHILE flag y=x%10+y*10x=int(x/10)IF x=0flag=.F.ENDIFENDDOC.x=34567y=0flag=.T.DO WHILE!flag y=x%10+y*10x=int(x/10)IF x0flag=.F.ENDIFENDDOD.x=34567y=0flag=.T.DO WHILE!flag y=x%10+y*10x=int(x/10)IF x=0fl
16、ag=.T.ENDIFENDDO40.下列程序段执行时在屏幕上显示的结果是 DIME a(6) a(1)=1 a(2)=1 FOR i=3 TO 6 a(i)=a(i-1)+a(i-2) NEXT ?a(6)(分数:2.00)A.5B.6C.7D.841.下列程序段的输出结果是 ACCEPT TO A IF A=123 S=0 ENDIF S=1 ?S(分数:2.00)A.0B.1C.123D.由 A 的值决定42.有以下程序: INPUT TO A S=0 IF A=10 S=1 ENDIF S=2 ?S 假定从键盘输入的 A 值是数值型,则程序的运行结果是(分数:2.00)A.0B.1C.
17、2D.1 或 243.在 Visual FoxPro 中,如果希望跳出 SCAN.ENDSCAN 循环体外执行 ENDSCAN 后面的语句,应使用(分数:2.00)A.LOOP 语句B.EXIT 语句C.BREAK 语句D.RETURN 语句44.在 Visual FoxPro 中,过程的返回语句是(分数:2.00)A.GOBACKB.COMEBACKC.RETURND.BACK45.下列程序段执行以后,内存变量 X 和 Y 的值是 CLEAR STORE 3 TO X STORE 5 TO Y PLUS(X),Y) ?X,Y PROCEDURE PLUS PARAMETERS A1,A2 A
18、1=A1+A2 A2=A1+A2 ENDPROC(分数:2.00)A.8 13B.3 13C.3 5D.8 546.下列程序段执行以后,内存变量 A 和 B 的值是 CLEAR A=10 B=20 SET UDFPARMS TO REFERENCE DO SQ WITH(A),(B) &参数 A 是值传递,B 是值传递 ? A,B PROCEDURE SQ PARAMETERS X1,Y1 X1=X1*X1 Y1=2*X1 ENDPROC(分数:2.00)A.10 200B.100 200C.100 20D.10 2047.下列程序段执行时在屏幕上显示的结果是 x1=20 x2=30 SET
19、UDFPARMS TO VALUE DO test WITH x1,x2 ?x1,x2 PROCEDURE test PARAMETERS a,b x=a a=b b=x ENDPRO(分数:2.00)A.30 30B.30 20C.20 20D.20 3048.下面关于过程调用的陈述中,哪个是正确的(分数:2.00)A.实参与形参的数量必须相等B.当实参的数量多于形参的数量时,多余的实参被忽略C.当形参的数量多于实参的数量时,多余的形参取逻辑假D.当形参的数量多于实参的数量时,多余的形参取逻辑真49.下面程序的运行结果是: SET TALK OFF n=1 proc1(n) ?n+2 PRO
20、CEDURE proc1 PARAMETERS n FOR k=2 TO 4 n=n+k ENDFOR RETURN(分数:1.00)A.3B.10C.11D.1250.下面程序的运行结果是: SET TALK OFF n=1 DO proc1 WITH(n) ?n+2 PROCEDURE proc1 PARAMETERS n FOR k=2 TO 4 n=n+k ENDFOR RETURN(分数:1.00)A.3B.10C.11D.1251.如果一个过程不包含 RETURN 语句,或者 RETURN 语句中没有指定表达式,那么该过程:(分数:1.00)A.没有返回值B.返回 0C.返回.F.
21、D.返回.T.52.下列程序段执行以后,内存变量 X 和 Y 的值是 CLEAR STORE 3 TO X STORE 5 TO Y SET UDFPARMS TO REFERENCE DO PLUS WITH(X),Y ?X,Y PROCEDURE PLUS PARAMETERS A1,A2 A1=A1+A2 A2=A1+A2 ENDPROC(分数:1.00)A.5 8B.8 13C.5 13D.3 13二级 VISUAL+FOXPRO-91 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:52,分数:100.00)1.命令? LEN(SPACE(3)-SPACE(2
22、)的结果是(分数:2.00)A.1B.2C.3D.5 解析:解析 LEN()函数返回指定字符表达式的长度,即所包含的字节数;SPACE()函数返回指定个数的空格字符组成的字符串。而字符表达式中的“-”表示空格移位连接,其含义是连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。因此 SPACE(2)-SPACE(3)运算后的长度是 5。2.要想将日期型或日期时间型数据中的年份用 4 位数字显示,应当使用设置命令(分数:2.00)A.SET CENTURY ON B.SET CENTURY OFFC.SET CENTURY TO 4D.SET CENTURY OF 4解析:解析
23、Visual FoxPro 通过 SET CENTURY 命令设置显示日期型数据时是否显示世纪。其命令格式是:SET CENTURY ON |OFF|(TO世纪值ROLLOVER年份参照值)。其中,ON 为 4 位数年份;OFF为 2 位数年份;TO 选项确定用 2 位数字表示年份所处的世纪。具体地说,如果该日期的 2 位数字年份大于等于年份参照值,则它所处的世纪即为世纪值,否则为世纪值+1。3.设 X=6=65,命令? VARTYPE(X)的输出是(分数:2.00)A.NB.CC.L D.出错解析:解析 本题表达式“X=65”中,先计算 65 的关系运算,结果为逻辑假(.F.);然后将逻辑假
24、的值赋给 X,所以 X 为逻辑型,? VARTYPE(X)的输出值为 L(L 表示逻辑型)。4.设 X=“11“,Y=“1122“,下列表达式结果为假的是(分数:2.00)A.NOT(X=Y)AND(X$Y)B.NOT(X$Y)OR(Y)C.NOT(X=Y)D.NOT(X$Y) 解析:解析 =是字符串精确比较关系运算符,$是子串包含测试关系运算符,表示不等于,=表示大于等于。选项 D 中 X$Y 求的是字符串“11“是否包含在“1122“中,结果为.T.,NOT 是逻辑非运算符,所以 NOT(X$Y)的值为.F.。5.在下列的 Visual FoxPro 表达式中,运算结果不为逻辑真的是(分数
25、:2.00)A.EMPTY(SPACE(0)B.LIKE(“xy*“,“xyz“)C.AT(“xy“,“abcxyz“) D.ISNULL(.NULL.)解析:解析 选项 A 中的 EMPTY()函数是判断表达式结果是否为“空”值;选项 B 中的 LIKE()函数是比较两个字符串对应位置上的字符是否匹配,选项 B 中的两个表达式对应的字符都匹配,函数返回.T.;选项 C 中的 AT()函数是求子串位置的函数,其函数值为数值型;选项 D 中的 ISNULL()函数是空值(NULL 值)测试函数,判断一个表达式的运算结果是否为 NULL 值。6.计算结果不是字符串“Teacher”的语句是(分数:
26、2.00)A.at(“MyTeacher“,3,7) B.substr(“MyTeacher“,3,7)C.right(“MyTeacher“,7)D.left(“Teacher“,7)解析:解析 AT()函数的格式为: AT(字符表达式 1,字符表达式 2,数值表达式) 它的函数值为数值型。如果字符表达式 1是字符表达式 2的子串,则返回字符表达式 1值的首字符在字符表达式 2值中位置;若不是子串,则返回 0。7.有如下赋值语句,结果为“大家好”的表达式是 a=“你好“ b=“大家“(分数:2.00)A.b+AT(a,1)B.b+RIGHT(a,1)C.b+LEFT(a,3,4)D.b+RI
27、GHT(a,2) 解析:解析 本题中,a 和 b 是字符型变量,“+”为字符串连接运算符,用来将前后两个字符串首尾相接。 LEFT(字符表达式,长度)从指定表达式值的左端取一个指定长度的子串作为函数值。 RIGHT(字符表达式,长度)从指定表达式值的右端取一个指定长度的子串作为函数值。 函数 AT()的格式是:AT(字符表达式 1,字符表达式 2,数值表达式),功能是:如果字符表达式 1是字符表达式 2的子串,则返回字符表达式 1值的首字符在字符表达式 2中的位置;若不是子串,则返回 0。函数值为数值型。 一个汉字的长度为 2。8.在下面的 Visual FoxPro 表达式中,运算结果为逻辑
28、真的是(分数:2.00)A.EMPTY(.NULL.)B.LIKE(“xy?“,“xyz“) C.AT(“xy“,“abcxyz“)D.ISNULL(SPACE(0)解析:解析 EMPTY(表达式),返回值;逻辑型。 功能:根据指定表达式的运算结果是否为“空”值,返回逻辑真(.T.)或返回逻辑假(.F.)。 LIKE(字符表达式 1,字符表达式 2),返回值:逻辑型。 功能:比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真(.T.),否则返回逻辑假(.F.)。字符表达式 1中可以包含通配符*和?,其中,*可以与任何数目的字符相匹配,?可以与任何单个字符相匹配。 AT(字符
29、表达式 1,字符表达式 2,数值表达式 1),返回值:数值型。 功能:如果字符表达式 1是字符表达式 2的子串,则返回字符表达式 1值的首字符在字符表达式 2值中的位置;若不是子串,则返回 0。 ISNLILL(表达式),返回值:逻辑型。 功能:判断一个表达式的运算结果是否是 NULL 值,若是 NULL 值则返回逻辑真(.T.),否则返回逻辑假(.F.)。9.设 A=6*8-2、B=6*8-2、C=“6*8-2“,属于合法表达式的是(分数:2.00)A.A+BB.B+CC.A-C D.C-B解析:解析 在 VFP 中,字符型常量应使用定界符,定界符包括单引号、双引号和方括号。宅符串运算符有两
30、个:“+”和“-”。“+”将前后两个字符串首尾连接形成一个新的字符串;“-”连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。 题中6*8-2和“6*8-2“都属于字符型常量,故变量 A 和变量 C 都是字符型变量,二者可以做连接运算,而变量 B 是数值型变量,故不能和 A 或 B 进行运算。10.设 x=“123“,y=123,k=“y“,表达式 x+&k 的值是(分数:2.00)A.123123B.246C.123yD.数据类型不匹配 解析:解析 &字符型变量为宏替换函数,用来替换字符型变量的内容,即函数值是变量中的字符串。由此可知,题中&k=&“123“=123,也就是
31、说&k 的值为数值型,而 x=“123“,为字符型数据,故 x 和&k 数据类型不匹配,不能做运算。11.运算结果不是 2010 的表达式是(分数:2.00)A.int(2010.9)B.round(2010.1,0)C.ceiling(2010.1) D.floor(2010.9)解析:解析 INT(数值表达式):返回指定数值表达式的整数部分。 CEILING(数值表达式):返回大于等于指定数值表达式的最小整数。 FLOOR(数值表达式):返回小于等于指定数值表达式的最大整数。 ROUND(数值表达式 1,数值表达式 2):返回指定表达式在指定位置四舍五入后的结果。 本题中,Int(2010
32、.9)=2010,Round(2010.1,D)=2010,Ceiling(2010.1)=2011,Floor(2010.9)=2010。12.表达式 LEN(TRIM(SPACE(2)+“abc“-SPACE(3)的计算结果是:(分数:2.00)A.3B.5 C.6D.8解析:解析 本题考查 VFP 中函数的运用和字符串连接符“+”、“-”a 在本题的表达式中,SPACE(2)+“abc“-SPACE(3)的运算结果为字符串 abc 前连 2 个空格,再连接 3 个空格。TRIM(字符串表达式)删除字符串的右侧空格表达式。再用函数 LEN()求字符串的长度。13.下面表达式中,运算结果为
33、12 的是(分数:2.00)A.INT(11.6)B.ROUND(11.4,0)C.FLOOR(11.6)D.CEILING(11.4) 解析:解析 本题考查数值函数的用法。INT()返回给定数值表达式的整数部分,所以 INT(11.6)=11;函数 ROUND(数值表达式 1,数值表达式 2),返回指定表达式在指定位置四舍五入后的结果。数值表达式 2指明四舍五入的位置。大于 0 则表示要保留的小数位数;小于 0 则表示是整数部分的舍入位数,所以 ROUND(11.4,0)=11;FLOOR()返回小于或等于给定数值表达式的最大整数,所以 FLOOR(11.6)=11;函数 CEILING(数
34、值表达式)的功能是返回大于或等于指定数值表达式的最大整数,所以表达式CEILING(11.4)=12。14.假设变量 a 的内容是“计算机软件工程师”,变量 b 的内容是“数据库管理员”,表达式的结果为“数据库工程师”的是(分数:2.00)A.left(b,6)-right(a,6) B.substr(b,1,3)-substr(a,6,3)C.A 和 B 都是D.A 和 B 都不是解析:解析 LEFT()函数功能是从字符表达式左端截取指定长度子串;RIGHT()函数功能是从字符表达式右端截取指定长度子串;SUBSTR()函数功能是从字符串指定位置截取指定长度子串。以上三个函数在截取中文时要注
35、意,一个中文字符占 2 个长度。15.下列表达式中,表达式返回结果为.F.的是(分数:2.00)A.AT(“A“,“BCD“)B.“信息“$“管理信息系统“ C.ISNULL(.NULL.)D.SUBSTR(“计算机技术“,3,2)解析:解析 选项 A 中的 AT()函数是求子串位置的函数,其函数值为数值型,本选项中函数的返回值为0;选项 C 中的 ISNULL()函数是空值(NULL 值)测试函数,判断一个表达式的运算结果是否为 NULL 值,本选项中函数的返回值为逻辑真,即.T.;选项 D 中的 SUBSTR()函数是从指定表达式值的指定起始位置取指定长度的子串作为函数值,本选项中函数的返
36、回值为“算”;选项 B“$”是一个子串包含测试运算符,检查第一个字符串的内容是否包含在第二个字符串中,如果包含则返回逻辑真。否则为逻辑假。选项 B 中字符串中包含两个字符串定界符,因此字符串的第二个定界符将视为字符串的一部分,“信息“”表示的字符串为“信息”,并不包含在第二个字符串中,所以返回逻辑假(.F.)。16.运算结果不是 2015 的表达式是(分数:2.00)A.int(2015.9)B.round(2015.1,0)C.ceiling(2015.1) D.floor(2015.9)解析:解析 本题考查 VFP 中的常用函数。取整函数 INT(数值表达式),计算数值表达式的值,返回该值
37、的整数部分。CEILING(数值表达式)函数是上界函数,计算数值表达式的值,返回一个大于或等于该值的最小整数。FLOOR(数值表达式)函数下界函数,计算数值表达式的值,返回一个小于或等于该值的最大整数。四舍五入函数 ROUND(数值表达式 1,数值表达式 2),返回数值表达式 1 四舍五入的值,数值表达式 2 表示保留的小数位数。17.执行如下命令的输出结果是 ?15%4,15%-4(分数:2.00)A.3 -1 B.3 3C.1 1D.1 -1解析:解析 %是求余运算符,结果的正负号与除数一致。如果被除数与除数同号,那么运算结果即为两数相除的余数;如果被除数与除数异号,是运算结果为两数相除的
38、余数再加上除数的值。18.下列 Visual FoxPro 表达式中,运算结果为逻辑真的是(分数:2.00)A.EMPTY(.NULL.)B.LIKE(“xy?“,“xyz“) C.AT(“xy“,“abcxyz“)D.ISNULL(SPACE(0)解析:解析 选项 A 中的 EMPTY()函数判断表达式的计算结果是否为“空”值,这里 EMPTY(.NULL.)的返回值为逻辑假;选项 C 中的 AT()函数是求子串位置的函数,其函数值为数值型,本选项函数的返回值为0;选项 D 中的 ISNULL()函数是空值(NULL 值)测试函数,判断一个表达式的运算结果是否为 NULL 值,本选项该函数的
39、返回值为逻辑假,即.F,;选项 B 中的 LIKE()函数是比较两个字符串对应位置上的字符是否匹配,选项 B 中的两个表达式对应的字符都匹配,其中问号(?)是通配符,可表示一个任意字符,因此函数返回.T.。19.在 Visual FoxPro 中,有如下程序,函数 IIF()返回值是 *程序 PRIVATE X,Y STORE “男“ TO X Y=LEN(X)+2 ? IIF(Y4,“男“,“女“) RETURN(分数:2.00)A.“女“ B.“男“CT.DF.解析:解析 根据题意,变量 X 的值为“男”,LEN()函数用来返回指定字符串的长度,由于一个汉字占两个字符,所以 LEN(X)=
40、2,Y=4。 IIF()是条件测试函数,基本命令格式如下: IIF(逻辑表达式,表达式 1,表达式 2) 其中,测试逻辑表达式的值,若为逻辑真(.T.),则返回表达式 1的值,若为逻辑真(.F.),则返回表达式 2的值。表达式 1和表达式 2的值不要求相同。 本题中,由于 Y=4,所以逻辑表达式“Y4”为假,IIF 函数应该返回“女”。20.下列函数返回类型为数值型的是(分数:2.00)A.STRB.VAL C.DTOCD.TTOC解析:解析 STR 函数是将数值转换成字符串,转换时根据需要自动进行四舍五入。VAL 函数将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数据。
41、DTOC 函数将日期型数据或日期时间型数据的日期部分转换成字符串。TTOC 函数将日期时间型数据转换成字符串。21.下列程序段执行后,内存变量 e 的值是 a=10 b=20 c=30 d=IIF(ab,a,b) e=IIF(cd,c,d)(分数:2.00)A.10B.20C.30 D.550解析:解析 本题考查 IIF 函数的使用。逻辑判断函数 iif(表达式 1,表达式 2,表达式 3), 如果表达式 1 值为真就返回表达式 2 的值,反之,如果表达式 1 值为假就返回表达式 3 的值。在这段程序中,执行d=IIF(ab,a,B)语句时,因为 ab 的值为假,所以 d=20,再执行 e=I
42、IF(cd,c,D)语句,因为 cd 为真,所以 e=30。22.在 Visual FoxPro 中,下列程序段执行后,内存变量 e 的值是 a=300 b=200 c=100 d=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(
43、cd,c,d)语句,因为 cd 为假,所以 e=300。23.下列程序段执行后,内存变量 s1 的值是 s1=“奥运会游泳比赛“ s1=stuff(s1,7,4,“田径“) ?s1(分数:2.00)A.奥运会游泳比赛B.奥运会田径比赛 C.奥运会田径D.奥运会游泳解析:解析 本题考查字符串替换函数 STUFF()的应用。表达式 stuff(s1,7,4,“田径“)是用字符串“田径“,替换字符串“奥运会游泳比赛”中的“游泳”。24.在 Visual FoxPro 中,下列程序段执行后,内存变量 s1 的值是 s1=“奥运会体操比赛“ s1=stuff(s1,7,4,“篮球“) ?s1(分数:2.
44、00)A.奥运会比赛体操B.奥运会比赛C.奥运会篮球D.奥运会篮球比赛 解析:解析 本题考查字符串替换函数 STUFF()的应用。表达式 stuff(s1,7,4,“篮球“)是用字符串“篮球“,替换字符串“奥运会体操比赛“中的体操。25.在 Visual FoxPro 中,下列程序段执行后,内存变量 s1 的值是 s1=“奥运开幕日期“ s1=substr(s1,5,4)+left(s1,4)+right(s1,4) ?s1(分数:2.00)A.开幕日期奥运B.奥运日期C.开幕日期D.开幕奥运日期 解析:解析 本题考查字符串函数 RIGHT(),SUBSTR()和 LEFT 的使用。LEFT(
45、c,n),取字符串 C 左边 n个字符;RIGHT(c,n),取字符串 c 右边的 n 个字符;SUBSTR(c,n1,n2),取字符串 C 第 n1 个字符起的 n2个字符,返回值类型是字符型,对于本题来说,SUBSTR(s1,5,4)的值为“开幕”,LEFT(s1,4)的值为“奥运”,RIGHT(s1,4)的值为“日期”。26.Modify Command 命令建立的文件的默认扩展名是(分数:2.00)A.prg B.appC.cmdD.exe解析:解析 可用命令方式建立和修改程序文件。命令格式为 modify command文件名。执行该命令时,如果指定文件存在,则打开修改;否则,建立一
46、个指定名字的程序文件,而程序文件的扩展名是prg。App 是应用程序的扩展名,exe 是可执行文件的扩展名。27.欲执行程序 temp.prg,应该执行的命令是(分数:2.00)A.DO PRG temp.prgB.DO temp.prg C.DO CMD temp.prgD.DO FORM temp.prg解析:解析 扩展名为 prg 的文件是程序文件,而运行程序文件的命令是“do 程序文件名”。28.在 Visual FoxPro 中可以用 DO 命令执行的文件不包括(分数:2.00)Aprg 文件Bmpr 文件Cfrx 文件 Dqpr 文件解析:解析 利用 DO 命令可以执行.prg 程
47、序文件、.mpr 菜单程序和.qpr 查询程序等。其中程序文件为默认执行的文件,可省略文件扩展名,而执行菜单文件和查询文件时扩展名不能少。.frx 文件是报表文件,打印报表时可先打开报表文件,然后再单击“打印”按钮打印报表。29.在 Visual FoxPro 中,用于建立或修改程序文件的命令是(分数:2.00)A.MODIFYB.MODIFY COMMAND C.MODIFY PROCEDURED.MODIFY PROGRAM解析:解析 本题考查建立修改程序文件的命令。在 Visual FoxPro 中,程序文件可以通过两种方式建立。 菜单方式:执行文件菜单中的新建命令。打开程序文件编辑器,
48、然后在编辑器窗口中输入程序内容,最后保存文件。 程序文件的默认扩展名是.prg,如果指定其他扩展名,那么在打开和执行程序文件时都要显示指定扩展名。命令方式: MODIFY COMMAND文件名 用于建立或修改程序文件。30.下列命令中,不会创建文件的是(分数:2.00)A.CREATEB.CREATE VIEW C.CREATE FORMD.CREATE QUERY解析:解析 本题考查用命令创建文件。CREATE FORM 是创建表单文件,CREATE QUERY 是创建查询文件。CREATE VIEW 命令是创建视图,其不能建立文件。31.下面的程序的功能是将 11 到 2011 之间的素数插入数据库 prime,程序中的错误语句是 CREATE TABLE prime(dat f) n=11 DO WHILE n=2011 f=0 i=2 DO WHILE i=INT(SQRT(n) IF MOD(n,i)0 i=i+1 LOOP ELSE f=1 EXIT ENDIF ENDDO IF f=0 INSERT TO prime VALUES(n) ENDIF n=n+1 ENDDO(分数:2.00)A.DO WHILE n=2011B.INSERT TO prime VALUES(n) C.i=i+1D.EXIT解析:解析 本题考查向数据