宝玛科技网
您的当前位置:首页Visual FoxPro练习题

Visual FoxPro练习题

来源:宝玛科技网
Visual FoxPro复习题

一、选择题

1. 在Visual FoxPro中,向数据表文件中追加数据使用语句( A )。 A、INSERT B、REPLACE C、APPEND D、ADD

2. 在Visual FoxPro中,删除数据库的所有记录,仅保留库结构的命令是( D )。 A、 delete all B、pack C、recall D、 zap 3. 在Visual FoxPro中,复制当前工作区中库结构的命令是( C )。 A、Copy stru <原文件> to<目标文件> B、Copy <原文件> stru to <目标文件> C、Copy stru to <表文件名>

D、Copy stru to <表文件名>exten 4. 在Visual FoxPro中,使用replace〈字段名〉with〈表达式〉for〈条件〉后,记录指针为( D )。

A、视情况而定 B、当前记录 C、bof D、为文件尾

5. 在Visual FoxPro中,对数据库结构或记录进行输入、修改后,应按( A )存盘退出。 A、ctrl+w B、ctrl+q C、ctrl+c D、esc

6. 在Visual FoxPro中,用modify structure对数据库结构进行修改时,数据库的原有数据( C )。 A、将全部丢失 B、不会丢失

C、可能丢失某些数据项 D、可能丢失某些数据记录 7. 在Visual FoxPro中,分屏显示当前数据库中年龄字段大于20的所有记录,正确的命令为( A )。

A、display all for nl>20 B、display all while nl>20 C、list for nl while nl>20 D、list while nl>20

8. 在Visual FoxPro中,skip命令移动记录指针的基准是( B )。 A、第一条记录 B、当前记录 C、指定纪录 D、表文件尾

9. 一个数据表文件中多个备注字段的内容是存放在( B )。 A、这个数据表文件中 B、一个备注文件中 C、多个备注文件中 D、一个文本文件中

10. 要删除当前数据表文件中的“性别”字段,应使用命令( A )。 A、modify structure B、delete

C、replace D、zap

11. 在有关数据库的概念中,若干记录的集合称为( D )。 A. 文件 B. 字段 C. 数据项 D. 表

12. 联接运算要求联接的两个关系有相同的( B )。

A. 主键 B. 属性名 C. 实体名 D. 主属性名

13. 退出VFP系统的命令是(D )。 A.EXIT B.RETURN C.CANCEL D.QUIT

14. 逻辑运算符在运算时的优先顺序是(A) A.NOT→AND→OR B.AND→NOT→OR C.OR→NOT→AND D.从左至右按先后次序

15. 条件函数IIF(LEN(SPACE(4))>3,1,-1)的值是( A )。

A. 1 B. -1 C. 3 D. 4

16. 数学表达式5≤X≤8在Visual FoxPro中应表示为( B)。 A. X>=5.OR.X<=8 B. X>=5.AND.X<=8 C. X≤8.AND.5≤X D. 5≤X.OR. X≤8

17. 在关系运算中,查找满足一定条件的元组的运算称之为( B )。 A. 投影 B. 选择 C. 关联 D. 复制

18.下面的赋值表达式不正确的是 (D) A.STORE \"HELLO WORLD!\" TO STR B. STORE 123456 TO A1,B1 C.WORD=\"FOXPRO\" D.STORE 12,34 TO A2,B2

19.逻辑常量A=.T.、B=.T.、C=.T.,下面各表达式中返回逻辑真的是 (B) A.NOT((NOT A OR B) AND C) B. NOT (NOT (A OR B) AND C)

C.NOT(A AND B OR NOT C) D.NOT(NOT A OR B AND C)

20. 当前表文件有20条记录,当前记录号为10 ,执行命令LIST REST以后,当前记录号是( C )。

A. 10 B. 20 C. 21 D. 1

21. 以下各表达式中,运算结果为数值型的是( D )。

A. 9<6 B. “D”$”ASD” C. TIME()+9 D. LEN(SPAC(8))-9

22.物理删除某一打开的表中的第3条记录,使用以下命令:①DELE ②GO 3③PACK。正确的操作顺序是(D)

A.①②③ B.②③① C.①③② D.②①③

23.修改表结构的命令是( D )。 A.CREATE B.LIST STRUCTURE C.BROESE D.MODIFY STRUCTURE

24.设表文件及其索引文件已打开,为了确保指针定位在记录号为1的记录上,应该使用命令( B )。

A.GO TOP B. GO 1 C. GO RECNO()=1 D. SKIP 1

25.当前表中含xm(姓名,字符型)字段,显示姓“李”的记录的命令是(D)

A.DISP FOR \"李\"=xm B.DISP FOR xm=李

C.DISP FOR SUBS(xm,1,1)= '李' D.DISP FOR SUBS(xm,1,2)=[李]

26. 求平均值的命令是(D) A.COUNT B.TOTAL C.SUM D.AVERAGE

27.不能作为索引关键字的数据类型是(B) A.数值型 B.备注型 C.日期型 D.字符型

28.以下各表达式中,运算结果为数值型的是(D )。

A. 9<6 B. “D”$”ASD” C. TIME()+9 D. LEN(SPAC(8))-9

29.执行下列命令后显示的结果是(D )。

W=”123.45” ?”674”+&W

A. 798.45 B. 674+&W C. 674123.45 D. 错误信息

30. 用命令DIMENSION A(4,5)定义后,A数组有( D )个数据元素。 A. 4 B. 5 C. 9 D. 20

31.在Visual FoxPro的一个工作区中,同一时刻最多能打开( B )个表文件。 A、10 B、1 C、任意多 D、256

32. Visual FoxPro中数据表文件的扩展名为( B )。 A、dbf B、dbc C、fpt D、prg

33.结构化程序设计中的三种基本结构是顺序结构、分支结构和(B )。 A、选择结构 B、循环结构 C、混合结构 D、跳转结构

34.对Visual FoxPro的工作方式效率与自动化程度最高的是(B)。 A、命令方式 B、程序方式 C、菜单方式 D、混合方式

35.若X=56.7,则命令?STR(X,2)-SUBS([56.7],5,1)的显示结果是( A )。 A、578 B、568 C、49 D、48

36. 当前数据表文件中有10条记录,要在第五条记录后面插入一条新记录,应使用命令( B )。

A、append B、insert C、edit D、brows

37. 一个数据表文件有10条记录,用函数eof( )测试为.t.,此时当前记录号为( B )。 A、10 B、11 C、0 D、1

38. 在Visual FoxPro中,对数据库进行排序的关键字可为(C )。 A、逻辑型和备注型 B、日期型和备注型 C、日期型和字符型

D、逻辑型、日期型和备注型

39.在Visual FoxPro中,对数据库建立索引,将产生相应的索引文件,原表文件内容( A )。 A、并不改变 B、顺序改变 C、指定纪录改变 D、数据改变

40. 在Visual FoxPro中,对未经排序或索引的数据库进行查找时,只能用命令( C )。 A、find B、seek C、locate D、display

41. int(-28/6)的返回值为(D )。

A、-5 B、-3 C、-6 D、-4

42. 设AB=12,函数TYPE(“AB<30”)的返回值是( D )。 A、.T. B、.C. C、.U. D、.L.

43.DALETE( )的函数值为.T.时,说明( B )。 A、删除的纪录不存在

B、当前记录已被加上删除标记 C、当前数据库已被删除

D、标有删除标记的纪录不参加操作

44.执行命令?AT(“中心”,“国家教委考试中心”)的显示值是( C )。 A、0 B、12 C、13 D、16

45.下列数据为常量的是( C )。 A、NAME B、FF C、13 D、FTMS

46.在命令窗口输入如下四条命令: SET CENTURY OFF

SET MARK TO “—” SET DATE TO YMD ?{^2002-06-03}

分别执行后,屏幕上将显示( C)。 A、2002/06/26 B、02/06/26 C、02-06-03 D、2002.06.03

47.统计当前工作区记录数的函数是( B )。 A、RECNO( ) B、RECCOUNT( ) C、FCOUNT( ) D、FOUND( )

48.在系统默认设置之下,下列表示日期值正确的是( A )。 A、{10/08/01} B、10/08/01 C、{^01-01-01} D、{^2003-13-01}

49. 在系统默认设置下,表达式“北师大”=“北京师范大学”和“北京师范大学”=“北师大”的值为( B )。 A、.T. .T. B、.F..F. C、.T..F. D、.F..T.

50. 在下列各式中,运算结果为数值的是( D )。 A、{^2002-05-30}-20 B、CTOD(“05/30/02”) C、”23”+”2” D、LEN(“ABCD”)-2

51.可以伴随着表的打开而自动打开的索引是。(C) A) 单一索引文件(IDX) B) 复合索引文件(CDX) C) 结构化复合索引文件 D) 非结构化复合索引文件

52.要为当前表所有职工增加100元工资应该使用命令( D) 。 A) CHANGE 工资 WITH 工资+100 B) REPLACE 工资 WITH 工资+100 C) CHANGE ALL 工资 WITH 工资+100 D) REPLACE ALL 工资 WITH 工资+100

53.退出VFP系统的命令是(D)

A.EXIT B.RETURN C.CANCEL D.QUIT

54.逻辑运算符在运算时的优先顺序是(A) A.NOT→AND→OR B.AND→NOT→OR C.OR→NOT→AND D.从左至右按先后次序

55.下列命令不能用来修改数据记录的是 (A)

A) Recall B) Change C) Edit D) Browse

56.假定STUDENT.DBF学生数据表文件中前六条记录均为男生的记录,执行以下命令序列: USE.STUDENT GOTO 3

LOCATE NEXT 3 FOR 性别=\"男\" 后,记录指针定位在( A )。 A)第3条记录上 B)第4条记录上 C)第5条记录上 D)第6条记录上

57.下列表达式中正确的是(C) A. 12.3+{03/12/1990}+'NO'

B. STR(12.3,4,1)+{03/12/1990}+'NO'

C. STR(12.3,4,1)+DTOC({03/12/1990}+'NO' D. 12.3+DTOC({03/12/1990})+'NO'

58.下面的赋值表达式不正确的是(D)

A.STORE \"HELLO WORLD!\" TO STR B. STORE 123456 TO A1,B1 C.WORD=\"FOXPRO\" D.STORE 12,34 TO A2,B2

59.逻辑常量A=.T.、B=.T.、C=.T.,下面各表达式中返回逻辑真的是 (B) A.NOT((NOT A OR B) AND C) B. NOT (NOT (A OR B) AND C) C.NOT(A AND B OR NOT C) D.NOT(NOT A OR B AND C)

60.设表中有10条记录,并且已经打开,下面命令中不能改变当前记录的是(D) A.SKIP B. GO 2 C.LIST D.DISPLAY

61.ABC.DBF是一个具有两个备注型字段的数据表文件,使用COPY TO PSQ命令进行复制操作,其结果将(B)。

A)得到一个新的数据表文件

B)得到一个新的数据表文件和一个新的备注文件 C)得到一个新的数据表文件和两个新的备注文件

D)显示出错误信息,表明不能复制具有备注型字段的数据表文件

62.物理删除某一打开的表中的第3条记录,使用以下命令:①DELE ②GO 3③PACK。正确的操作顺序是(D) A.①②③ B.②③① C.①③② D.②①③

63.修改表结构的命令是(D)

A.CREATE B.LIST STRUCTURE C.BROESE D.MODIFY STRUCTURE

.一个关系相当于一张二维表,二维表中的名栏目相当于该关系的( D ) A.元组 B.结构 C.数据项 D.属性

65.当前表中含xm(姓名,字符型)字段,显示姓“李”的记录的命令是(D) A.DISP FOR \"李\"=xm B.DISP FOR xm=李

C.DISP FOR SUBS(xm,1,1)= '李' D.DISP FOR SUBS(xm,1,2)=[李]

66.求平均值的命令是(D) A.COUNT B.TOTAL C.SUM D.AVERAGE

67.不能作为索引关键字的数据类型是(B) A.数值型 B.备注型 C.日期型 D.字符型

68.下面有关表索引的几种说法,正确的是(B) A.索引和排序一样,它改变记录的物理顺序。

B.索引文件有单索引文件(.IDX)和复合索引文件(.CDX)两大类。 C.建立单索引可以使用FOR子句,复合索引不能使用该子句。 D.索引关键字中涉及到多个字段时,用“,”将各个子段分隔开。

69.与命令LIST FIELDS 姓名,性别,出生日期不等效的命令是( C ) A) LIST 姓名,性别,出生日期

B) LIST ALL FIELDS 姓名,性别,出生日期 C) DISPLAY FIELDS 姓名,性别,出生日期 D) DISPLAY ALL 姓名,性别,出生日期

70.如果一个字段的宽度为8,则此字段的类型不可能是(D) A) 数值型 B) 字符型 C) 日期型 D) 备注型

71.在Visual FoxPro的一个工作区中,同一时刻最多能打开( B)个表文件。 A、10 B、1 C、任意多 D、256

72.Visual FoxPro中数据表文件的扩展名为(A )。 A、dbf B、dbc C、fpt D、prg

73.在下列逻辑表达式中,其值肯定为.F.的是(D) A) X.OR.X B) X.AND.X C) X.OR..NOT.X D) X.AND..NOT.X

74.已知执行了如下命令序列: SELECT 0 USE FF

SELECT 0 USE GG

现欲转回到数据表文件FF.DBF所在工作区,能够确保完成这一任务的命令是(D) A) SELECT 0 B) SELECT 1 C) SELECT A D) SELECT FF

75.在下列Visual Foxpro的表达式中,结果为.T.的是()。 A、[112]〉=”90” B、[张先生]=[李先生] C、{90/09/09}-8<{90/09/01} D、[女]$性别

76.比较表达式的结果是( B)。

A. 字符型 B. 逻辑型 C. 数值型 D. 日期型

77.用COPY STRU TO <文件名> 形成的文件是( A)。

A. 数据表文件 B. 索引文件 C. 文本文件 D. 正式文件

78.显示数据库当前记录内容的命令是(A )。

A. LIST NEXT 1命令 B. DISPLAY ALL 命令 C. TYPE 命令 D. DISP REST命令

79.不带文件名的USE( B)。

A. 关闭所有工作区的数据表文件 B. 关闭当前工作区的数据表文件 C. 关闭所有文件 D. 对数据表文件没有影响

80.函数EOF()用于检测当前数据库记录指针是否达到( B )。 A. 文件头 B. 文件尾 C. 指定记录 D. 对数据表文件无作用

81.修改数据表文件结构用( D )。

A. MODI COMM命令 B. EDIT C. CREAT命令 D. MODI STRU命令

82.下列表达式中正确的是(C) A. 12.3+{03/12/1990}+'NO'

B. STR(12.3,4,1)+{03/12/1990}+'NO'

C. STR(12.3,4,1)+DTOC({03/12/1990}+'NO' D. 12.3+DTOC({03/12/1990})+'NO'

83.下面的赋值表达式不正确的是(D)

A.STORE \"HELLO WORLD!\" TO STR B. STORE 123456 TO A1,B1 C.WORD=\"FOXPRO\" D.STORE 12,34 TO A2,B2

84.逻辑常量A=.T.、B=.T.、C=.T.,下面各表达式中返回逻辑真的是 (B) A.NOT((NOT A OR B) AND C) B. NOT (NOT (A OR B) AND C) C.NOT(A AND B OR NOT C) D.NOT(NOT A OR B AND C)

85.INSERT 命令将一条新记录加到( B)。

A. 当前记录之前 B. 当前记录之后 C. 文件末尾 D. 文件顶部

86.下述命令中不能关闭数据表的命令是(C);

A. USE B. CLOSE DATABASE C. CLEAR D. CLOSE ALL

87.物理删除某一打开的表中的第3条记录,使用以下命令:①DELE ②GO 3③PACK。正确的操作顺序是(D) A.①②③ B.②③① C.①③② D.②①③

88.在学生基本情况表STU.DBF中,“性别”字段为逻辑型,用.T.代表女同学。为了找到第一位姓李的男同学,以下命令正确的是(C); A. Seek 李 and 性别 B. Find 李 .and. 男同学

C. Locate for ‘李’$ 姓名 and not 性别 D. Locate for “李” $姓名 .and. 男同学

.一个关系相当于一张二维表,二维表中的名栏目相当于该关系的( D )。 A.元组 B.结构 C.数据项 D.属性

90.当前表中含xm(姓名,字符型)字段,显示姓“李”的记录的命令是( D )。 A.DISP FOR \"李\"=xm B.DISP FOR xm=李

C.DISP FOR SUBS(xm,1,1)= '李' D.DISP FOR SUBS(xm,1,2)=[李]

91.当前数据库中有五个字段:学号(C,4)、姓名(C,6)、政治(N,3.0)、英语(N,3.0)、数学(N,3.0),记录指针指向一个非空的记录。

要使用SCATTER TO X命令把当前记录的字段值存到数组X中,数组( C )。 A. 不必事先定义

B. 必须用DIMENSION X 事先定义 C. 必须用DIMENSION X(5)事先定义

D. 必须用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义

92.不能作为索引关键字的数据类型是( B )。 A.数值型 B.备注型 C.日期型 D.字符型

93.下面有关表索引的几种说法,正确的是( B )。 A.索引和排序一样,它改变记录的物理顺序。

B.索引文件有单索引文件(.IDX)和复合索引文件(.CDX)两大类。 C.建立单索引可以使用FOR子句,复合索引不能使用该子句。 D.索引关键字中涉及到多个字段时,用“,”将各个子段分隔开。

94.当前数据库中有基本工资、奖金、津贴和工资总额字段,都是N型。要将职工的所有收入汇总后写入工资总额字段中,应当使用命令( A )。 A) REPLACE ALL工资总额 WITH 基本工资+奖金+津贴 B) TOTAL ON 工资总额 FIELDS 基本工资,奖金,津贴 C) REPLACE 工资总额 WITH 基本工资+奖金+津贴 D) SUM基本工资+奖金+津贴TO 工资总额

95.在VFP中,通用型字段G和备注型字段M在表中的宽度都是(B )。 A) 2个字节 B) 4个字节 C) 8个字节 D) 10个字节

96.在Visual FoxPro的一个工作区中,同一时刻最多能打开( B )个表文件。 A、10 B、1 C、任意多 D、256

97.执行命令DIMENSION M(4,2)之后,数组M的下标变量个数和初值分别是( A )。 A) 8,.F. B) 4,.T. C) 8,O D) 2,空值

98.计算所有职称为正、副教授的平均工资,将结果赋予变量PJ中,应使用命令( A )。 A) AVERAGE 工资TO PJ FOR “教授”$职称

B) AVERAGE FIELDS 工资TO PJ FOR “教授”$职称

C) AVERAGE 工资TO PJ FOR 职称=”副教授”.AND.职称=”教授” D) AVERAGE 工资 TO PJ FOR 职称=”副教授”.OR.”教授”

99.执行LIST NEXT 1命令之后,记录指针的位置指向( B )。 A) 下一条记录 B) 原来记录 C) 尾记录 D) 首记录

100.要想对一个打开的数据库增加新字段,应当使用命令(B )。 A) APPEND B) MODIFY STRUCTURE C) INSERT D) CHANGE

101.在当前表中,查找第2个女同学的记录,应使用命令( C )。 A、LOCATE FOR 性别=\"女\"NEXT2 B、LOCATE FOR 性别=\"女\" C、LOCATE FOR 性别=\"女\"CONTINUE D、LIST ROR 性别=\"女\"NEXT 2

102.建立表文件结构时,需要定义的参数为(C)。 A、 表文件名、表的 大小、字段名、字段类型 B、字段名、字段类型、记录个数、字段宽度 C、 字段名、字段类型、字段宽度、小数位数 D、表文件名、字段名、字段类型、字段宽度

103.ABC.DBF是一个具有两个备注型字段的数据表文件,使用COPY TO PSQ命令进行复制操作,其结果将( B )。 A、得到一个新的数据表文件 B、得到一个新的数据表文件和一个新的备注文件 C、得到一个新的数据表文件和两个新的备注文件 D、显示出错误信息,表明不能复制具有备注型字段的数据

104.在关系理论中,把二维表表头中的栏目称为( D )。 A、数据项 B、元组 C、结构名 D、属性名

105.表文件的数值型字段要求保留2位小数,那么该字段宽度最少应当定义成( C )位。 A、2 B、3 C、4 D、5

106.设表文件已打开,应用__命令定位记录( B )。 A、LIST B、SKIP C、CONTINUE D、COUNT

107.物理删除表文件全部记录的命令是( C )。 A、DELETE B、EDIT C、ZAP D、PACK

108.已打开的表文件中有100条记录,在下面4组命令中,( C )组命令执行后数据库的记录数保持不变。 A、DELE ALL ZAP

B、DELE ALL PACK RECALL C、DELE ALL LIST RECALL D、ZAP

109.统计当前数据库中语文成绩(字段名为YW)大于80分的记录数的命令是( C )。 A、AVERAGE FOR YW >80 B、SUM FOR YW>80 C、COUNT FOR YW>80 D、LIST FOR YW>80

110.已知P=DATE( ),则P为( B )型内存变量。 A、字符 B、日期 C、逻辑 D、数值

111.函数SUBS(“国际互联网”,5,4)的值为( B )。 A、国际 B、互联 C、国际互 D、联网

112.下列不能作为查询的命令是( B )。

A、locate B、index C、seek D、find

113.下列命令中( A )与ZAP命令等效。 A、DELETE ALL 与PACK B、DELETE REST C、DELETE D、RECALL ALL

114.在建立数据库结构(modify stru)过程中不需要输入字段宽度的字段类型是( C )。 A、字符型 B、数值型 C、备注型 D、字符型和数值型

115.在下列VFoxPro的表达式中,结果为.T.的是( )。 A、[112]>=\"90\" B、[张先生}>=[李先生] C、{90/09/09}-8<{90/90/01} D、[女]$性别

116.物理删除记录的命令是( C )。 A、delete B、pack C、zap D、recal

117.如果要改变一个关系中属性的排列顺序,应使用的关系运算是( B )。A、选择 B、投影 C、连接 D、排序

118.在以下关于索引的说明中,错误的是( D )。 A、索引可以提高查询速度 B、索引可能降低更新速度 C、索引和排序具有不同的含义 D、不能更新索引字段

119.VFP中的循环语句有三种,关于它们的适用场合下列说法中不正确的是( A.当事先知道循环次数时,可以用FOR„ENDFOR循环

B.当需要对表中所有记录执行某一操作时,可以用SCAN„ENDSCAN C.当不知道循环次数时,应该用FOR„ENDFOR D.循环语句应该配对出现

120.Visual FoxPro中,有两种变量,分别是( A )。 A、内存变量和字段变量 B、内存变量和外存变量 C、外存变量和字段变量 D、全局变量和字段变量 121.在Visual FoxPro中,向数据表文件中追加数据使用语句( C )。 A、INSERT B、REPLACE C、APPEND D、ADD

122.在Visual FoxPro中,删除数据库的所有记录,仅保留表结构的命令是( A、 delete all B、pack C、recall D、 zap

123.在Visual FoxPro中,复制当前工作区中库结构的命令是( C )。 A、Copy stru <原文件> to<目标文件> B、Copy <原文件> stru to <目标文件>

)。 D )。 C C、Copy stru to <表文件名>

D、Copy stru to <表文件名>exten

124.在Visual FoxPro中,使用replace〈字段名〉with〈表达式〉for〈条件〉后,记录指针为( D )。

A、视情况而定 B、当前记录 C、bof D、为文件尾

125.在Visual FoxPro中,对数据库结构或记录进行输入、修改后,应按( A )存盘退出。 A、ctrl+w B、ctrl+q C、ctrl+c D、esc

126.在有关数据库的概念中,若干记录的集合称为 ( D )。 A) 文件 B) 字段 C) 数据项 D) 表

127.要计算职称为副教授或教授的工资总额,下列命令中错误的是(D )。 A) SUM 工资 FOR 职称=\"副教授\".OR.职称=\"教授\" B) SUM ALL 工资 FOR 职称=\"副教授\".OR.职称=\"教授\" C) SUM 工资 FOR \"教授\"$职称

D) SUM 工资 FOR 职称=\"副教授\".AND.职称=\"教授\"

128.不允许记录中出现重复索引值的索引是( C )。 A) 主索引 B) 主索引、候选索引、普遍索引 C) 主索引和候选索引 D) 主索引、候选索引和唯一索引

129.在Visual FoxPro中,打开数据库的命令是( A )。 A) OREN DATABASE <数据库名> B) USE <数据库名> C) USE DATABASE <数据库名> D) OPEN <数据库名>

130.连续执行以下命令之后,最后一条命令的输出结果是( C )。 SET EXACT OFF X=\"A \"

?IIF(\"A\"=X,X-\"BCD\",X+\"BCD\") A) A B) BCD C) A BCD D) ABCD

131.在以下四组函数运算中,结果相同的是 ( A D)。 A) LEET(\"Visual FoxPro\与SUBSTR(\"Visual FoxPro\B) YEAR(DATE())与SUBSTR(DTOC(DATE()),7,2) C) VARTYPE(\"36-5*4\")与VARTYPE(36-5*4)

D) 假定A=\"this\与A+B

134.在Visual Foxpro中,用于建立或修改过程文件的命令是( B )。 A) MODIFY <文件名> B) MODIFY COMMAND <文件名> C) MODIFY PROCEDURE <文件名> D) 上面B)和C)都对

135.使用命令DECLARE mm(2,3)定义的数组,包含的数组元素(下标变量)的个数为 (D )。 A) 2个 B) 3个 C) 5个 D) 6个

136.APPEND命令的功能是( B)。

A)在表的最前面插入一条记录 B) 在表的最后面插入一条记录 C)在表的最前面任意位置插入一条记录 D) 删除一条记录

137.打开学生数据库及(对成绩字段的)索引文件,假定当前记录号为200,欲使记录指针指向记录号为100的记录,应使用命令( C )。 A)LOCATE FOR 记录序号=100 B)SKIP 100 C)GOTO 100 D)SKIP -100

138.使用TOTAL命令生成的分类汇总表文件的扩展名是( B )。 A)DBT B)DBF C)DBC D)CDX

139.执行命令序列:

STORE CTOD(“05/06/98”)TO MDATE ?MDATE

后,屏幕上显示值是( C)。

A)05/09/98 B) MDATE C)05/06/98 D) CTOD

140.假定系统是期是2004年01月05日,有如下命令: NJ= YEAR(DATE())

执行该命令后,NJ的值是(A )。

A)2004 B) 01 C)05 D)01/05/04

141.有以下命令序列: USE STUDENT LIST record# 姓名 出生日期 1 欧阳惠 07/12/69 2 李明 02/24/70 3 杨霞 11/05/71 INDEX ON 出生日期 TO BD LIST

执行该命令序列后,显示记录号的顺序是( A )。

A)1 2 3 B)3 2 1 C)2 1 3 D)1 3 2

142.学生数据表文件10条记录,其姓名字段值均为学生全名,执行如下命令序列: USE STUDENT ?recno()

最后,recno()函数的显示值是(A)。

A)1 B)0 C)10 D)2

143.比较表达式的结果是( B)。

A. 字符型 B. 逻辑型 C. 数值型 D. 日期型

144.用COPY STRU TO <文件名> 形成的文件是( A)。

A. 数据表文件 B. 索引文件 C. 文本文件 D. 正式文件

145.显示数据库当前记录内容的命令是( A)。

A. LIST NEXT 1 B. DISPLAY ALL C. TYPE D. DISP REST

146.执行USE命令的作用是 (B )。

A. 关闭所有工作区的数据表文件 B. 关闭当前工作区的数据表文件 C. 关闭所有文件 D. 对数据表文件没有影响

147.函数EOF()用于检测当前数据库记录指针是否达到( B )。

A. 文件头 B. 文件尾 C. 指定记录 D. 第一条记录

148.建立数据表文件用( C ) 命令。

A. MODI COMM B. EDIT C. CREATE D. MODI STRU

149.INSERT 命令将一条新记录加到( B )。

A. 当前记录之前 B. 当前记录之后 C. 文件末尾 D. 文件顶部

下述命令中不能关闭数据表的命令是(C );

A. USE B. CLOSE DATABASE C. CLEAR D. CLOSE ALL

以下表达式的结果为数值型的是(D );

A. \"牛\"$ \"牛群\" B. \"wish you\"+\"wish you success\" C. {^98/6/14}+15 D. {08/06/94}- {08/11/92}

150.用菜单方式打开一个数据表文件应该使用的菜单序列为(A )。 A.文件 →打开 →表 B. 文件 →打开 →表格 C. 文件 →新建 →数据表 D. 数据 →表 → 打开

151.清除主窗口屏幕的命令是( A )。

A) CLEAR B) CLEAR ALL C) CLEAR SCREEN D) CLEAR WINDOWS

152.对于只有两种取值的字段,一般使用的数据类型是( D )。 A. 字符型 B. 数值型 C. 日期型 D. 逻辑型

153.在下面的Visual FoxPro表达式中,不正确的是 ( C )。 A) {^2002-05-01 10:10:10 AM}-10 B) {^2002-05-01}-DATE() C) {^2002-05-01}+DATE()

D) {^2002-05-01}+1000

154.下面( C )不是VFP程序文件中可以使用的注释语句 A. NOTE <注释内容> B. * <注释内容> C. // <注释内容> D. && <注释内容>

155.Visual FoxPro 6.0中,命令?VARTYPE(\"12/31/99\")的输出结果是( C )。 A. D 0000000000000 C. C D. U

156.下列各字符组合中( A )不是VFP中的字符常量 A. 计算机应用 B. '2003' C. \"ABCDE\" D. [101.867]

157.下列不能关闭数据表的是( A )。

A、browse B、clear all C、close all D、close database

158.执行以下命令后显示的结果是( C )。 N='356.54' ?87+&N

A) 87+&N B) 87356.54 C) 443.54 D) 出错信息

159.下列表达式中, ( B )表达式的值是数值。 A. [ABC]+'D'

B. {^2003/05/17}-{^2003/04/09} C. \"123\"+\"456\"

D. {^2003/05/18}+15

160.逻辑型字段\"团员\"其值为真的正确条件表达是( C )。 A. FOR 团员=T B. FOR 团员=\".T.\" C. FOR 团员 D. FOR 团员=\".Y.\"

161.函数LEN(TRIM(SPACE(8)-SPACE(8)))返回的值是( C )。 A) 8 B) 16 C) 0 D) 出错

162.执行LIST ALL命令后,记录指针指向( D )。 A. 第一条记录 B. 最后一条记录 C. 第一条记录的前面 D. 最后一条记录的后面

163.逻辑运算符在运算时,其优先顺序是是( A )。 A. NOT AND OR B. AND NOT OR C. OR NOT AND

D. 从左至右按先后顺序

1.显示当前表中所有带删除标记的记录的命令是( A )。 A. DISPLAY FOR DELETED() B. DISPLAY FOR NOT DELETED() C. DISPLAY DELETED()

D. DISPLAY RECORD DELETED()

165.当前表中含\"姓名\"字段,显示\"李\"姓的所有记录的命令是( B )。 A. DISPLAY FOR \"李\"=姓名 B. DISPLAY FOR 姓名=\"李\"

C. DISPLAY SUBSTR(姓名,1,2)=\"李\" D. DISPLAY SUBSTR(姓名,1,1)=\"李\"

166.VISUAL FOXPRO中备注文件的扩展名为( B )。 A. DBF B. FPT C. PRG D. MEM

167.下列函数中,运算结果为字符型的是( D )。 A. AT(\"ABC\",\"智能ABC\") B. INT(123 .456) C. VAL(\"12/12/66\") D. DTOC(DATE())

168.在VFP中,可以对数值型同时也可以对字符型内存变量输入数据的命令是( B )。 A. ACCEPT B. INPUT C. WAIT D. EDIT

169.下面( D )不属于VFP的循环控制语句 A. DO WHILE „„ENDDO B. FOR „„ENDFOR C. SCAN„„ENDSCAN D. DO CASE„„ENDCASE

170.条件函数IIF(LEN(SPACE(3))>2,1,-1)的值是( C )。 A. -1 B. 2 C. 1 D. 错误

171.有一个表文件GZ.DBF,已经打开。其中有字段名“基本工资”、“实发工资”。下面按“实发工资”进行索引的操作不正确的是( D )。 A. INDEX ON 实发工资TO SFGZ B. INDEX ON 实发工资TAG 实发工资

C. INDEX ON 实发工资TAG 实发工资 OF GZ.CDX D. INDEX ON 基本工资TO JBGZ

172.SEEK和FIND命令是作用于( C ) 的快速检索命令。 A. 表文件 B. 命令文件 C. 索引文件 D. 排序文件

173.表文件KD.DBF打开后,执行命令SKIP -1,下列命令中结果为.t.的是( B )。 A. ?RECNO() B. ?BOF() C. ?EOF() D. DISP

174.对Visual FoxPro的工作方式以下描述最恰当的选项是(D)。

A、命令方式 B、程序控制方式 C、菜单方式 D、三种方式都是

175.下面程序运行结果是( A )。 SET TALK OFF

STRING=\"ABCDEF\" N=1

DO WHILE N<5

?SUBSTR(STRING,N,2) N=N+1 ENDDO

SET TALK ON

A. AB B. AB C. BC D. CD BC CD AB BC CD DE CD DE DE BC DE AB

176.对内存变量的叙述,不正确的是(D)。 A、内存变量是于数据库的变量 B、内存变量是一种临时变量。 C、内存变量用赋值语句定义 D、内存变量只能用数字或下划线开头

177.对已经打开的学生成绩单文件CJ.DBF按总分降序索引,应当使用的命令是(D)。 A、 INDEX TO CJX 总分 B、 INDEX TO CJX 总分 C、 INDEX TO CJX STR(总分,3) D、 INDEX TO CJX ON -总分

178.关系模型中,一个关键字是(C)。 A、可由多个任意属性组成 B、至多由一个属性组成

C、可由能惟一标识该关系模式中任何元组的一个或多个属性组成 D、其它

179.数据库管理系统主要适合用于(B)。

A、表格计算 B、资料管理 C、数据通讯 D、文字处理

180.用于修改表结构命令是(B)。 A、ALTER STRUTURE B、MODIFY STRUTURE C、ALTER D、MODIFY TABLE

181.下列短语不是Visual FoxPro范围短语的是(A)。 A、skip B、rest C、next 2 D、all

182.下列命令不能关闭数据库表文件的是(A)。 A、browse B、use C、close all D、close database

183.逻辑表达式ROUND(123.456 , 0)184.要在当前表文件的当前记录之后插入一条新记录,应该使用命令是(D)。 A、 APPEND B、EDIT C、CHANGE D、INSERT

185.下列表达式结果为数值型的是(D)。 A、\"9988\"-\"1255\" B、200+800=1000 C、CTOD([11/22/01])-20 D、LEN(SPACE(3))-1

186.在当前表中,查找第2个女同学的记录,应使用命令是(C)。 A、LOCATE FOR 性别=\"女\"NEXT2 B、LOCATE FOR 性别=\"女\" C、LOCATE FOR 性别=\"女\"和CONTINUE D、LIST ROR 性别=\"女\"NEXT 2

187.建立表文件结构时,需要定义的参数为(C)。 A、 表文件名、表的 大小、字段名、字段类型 B、字段名、字段类型、记录个数、字段宽度 C、 字段名、字段类型、字段宽度、小数位数 D、表文件名、字段名、字段类型、字段宽度

188.ABC.DBF是一个具有两个备注型字段的表文件,使用COPY TO PSQ命令进行复制操作,其结果将是(B)。

A、得到一个新的数据表文件 B、得到一个新的数据表文件和一个新的备注文件 C、得到一个新的数据表文件和两个新的备注文件 D、显示出错误信息,表明不能复制具有备注型字段的数据

1.在关系理论中,把二维表表头中的栏目称为(D)。 A、数据项 B、元组 C、结构名 D、属性名

190.表文件的数值型字段要求保留2位小数,那么该字段宽度最少应当定义成(C)位。 A、2 B、3 C、4 D、5

191.设当前表文件有一个类型为N的age字段,执行命令ZAP FOR age=20的结果是(D)。 A、逻辑删除age字段值为20的记录 B、物理删除age字段值为20的记录 C、物理删除全部记录 D、语法错误提示信息

192.下面关于Visual FoxPro数组的叙述中,错误的是(C)。 A、用DIMENSION和DECLARE都可以定义数组 B、Visual FoxPro只支持一维数组和二维数组 C、一个数组中各个数组元素必须是同一种数据类型 D、新定义数组的各种数组元素初值为.F.

193.设一个表文件中有1记录,当EOF( )返回真值时当前记录号为(C)。 A、18 B、0 C、19 D、1

194.表文件中有10条记录,当前记录号为 1,顺序执行SKIP -1和RECNO(),屏幕上将显示(C)。

A、0 B、-1 C、1 D、三种方式都是

195.将内存变量定义为全局变量的Visual FoxPro命令是(C)。 A.LOCAL B.PRIVATE C.PUBLIC D.GLOBAL

196.数据库系统与文件系统的主要区别是(D)。 A、文件系统简单,而数据库系统复杂

B、文件系统只能管理数据文件,而数据库系统能管理各种类型的文件 C、文件系统只能管理少量数据,而数据库系统能管理大量的数据 D、文件系统不能解决数据冗余

和数据性问题,而数据库系统可以

197.循环结构中LOOP语句的功能是(B)。

A.放弃本次循环,重新执行该循环结构 B.放弃本次循环,进入下一次循环

C.退出循环,执行循环结构的下一条语句 D.退出循环,结束程序的运行

198.Visual Foxpro程序中,续行符是(B)。 A. , B. ; C. ' D.:

199.在数据库设计器中,建立两个表之间的一对多联系是通过(A)索引实现的。 A、\"一方\"表的主索引,\"多方\"表的普通索引

B、\"一方\"表的主索引,\"多方\"表的普通索引或候选索引 C、\"一方\"表的普通索引,\"多方\"表的主索引或候选索引 D、\"一方\"表的普通索引,\"多方\"表的候选索引或普通索引

200.下面字符串为非法字符串是(B)。

A、'a string' B、'It is a'dring\" C、\"a string\" D、\"It is a 'string'\"

二、程序改错题

1.下列程序为求s=1-1/3+1/5-1/7+...-1/99之值,(精确到小数后两位), 程序中有错误。 改正后运行程序,将程序执行结果填入答案框内。

set talk off s=0 n=1

do while n<=99 s=s+1/n n=n+1 enddo ?s return

2.下面的程序是求3+9+27+81+243+...这样的数之和. 若累加数大于500时,则结束累加.程序中有一处错误。改正后运行程序,将程序执行结果填入答案框内。 SET TALK OFF CLEAR X=3 Y=0

DO WHILE .F. .t. Y=Y+X IF Y>500 EXIT ENDIF

STORE 3*X TO X ENDDO ?Y

SET TALK ON RETURN 1092

3.已知S1=1,S2=1+2,S3=1+2+3,„,SN=1+2+„+N,下面的程序求S20到S80有多少数能被17或35整除。改正后运行程序,将程序执行结果填入答案框内。

SET TALK OFF I=20 N=0

DO WHILE I<=80

STORE 1 TO S s=0 J=1

DO WHILE J<=I S=S+J J=J+1 ENDDO

IF MOD(S,17)=0 or mod(s,35)=0 N=N+1 ENDIF I=I+1 ENDDO ? N

SET TALK ON RETURN

12

4.下列程序为求满足s=1^3+2^3+3^3+...+N^3,当s>=100000的最小的整数N。 程序中有错误。

改正后运行程序,将程序执行结果填入答案框内。 set talk off s=0 n=1

do while s>=100000 s<10000 s=s+n^3 n=n+1 enddo ?n

return 15

5.计算S=1*5*9*13*...*k,直到累乘数k>=25中止。程序中有错误。改正后运行程序,将程序执行结果填入答案框内。 SET TALK OFF CLEAR s=0 s=1 k=1

DO WHILE .T. s=s*k IF k>=25 EXIT ENDIF k=k+4 ENDDO ?s

RETURN 5221125

6.下面的程序是求1到500的偶数立方和与奇数立方和之差。程序中有一处错。 更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口内。

SET TALK OFF

STORE 0 TO I,S1,S2 DO WHILE I<=500 I<500 I=I+1

IF MOD(I,2)=0 S1=S1+I*I*I ELSE

S2=S2+I*I*I ENDIF ENDDO ? S1-S2 SET TALK ON RETURN

7.下面的程序是计算1*2*3*4*5...的积,要求其积大于10000后结束程序运行,输出乘积的值。程序有一处错误。更正程序中的错误,运行更正后的程序,记录运行结果,将结果填入答题窗口内。

SET TALK OFF STORE 1 TO X,Y DO WHILE X<30 Y=Y*X X=X+1

IF Y>10000 LOOP EXIT ENDIF ENDDO ? Y

SET TALK ON RETURN

8. 已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。下面的程序是求出该数列的第35个数。改正程序中的错误后运行程序,将程序执行结果填入答案框内。

SET TALK OFF DIME A(35) A(1)=1 A(2)=2 A(3)=3 I=4

DO WHILE I=35 I<=35

A(I)=A(I-1)+A(I-2)+A(I-3)

I=I+1 ENDDO ? A(35) SET TALK ON RETURN

9. 下面的程序是求在1,2,3,4,...,10这10个数中,任意选 两个不同的数,求它们的和能被2整除的数的总对数. (注意: 象3+5和5+3认为是同一对数). 程序中有一处错误。改正程序中的错误后运行程序,将程序执行结果填入答案框内。

SET TALK OFF CLEAR N=0 I=1

DO WHILE I<=10 J=1

DO WHILE JIF INT((I+J)/2)<>(I+J)/2 =

N=N+1 ENDIF J=J+1 ENDDO

I=I+1

ENDDO

?N

SET TALK ON RETURN

三、程序填空题

1. 下列的程序是求S=8!+9!+10!的程序.在下列程序中填上缺少的语句或 另外编写程序,(程序名由考生自定)运行程序,将结果填入答题窗口。 SET TALK OFF

CLEAR S=0 I=8

DO WHILE I<=10 STORE 1 TO T,J

DO WHILE J<=I T=T*J J=J+1 ENDDO S=s+t I=I+1 ENDDO ?S

SET TALK ON RETURN

Set talk off Clear S=0 T=1

For i=1 to 10

T=t*i If i>=8 S=s+t Endif Endfor ?s

Set talk off Clear S=0

For i=8 to 10 T=1

For j=1 to i

T=t*j Endfor S=s+t Endfor ?s

2.s=3!+5!+7!+„+n!,求直到s>=680000为止的最大阶乘数n。

SET TALK OFF CLEAR s=0 n=3

DO WHILE .T. T=1

FOR I=1 TO n T=T*I NEXT s=s+t

IF S>=680000 EXIT ENDIF N=n+2 ENDDO ?n

Set talk off Clear

S=0 I=3

Do while .t T=1

For j=1 to i T=t*j Endfor S=s+t

If s>=680000

Exit endif I=i+2 Enddo ?s

Set talk off Clear S=0 T=1 I=1

Do while .t. T=t*i

If i>=3 and mod(I,2)=1 S=s+t Endif

If s>=680000

Exit endif I=i+1 Enndo ?s

3. 下面的程序是求出1到5000之间的能被5整除的前若干个奇数之和,当和大于500时退出。在下列程序中填上缺少的语句或另外编写程序,

(程序名由考生自定)运行程序,将结果填入答题窗口。 SET TALK OFF CLEAR I=1 S=0

DO WHILE I<5000 AND S<=500 IF mod(I,5)=0 and mod(I,2)=1 S=S+I ENDIF I=I+1 ENDDO

?S

SET TALK ON RETURN

Set talk off Clear S=0

For i=1 to 5000 step 2

If mod(I,5)=0 S=s+i Endif If s>500 Exit Endif Endfor ?s

4.设S=1+1/2+1/3+...+1/N,N为正整数。编程求使S不超过10的最大的N.(程序名由考生自定)。在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口。 set talk off clear s=0 i=1

do while s<=10 s=s+1/i i=i+1 enddo ? i-2

set talk on return

5.编程求区间[5000,9999]中所有素数的个数.(程序名由考生自定)。 在下列程序中填上缺少的语句或另外编写程序,运行程序,将结果填入答题窗口.

set talk off i=9999 t=0

do while i>=5000

j=2

do while j<=i-1

if int(i/j)=i/j

exit endif j=j+1

enddo if j=i t=t+1 endif i=i-1 enddo

?t

6. 输出[10,100]中除以17的余数和除以5的商相等的整数及其个数。

SET TALK OFF N=0

FOR K=10 TO 100

IF MOD(K,17)=INT(I/5) ? K N=N+1 ENDIF ENDFOR ? N RETURN

7. 编程求区间[5000,9999]中按递增顺序,第15大的素数。在下列程序中填上缺少的语句或另外 编写程序,运行程序,将结果填入答题窗口。 SET TALK OFF I=9999 T=0

do while i>=5000 j=2

do while j<=i-1 if int(i/j)=i/j exit endif j=j+1 enddo

if j=i t=t+1 if t=15 ?i endif endif i=i-1 enddo

set talk off clear

n=0

for i=9999 to 5000 step -1

for j=2 to i-1 if mod(I,j)=0 exit endif endfor if i=j n=n+1 endif if n=15 exit endif endfor ?i

四、程序设计题

1.求[600,900]之间素数的个数。

2.统计[1000,5000]内所有既能被7整除,且至少有一位数字是9的数的个数。 Set talk off clear n=0

for i=1000 to 5000

if i%7=0 and ‘9’$str(i) n=n+1 endif next ?n

3.编程序求出3000到5000之间同时满足除3余2和除5余3条件的数的个数。

4.已知a>b>c,且a+b+c<100,求满足条件1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。 5.编程序求出1到5000之间同时满足除7余2和除9余5条件的数的和。

6.编程序,计算在0至50的范围内有多少个数,其每位数的乘积小于每位数的和。 7.求出[100,500]以内同时满足除以7余3,除以5余3,除以3余1的所有整数个数。 8.求[105,625]间能被7和11整除的自然数之和。

9.设s=1+1/2+1/3+„+1/n, n为正整数。编程求使S刚好超过6时的n。

10.有30个人在一家小餐馆里用餐,其中有男人、女人和小孩。每个男人花了3元,每个女人花了2元,每个小孩花了1元,一共花去50元,问有几种组合?

11.编写程序,求共有几组I、j、k符合算式ijk+kji=1333,其中I、j、k是0~9之间的一位整数。

12.一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出1000以内的所有的完数之和。 Set talk off clear

s=0

for x=1 to 1000 t=0

for i=1 to x-1 if x%i=0 t=t+i endif next if x=t s=s+x endif next ?s

程序设计分类

第1类题目:

求在某范围内的,满足被某数整除的数的个数(或这些数的和) 如:

[1]编程序求出100到800之间同时满足除4余1和除5余3条件的数的个数。 set talk off clear n=0

for i=100 to 800

if mod(i,4)=1 and mod(i,5)=3 n=n+1 endif endfor ?n

[2]编程序,计算在0至70的范围内有多少个数,其每位数的乘积小于每位数的和。 set talk off clear n=0

for i=10 to 70 a=int(i/10) b=i%10 if a*b>a+b n=n+1 endif next ?n

[3]编程序求出1到100之间同时满足除3余2和除4余2条件的数的和。 set talk off clear s=0

for i=1 to 100

if mod(i,3)=2 and mod(i,4)=2 s=s+i

endif endfor ?s

[4]编程序求出1-600以内的能被5整除的数的平方和。 set talk off clear s=0

for i=1 to 600 if mod(i,5)=0 s=s+i*i endif endfor ?s

[5]编写程序,统计区间[1000,9999]内所有能被6整除,且千位数字与个位数字之和为5的整数的个数。 set talk off clear n=0

for a=1 to 9

for b=0 to 9 for c=0 to 9 for d=0 to 9

i=a*1000+b*100+c*10+d if mod(i,6)=0 and a+d=5 n=n+1 endif endfor endfor endfor endfor ?n

第2类题目:求阶乘数之和,或阶乘 如:

[1] s=1!+2!+3!+....+10! set talk off clear s=0 t=1 i=1

for i=1 to 10

t=t*i s=s+t endfor ?s

[2] 1!+2!+3!+....+n! 当s大于61000时结束累加,求n set talk off clear s=0 t=1 i=1

do while .t.

t=t*i s=s+t if s>6100 exit endif i=i+1 enddo ?i

[3] 2!+4!+6!....+10! set talk off clear s=0 t=1 i=1

for i=1 to 10

t=t*i

if mod(i,2)=0 s=s+t endif endfor ?s

[4] 3!+5!+7!+....+9! set talk off clear s=0 t=1 i=1

for i=1 to 10

t=t*i

if mod(i,2)=1 and i>=3 s=s+t endif endfor ?s

[5]求15! set talk off clear

s=0

for i=1 to 15

s=s*i endfor ?s

第3类题目:求某范围内的数据之和,当累加数大于某个数时,累加结束

[1]下面和程序是求1+3+5+7+9+11+„这样的奇数之和.若累加数大于10000时,则结束累加。 set talk off clear s=0 i=1

do while .t. s=s+i

if s>10000 exit endif i=i+2 enddo ?s

[2]设S=1+1/2+1/3+...+1/N,N为正整数。编程求使S不超过8的最大的N。 set talk off clear s=0 i=1

do while .t. s=s+1/i if s>8 exit endif i=i+1 enddo ?i-1

[3]设S=1+1/2+1/3+...+1/N,N为正整数。编程求当算到100项时S的值为多少?精确到小数点后两位。 set talk off clear s=0

for i=1 to 100 s=s+1/i endfor

?str(s,10,2)

[4]编写程序,求出1到5000 之间能被3整除的前若干个奇数之和,当和大于 2000 时程序退出。 set talk off

clear s=0

for i=1 to 5000 step 2 if mod(i,3)=0 s=s+i endif if s>2000 exit endif endfor ? s

[5]编写程序,求3+6+12+24+48+ „之和。当累加和大于500时终止累加,输出此时的和。 set talk off clear s=0 i=3

do while .t. s=s+i if s>500 exit endif i=i*2 enddo ?s

第三类题目:实际应用题目

[1]把30元钱分成一元、二元和五元的纸币且纸币数共为15张的分法有多少种?(注:在兑换中一元、二元、五元的纸币数可以为0)。 set talk off clear n=0

for one=0 to 15

for two=0 to 15 for five=0 to 6

if one+two+five=15 and one+two*2+five*5=30 n=n+1 endif endfor endfor endfor ?n

[2]有35个学生一起买小吃,共花钱100元,其中每个大学生花4元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)? set talk off

clear n=0

for a=1 to 35

for b=1 to 35 for c=1 to 35

if a+b+c=35 and a*4+b*2+c*1=100 n=n+1 endif endfor endfor endfor ?n

第四类题目

[1]已知a>b>c,且a+b+c<30,求满足条件1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。 set talk off clear n=0

for a=1 to 29

for b=1 to a-1 for c=1 to b-1

if a+b+c<30 and 1/a^2+1/b^2=1/c^2 n=n+1 endif next next next ?n

[2]编写程序,求200到800之间素数的个数。 方法1:

Set talk off clear n=0

for x=200 to 800 flag=.t.

for i=2 to x-1 if x%i=0 flag=.f. exit endif next

if flag=.t. n=n+1 endif next ?n

方法2:

Set talk off Clear n=0

for i=200 to 800

for j=2 to i-1 if mod(I,j)=0

exit endif endfor if i=j n=n+1 endif endfor ?n

[3]编写程序,求共有几组I、j、k符合算式ijk+kji=2333,其中I、j、k是0~9之间的一位整数。 Set talk off clear n=0

for i=0 to 9 for j=0 to 9 for k=0 to 9

if (i*100+j*10+k)+(k*100+j*10+i)=2333 n=n+1 endif next next next ?n

因篇幅问题不能全部显示,请点此查看更多更全内容