1、浙江二级 VISUAL+FOXPRO-4 及答案解析(总分:100.00,做题时间:90 分钟)一、B试题 1/B(总题数:1,分数:9.00)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】 求 110 之间的所有整数之和。【程序】SET TALK OFFSTORE 0 TO N,SDO WHILEU (1) /UNN+1S=S+NIFU (2) /UU (3) /UENDIFENDDO? “ S=”+STR (S,2)SET TALK ONRETURN(分数:9.00)ABC.N10D.N10A.SNB.N10C.N=10D.N10A.EXITB.END
2、C.LOOPD.QUIT二、B试题 2/B(总题数:1,分数:9.00)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】 程序功能是按姓名提供学生成绩的查询。【程序】SET TALK OFFUSE STDACCEPT“请输入待查学生姓名:”TO XMDO WHILE U(4) /UIFU (5) /U?“姓名:”+姓名,“成绩:”+STR (成绩,3,0)ENDIFU(6) /UENDDOSET TALK ONRETURN(分数:9.00)A.BOF ()B.EOF ()CNO EOF()DNO BOF()A.姓名=XMB.姓名“XM”C.姓名#XMD.ST
3、XMA.GO BOTTOMB.GO TOPC.SKIP -1D.SKIP三、B试题 3/B(总题数:1,分数:18.00)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】 使用如下三个条件:部门.DBF:部门号 C(8),部门名 C(12),负责人 C(6),电话 C(16)职工.DBF;部门号 C(8),职工号 C(10),姓名 C(8),性别 C(2),出生日期 D工资.DBF:职工号 C(10),基本工资 N(8.2),津贴(8.2),奖金 N(8.2),扣除N(8.2)(分数:18.00)(1).查询职工实发工资的正确命令是 _。(分数:3.00)A
4、.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资 FROM 工资B.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资 FROM 工资; WHERE 职工. 职工号工资.职工号C.SELECT 姓名,(基本工资+ 津贴+奖金- 扣除) AS 实发工资; FROM 工资,职工 WHERE 职工. 职工号工资. 职工号D.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资; FROM 工资 JOIN 职工 WHERE 职工. 职工号=工资. 职工号(2).查询 1962 年 10 月 27 日出生的职工信息的正确命令是 _。(分数:3.00)A.S
5、ELECT* FROM 职工 WHERE 出生日期19621027B.SELECT* FROM 职工 WHERE 出生日期=19621027C.SELECT* FROM 职工 WHERE 出生日期“19621027”D.SELECT* FROM 职工 WHERE 出生日期(“19621027”)(3).查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。正确的命令是 _。(分数:3.00)A.SELECT 部门名,MIN (出生日期) FROM 部门 JOIN 职工; ON 部门,部门号职工. 部门号 GROUP BY 部门名B.SELECT 部门名,MAX (出生日期)
6、FROM 部门 JOIN 职工; ON 部门.部门号=职工.部门号 GROUP BY 部门名C.SELECT 部门名,MIN (出生日期)FROM 部门 JOIN 职工; WHERE 部门.部门号=职工.部门号 GROUP BY 部门名D.SELECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工; WHERE 部门.部门号=职工.部门号 GROUP BY 部门名(4).查询有 10 名以上(含 10 名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。正确的命令是 _。(分数:3.00)A.SELECT 部门名,COUNT (职工号)AS 职工人数; FROM 部门,职
7、工 WHERE 部门. 部门号职工.部门号; GROUP BY 部门名 HAVING COUNT(*)=10; ORDER BY COUNT (职工号) ASCB.SELECT 部门名,COUNT (职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号职工.部门号; GROUP BY 部门名 HAVING COUNT(*)=10; ORDER BY COUNT (职工号) DESCC.SELECT 部门名,COUNT (职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号;GROUP BY 部门名 HAVING COUNT(*)10;
8、ORDER BY 职工人数 ASCD.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门. 部门号= 职工.部门号; GROUP BY 部门名 HAVING COUNT (*)=10; ORDER BY 职工号人数 DESC(5).查向所有目前年龄在 35 以上(不含 35 岁)的职工信息(姓名、性别和年龄)的正确的命令是_。(分数:3.00)A.SELECT 姓名,性别,YEAR (DATE() -YEAR(出生日期)年龄 FROM 职工; WHERE 年龄35B.SELECT 姓名,性别,YEAR (DATE() -YEAR(出生日期)年龄
9、 FROM 职工; WHERE YEAR (出生日期)35C.SELECT 姓名,性别,YEAR (DATE()- YEAR (出生日期)年龄 FROM 职工; WHERE YEAR (DATE()- YEAR(出生日期)35D.SELECT 姓名,性别,年龄YEAR(DATE()- YEAR(出生日期)FROM 职工; WHERE YEAR(DATE()-YEAR (出生日期)35(6).为“工资”表增加一个“实发工资”字段的正确命令是 _。(分数:3.00)A.MODIFY TABLE 工资 ADD COLUMN 实发工资 N(9,2)B.MODIFY TABLE 工资 ADD FIELD
10、 实发工资 N(9,2)C.ALTER TABLE 工资 ADD COLUMN 实发工资 N(9,2)D.ALTER TABLE 工资 ADD FIELD 实发工资 N(9,2)四、B试题 4/B(总题数:1,分数:12.00)说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】SET TALK OFFXQ=“天一二三四五六”DO WHIL .T.INPUT“X” TO XX=IIF(X0 AND X366,MOD(X+2,7)+1,IIF(X0,0,8)DO CASECASE X=0?“结束”EXITCASE X=8?“输入有错”LOOPOTHERWI
11、SE?“星期” +SUBSTR(XQ,2*X1,2)ENDCASEENDDOSET TALK ON(分数:12.00)(1).当输入 X 值为 210 时,输出结果为 _。(分数:3.00)A.星期一B.星期二C.星期四D.星期六(2).当输入 X 值为 366 时,输出结果为 _。(分数:3.00)A.星期二B.星期日C.结束D.输入有错(3).当输入 X 值为 0 时,输出结果为 _。(分数:3.00)A.星期二B.星期日C.结束D.输入有错(4).当输入 X 值为-1 时,输出结果为 _。(分数:3.00)A.星期二B.星期日C.结束D.输入有错五、B试题 5/B(总题数:1,分数:12
12、.00)说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】SET TALK OFFCLEARSTORE .T. TO XSTORE 0 TO YDO WHILE XY=Y+1IF INT(Y/5)= Y/5? YELSELOOPENDIFIF Y15STORE .F. TO XENDIFENDDOSET TALK ONRETURN(分数:12.00)(1).第一次输出 Y 值为 _。(分数:3.00)A.5B.6C.7D.8(2).第二次输出 Y 值为 _。(分数:3.00)A.5B.6C.10D.15(3).第三次输出 Y 值为 _。(分数:3.00
13、)A.10B.15C.16D.19(4).第四次输出 Y 值为 _。(分数:3.00)A.10B.15C.20D.25六、B试题 6/B(总题数:1,分数:12.00)说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】SET TALK OFFI1CLEARDO WHILE I2INPUT “A” TO AIF AINT(A) .OR. A=10LOOPELSEINPUT “B=” TO BIF BINT(B) .AND. B10LOOPELSE?A,“+”,B“=”,A+BENDIFENDIFII+1ENODOSET TALK ONRETURN(分数:
14、12.00)(1).程序运行时,若依次输入 25,8,35,则输出结果为 _。(分数:3.00)A.2.5+810.5B.A+B10.5C.8+3.511.5D.A+B=11.5(2).程序运行时,若依次输入 3,4,5,10 则输出结果为 _。(分数:3.00)A.3+4=7B.5+1015C.4+37D.无任何输出(3).程序运行时,若依次输出 5,20,则输出结果为 _。(分数:3.00)A.A+B=5B.B+A20C.A+B25D.5+20=25(4).若将程序两处的 LOOP 都改为 EXIT,依次输入数据 8,5,则输出结果为 _。(分数:3.00)A.8+513B.5+8=13C
15、.A+B13D.无任何输出七、B试题 7/B(总题数:1,分数:14.00)1.编写程序,判断一个大于等于 3 的自然数是否为素数。(分数:14.00)_八、B试题 8/B(总题数:1,分数:14.00)2.如下图所示,表单 Form1 用来对学生成绩表 XSCJ. DBF 进行处理,在表单中有一个表格,一个选项按钮组、一个命令按钮组、三个文本框和一个命令按钮,在其数据环境中加入 XSCJ. DBF 后运行此表单,就可在其左侧的表格中显示出学生成绩表的内容。 (分数:14.00)_浙江二级 VISUAL+FOXPRO-4 答案解析(总分:100.00,做题时间:90 分钟)一、B试题 1/B(
16、总题数:1,分数:9.00)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】 求 110 之间的所有整数之和。【程序】SET TALK OFFSTORE 0 TO N,SDO WHILEU (1) /UNN+1S=S+NIFU (2) /UU (3) /UENDIFENDDO? “ S=”+STR (S,2)SET TALK ONRETURN(分数:9.00)AB C.N10D.N10解析:A.SNB.N10C.N=10D.N10 解析:A.EXIT B.ENDC.LOOPD.QUIT解析:解析 DO WHILE ENDDO 的格式: DO WHILE条件表
17、达式 语句序列 EXIT LOOP ENDDO 功能:当条件表达式的值为.T.时,重复执行 DO ENDDO 之间的语句序列,直到条件表达式的值为.F.时,结束循环操作。 EXIT 选项用于结束当前循环操作,跳到 ENDDO 后面的语句。 LOOP选顶用于跨过 LOOP 后面的语句,直接回到循环起始语句 DO WHILE。 所以第(1)空值为.T.,重复执行 DO ENDDO 之间的语句序列。 题意要求 110 之间的整数和,所以当执行到 N 大于等于 0 时,用EXIT 来结束循环体。二、B试题 2/B(总题数:1,分数:9.00)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一
18、个正确答案。【程序说明】 程序功能是按姓名提供学生成绩的查询。【程序】SET TALK OFFUSE STDACCEPT“请输入待查学生姓名:”TO XMDO WHILE U(4) /UIFU (5) /U?“姓名:”+姓名,“成绩:”+STR (成绩,3,0)ENDIFU(6) /UENDDOSET TALK ONRETURN(分数:9.00)A.BOF ()B.EOF ()CNO EOF() DNO BOF()解析:解析 表尾测试函数的格式:EOF(工作区号/别名) 功能:当记录指针指向表文件的末记录之后(表尾)时,该函数值为.T.,否则返回.F. 。输出值类型为逻辑值。工作区号/别名用于
19、指定工作区,缺少为当前工作区。所以没有达到表尾即 NOT.EOF()为真时来执行 DO WHILE END DO 循环体。A.姓名=XM B.姓名“XM”C.姓名#XMD.STXM解析:A.GO BOTTOMB.GO TOPC.SKIP -1D.SKIP 解析:解析 第(5)空的功能是检测从外界输入的姓名 XM 和表中记录的姓名是否相匹配,如果表中有输入学生姓名(XM)的记录,则打印输出学生的姓名和成绩。否则执行下一条记录,执行下一条记录的步长(STEP)为 1 或缺省。三、B试题 3/B(总题数:1,分数:18.00)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【
20、程序说明】 使用如下三个条件:部门.DBF:部门号 C(8),部门名 C(12),负责人 C(6),电话 C(16)职工.DBF;部门号 C(8),职工号 C(10),姓名 C(8),性别 C(2),出生日期 D工资.DBF:职工号 C(10),基本工资 N(8.2),津贴(8.2),奖金 N(8.2),扣除N(8.2)(分数:18.00)(1).查询职工实发工资的正确命令是 _。(分数:3.00)A.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资 FROM 工资B.SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资 FROM 工资; WHERE 职工. 职
21、工号工资.职工号C.SELECT 姓名,(基本工资+ 津贴+奖金- 扣除) AS 实发工资; FROM 工资,职工 WHERE 职工. 职工号工资. 职工号 D.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资; FROM 工资 JOIN 职工 WHERE 职工. 职工号=工资. 职工号解析:解析 本小题为简单的条件查询,WHERE 子句后面的条件:职工.职工号=工资.职工号,可以实现将数据表职工和工资表连接起来进行查询,并且将工资表的几个字段求和计算得到职工的实发工资。选项C 为正确答案,选项 A 缺少查询条件,选项 B 的查询条件错误,选项 D 使用的连接方法是错误的。(2
22、).查询 1962 年 10 月 27 日出生的职工信息的正确命令是 _。(分数:3.00)A.SELECT* FROM 职工 WHERE 出生日期19621027 B.SELECT* FROM 职工 WHERE 出生日期=19621027C.SELECT* FROM 职工 WHERE 出生日期“19621027”D.SELECT* FROM 职工 WHERE 出生日期(“19621027”)解析:解析 本小题查询条件的设定涉及日期型数据的运算,选项 A 中 WHERE 子句后甲的条件是:出生日期=19621027,该表达式正确描述了出生日期为 1962 年 10 月 27 日的条件。选项 B
23、,C、 D 的错误在于日期型数据的书写格式不正确。(3).查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。正确的命令是 _。(分数:3.00)A.SELECT 部门名,MIN (出生日期) FROM 部门 JOIN 职工; ON 部门,部门号职工. 部门号 GROUP BY 部门名 B.SELECT 部门名,MAX (出生日期)FROM 部门 JOIN 职工; ON 部门.部门号=职工.部门号 GROUP BY 部门名C.SELECT 部门名,MIN (出生日期)FROM 部门 JOIN 职工; WHERE 部门.部门号=职工.部门号 GROUP BY 部门名D.SE
24、LECT 部门名,MAX(出生日期)FROM 部门 JOIN 职工; WHERE 部门.部门号=职工.部门号 GROUP BY 部门名解析:解析 使用函数 min()对日期型数据进行运算,需理解表达式的含义。表达式 min(出生日期)表示年龄最长,因此可以首先排除选项 B 和选项 D。选项 C 的错误在于错误的使用了连接子句中的关键字,JOIN 表示连接,与之配合使用的关键字应该是 ON,用来表示连接的条件,因此选项 A 为正确答案。(4).查询有 10 名以上(含 10 名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。正确的命令是 _。(分数:3.00)A.SELECT 部门名
25、,COUNT (职工号)AS 职工人数; FROM 部门,职工 WHERE 部门. 部门号职工.部门号; GROUP BY 部门名 HAVING COUNT(*)=10; ORDER BY COUNT (职工号) ASCB.SELECT 部门名,COUNT (职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号职工.部门号; GROUP BY 部门名 HAVING COUNT(*)=10; ORDER BY COUNT (职工号) DESCC.SELECT 部门名,COUNT (职工号) AS 职工人数; FROM 部门,职工 WHERE 部门.部门号=职工.部门号;GR
26、OUP BY 部门名 HAVING COUNT(*)10; ORDER BY 职工人数 ASCD.SELECT 部门名,COUNT(职工号) AS 职工人数; FROM 部门,职工 WHERE 部门. 部门号= 职工.部门号; GROUP BY 部门名 HAVING COUNT (*)=10; ORDER BY 职工号人数 DESC 解析:解析 本小题考查使用 COUNT()函数来构造复杂查询,分组条件 GROUP BY 部门名 HAVING COUNT(*)10 表示部门人数大于 10 人。另外可以用排除法求解,首先可以排除选项 A 和选项 C,这两个选项中 ORDER BY 子句后的关键字
27、是 ASC 表示升序,不符合题意。选项 B 的错误在于没有使用职工人数作为排序关键字。(5).查向所有目前年龄在 35 以上(不含 35 岁)的职工信息(姓名、性别和年龄)的正确的命令是_。(分数:3.00)A.SELECT 姓名,性别,YEAR (DATE() -YEAR(出生日期)年龄 FROM 职工; WHERE 年龄35B.SELECT 姓名,性别,YEAR (DATE() -YEAR(出生日期)年龄 FROM 职工; WHERE YEAR (出生日期)35C.SELECT 姓名,性别,YEAR (DATE()- YEAR (出生日期)年龄 FROM 职工; WHERE YEAR (D
28、ATE()- YEAR(出生日期)35 D.SELECT 姓名,性别,年龄YEAR(DATE()- YEAR(出生日期)FROM 职工; WHERE YEAR(DATE()-YEAR (出生日期)35解析:解析 用日期型函数 YEAR()来表达年龄在 35 岁以上这个查询条件的正确写法应该是: YEAR(DATA()YEAR (出生日期)35 其中用到了 DATA()函数,先求出当前日期,再用 YEAR()求出该日期表示的年份,由此可知选项 A 和选项 B 的表示方法是错误的。选项 D 的错误在于使用 SQL 进行查询时,是不能使用等号进行列的赋值操作。故选项 C 为正确答案。(6).为“工资
29、”表增加一个“实发工资”字段的正确命令是 _。(分数:3.00)A.MODIFY TABLE 工资 ADD COLUMN 实发工资 N(9,2)B.MODIFY TABLE 工资 ADD FIELD 实发工资 N(9,2)C.ALTER TABLE 工资 ADD COLUMN 实发工资 N(9,2) D.ALTER TABLE 工资 ADD FIELD 实发工资 N(9,2)解析:解析 SQL 中修改表结构的命令是: ALTER 丁 ABLE表名ADD COLUMN 故选项 C 为正确答案。四、B试题 4/B(总题数:1,分数:12.00)说明:阅读下列程序(段)并回答问题,在每小题提供的若干
30、可选答案中,挑选一个正确答案。【程序】SET TALK OFFXQ=“天一二三四五六”DO WHIL .T.INPUT“X” TO XX=IIF(X0 AND X366,MOD(X+2,7)+1,IIF(X0,0,8)DO CASECASE X=0?“结束”EXITCASE X=8?“输入有错”LOOPOTHERWISE?“星期” +SUBSTR(XQ,2*X1,2)ENDCASEENDDOSET TALK ON(分数:12.00)(1).当输入 X 值为 210 时,输出结果为 _。(分数:3.00)A.星期一B.星期二 C.星期四D.星期六解析:解析 条件函数的格式:IIF(逻辑表达式,表
31、达式 1,表达式 2) 功能:测试逻辑表达式的值,如果值为真,返回表达式 1的值,否则返回表达式 2的值。返回值有多种类型。 当 X210 时,执行外层 IIF 中的“MOD (X+2,7)+1”语句后,得出 X=3,执行 OTHERWISE 与 ENDCASE 之间的语句。SURSTR (RQ,2*X1,2)=SURSTR (RQ,5,2)意思是取 RQ 中从第 5 个位置开始的 2 个字符的子串,可知子串应是“二”。故本题选 B。(2).当输入 X 值为 366 时,输出结果为 _。(分数:3.00)A.星期二B.星期日C.结束D.输入有错 解析:解析 当 x366 时,执行外层 IIF
32、中的 IIF(x=0,0,8)语句,又因 x 不为 0,所以 x=8,满足 CASE 的第二个分支条件,所以执行?“输入有错”语句。(3).当输入 X 值为 0 时,输出结果为 _。(分数:3.00)A.星期二B.星期日C.结束 D.输入有错解析:解析 当 x=0 时,执行外层 IIF 中的 IIF(x=0,0,8)语句,又因 x 为 0,所以 x=0,满足 CASE 的第一个分支条件,所以执行?“结束”语句。(4).当输入 X 值为-1 时,输出结果为 _。(分数:3.00)A.星期二B.星期日C.结束D.输入有错 解析:解析 当 x-1 时,执行外层 IIF 中的 IIF(x0,0,8)语
33、句,又因 x 不为 0,所以 x8,满足 CASE 的第二个分支条件,所以执行?“输出有错”语句。五、B试题 5/B(总题数:1,分数:12.00)说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】SET TALK OFFCLEARSTORE .T. TO XSTORE 0 TO YDO WHILE XY=Y+1IF INT(Y/5)= Y/5? YELSELOOPENDIFIF Y15STORE .F. TO XENDIFENDDOSET TALK ONRETURN(分数:12.00)(1).第一次输出 Y 值为 _。(分数:3.00)A.5 B.6
34、C.7D.8解析:(2).第二次输出 Y 值为 _。(分数:3.00)A.5B.6C.10 D.15解析:(3).第三次输出 Y 值为 _。(分数:3.00)A.10B.15 C.16D.19解析:(4).第四次输出 Y 值为 _。(分数:3.00)A.10B.15C.20 D.25解析:解析 本题在分析时用临界值 15 代入,满足第一个条件,所以输出 Y。执行完“? Y”后,执行 ENDIF 下面的 IF 语句,不满足大于 15 的条件,则执行 ENDIF 下面的语句 ENDDO,ENDDO 又将程序流程指向 DO WHILEX 语句,此时 X=.T. 进入循环体,执行 YY+1,Y 变成
35、16。由于不满足 INT(Y/5)Y/5,所以执行 ELSE 下面的语句 LOOP,LOOP 又将程序流程指向 DO WHILE X 语句,依次类推,直至 Y20。Y=20满足第一个条件所以输出 Y,执行完“? Y”后,执行 ENDIF 下面的 IF 语句,由于满足大于 15 的条件,所以执行 STORE. F. TO X,然后执行 ENDIF 下面的语句 ENDDO,ENDDO 又将程序流程指向 DO WHILE X 语句,此时,X=.F.,所以退出循环。六、B试题 6/B(总题数:1,分数:12.00)说明:阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程
36、序】SET TALK OFFI1CLEARDO WHILE I2INPUT “A” TO AIF AINT(A) .OR. A=10LOOPELSEINPUT “B=” TO BIF BINT(B) .AND. B10LOOPELSE?A,“+”,B“=”,A+BENDIFENDIFII+1ENODOSET TALK ONRETURN(分数:12.00)(1).程序运行时,若依次输入 25,8,35,则输出结果为 _。(分数:3.00)A.2.5+810.5B.A+B10.5C.8+3.511.5 D.A+B=11.5解析:解析 当 I1 时,进入 DO WHILE 循环,输入 A 为 2.5
37、,满足 IF AINT(A). OR. A10 的条件,继续循环,输入 A 为 8,执行此 IF 的 ELSE 语句,输入 B 为 3.5,不满足 IF B=INT (B). AND.B10,执行此 IF 的 ELSE ? A,“+”,B,“”,A+B,输出 8+3.511.5。(2).程序运行时,若依次输入 3,4,5,10 则输出结果为 _。(分数:3.00)A.3+4=7B.5+1015 C.4+37D.无任何输出解析:解析 当输入 A 值为 3 时,不满足 IF A1NT(A). OR. A10,执行此 IF 的 ELSE 语句,输入 B为 4,满足 IF B= INT(B).AND.
38、B10继续循环,输入 A 值为 5,执行第 1 个 IF 的 ELSE 语句,输入 B 为10,执行第二个 IF 的 ELSE 语句,输出 5+10=15。(3).程序运行时,若依次输出 5,20,则输出结果为 _。(分数:3.00)A.A+B=5B.B+A20C.A+B25D.5+20=25 解析:解析 当输入 A 值为 5 时,执行第 1 个 IF 的 ELSE 语句,输入 B 为 20,执行第 2 个 IF 的 ELSE 语句,输出 5+2025。(4).若将程序两处的 LOOP 都改为 EXIT,依次输入数据 8,5,则输出结果为 _。(分数:3.00)A.8+513B.5+8=13C
39、.A+B13D.无任何输出 解析:解析 当输入 A 值为 8 时,执行第 1 个 IF 的 ELSE 语句,输入 B 为 5,满足 IF BINT(B).AND. B10,执行 EXIT,退出 DO WHILE 循环,所以窗体上无任何显示。七、B试题 7/B(总题数:1,分数:14.00)1.编写程序,判断一个大于等于 3 的自然数是否为素数。(分数:14.00)_正确答案:()解析:程序代码如下: CLEAR INPUT“请输入自然数(=3):” TO n f=0 i2 DO WHILE i=INT(SQRT(n) IF MOD(n,i)0 i=i+1 LOOP ELSE f1 EXIT E
40、NDIF ENDDO IF f0 ? STR(n,3)+“是素数” ELSE ? STR(n,3)+“不是素数” ENDIF RETURN八、B试题 8/B(总题数:1,分数:14.00)2.如下图所示,表单 Form1 用来对学生成绩表 XSCJ. DBF 进行处理,在表单中有一个表格,一个选项按钮组、一个命令按钮组、三个文本框和一个命令按钮,在其数据环境中加入 XSCJ. DBF 后运行此表单,就可在其左侧的表格中显示出学生成绩表的内容。 (分数:14.00)_正确答案:()解析:编写 Optiongroup1 的 Click 事件代码如下: DO CASE CASE This,Value1 xx“数学” CASE This. Value=2 xx=“外语” ENDCASE 编写 Commandgroup1 的 Click 事件代码如下: DO CASE CASE This Value=1 SUM &XX TO xxzf ThisForm.Text1. Valuexxzf CASE This Value=2 AVERAGE &XX TO xxpj ThisForm. Text2. Valuexxpj CASE This,Value3 COUNT FOR &XX85 TO xx you ThisForm. Text3. Valuexxyou ENDCASE