VisualFoxpro6.0练习题
一、选择题
1.下列选项中能够直接实现对数据库中数据操作的软件是:
A)字处理软件B)操作系统C)数据库管理系统D)翻译系统
2.数据库系统的核心是:
A)编译系统B)数据库C)操作系统D)数据库管理系统
3.下列关于数据库系统的正确叙述是:
A)数据库系统减少了数据冗余B)数据库系统避免了一切数据冗余
C)数据库系统中数据的一致性是指数据类型的一致D)数据库系统比文件系统能管理更多的数据
4.下列关于数据库系统的正确叙述是:
A)数据库中只存在数据项之间的联系B)数据库的数据项之间和记录之间都存在联系
C)数据库的数据项之间无联系,记录之间存在联系D)数据库的数据项之间和记录之间都不存在联系5.数据库DB、数据库系统DBS、数据库管理系统DBMS这三者之间的关系是:
A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS
6.按照数据模型分类,数据库系统可以分为三种类型,正确的是:
A)大型、中型和小型B)西文、中文和兼容C)层次、网状和关系D)数据、图形和多媒体
7.按照数据模型分类,V isual FoxPro属于:
A)层次型B)网状型C)关系型D)混合型
8.数据库管理系统是:
A)应用软件B)辅助设计软件C)系统软件D)科学计算软件
9.关系数据库管理系统存储与管理数据的基本形式是:
A)关系树B)二维表C)结点路径D)文本文件
函数和表达式模拟试题
一、选择题
1.下列数据为常量的是:
A)02/18/99 B)F C).N. D)TOP
2."程序设计"这四个汉字作为字符串常量,在V isual FoxPro中可表示为:
A){程序设计} B)(程序设计)C)程序设计D)'程序设计'
3.下述字符串表示方法正确的是:
A)""等级考试"" B)['等级考试'] C){"等级考试"} D)[[等级考试]]
4.如果内存变量DT是日期型的,那么给该变量赋值正确的操作是:
A)DT=08/10/97 B)DT="08/10/97" C)DT=CTOD(08/10/97)D)DT= CTOD("08/10/97")
5.执行命令STORE CTOD([08/11/99]) TO AA后,变量AA的数据类型是:
A)日期型B)数值型C)字符型D)浮点型
6.在"人事档案"表文件中,"婚否"是逻辑型字段(已婚为逻辑真值),"性别"为字符型字段,如果查询"已婚女同志",应该
使用的条件表达式是:
A)婚否.OR.(性别="女")B)婚否.AND.(性别=女)
C)(婚否=.T.).AND.(性别="女")D)已婚.OR.(性别="女")
7.设L=668,M=537,N="L+M",表达式5+&N的值是:
A)类型不匹配B)5+L+M C)1210 D)5+&N
8.设A=[5*3+6],B=5*3+6,C='5*3+6',在下面的表达式中,合法的是:
A)A+B B)B+C C)C+A D)A+B+C
9.某数据表中包含如下的两个字段:性别(C,2)、奖金(N,6,2),如果需要查询奖金在100元以下或400元以上的男职工
和奖金在200元以上的女职工,应该使用的条件是:
A)性别="男".AND.奖金<=100.OR.奖金>=400.AND.性别="女".AND.奖金>=200
B)性别="男".AND.奖金<=100.OR.奖金>=400.OR.性别="女".AND.奖金>=200
C)性别="男".AND.(奖金<=100.OR.奖金>=400).AND.性别="女".AND.奖金>=200
D)性别="男".AND.(奖金<=100.OR.奖金>=400).OR.性别="女".AND.奖金>=200
10.在下列表达式中,运算结果为字符串的是:
A)"1551"+"66" B)ABCD+XYZ=ABCDXYZ
C)DTOC(DATE())>"08/13/98" D)CTOD("08/13/99")
11.在下列表达式中,运算结果为数值的是:
A)"1234"+"3579" B)CTOD("05/08/93")-11
C)130+350=480 D)LEN("SFDE")-1
12.假定X=5,Y=8,执行下列运算后,结果为数值型数据的是:
A)?X=Y-3 B)?Y-3=X C)X=Y D)X+3=Y
13.下列表达式的运算结果为日期型数据的是:
A)08/15/97-12 B)DATE()-CTOD("05/13/98")
C)DA TE()-30 D)DATE()-TIME()
14.假设X=10,Y=8,下列表达式中结果为逻辑真值的是:
A)(X>Y).AND."BOOKSTORE"$"BOOK" B)(X C)(X 15.下列函数中,函数值为数值型数据的是: A)CTOD(01/11/99)B)SUBSTR(DTOC(DATE()),7) C)SPACE(3)D)YEAR(DATE()) 16.顺序执行下列命令之后,屏幕显示的结果是: A="中华人民共和国" B="人民" ?AT(B,A) A)0 B)5 C)8 D)错误信息 17.顺序执行下列命令之后,屏幕显示的结果是: STORE "V isual FoxPro" TO TT ?UPPER(RIGHT(TT,3)) A)VISUAL FOXPRO B)PRO C)Pro D)VIS 18.函数ROUND(15368.9236,-2)的结果为: A)15368 B)15370 C)15400 D)15300 19.执行以下命令: M="THIS IS AN APPLE" ?SUBSTR(M,INT(LEN(M)/2+1),2) A)TH B)IS C)AN D)AP 20.假设当前日期是1997年9月20日,给出字符串"97年9"的表达式是: A)SUBSTR(DTOC(DA TE()),7,2)+"年"+SUBSTR(DTOC(DATE()),1,2)+"月" B)SUBSTR(DTOC(DA TE()),7,2)+"年"+SUBSTR(DTOC(DA TE()),2,1)+"月" C)YEAR(DATE())+"年"+MONTH(DA TE())+"月" D)STR(YEAR(DATE()),4)+"年"+STR(MONTH(DATE()),2)+"月" 21.函数DAY(07/29/97)的返回值是: A)7 B)0 C)计算机日期D)出错信息 22.函数TIME()的数据类型是: A)数值型B)字符型C)日期型D)逻辑型 23.条件函数IIF(MOD(15,-8)>3,10,-10)的结果为: A)10 B)-10 C)-1 D)7 24.如果变量X=11,函数TYPE("X=110")的结果为: A)L B)N C)C D)出错信息 25.如果变量D="08/13/98",命令?TYPE("&D")的结果为: A)D B)N C)C D)出错信息 数据表模拟试题 一、选择题 1.下列属于内存变量文件的扩展名是: A).TXT B).FPT C).DBF D).MEM 2.一个数据表中有2个备注型字段,这些字段的内容存放在: A)2个.FPT文件中B)同一个.FPT文件中 C)2个.DBF文件中D)同一个.DBF文件中 3.数据表文件中的字段是一种: A)常量B)变量C)函数D)运算符 4.在数据表中,逻辑型、日期型和备注型字段的宽度分别被系统定义为: A)3,8,10 B)1,6,10 C)1,8,任意D)1,8,4 5.一个数据表文件的数值型字段要求保留5位小数,那么它的宽度最少应当定义成: A)5位B)6位C)7位D)8位 6.已打开数据表文件,假设"出生日期"字段为日期型,下列表达式中结果不是日期型的是: A)CTOD("08/12/96")B)出生日期+5 C)DTOC(出生日期)D)DA TE()-2 7.在V isual FoxPro的数据表文件中,每条记录的总长度比用户定义的各个字段宽度之和多一个字节,该字节用于: A)存放删除标记B)存放记录号C)存放索引关键字D)存放记录宽度 8.下列操作中,不能用MODIFY STRUCTURE命令实现的是: A)增加数据表中的字段B)删除数据表中的字段 C)修改数据表中字段的宽度D)删除数据表中的某些记录 9.假设数据表中"婚否"字段为逻辑型(已婚为逻辑真值),如果要显示所有未婚职工的情况,应该使用的命令是: A)LIST FOR 婚否=F B)LIST FOR 婚否="F" C)LIST FOR .NOT.婚否D)LIST FOR 婚否="未婚" 10.数据表文件"学生表.DBF"中有性别(字符型)和平均分(数值型)字段,如果显示平均分超过90分和不及格的全部女生的 记录,应该使用的命令是: A)LIST FOR 性别="女".OR.平均分>90.OR.平均分<60 B)LIST FOR 性别="女",平均分>90,平均分<60 C)LIST FOR 性别="女".AND.平均分>90.AND.平均分<60 D)LIST FOR 性别="女".AND.(平均分>90.OR.平均分<60) 11.当打开一个数据表文件后,执行命令SKIP -1,则命令?RECNO()的结果是: A)0 B)1 C)-1 D)出错信息 12.假设数据表中共有10条记录,当执行命令GO BOTTOM后,命令?RECNO()的结果是: A)9 B)10 C)11 D)1 13.假设数据表中共有30条记录,当前记录号为20,当执行命令LIST NEXT 6之后,命令?RECNO()的结果是: A)24 B)25 C)26 D)30 14.假设数据表中共有50条记录,当执行命令DISPLAY ALL之后,命令?RECNO()的结果是: A)1 B)50 C)51 D)0 15.当前数据表中共有20条记录,如果在第10条记录后面插入一条新记录,应该使用的命令是: A)GO 5 B)GO 5 C)EDIT 5 D)BROWSE INSERT APPEND 16.假如数据表中有"数学"、"语文"、"物理"、"化学"、"英语"、以及"总分"等字段,它们都为数值型数据,如果要求出所有 学生的总分并添入总分字段中,应使用的命令是: A)REPLACE 总分WITH 数学+语文+物理+化学+英语 B)REPLACE 总分WITH 数学,语文,物理,化学,英语 C)REPLACE ALL 总分WITH 数学+语文+物理+化学+英语 D)REPLACE 总分WITH 数学+语文+物理+化学+英语FOR ALL 17.如果要恢复用DELETE命令删除的若干条记录,应该使用: A)RECALL命令B)按下ESC键C)RELEASE命令D)FOUND命令 18.ZAP命令可以删除当前数据表文件的 A)全部记录B)满足条件的记录C)本身D)全部有删除标记的记录 19.命令DELETE ALL和ZAP命令的区别是: A)DELETE ALL只删除当前工作区的所有记录,而ZAP删除所有工作区的记录 B)DELETE ALL删除当前工作区的所有记录,而ZAP只删除当前记录 C)DELETE ALL只删除记录,而ZAP连同表文件一起删除 D)DELETE ALL删除记录后,可以用RECALL命令恢复,而ZAP删除后不能恢复 20.某数据表中共有10条记录,当前记录为6,先执行命令SKIP 10,再执行命令?EOF(),执行最后一条命令后,显示的结果是: A)错误信息B)11 C).T. D).F. 21.打开一个空的数据表文件,用函数RECNO()进行测试,结果为: A)空格B)1 C)错误信息D)0 22.对职称是副教授的职工,按工资从多到少进行排序,工资相同者,按年龄从大到小排列,排序后生成的表文件名是FGB.DBF, 应该使用的命令是: A)SORT TO FGZ ON 工资/A,出生日期/D FOR 职称="副教授" B)SORT TO FGZ ON 工资/D,出生日期/A FOR 职称="副教?quot; C)SORT TO FGZ ON 工资/A,出生日期/A FOR 职称="副教授" D)SORT TO FGZ ON 工资/D,出生日期/D FOR 职称="副教授" 23.在学生数据表中,有姓名、性别、出生日期、总分等字段,现要求对总分在270分以上的男同学按年龄从大到小排序,排序后 生成的新表文件为XSM.DBF,应该使用的命令是: A)COPY TO XSM ON 出生日期FOR 性别="男".AND.总分>270 B)SORT TO XS M ON 出生日期/D FOR 性别="男".AND.总分>270 C)SORT TO XS M ON 出生日期FOR 性别="男".AND.总分>270 D)INDEX TO XSM ON 出生日期FOR 性别="男".AND.总分>270 24.数据表中有工资字段,现要求按工资字段的降序建立索引文件GZJX.IDX,应该使用的命令是: A)INDEX ON 工资/D TO GZJX B)SET INDEX ON -工资TO GZJX C)INDEX ON -工资TO GZJX D)REINDEX ON 工资TO GZJX 25.假设日期格式是yy.mm.dd,要求按工资升序排序,工资相同者按参加工作时间的先后顺序排列建立索引文件,应该使用的命令是: A)INDEX ON 工资/A,工作日期/D TO GR.IDX B)SET INDEX ON 工资-工作日期TI GR.IDX C)INDEX ON STR(工资,6,2)+DTOC(工作日期)TO GR.IDX D)INDEX ON STR(工资+YEAR(工作日期))TO GR.IDX 26.TOTAL命令的功能是: A)对数值型字段按关键字分类求和 B)分别计算所有数值型字段的和 C)计算每个记录中数值型字段的和 D)求满足条件的记录个数 27.计算各类职称的工资总和,并把结果存入GZZH数据表中的命令是: A)SUM 职称TO GZZH B)SUM 工资TO GZZH C)TOTAL ON 职称TO GZZH FIELDS 工资 D)TOTAL ON 工资TO GZZH FIELDS 职称 28.一个数据表中共有10条记录,当函数EOF()为.T.时,当前记录号应为: A)10 B)11 C)0 D)1 二、填空题 1.在V isual FoxPro的命令中,<范围>选项可以使用的四种参数形式是:、、、。 2.有一个表文件AB.DBF,并且已经建立了索引文件IAB.IDX。在修改该表文件后,相应更新索引文件的命令是。 3.有计算机等级考试考生数据表文件STD.DBF和合格考生数据表HG.DBF。两个表的结构相同。为了颁发合格证书并备案,把 STD数据表中的"笔试成绩"和"上机成绩"均及格(大于等于60分)记录的"合格否"字段修改为逻辑真,然后将合格的记录追加到 合格考生数据表HG.DBF中。请对以下操作命令填空。 USE STD LIST 记录号准考证号姓名性别笔试成绩上机成绩合格否 1 11001 梁小冬女70 80 .F. 2 11005 林旭男95 78 .F. 3 11017 王一平男60 40 .F. 4 11083 吴大鹏男90 60 .F. 5 11080 杨纪红女58 67 .F. REPLACE FOR 笔试成绩>=60.AND.上机成绩>=60 USE HG APPEND FORM STD FOR LIST USE 4.假设有数据表SBK.DBF,其中存有若干仪器设备清单,其结构如下:部门代码(C,1)、设备名称(C,10)、 购买价格(N,10,2)、购入日期(D)、是否可用(L)。 该表包含的记录如下: 记录号部门代码设备名称购买价格购入日期是否可用 1 3 示波器13500.00 05/30/90 .T. 2 1 微机PC 9280.00 02/16/98 .F. 3 4 打印机3870.00 11/05/98 .F. 4 3 打印机3870.00 12/15/99 .T. 5 1 投影仪650.90 09/23/94 .T. 6 5 空调器2100.00 07/08/95 .T. 7 3 微机PC 9280.00 05/13/98 .T. 8 2 服务器32500.00 06/11/99 .T. 根据以下各题的要求写出相应的命令: 1)打开设备数据表SBK.DBF的命令是。 2)显示数据表结构的命令是。 3)用分屏方式显示所有记录。 4)查询95年12月31日以前购买的所有设备的情况。 5)统计所有不能使用的设备数,并存入内存变量BFSH 。 6)把所有记录按照购入日期从早到晚的顺序,同年购买的按照购买价格的降序排列,存入一个新数据表SBN.DBF 。 5.打开上题的设备表后,依次执行如下命令,请写出相应的显示数据。 1)LOCATE FOR 设备名称="打印机" DISP OFF 部门代码,购买价格,是否可用 屏幕上显示的数据为。 2)CONTINUE DISP OFF 部门代码,购买价格,是否可用 屏幕上显示的数据为。 3)SKIP -2 DISP OFF 设备名称,部门代码 屏幕上显示的数据为。 4)INDEX ON 部门代码TO SBI GO TOP DISP 购入日期 屏幕上显示的日期为。 5)SKIP 5 DISP 购入日期 屏幕上显示的日期为。 6)GO BOTTOM DISP 购入日期 屏幕上显示的日期为。 6.执行如下命令序列: USE BOOKS LIST 记录号书号书名作者定价 1 P8291D 操作系统王亮12.00 2 P1322F 接口技术刘云力15.00 3 B1963E 离散数学周云飞13.50 4 F9136H 单片机于丽丽18.00 INDEX ON 书号TO SH SET INDEX TO SH LIST 在最后一条命令所显示的数据记录中,记录号的顺序是。 7.执行如下命令序列: USE STUDENT LIST 记录号姓名学号年龄性别 1 王亮098725 20 男 2 刘云力099321 19 男 3 周云飞097310 21 女 4 于丽丽099512 18 女 5 李红云098320 20 女 6 钱博声099132 18 男 INDEX ON 年龄TO NL FIND 20 SKIP DISP 姓名 最后一条命令显示的学生姓名是。 8.执行如下命令序列 USE ZG LIST 记录号姓名职称基本工资 1 王亮工人300.00 2 刘云力工程师450.00 3 周云飞工人280.00 4 于丽丽技术员350.00 5 李红云总工程师550.00 INDEX ON ZC+STR(1000-基本工资,6,2)TO ZG LIST 职称,基本工资 执行最后一条命令后,记录号的显示顺序是。 9.设数据表文件SC.DBF中有如下记录,其中学号、姓名为字符型字段,其余均为数值型字段,并且假定该表已打开。 记录号学号姓名出生日期性别籍贯贷款 1 913101 王刚03/11/73 男广西350 2 913102 李力03/21/72 女江西200 3 913103 赵冲04/23/73 女安徽150 4 913104 李心04/28/74 女辽宁100 5 924104 章文05/06/75 男云南230 6 924105 曾红05/03/75 男河北50 7 924106 寒雪01/18/73 男山西50 8 924107 陈冬09/16/75 男贵州100 1)按"贷款"建立索引文件SCDK,应该使用命令。 2)求出贷款的总和并存入变量DKH中,应该使用命令。 3)求出贷款的平均值并存入变量PJDK中,应该使用命令。 4)统计女学生的人数并存入变量NXRS中,应该使用命令。 10.设有职工数据表文件,其内容如下: 编号姓名部门工资奖金 1001 王刚会计系850 200 1002 李力会计系700 200 1003 赵冲会计系730 200 2001 李心金融系900 300 2002 章文金融系1000 200 3003 曾红财务科900 100 3008 寒雪财务科1200 100 3006 陈冬财务科1300 100 请对以下命令的执行结果填空: USE 职工 INDEX ON 部门TO BM TOTAL ON 部门TO TEMP USE TEMP SORT ON 工资TO TEMP1 USE TEMP1 DISP 部门,工资,奖金&&该命令的显示结果是。 USE 职工 A VERAGE 工资TO A FOR 部门="会计系" &&变量A的值为。INDEX ON 工资TO GZ GO 1 ?编号,姓名&&该命令的显示结果为。 SEEK 900 SKIP 3 ?工资+奖金&&该命令的显示结果是。 LOCATE FOR 工资=900 CONTINUE ?姓名&&该命令的显示结果是。 11.在学生数据表中,年龄字段为数值型,标志字段为逻辑型,请填空:USE 学生 INDEX ON 年龄TO NL 将记录指针定位在第一个年龄是20的记录上,应该使用的命令是。 显示所有年龄为20的学生记录,应该使用命令DISP ALL 。 执行下列命令: SET INDEX TO GO 11 之后,把从记录号11到最后一条记录的标志字段设置为逻辑真,应使用命令: REPLACE 标志WITH .T. 数据库模拟试题 1.下列说法中正确的是: A)当项目管理器处于打开状态时,使用CREATE DATABASE命令创建的数据库将会自动添加到项目中B)当数据库处于打开状态时,用CREATE命令创建的表文件将会自动添加到该数据库中 C)CLOSE DATABASE在关闭数据库的同时,不会将数据库中的表同时关闭 D)自由表不能被添加到数据库中 2.下列命令中能打开数据库设计器的是: A)CREATE DABASE B)OPEN DATABASE C)SET DATABASE TO D)MODIFY DA TABASE 3.下列命中不能关闭数据库的是: A)CLOSE DATABASE B)CLOSE ALL C)CLOSE D)CLOSE DATABASE ALL 4.下列说法中正确的是: A)自由表中的字段名最多只能为10个字符,数据库表则最多可为128个 B)当数据库表变成自由表时,数据库表的长字段名将保留 C)对于数据库表的长字段名,可以只使用字段名的前10个字符代表该字段 D)当数据库表成为自由表时,使用长字段名创建的索引文件可继续使用 5.下列有关索引的说法,正确的是: A)可以在自由表中创建主索引 B)建立主索引的主关键字值不能为空,但可以有重复数值 C)可以在自由表中建立候选索引 D)唯一索引中只保留关键字段值相同的第一条记录 6.下列有关数据表之间关系的说法中错误的是: A)永久关系在数据库设计器中表现为联系数据表索引的一条连线 B)永久关系同临时关系一样,可以控制各数据表内记录指针的同步移动 C)在一对多关系中,一方必须为主索引文件 D)多对多关系可以拆分为两个一对多关系 7.V isual FoxPro中的参照完整性规则不包括: A)更新规则B)删除规则C)查询规则D)插入规则 查询和视图模拟试题 一、选择题: 1.以下关于查询的描述正确的是: A)不能根据自由表建立查询 B)只能根据自由表建立查询 C)只能根据数据库表建立查询 D)可以根据数据库表和自由表建立查询 2.以下关于视图的描述正确的是: A)只能根据自由表建立视图 B)只能根据查询建立视图 C)只能根据数据库表建立视图 D)可以根据数据库表和自由表建立视图 3.以下关于交叉表查询说法不正确的是: A)交叉表查询可以在多个表中进行查询 B)交叉表查询可以对视图进行查询 C)交叉表查询只能使用查询向导获得 D)交叉表查询只能对一个表进行查询 4.查询设计器中包括的选项卡有: A)字段、筛选、排序依据B)字段、条件、分组依据 C)条件、排序依据、分组依据D)条件、筛选、杂项 5.下列不属于查询结果输出格式的是: A)浏览B)图形C)屏幕D)视图 结构化查询语言模拟试题 一、选择题: 1.SQL的数据操作语句不包括: A)INSERT B)UPDA TE C)DELETE D)CHANGE 2.SQL语句中条件短语的关键字是: A)WHERE B)FOR C)WHILE D)CONDITION 3.SQL语句中修改表结构的命令是: A)MODIFY TABLE B)MODIFY STRUCTURE C)ALTER TABLE D)ALTER STRUCTURE 4.SQL语句中删除表的命令是: A)DROP TABLE B)DELETE TABLE C)ERASE TABLE D)DELETE DBF 5.SQL SELECT语句为了将查询结果存放到临时表中应该使用的短语是: A)WHERE B)INTO C)GROUP BY D)OREDER BY 结构化程序设计模拟试题 一、选择题 1.将逻辑值赋给内存变量LZ的正确方法是: A)LZ=".T." B)STORE "T" TO LZ C)LZ=TRUE D)STORE .T. TO LZ 2.将98年国庆节的日期赋给内存变量ND的正确方法是: A)ND=DTOC("10/01/98")B)ND=CTOD([10/01/98]) C)STORE DA TE()TO ND D)STORE 10/01/98 TO ND 3.执行命令INPUT "请输入出生日期:" TO MDA TE时,如果通过键盘输入CTOD("01/01/88")则内存变量MDA TE的值应当是: A)CTOD("01/01/88") B)"01/01/88" C)日期值01/01/88 D)拒绝接收,MDA TE不赋值 4.在DO WHILE .T.的循环中,退出循环应使用的命令是: A)LOOP B)EXIT C)CLOSE D)CLEAR 5.下列程序的运行结果是: A=10 IF A=10 S=0 ENDIF S=1 ?S A)0 B)1 C)程序出错D)结果无法确定6.有如下的程序: SET TALK OFF M=0 N=0 DO WHILE N>M M=M+N N=N-10 ENDDO ?M RETURN 运行此程序后M的值为: A)0 B)10 C)100 D)99 7.有如下程序: SET TALK OFF STORE 2 TO S,K DO WHILE S<14 S=S+K K=K+2 ENDDO ?S,K SET TALK ON RETURN 此程序运行后的输出结果是: A)22 10 B)22 8 C)14 8 D)14 10 8.执行如下程序: SET TALK OFF S=0 I=1 INPUT "N=?" TO N DO WHILE S<=N S=S+1 I=I+1 ENDDO ?S SET TALK ON 如果输入N的值为5,则最后S的显示值是:A)1 B)3 C)5 D)6 9.有如下的程序: SET TALK OFF M=0 N=100 DO WHILE N>M M=M+N N=N-10 ENDDO ?M,N RETURN 运行此程序的显示结果为: A)0 10 B)10 90 C)90 100 D)100 90 10.运行下列程序后,语句?"123"被执行的次数是: I=0 DO WHILE I<10 IF INT(I/2)=I/2 ?"123" EDNIF ?"ABC" I=I+1 ENDDO RETURN A)10 B)5 C)11 D)6 11.执行语句DIMENSION M(3),N(2,3)后,数组M和N的元素个数分别为: A)1个,2个B)3个,6个C)3个,5个D)4个,12个 12.在程序中,如果先用命令DIMENSION Q(2,3)定义了一个数组,再对每个下标变量赋值, Q(1,1)=1,Q(1,2)=2,Q(1,3)=3,Q(2,1)=4,Q(2,2)=5,Q(2,3)=6,然后执行命令?Q(2),则显示的结果为:A)变量未定义B)4 C)2 D).F. 13.有如下程序: SET TALK OFF DIMENSION K(2,3) I=1 DO WHILE I<=2 J=1 DO WHILE J<=3 K(I,J)=I*J ??K(I,J) ??" " J=J+1 ENDDO ? I=I+1 ENDDO RETURN 运行此程序的结果是: A)1 2 3 B)1 2 C)1 2 3 D)1 2 3 2 4 6 3 2 1 2 3 2 4 9 14.假设当前数据表中有5个字段:学号(C)、姓名(C)、政治(N)、英语(N)、数学(N),当前记录指针指向一个非空的记录,有如下命令序列: DIMENSION X(3) SCATTER TO X LIST MEMORY 顺序执行上述命令之后,数组各元素的值分别是: A)数组各元素的值是一串*号,表示数据溢出 B)有5个数组元素X(1)、X(2)、X(3)、X(4)、X(5),分别是当前记录各个字段值 C)有3个数组元素X(1)、X(2)、X(3),分别是当前记录的前3个字段值 D)有3个数组元素X(1)、X(2)、X(3),分别从当前记录开始,连续3个记录的学号字段值15.能够把数组的值存入数据表当前记录的命令是: A)STORE B)REPLACE C)SCATTER D)GA THER 16.有如下程序: 主程序ZCX.PRG 子程序ZCX1.PRG SET TALK OFF K1=K1+'200' K1='AB' ?K1 DO ZCX1 RETURN ?K1 RETURN 执行命令DO ZCX后,屏幕显示的结果为: A)AB B)AB200 C)AB200 D)200 AB200 AB200 AB 200 17.有如下程序: 主程序SS.PRG 子程序SUB1.PRG SET TALK OFF P ARAMETER A,B X=10 X=A+10 A=2 A=A+B B=3 ?X,A,B DO SUB1 WITH A,B RETURN DO SUB1 WITH A,B ?X,A,B SET TALK ON RETURN 执行命令DO SS之后,第1行输出的结果是: A)10 5 3 B)12 5 3 C)12 8 5 D)都不对 18.有如下的程序: 主程序ZZ.PRG 子程序Z1.PRG 子程序Z2.PRG SET TALK OFF X2=X2+1 X3=X3+1 STORE 2 TO X1,X2,X3 DO Z2 RETURN TO MASTER X1=X1+1 ?X1+X2+X3 DO Z1 RETURN ?X1+X2+X3 RETURN 用命令DO ZZ执行程序后,屏幕显示的结果是: A)9 B)5 C)8 D)4 二、填空题 1.有3个数A,B,C,其中两个数相等,而另一个数比其他两个数都大,下列程序段的功能是找出其中最大的那个数,请填空。 DO CASE CASE ?"C=",C CASE ?"B=",B CASE ?"A=",A ENDCASE 2.程序A.PRG的功能是求1到100之间所有整数的平方和并输出结果,请填空。 SET TALK OFF CLEAR S=0 X=1 DO WHILE X<=100 (1) (2) ENDDO ?S RETURN 3.阅读下列程序,并给出运行结果。 SET TALK OFF CLEAR STORE 1 TO X STORE 20 TO Y DO WHILE X<=Y IF INT(X/2)<>X/2 X=1+X^2 Y=Y+1 LOOP ELSE X=X+1 ENDIF ENDDO ?X ?Y SET TALK ON RETURN 运行结果X的值为:,Y的值为:。 4.有如下程序: SET TALK OFF I=1 DO WHILE I<=2 INPUT "A=" TO A IF A>INT(A).OR.A>=10 LOOP ELSE INPUT "B=" TO B IF B=INT(B).AND.B<10 LOOP ELSE ?A,"+",B,"=",A+B ENDIF ENDIF I=I+1 ENDDO 执行以上程序,如果依次输入数据2.5,8,2.5,3,2,2,10,则输出结果是以及。 5.下列程序的功能是删除输入字符串中所含的空格,请填空。 SET TALK OFF ACCEPT "请输入字符:" TO X I=2 DO WHILE " "$X I=A T(" ",X) (1) I=I+1 ENDDO ?X RETURN 6.执行下列程序,如果依次输入数据2,3.5,3.5,3,2,2,3,则输出结果是。 SET TALK OFF I=1 DO WHILE I<=2 CLEAR INPUT "A=" TO A IF A<>INT(A).OR.A<1.OR.A>99 LOOP ELSE ??A,"+",B,"=",A+B ENDIF I=I+1 ENDDO 7.下列程序的功能是对ABC.DBF中的字段"数量"里的数,求其偶数之和,并显示所有偶数,请填空。SET TALK OFF USE ABC S=0 DO WHILE .T. ?数量 S=S+数量 ENDIF (2) IF EOF() (3) ENDIF ENDDO ?S RETURN 8.请阅读下列程序,并根据运行结果填空。 SET TALK OFF M=1 DO WHILE M<5 N=1 ??M DO WHILE N TT=N+M ??TT N=N+1 ENDDO ? M=M+1 ENDDO RETURN 此程序共显示行数据,第1行是,最后一行是。 9.共有5个数据表文件STD1.DBF~STD5.DBF,下列程序的功能是删除每个表文件的最后一条记录,请填空。 N=1 DO WHILE N<=5 DB= USE &DB GOTO BOTTOM DELETE PACK N=N+1 ENDDO USE 10.下列程序逐行显示职称为教授的数据记录,请填空。 USE TEACHER DO WHILE .NOT.EOF() CLEAR IF 职称<>"教授" SKIP (1) ENDIF DISPLAY WAIT "按任意键继续!" SKIP ENDDO USE 11.填空完成下列程序: SET TALK OFF USE STD ACCEPT "请输入待查学生姓名:" TO XM DO WHILE .NOT.EOF() IF ?"姓名:"+姓名,"成绩:"+STR(成绩,3,0) ENDIF SKIP ENDDO SET TALK ON RETURN 12.已经建立了工资数据表文件GZ.DBF,在下列程序中要求修改水电费字段值,请填空。 SET TALK OFF CLEAR USE GZ ACCEPT "要将水电费字段清零吗?(Y/N)" TO P IF REPLACE ALL 水电费WITH 0 ENDIF GO TOP BROWSE FIELDS 姓名,水电费 USE RETURN 13.下列程序的功能是从键盘接受到Y或N才退出循环,请填空 DO WHILE .T. WAIT "请输入Y/N" TO YN IF ((UPPER(YN)<>"Y").AND.(UPPER(YN)<>"N")) (1) ELSE EXIT ENDIF ENDDO 14.计算机等级考试考生数据表为STUDENT.DBF。笔试和上级成绩已分别录入其中的"笔试"和"上机"字段(均为数值型)中,此外另有"等级"字段(字符型)。凡两次考试均达到80分以上者,应在等级字段中 填入"优秀"。为此编写如下程序,请填空。 SET TALK OFF USE STUDENT DO WHILE .NOT.EOF() IF 笔试>=80.AND.上机>=80 (1) ENDIF SKIP ENDDO USE SET TALK ON 15.计算机等级考试的查分程序如下,请填空: SET TALK OFF USE STUDENT ACCEPT "请输入准考证号:" TO NUM LOCATE FOR 准考证号=NUM IF ?姓名+"的成绩是:"+STR(成绩,3,0) ELSE ?"没有此考生!" ENDIF USE SET TALK ON 16.阅读下列程序,回答指定问题。 SET TALK OFF CLEAR USE SALARY DO WHILE .NOT.EOF() IF 实发工资>=250 SKIP LOOP ENDIF DISPLAY SKIP ENDDO CLOSE DATABASE RETURN 该程序完成的功能是;LOOP语句的功能是。 17.假设有商品数据表文件SP1.DBF,其中商店名、商品名和品牌微字符型字段,单价和库存量为数值型字段,是否进货为逻辑型字段。该数据表记录如下: 记录号商店名商品名品牌单价库存量是否进货 1 光明商店电冰箱海尔3700 60 .F. 2 长安商店空调科龙3600 27 .T. 3 百货大楼彩电长虹2450 60 .F. 4 塞特购物中心洗衣机小鸭1600 90 .F. 5 蓝岛东区空调美的2800 2 6 .T. 6 长安商场电冰箱海尔3700 20 .T. 7 塞特购物中心彩电康佳2980 32 .F. 8 百货大楼洗衣机松下1780 12 .T. 请阅读下列程序,并将程序填写完整。 SET TALK OFF STOR "Y" TO YN INDEX ON 品牌TO PP DO WHILE ACCEPT "请输入查询的品牌:" TO CHX SEEK IF DISPLAY ELSE ?"无此品牌商品!" ENDIF WAIT "继续查找吗?(Y/N)" TO YN ENDDO ?"再见!" SET TALK ON RETURN 18.有口令程序如下: SET TALK OFF CLEAR DO WHILE .T. @5.20 SAY "请输入口令:" INPUT TO PW IF DA TE()=PW EXIT ELSE WAIT "口令不对,按任意件重来!" CLEAR ENDIF ENDDO SET TALK ON CLEAR 假设今天是1999年10月15日,为通过该口令程序,应输入的口令是。19.下列程序用于在屏幕上显示一个由"*"组成的三角形(如下图),请填空。* *** ***** ******* SET TALK OFF CLEAR R=1 CC=10 DO WHILE R<=4 S=1 DO WHILE S<=2*R-1 @R,CC SAY "*" CC=CC+1 S=S+1 ENDDO CC=10-R (1) ENDDO 20.下列程序要求计算每位职工的税金,并将计算结果填入工资数据表GZ.DBF中相应职工的税金字段(本单位职工最高工资为2500元),请填空。 *主程序MAIN.PRG SET TALK OFF TAX=0 USE GZ DO WHILE .NOT.EOF() SHFZ=实发工资 DO SUB ?TAX REPLACE 税金WITH TAX (1) ENDDO USE RETURN *子程序SUB.PRG (2) X=0 DO CASE CASE A>800.AND.A<1300 X=(A-800)*0.05 CASE A>=1300.AND.A<1800 B=A-1300 X=B*0.1+500*0.05 CASE A>1800.AND.A<2300 B=A_1800 X=B*0.15+500*0.1+500*0.05 ENDCASE RETURN 21.阅读下列程序,并写出执行A.PRG的显示结果。 *A.PRG *B.PRG M=1 PRIV ATE M