1、第六章 结构化程序设计 一、选择题 1、 WAIT 命令用于让用户输入一个 。 A)数字 B)字符 C)字符串 D)以上都是 2、在交互式输入命令中,可以接受逻辑型数据的命令包括 _。 A)INPUT 和 ACCEPT B)WAIT 和 INPUT C)INPUT 和 GET D)INPUT 和SAY 3、执行命令 ACCEPT请输入数据 : TO XYZ 时 ,可以通过键盘输入的内容包括 _。 A)字符串 B)数值和字符串 C)数值 ,字符串和逻辑值 D)数值 ,字符串 ,逻辑值和表达式 4、执行命令 INPUT请输入数据 : TO AAA 时 ,如果要通过键盘输入字符串 ,应当使用的定界符
2、包括 _。 A)单引号 B)单引号或双引号 C)单引号、双引号或方括弧 D)单引号、双引号、方括弧或圆点 5、在 VFP 中 ,可以通过键盘接受数值的命令有 _。 A)ACCEPT B)ACCEPT 和 WAIT C)INPUT 和 ACCEPT D)INPUT 和 5,10 SAY.GET. 6、比较 WAIT、 ACCEPT 和 INPUT 三条命令,需要以回车键表示输入结束的命令是 _。 A)WAIT、 ACCEPT、 INPUT B)WAIT、 ACCEPT C)ACCEPT、 INPUT D)INPUT、 WAIT 7、以下关于 ACCEPT 命令的说明,正确的是 _。 A)将输 入
3、作为字符接收 B)将输入作为数值接收 C)将输入作为逻辑型数据接收 D)将输入作为备注型接收 8、结构化程序设计所规定的三种基本控制结构是 _。 A)输入 ,处理 ,输出 B)树型 ,网型 ,环型 C)顺序 ,选择 ,循环 D)主程序 ,子程序 ,函数 9、能将高级语言编写的源程序转换成目标程序的是 _。 A)编程程序 B)编译程序 C)解释程序 D)链接程序 10、 VFP 中的 DO CASE-ENDCASE 语句属于 _。 A)顺序结构 B)选择结构 C)循环结构 D)模块结构 11、当前数据库中有五个字段 :学号 (C,4)、姓名 (C, 6)、政治 (N, 3.0)、英语 (N, 3
4、.0)、数学 (N,3.0),记录指针指向一个非空的记录。要使用 SCATTER TO X 命令把当前记录的字段值存到数组 X中 ,数组 X _。 A)不必事先定义 B)必须用 DIMENSION X 事先定义 C)必须用 DIMENSION X(5)事先定义 D)必须用 DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义 12、要判断数值型变量 Y 是否能够被 7 整除 ,错误的条件表达式为 _。 A)MOD(Y,7)=0 B)INT(Y/7)=Y/7 C)0=MOD(Y,7) D)INT(Y/7)=MOD(Y,7) 13、在 VFP 中 ,命令文件的扩展名是 _。
5、 A)TXT B)PRG C)DBT D)FMT 14、以下有关 VFP 中过程文件的叙述 ,其中正确的是 _。 A)先用 SET PROCEDURE TO 命令关闭原来已打开的过程文件 ,然后用 DO 执行 B)可直接用 DO 执行 C)先用 SET PROCEDURE TO 命令打开过程文件 ,然后用 USE 执行 D)先用 SET PROCEDURE TO 命令打开过程文件 ,然后用 DO 执行 15、执行 SET DEVICE TO PRINT 命令之后,能在打印机上实现输出的命令是 _。 A)?姓名 B) 10,10 SAY 姓名 C)LIST 姓名 D) 10,10 GET 姓名
6、16、一个过程文件最多可以包含 128 个过程,每个过程的第一条语句是 _。 A)PARAMETER B)DO C) D)PROCEDURE 17、在下列命令组合中,不能配对使用的是 _。 A) PROMPT 和 MENU TO B)DO WITH 和 PARAMETERS C)IF 和 ENDIF D)DO CASE 和 ENDDO 18、在 VFP 中,用于建立或修改过程文件的命令是 _。 A)MODIFY B)MODIFY COMMAND C)MODIFY PROCEDURE D)CREATE COMMAND 19、在 VFP 中,可以在同种类型的数据之间进行“ -” (减号 )运算的数
7、据类型是 _。 A)数值型、字 符型、逻辑型 B)数值型、字符型、日期型 C)数值型、日期型、逻辑型 D)逻辑型、字符型、日期型 20、要在屏幕的第二行第二列开始显示姓名 (C,8),存款数额 (N,6,2)和存入日期 (D)三个字段的值 ,应该使用命令 _。 A) 2,2 SAY 姓名 ,存款数额 ,存入日期 B) 2,2 SAY 姓名 +存款数额 +存入日期 C) 2,2 SAY 姓名 +STR(存款数额 ,6,2)+DTOC(存入日期 ) D) 2,2 SAY 姓名 +STR(存款数额 ,6,2)+CTOD(存入日期 ) 21、在 DO WHILE/ENDDO 循环中,若循环条件设置为
8、.T.,则下列说法中正确的是 。 A)程序无法跳出循环 B)程序不会出现死循环 C)用 EXIT 可以跳出循环 D)用 LOOP 可以跳出循环 22、用户自定义函数或过程中接受参数,应使 用 命令。 A) PROCEDURE B) FUNCTION C)WHILE D)PARAMETERS 23、用户自定义函数或过程可以定义在 。 A)独立的程序文件 B)对象的事件代码、方法代码中 C)数据库的存储过程中 D)过程文件 24、在命令窗口赋值的变量默认的作用域是 。 A)全局 B)局部 C)私有 D)不一定 25、使用命令 DECLARE mm(2,3)定义的数组,包含的数组元素 (下标变量 )
9、的个数为 。 A)2 个 B)3 个 C)5 个 D)6 个 26、下列 语句可以将变量 A、 B 的值互换。 A)A=B B)A= (A+B)/2 C)A=A+B D)A=C B=A B= (A-B)/2 B=A-B C=B A=A-B B=C 27、结构化程序设计的三种基本逻辑结构是 _。 A)选择结构、循环结构和嵌套结构 B)顺序结构、选择结 构和循环结构 C)选择结构、循环结构和模块结构 D)顺序结构、递归结构和循环结构 28、如果一个过程不包含 RETURN 语句,或 RETURN 语句中没有指定表达式,那么该过程 _。 A)没有返回值 B)返回 0 C)返回 .T. D)返回 .F
10、. 29、作为整个应用程序入口点的主程序至少应具有以下功能 _。 A)初始化环境 B)初始化环境、显示初始的用户界面、控制事件 循环,退出时恢复环境 C)初始化环境、显示初始用户界面 D)初始化环境、显示初始用户界面、控制事件循环 30、下面关于过程调用的陈述中, _是正确的。 A)实参与形参的数量必须相等 B)当实参的数量多于形参的数量时,出现运行时错误。 C)当形参的数量多于实参的数量时,多余的实参为逻辑假 D)上面 B 和 C 都对 31、将内存变量定义为全局变量的 Visual FoxPro 命令是 _。 A)LOCAL B)PRIVATE C)PUBLIC D)GLOBAL 32、下
11、列说法中正确的是 _。 A)若函数不带参数,则调用时函数名后面的圆括号可以省略 B)函数若有多个参数,则参数名间应用空格隔开 C)调用函数时,参数的类型、个数和顺序不一定要一致 D)调用函数时,函数名后的圆括号不论有无参数都不能省略 33、在 VFP 中 ,已经建立 了一个过程文件 ABC.PRG,打开此过程文件的命令是 。 A) OPEN PROCEDURE TO ABC B) DO PROCEDURE ABC C) SET PROCEDURE TO ABC D) RUN PROCEDURE ABC 34、顺序键入以下命令: STORE 21.47 TO A B=INT(&A+4) ? B
12、屏幕上显示的结果为 。 A)24 B)25 C)25.47 D)21.474 35、设数据库文件 STD.DBF 中包含 8 个字段,并有以下命令序列: DIMENSION DATA(10) USE STD SCATTER TO DATA ? DATA(10) 执行以上命令序列后,屏幕显示的结果是 。 A)空 B).T. C).F. D)0 36、有以下命令序列: STORE 123.456 TO A STORE STR(A+A,5) TO B ? LEN(B),B 执行以上命令序列 ,最后一条命令显示的结果是 。 A)3 123 B)3 264 C)5 246 D)5 247 37、给出以下
13、程序的运行结果: SET TALK OFF X=0 Y=0 DO WHILE X100 ? 1 CASE X200 ? 2 OTHERWISE ? 3 ENDCASE 若在 X=300 的情况下执行这个程序段,屏幕上将显示 _。 A)1 B)2 C)12 D)3 41、有如下命令序列 : X= A Y=X A=黄河长江 ? X+&X-Y-&Y 执行以上命令序列后,屏幕显示表达式 X+&X-Y-&Y 的结果是 _。 A)黄河长江 B)A 黄河长江 A 黄河长江 C)A 黄河长江 A D)A 黄河长江黄河长江 42、有如下命令序列: SET DELETED ON USE ABC GO 3 DELE
14、TE NEXT 2 GO 4 RECALL USE 执行最后一条 RECALL 命令时,去掉删除标记的记录个数是 _。 A)0 B)1 C)2 D)3 43、已知 proc.prg 程序清单如下: proc_1.prg 程序清单如下: SET TALK OFF PARAMETERS a,b n=20 b=a*b t=1 IF a B) LOAD C) PROCEDURE D) DO 50、执行下列语句序列 A=2200 DO CASE CASE A1000 B=10/100 CASE A2000 B=15/1000 CASE A3000 B=20/100 ENDCASE 变量 B 的值是 。
15、A)0.05 B)0.10 C)0.15 D)0.20 51、有以下程序段 : DO CASE CASE 计算机 =60 ?计算机成绩是 : +及格 CASE 计算机 =70 ?计算机成绩是 : +中 CASE 计算机 =80 ?计算机成绩是 : +良 CASE 计算机 =90 ?计算机成绩是 : +优 ENDCASE 设学生数据库当前记录的“计算机”字段的值是 89,执行上面程序段之后 ,屏幕输出 。 A)计算机成绩是 :不及格 B)计算机成绩是 :及格 C)计算机成绩是 :良 D)计算机成绩是 :优 52、执行以下命令序列 : USE ZGGZ SUM 工资 FOR 工资 =500 TO
16、QWE COPY TO QAZ FIELDS 职工号 ,姓名 FOR 工资 =500 USE QAZ NUM=RECCOUNT() AVER=QWE/NUM ? AVER 最后显示的值是 。 A)所有工资在 500元以上的职工人数 B)所有工资在 500元以上的职工平均工资数 C)所有职工的平均工资数 D)出错 53、有以下程序段 : 5, 10 SAY “请输入 1 4“ GET ANS READ CX=“PG“+ANS+“.PRG“ DO &CX 其功能是根据用户输入的数字 ,转去执行子程序 PG1、 PG2、 PG3、 PG4 之一。但该程序段有一个明显的错误 ,为此应当做以下修改 。
17、A)增加 STORE “ “ TO ANS 作为第一条命令 B)把 5,10 SAY “请输入 1 4“ TO ANS 命令改为 ACCEPT “ 请输入 1 4“ TO ANS C)把 CX=“PG“+ANS+“.PRG“ 命令中的 “+“.PRG“ 部分去掉 D)把 DO &CX 命令的 &去掉 54、执行如下程序 SET TALK OFF S 0 I 1 INPUT “N ?“ TO N DO WHILE S N S S I I I 1 ENDDO ? S SET TALK ON 如果输入 N 值为 5,则最后 S 的显示值是 。 A)1 B)3 C)5 D)6 55、某程序中有如下程序
18、段 : STORE “ TO PT 5,10 SAY “是否开始打印 ?(Y/N):“ 3,10 GET PT VALID PT $“YN“ PICTURE“!“ READ IF PT=“Y“ DO PT.PRG & 打印 ENDIF 如果希望程序执行后能够实现打印输出,则对于程序的提问 。 A)只能输入 Y B)只能输入 y C)输入 Y或 y D)可以直接敲回车键 56、执行如下程序 : STORE “ TO ANS DO WHILE .T. CLEAR 3,10 SAY “1.添加 2.删除 3.修改 4.退出 “ 5,15 SAY “请输入选择 :“ GET ANS READ IF T
19、YPE(“ANS“)=“C“.AND.VAL(ANS) =3.AND.VAL(ANS) 0 PROG= “PROG“ +ANS+ “.PRG“ DO & PROG ENDIF QUIT ENDDO 如果在 “请输入选择 :“时,键入 4,则系统 。 A)调用子程序 PROG4.PRG B)调用子程序 &PROG.PRG C)返回 FOXBASE 提示状态 D)返回操作系统状态 以下 57 62 题的操作均基于下面条件 : 已建立学生数据库 STD.DBF,数据库结构为:学号 (C,6),姓名 (C,8),性别 (C,2),出生日期 (D),平均成绩 (N,6,2)。用 LIST 命令显示记录如
20、下: 记录号 # 学号 姓名 性别 出生日期 平均成绩 1 021501 刘淑敏 女 10/05/84 88.2 2 021502 杨立宏 男 03/12/85 70.6 3 021503 马燕 女 09/23/84 67.2 4 021504 赵雅洁 女 12/10/84 80.8 5 021505 王力军 男 11/21/84 90.5 57、依次执行以下命令: USE STD 姓名 =“郑小洋 “ SKIP 2 ? 姓名是 : +姓名 最后一条命令的输出结果是 。 A)姓名是:郑小洋 B)姓名是:马燕 C)姓名是:杨立宏 D)姓名是:赵雅洁 58、使用 INDEX ON 性别 +DTOC
21、(出生日期 ,1) TO RQ 建立索引之后,接着执行 LIST 命令,所显示记录的姓名顺序是 。 A)王力军、杨立宏、马燕、刘淑敏、赵雅洁 B)马燕、刘淑敏、赵雅洁、王力军、杨立宏 C)杨立宏、王力军、赵雅洁、刘淑敏、马燕 D)刘淑敏、杨立宏、马燕、赵雅洁、王力军 59、索引文件打开后,下列命令操作中不受索引文件影响的是 。 A) SKIP B) DISPLAY ALL C) FIND D) GO 5 60、有如下程序段 : USE STD INDEX ON 性别 TO XB TOTAL ON 性别 TO STD_1 执行以上程序段之后,数据库 STD_1.DBF 中的记录个数为 。 A)1
22、 B)2 C)3 D)4 61、上题所生成的数据库 STD_1.DBF 中 被汇总的字段是 。 A)记录个数 B)平均成绩 C)平均成绩、出生日期 D)平均成绩、出生日期、记录个数 62、要显示当前记录的学号,姓名,性别,以下命令错误的是 。 A) ? 学号 ,姓名 ,性别 B) DISPLAY 学号 ,姓名 ,性别 C) 5,10 SAY 学号 ,姓名 ,性别 D) 5,10 SAY 学号 +姓名 +性别 二、填空题 1、 PUBLIC 用于定义 。在本次 Visual FoxPro 运行期间,所有过程都可以使用这些变量。 2、 VFP 根据表达式的 来确定表达式的类型。 3、命题“ n 是
23、小于正整数 k 的偶数”用逻辑表达式表示是 。 4、 PRIVATE 用于定义 ,它用于定义当前过程的变量,并将以前过程定义的同 名变量保存起来,在当前过程中使用该变量而不影响这些同名变量的原始值。 5、有程序段如下 : STORE 0 TO X,Y DO WHILE.T. X=X+1 Y=Y+X IF X =100 EXIT ENDIF ENDDO ? “Y=“+STR(Y,3) 这个程序是计算 1 的 ,执行后的结果是 2 。 6、请阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。 SET TALK OFF INPUT 请输入一个大于 1 的自然数 : TO N K=0 &K 的
24、值为 0 表示所输入的自然数是质数 ,为 1 表示不是质数 J=2 DO WHILE JN IF MOD(N,J) 1 2 LOOP ELSE K=1 EXIT ENDIF ENDDO IF K=0 ? 3 +“ 是质数 “ ENDIF ? “再见! “ SET TALK ON RETURN 7、下面的函数通过参数 a、 b、 c 接收一元二次方程 ax2+bx+c=0 的三个系数,并求解这个方程 :如果有实根 ,通过参数 x1 和 x2 返回它的两个根,函数的返回值为 .T.;如果没有实根或出现其他异常情况,函数的返回值为 .F.,请填空。 PARAMETERS a,b,c,x1,x2 IF a =0 RETURN .F. ENDIF Delta=b*b-4*a*c IF delta0 1 ENDIF x1= 2 x2=(-b-SQR(delta)/(2*a) RETURN .T. 8、有如下 FoxBASE 程序: *SUB.PRG PARAMETERS R,A PI=3.14 A=PI*R*R RETURN 在命令状态下执行了如下命令序列: AREA=0 ? AREA 最后一条命令执行后显示的结果是 12.56,请填空。