1、(完整word版)答案第二章VF程序设计基础习题一. 数据类型(1) 下列常量中格式正确的是()。DA)S1.23E4 B)“计算机”等级考试”C) .False.D)20030113 (2) 下列数据哪个不是字符型数据( )。AA)130108 B)“130108” C)“123” D)“CHINA=中国”(3) 下列字符型常量的表示中,错误的是( )。CA)”12+13” B)“x=y” C)北京 D)“等级考试”(4) 下列货币型常量的表示中,错误的是( )。DA)$123456 B)$1234567 C)$12345678 D)$123456789(5) 常量2009-10-01,15
2、:30:00的数据类型是【 】。 日期时间型 或 T (6) 在Visual FoxPro中,表示时间2009年3月3日的常量应写为【 】2009-03-03(7) 对于只有两种取值的字段,最好使用哪种数据类型( ) DA)日期型 B)字符型 C)数值型 D)逻辑型(8) 下列变量名中不合法的是( )。CA)XYZ B)年龄 C)2X D)A2(9) 下列关于变量的叙述中,不正确的一项是( )。BA)在Visual FoxPro中,可以将不同类型的数据赋给同一个变量 B)变量的类型决定变量值的类型C)在Visual FoxPro中,变量分为字段变量和内存变量 D)变量值可以随时改变(10) 如
3、果内存变量和字段变量均有变量名姓名,那么引用内存变量的正确方法是: DAM姓名 BM姓名 C姓名DA和B都可以(11) 假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“李彤”(C型字段,宽度为6)。在命令窗口输入并执行如下命令:姓名=姓名-出勤?姓名屏幕上会显示 AA)李彤B)李彤 出勤C)李彤出勤D)李彤-出勤(12) 表结构中的表示的含义是尚未输入的值。NULL(13) 以下关于空值(NULL值)叙述正确的是 CA)空值等于空字符串B)空值等同于数值0C)空值表示字段或变量还没有确定的值D)Visual FoxPro不支持空值(14) 下列有关数组的叙述中,错误的是( )。AA
4、)在同一个环境下,数组与内存变量可以同名,两者互不影响B)可以用一维数组的形式访问二维数组C)在可以使用简单内存变量的地方都可以使用数组元素D)一个数组中各元素的数据类型可以相同,也可以不同(15) 假设使用DIMENSION y(5)定义了一个一维数组y,正确的赋值语句是( )。AA)y=8 B)y6=8C)STORE 10 y2,y3,y4)D)y3,y4,y5=8二. 表达式和函数(1) CTOD(04-01-01)+20的结果是。04/21/01(2) 下列表达式中,表达式返回结果为.F.的是 ( )。BA)AT(“A”,”BCD”)B)“信息”$“管理信息系统” C) ISNULL(
5、.NULL.)D) SUBSTR(“计算机技术”,3,2) (3) 设X=11”,Y=1122,下列表达式结果为假的是( )。DA)NOT(X=Y)AND(X$Y )B)NOT(X$Y)OR(XY)C)NOT (X=Y)D)NOT(X$Y)(4) 假设在数据库表的表设计中,字符型字段“性别”已被选中,正确的有效性规则设置是DA)=“男”.OR. “女”B)性别=“男”.OR. “女” C)$“男女”D) 性别$“男女”(5) 执行命令A=2005/4/2之后,内存变量A的数据类型是 【 】 型。数值 或 N(6) 命令?的作用是( ) CA)向用户提问的提示符B)可输出两个表达式的值C)从当前
6、光标处显示表达式的值D)只能显示变量的值(7) 设X=65,命令?VARTYPE(X)的输出是_。 CA)N B)C C)L D)出错(8) 执行?AT(a+b=c,+)语句后,屏幕显示的结果_0_。(9) AT( IS,THAT IS A NEWBOOK)的运算结果是_6_。 (10) ?AT(EN,RIGHT(STUDENT,4))的执行结果是 _2_ 。 (11) 命令?VARTYPE(TIME()结果是AA)C B)DC)TD)出错(12) 命令?LEN(SPACE(3)-SPACE(2)的结果是DA)1B)2 C)3 D)5(13) 在Visual FoxPro中,假设教师表T(教师
7、号,姓名,性别,职称,研究生导师)中,性别是C型字段,研究生导师是L型字段。若要查询“是研究生导师的女老师”信息,那么SQL语句的“SELECT * FROM T WHERE ”中的应是AA)研究生导师 AND 性别=“女”B) 研究生导师 OR 性别=“女”C)性别=“女” AND 研究生导师=.F.D) 研究生导师=.T. OR 性别=“女”(14) 与“SELECT * FROM 歌手WHERE NOT(最后得分9.00 OR最后得分8.00)”等价的语句是 BA)SELECT * FROM歌手WHERE最后得分BETWEEN 9.00 AND 8.00B)SELECT * FROM歌手
8、WHERE最后得分=8.00 AND 最后得分=9.00 C)SELECT * FROM歌手WHERE最后得分9.00 OR 最后得分8.00D)SELECT * FROM歌手WHERE最后得分=8.00 AND最后得分=9.00(15) 有如下赋值语句,结果为“大家好”的表达式是Da=你好B=大家A)b+AT(a,1)B)b+RIGHT(a,1)C)b+LEFT(a,3,4)D)b+RIGHT(a,2)(16) 设x=”123”,y=123,k=”y”,表达式x+&k的值是DA)123123B)246C)123yD)数据类型不匹配(17) 设A=6*8-2、B=6*8-2、C=”6*8-2”
9、,属于合法表达式的是CA)A+BB)B+CC)A-C D)C-B(18) 表达式score=0的数据类型是【 】。逻辑型 或 L(19) 运算结果不是2010的表达式是CA)int(2010.9)B)round(2010.1,0)C)ceiling(2010.1)D)floor(2010.9)(20) 函数INT(数值表达式)的功能是( )。AA)返回数值表达式值的整数部分 int B)按四舍五入取数值表达式值的整数部分roundC)返回不小于数值表达式值的最小整数ceilingD)返回不大于数值表达式值的最大整数floor(21) 执行?ROUND(123456,2)命令后,屏幕显示的结果分
10、别为。123.46(22) ROUND(6.165,2)的函数值是( )。BA)6.16 B)6.17 C)6.20 D)6.160(23) BETWEEN(45,30,48)的运算结果是_。 .T.(24) MOD(17,-3)函数的返回值是。-1(25) 函数MOD(-4*7,-244)的值是( )。DA)8 B)4 C)-8 D)-4(26) 假定系统是2008年1月13日,则执行命令PI=MOD(YEAR(DATE()-2000,10)后,PI的值是( )。CA)012008 B)-8 C)8 D)0(27) 要判断数值型变量Y是否能够被8整除,错误的条件表达式为( )。CA)INT(
11、Y8)=Y8 B)MOD(Y,8)=0 C)INT(Y8)=MOD(Y,8)D)MOD(Y,8)=MOD(8,8)(28) 测试数据库记录指针是否指向数据库末尾所使用的函数是( )。BA)BOF() B)EOF() C)RECCOUNT() D)RECNO()(29) 函数VAL(“120601”)的参数类型为_。字符型 或C(30) 要从字符串“中国海南省”中取出子串“海南省”,应该使用函数( )。DA)SUBSTR(“中国海南省”,3,3) B)SUBSTR(“中国海南省”,5,2)C)SUBSTR(“中国海南省”,5,3) D)SUBSTR(“中国海南省”,5,6)(31) 设a=“计算
12、机等级考试”,结果为“考试”的表达式是BA) Left(a,4)B) Right(a,4)C) Left(a,2)D) Right(a,2)(32) 如果想从字符串“计算机等级考试”中取出“考试”,这两个字,下列函数使用正确的是( )。AA)SUBSTR(“计算机等级考试”,11) B)SUBSTR(“计算机等级考试”,5,3)C)RIGHT(“计算机等级考试”,2) D)LEFT(“计算机等级考试”,4)(33) 运算结果是字符串“home”的表达式是( )。DA)LEFT(“myhome”,4) B)RIGHT(“hometown”,4)C)SUBSTR(“myhometown”,4,4)
13、 D)SUBSTR(“myhometown”,3,4)(34) 计算结果不是字符串“Teacher”的语句是A DA) at(“MyTeacher” ,3,7) B) substr (“MyTeacher” ,3,7)C) right(“MyTeacher”,7) D) left (“My Teacher” , 3,7)(35) LEFT(“12345.6789”,LEN(“子串”)的计算结果是【 】。 1234(36) ?STR(12345,5,1)命令的输出结果是( )。BA)1234 B)1235 C)12345 D)*(37) 函数UPPER(”China=中国”)的值是( )。CA)
14、China=中国 B)CHina=中国 C)CHINA=中国 D)china=中国(38) 下列函数返回类型为数值型的是BA) STR B) VAL C) DTOC D) TTOC(39) 在Visual FoxPro中,宏替换可以从变量中替换出( )。 DA)字符串 B)数值 C)命令 D)以上三种都可能(40) 条件函数IIF(LEN(SPACE(4)6,TRUE,FALSE)的返回值是_。FALSE三. 程序在Visual FoxPro中,用于建立或修改程序文件的命令是BA) MODIFYB) MODIFY COMMANDC) MODIFY PROCEDURED)上面B和C都对(2)欲执
15、行命令temp.prg,应该执行的命令是BA) DO PRG temp.prgB) DO temp.prgC) DO CMD temp.prgD) DO FORM temp.prg(3)在Visual FoxPro中,可以使用【 】语句跳出SCANENDSCAN循环体外执行ENDSCAN后面的语句。EXIT(4))在Visual FoxPro中,如果希望跳出SCANENDSCAN循环体,执行ENDSCAN后面的语句,应使用( )。BA) LOOP语句B) EXIT语句C) BREAK语句D)RETURN语句 (5)下列程序段执行后,内存变量s1的值是:B s1=networks1=stuff(
16、s1,4,4,BIOS)Anetwork BnetBIOS Cnet DBIOS(6)想要将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令 A A)SET CENTURY ON B)SET CENTURY OFF C)SET CENTURY TO 4 D)SET CENTURY OF 4(7)连续执行以下命令,最后一条命令的输出结果是CSET EXACT OFFa=”北京”b=(a=”北京交通”)A)北京B)北京交通C).F.D)出错 (8)A=10B=20?IIF(AB,”A大于B”,”A不大于B”)执行上述程序段,显示的结果是【 】。A不大于B(9)在DO WHILEEND
17、DO循环结构中,LOOP命令的作用是( )。C, A)终止程序的运行B)退出循环,返回程序开始处继续执行C)转到DO WHILE语句行,开始下一次循环D)终止本次循环,将控制转到本循环结构ENDDO后面的第一条语句继续执行(10)如下程序显示的结果是 【 】 。【13】s=1 i=0 do while i0 y=y+x%10 x=int(x/10)ENDDO?yA54321 B12345C51 D15(15)下列程序段的输出结果是_。10i=1DO WHILE i9 i=i+3ENDDO?i(16)在Visual FoxPro中,有如下程序,函数IIF()返回值是APRIVATE X,YSTO
18、RE “男” TO XY=LEN(X)+2?IIF(Y0 y=x%10+y*10 x=int(x/10)ENDDOA)3456 B)34567 C)7654 D)76543(18)下列的程序中与上题的程序段对y的计算结果相同的是_。B A)x=34567 B)x=34567 C)x=34567 D)x=34567y=0y=0y=0y=0flag=.T.flag=.T.flag=.T.flag=.T.DO WHILE flagDO WHILE flagDO WHILE !flagDO WHILE !flagy=x%10+y*10y=x%10+y*10y=x%10+y*10y=x%10+y*10x
19、=int(x/10)x=int(x/10) x=int(x/10) x=int(x/10) IF x0 IF x=0 IF x0 IF x=0 flag=.F. flag=.F. flag=.F. flag=.F. ENDIF ENDIF ENDIF ENDIFENDDO 7ENDDO 76543ENDDO 0ENDDO 0 (19)执行下列程序,显示的结果是。_ KROWone=WORKtwo=a=LEN(one)i=aDO WHILE i=1 two=two+SUBSTR(one,i,1) i=i-1ENDDO?two(20)有下程序,请选择最后在屏幕显示的结果:CSET EXACT ON
20、s=ni+SPACE(2)IF s=ni IF s=ni ?one ELSE ?two ENDIFELSE IF s=ni ?three ELSE ?four ENDIFENDIFRETURNAone Btwo Cthree Dfour(21)下列程序段执行时在屏幕上显示的结果是DDIME a(6)A(1)=1A(2)=1FOR i=3 TO 6 A(i)= A(i-1)+ A(i-2)NEXT? a(6)A) 5 B) 6 C) 7 D) 8(22)执行下列程序:在屏幕上显示的输出结果是( )。 DSET TALK OFFSTORE 0 TO X,YDO WHILE X6 X=X+Y Y=Y
21、+2ENDDO?X,YSET TALK ON RETURN A)8 8 B)6 8 C)4 6 D)6 6(23)执行下列程序,最后S的显示值为( )。 BSET TALK OFFs=0i=2x=10 DO WHILE s=x s=s+i i=i+l ENDDO?SA)12 B)14 C)16 D)18(24)该程序运行后屏幕显示的结果是( )。CS=0FOR X=2 TO 10 STEP 2 S=S+XENDFOR?SRETURNA)10 B)20 C)30 D)40(25)当变量X在奇偶数之间变化时,下列程序的输出结果为( )。A CLEARX=0DO WHILE X10 EXIT END
22、IFENDDOA)9 12 B)12 15 C)15 18 D)18 21(27)程序如下:本程序的功能是( )。BSET TALK OFFINPUT TO XFOR i=1 TO 3INPUT TO YIF YX X=YENDIFENDFOR?XRETURNA)求3个数中的最大值 B)求4个数中的最大值 C)求3个数中的最小值 D)求4个数中的最小值(28)如果在命令窗口输入并执行命令:“LIST名称”后在主窗口中显示:记录号 名称0509(28)1 电视机2 计算机3 电话线4 电冰箱5 电线记录行 名称Y6(28)1 电视机2 计算机3 电扇线4 电脑连线5 电话线记录号 名称0604(
23、28)课本P124(8)1 电视机2 计算机3 电话线4 电冰箱5 电线假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是假定名称字段为字符型,宽度为8,那么下列程序段的输出结果是假定名称字段为字符型、宽度为6,那么下面程序段的输出结果是GO 2SCAN NEXT 4 FOR LEFT(名称,2)=“电”IF RIGHT(名称,2)=“线“LOOPENDIF?名称ENDSCANGO 2SCAN NEXT 4 FOR LEFT(名称,2)=“电”IF RIGHT(名称,2)=”线”EXITENDIFENDSCAN?名称GO 2SCAN NEXT 4 FOR LEFT(名称,2)=“电”IF RIGHT(名称,2)=“线”EXITENDIFENDSCAN?名称A)电话线B)电冰箱C)电冰箱电线D)电视机电冰箱A)电视机B)电扇线C)电脑连线D)电话线A)电话线B)电线C)电冰箱 D)电视机15