Display Skip 一、单项选择题
Enddo 1.组成Visual FoxPro 应用程序的基本结构是( )。 Use A)顺序结构 分支结构和模块结构 Return
B)顺序结构 分支结构和循环结构 该程序实现的功能是( )
C)逻辑结构 物理结构和程序结构 A)显示所有基本工资大于800 元的职工信息 D)分支结构 重复结构和模块结构
B)显示所有基本工资低于800 元的职工信息 2.在Visual FoxPro 中,命令文件的扩展名是( )。 C)显示第一条基本工资大于800 元的职工信息 A)TXT B)PRG C)DBF D)FMT D)显示第一条基本工资低于800 元的职工信息 3.用于声明某变量为全局变量的命令是( )。 11.执行下列程序: A)With B)Private C)Public D)Parameters
Store 0 To X, Y 4.能接受一位整数并存放到内存变量Y 中的正确命令是( )。 Do While X<20
A)Wait To Y B)Accept To Y C)Input To Y D)? Y X=X+Y 5.Visual FoxPro 中的Do Case Endcase 语句属于( )。 Y=Y+2 A)顺序结构 B)循环结构 C)分支结构 D)模块结构
Enddo 6.在“先判断再工作”的循环程序结构中,循环体执行的次数最少?X, Y 可以是( )。
Return
A)0 B)1 C)2 D)不确定
在屏幕上显示的输出结果是( )。
7.若将过程或函数放在过程文件中,可以在应用程序中使用( )A)20 10 B)10 20 C)20 22 D)22 20 命令打开过程文件。
12.执行下列程序后, 变量X 的值为( )。 A)Set Procedure To <文件名> Public X B)Set Function To <文件名> X=5 C)Set Program To <文件名> Do Sub D)Set Routine To <文件名>
?”X=”, X 8.在Visual FoxPro 程序中,注释行使用的符号是( ) Return A)// B)* C)’ D){ }
9.Visual FoxPro 循环结构设计中,在指定范围内扫描表文件,Procedure Sub 查找满足条件的记录并执行循环体中的操作命令, 应使用的循环Private X 语句是( )。
X=1
A)For B)While C)Scan D)以上都可以 X=X*2+1 10.假设有如下程序: Return
Clear A)5 B)6 C)7 D)8 Use Gz
13.下面程序的运行结果是( )。 Do While !Eof( )
Dimension A( 6 ) If 基本工资>=800 For K=1 To 6
Skip A( K )=30-3*K Loop Endfor Endif
K=5
1
Do While K>=1
A( K )= A( K )- A( K+1 ) K=K-1 Enddo
?A( 2 ) , A( 4 ) , A( 6 ) Set Talk On Return
A)12 15 18 B)18 12 15 C)18 15 12 D)15 18 12 14.Loop 语句不能出现在仅有( )语句的程序段中 A)Do Enddo B)If Endif C)For Endfor D)Scan Endscan 15.程序如下: S=0 I=1
Do While I<4
Accept “请输入字符串: ” To X If “A” $ X S=S+1 Endif I=I+1 Enddo ?S Return
运行时输入 “abcd”, “ABCD”, “aBcD ”, 输出S 的值是( ) A)1 B)2 C)3 D)4
16.设表文件CJ.DBF 中有两条记录, 内容如下: 记录号 XM ZF 1 王燕 300.00 2 李明 500.00
此时, 运行以下程序的结果应当是( ) Use cj m->zf=0
Do While .Not. Eof( ) m->zf=m->zf+zf Skip Enddo ?m->zf Return
A)800.00 B)500.00 C)300.00 D)200.00
17.有如下Visual FoxPro 程序: **主程序zcx.prg **子程序 zcx1.prg Clear k1=k1+’500’ k1=’25’ Return ?k1 Do zcx1 ?k1 Return
用命令Do zcx 运行程序后, 屏幕显示的结果为( )。 A)25 B)25 C)25 D)25 500 525 25500 25
18.设表文件XSCJ.DBF 中有8000 条记录, 其文件结构是:姓名(C, 8), 成绩(N, 5, 1)。运行以下程序, 屏幕上将显示( )。 Use XSCJ J=0
Do While .Not. Eof( ) J=J+成绩 Skip Enddo
?’平均分:’+Str(J/8000, 5, 1) Return
A)平均分:Xxx.X(X 代表数字) B)数据类型不匹配 C)平均分:J/8000 D)字符串溢出 19.执行如下程序 Store “ ” To ans Do While .T.
Clear
? “1.添加 2.删除 3.修改 4.退出” Accept “请输入选择: ” To ans If Val(ans)<=3 .And. Val(ans)<>0 Prog=“Prog”+Ans+“.Prg” Do &Prog Endif Quit Enddo Return
如果在屏幕上显示 “请输入选择: ” 时, 输入4, 则系统将 A)调用子程序PROG4.PRG B)调用子程序&PROG.PRG C)返回Visual Foxpro 主窗口 D)返回操作系统状态
20.有如下Visual Foxpro 程序: **主程序:Z.PRG **子程序:Z1.PRG Clear X2=X2+1 Store 10 To X1, X2, X3 Do Z2 X1=X1+1 X1=X1+1 Do Z1 Return ?X1+X2+X3 **子程序:Z2.Prg Return X3=X3+1
Return To Master
执行命令Do Z 后, 屏幕显示的结果为( ) A)33 B)32 C)31 D)30 21.下列程序的运行结果是( )。 Store 0 To M, N Do While M<30 N=N+3 M=M+N Enddo ?M, N Return
A)30 12 B)12 30 C)45 15 D)15 45
22.在下列程序中, 如果要使程序继续循环, 变量M 的输入值应为( )。
Do While .T.
Wait “M=” To M If Upper(M) $ “YN” Exit Endif Enddo
A)Y 或y B)N 或n
C)Y, y 或N, n D)Y, y, N, n 之外的任意字符 23.下列程序执行时, 在键盘上输入9, 则屏幕上的显示结果是( )。 Input “X=” To X Do Case
Case X>10
? “Ok1” Case X>20
? “Ok2” Othewise ? “Ok3” Endcase
A)“OK1” B)OK1 C)OK2 D)OK3
24.设某程序中有PROG1.prg、PROG2.prg、PROG3.prg 三个程序依次嵌套,下面叙述中正确的是( )。 A)在PROG1.prg 中用!Run PROG2.prg 语句可以调用PROG2.prg 子程序
B)在PROG2.prg 中用Run PROG3.prg 语句可以调用PROG3.prg 子程序
C)在PROG3.prg 中用Return 语句可以返回PROG1.prg 主程序 D)在PROG3.prg 中用Return To Master 语句可以返回PROG1.prg 主程序
25.执行下列程序: Clear
Store 1 To I, A, B Do While I<=3
Do Prog1
??\"P(\"+Str(I, 1)+\")=\"+Str(A, 2)+\I=I+1 Enddo
??\"B=\"+Str(B, 2) Return
Procedure Prog1 A=A*2 B=B+A Return
程序的运行结果为( )。
A)P(1)=2,P(2)=3,P(3)=4,b=15 B)P(1)=2,P(2)=4,P(3)=6,b=8 C)P(1)=2,P(2)=4,P(3)=6,b=18 D)P(1)=2,P(2)=4,P(3)=8,b=15 二、阅读程序题
1.写出下列程序运行结果。 Store 0 To N, S Do While .T. N=N+1 S=S+N If N>11 Exit
2
Endif Enddo
? “S=”+Str(S, 2) Return
2.写出下列程序运行结果。 Clear
Store 1 To S, I, J Do While I<=10 S=S+I+J J=10
Do While J>1 S=S+J+I J=J-5 Enddo I=I+5 Enddo ? “S=”, S Return
3.写出下列程序运行结果。 Clear M=1
Do While M<4
N=1 ??M
Do While N<=M Tt=N+M ??Tt N=N+1 Enddo ? M=M+1 Enddo Return
4.有如下ABC.PRG 和XYZ.PRG 两个程序, 写出执行命令Do ABC 后的结果。 **ABC.PRG
Store 10 To a, b, c
Do xyz With a, a+b, 10 ?a, b, c
?i, m, n Return
**XYZ.PRG Para x, y, z Public i, m
Store 5 To i, m, n i=x+y X=y+z y=m+n ?x, y, z Return
5.写出下列程序的运行结果。 Store 0 To A, B, C, D, N Do While .T. N=N+5 Do Case Case N<=50 A=A+1 Loop
Case N>=100 B=B+1 Exit
Case N>=80 C=C+1 Other D=D+1 Endcase n=n+5 Enddo
?A, B, C, D, N Return
6.有如下TEST.PRG 和SUB.PRG 两个程序, 写出执行命令Do ABC 后的结果。 * TEST.PRG Public a a=1 c=3 b=5
3
Do SUB
? “返回主程序:a, b, c, d=”, a, b, c, d Return
*SUB.PRG Private c a=a+1
61
d=2 c=4 b=6
? “过程中a, b, c, d=”, a, b, c, d Return
7.阅读下列程序, 并给出运行结果。Clear
Stor 0 To X, Y, S1, S2, S3 Do While X<15 X=X+1 Do Case
Case Int(X/2)=X/2 S1=S1+X/2 Case Mod(X, 3)=0 S2=S2+X/3
Case Int(X/2)<>X/2 S3=S3+1 Endcase Enddo
?S1, S2, S3 Return
8.阅读下列程序, 并写出运行结果。Clear
Store 1 To X Store 30 To Y Do While X<=Y If Int(X/2)<>X/2 X=1+X^2 Y=Y+1 Else X=X+1
Endif Enddo ?X ?Y Return
9.有下列两个程序,写出执行命令Do PROG1 后的运行结果。
**SUB2.PRG Parameter x, y, z ?’x, y, z=’, x, y, z x=31 y=32 Do While I<=3 J=1
Do While J<=4 X(I, J)=K ?? X(I, J) K=K+5 **PROG1.PRG X=“同学们” Y=“你们好!” ?X+Y
Do SUBPRO ?X, Y, Z Return
** SUBPRO.PRG Private X Public Z X=100 Y=200 Z=300 ?X+Y+Z Return
10.有以下3 个程序,写出执行命令Do TEST 后运行的结果。 **TEST.PRG a=5 b=6 c=7
Do SUBI
?’a1, b1, c1=’, a, b, c Do SUB2 With a+b, c, 10 ?’a2, b2, c2=’, a, b, c Return
* *SUB1.PRG Private b, c a=21 b=22 c=23 Return
z=33 J=J+1 Return
Enddo 11.阅读下面两个程序,写出执行Do MAIN 命令后的运行结果。 I=I+1 **MAIN.PRG Enddo X1=1 Return
X2=3
14.有如下两个程序,写出执行Do MAIN 命令的运行结果。 Do P1 With X1, X2
*MAIN.PRG ? “X1=”+Str(X1, 1), “X2=”+Str(X2, 1) Clear Memory X1=2 Dime X(4, 3) X2=4
I=1
Do P1 With X1, X1+X2
Do While I<3 ? “X1=”+Str(X1, 1), “X2=”+Str(X2, 1) J=I+1 Return X(I, J)=J
Do Sub **P1.Prg X(I, J)=I Para W1, W2 I=I+1 W1=W1*2 Enddo W2=W2*2 X(J, I)=4
Return
?X(1, 1), X(1, 2), X(1, 3) 12.写出下面程序的运行结果。 ?X(6), X(2, 1), X(5), X(7) Dimension Y(3, 4) Return For I=1 To 3
For J=I+1 To 4
*SUB.PRG Y(I, J)=I+J If X(I, J)>=3
Endfor X(I+J)=X(I, J) Endfor
Endif ? Y(2+1), Y(2+2), Y(2+3) J=J-1 ? Y(3, 2), Y(3, 3), Y(3, 4) Return
Return
三、程序填空题
13.写出下面程序的运行结果。 1.STD 好友表中含有字段:姓名(C,8),课程名(C,6),Clear
成绩(N,3,0),下面一段程序用于显示所有成绩及格的学生Dime X(3, 4) 信息。 Store 1 To I, K Clear
4
Use std
Do While ( ① ) If 成绩>=60
? “姓名:”+姓名, “课程:”+课程名, “成绩:”+Str(成绩, 3, 0) Endif
( ② ) Enddo Use Return
2.下面的程序功能是按姓名提供学生成绩的查询,请填空: Use std
Accept “请输入待查学生姓名:” To xm Do While .Not. Eof( ) If ( )
?? “姓名:”+姓名, “成绩:”+Str(成绩, 3, 0) Endif Skip Enddo Return
3.下面程序用于逐个显示teacher.Dbf 中职称为教授的数据记录,请填空。 Clear
Use Teacher
Do While .F. Eof( )
If 职称<>”教授”
Skip ( ) Endif Display
Wait “按任意键继续!” Skip Enddo Use Return
4.有学生表STUDENT.DBF,其中编号(N,2,0)字段的值从1 开始连续排列。以下程序欲按编号的1,9,17,25….的规律抽取学生参加比赛,并在屏幕上显示参赛学生的编号,请填空。 Clear
Use Student
Do While .Not. Eof( ) If Mod( ) ??编号 Endif Skip Enddo Use Clear Return
5.计算机等级考试的查分程序如下,请填空。 Use Student Index St
Accept “请出入准考证号:” To Num Seek ( ) If Found( )
?姓名,“成绩:”+Str(成绩, 3, 0) Else
? “没有此考生!” Endif Use Return 6.阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。
Input “请输入一个大于1 的自然数:” To N
K=0 && K值为0 表示输入的数是质数,为1 表示不是质数 J=2
Do While J ?( ③ )+“是质数” Else ? “No!” Endif Return 7.设共有5 个表文件STD1.DBF~STD5.DBF,下面程序的功能是删除每个表文件的末记录,请填空。 n=1 Do Whlie N<=5 M=Str(N, 1) Db=( ) Use &Db Goto Bottom Delete Pack N=N+1 Enddo Use Return 8 .下面程序的功能是根据销售文件SALE.DBF 中的数据去修改库存表文件INVENTRY.DBF 的数据,请对程序填空。 Select 1 Use Inventry Select 2 Use sale Do While( ① ) Select 1 Locate For 商品名=B->商品名 Replace 数量 With B->数量, 总金额 With 单价*数量 Select 2 ( ② ) Enddo Close Database Return 9.设有图书表TSH,包括字段(总编号、分类号、书名、作者、出版单位、单价);读者表DZH(借书证号、姓名、性别、单位、职称、地址);借阅表JY(借书证号、总编号、借阅日期、备注)。下面程序的功能是打印已借书读者的借书证号、姓名、单位以及借阅图书的书名、单价、借阅日期,请阅读程序并填空。 Select 1 Use dzh Index On 借书证号 To dshh Select 2 5 Use tsh Index On 总编号 To shh Select 3 Use jy Set Relation To 借书证号 Into A ( ① ) List ( ② ) To Print Close All Return 10.已知成绩表CHJ.DBF 含有学号、平时成绩、考试成绩、等级等字段,前三个字段已存有某班学生的数据。其中,平时成绩和考试成绩均填入了百分制成绩。请以平时成绩占20%、考试成绩占80%的比例确定等级并填入等级字段。等级评定办法是:90 分以上为优,75~89为良,60~74 为及格,60 分以下为不及格。 Use chj Do While ( ① ) Zhcj=平时成绩*0.2+考试成绩*0.8 Do Case Case ( ② ) dj=“优” Case ( ③ ) dj=“良” Case ( ④ ) dj=“及格” Otherwise ( ⑤ ) Endcase Replace 等级 ( ⑥ ) ( ⑦ ) Enddo List Use Return 11.下面程序从键盘输入10 个数,然后找出其中的最大值与最小值,最大值存放在变量 MAX 中,最小值存放在变量MIN 中,请完善程序。 Input To X MAX=X MIN=X I=1 Do While ( ① ) Input To X If ( ② ) MAX=X Endif If ( ③ ) MIN=X Endif I=I+1 Enddo ?MAX, MIN Return 12.完善以下程序,使它成为对任意一个表都可以追加、删除记录的通用程序。 Accept “请输入文件名:” To name Use ( ① ) ? “1. 追加记录” ? “2. 删除记录” Wait “请选择(1-2):” To M If ( ② ) Append Blank Edit Else Input “输入要删除的记录号:” To N ( ③ ) Delete Pack Endif Use Return 13.设有表文件“职工.DBF”(有字段:职工编号、姓名、民族)和“工资.DBF”(有字段:职工编号、工资),要在它们之间建立逻辑连接,然后为每个少数民族职工的工资增加200 元,最后显示全体职工的职工编号、姓名和工资,请对如下程序填空。 Select 1 Use 职工 ( ① ) To zgbh Select 2 Use 工资 Set Relation To ( ② ) Replace 工资 With( ③ ) For ( ④ ) List 职工编号,( ⑤ ),工资 Set Relation To Closed Data Return 14.设有“课程表.DBF”的内容如下: Record# 编号 课程名称 任课教师 学时数 类别 1 0001 计算机基础 李小军 30 必修 2 0003 数据库技术 刘燕玲 46 必修 3 0005 离散数学 周兰兰 36 必修 下面的程序是利用Gather 命令来修改表中的第二条记录,将课程名称改成“程序设计”任课教师改成“陈小华”,类别改成“选修”,其他字段内容不变。请将程序补充完整。 Use 课程表 Dimension ( ① ) K(1)=“程序设计” K(2)=“陈小华” K(3)=“选修” ( ② ) Gather ( ③ ) Close Database Return 15.以下程序先输入10 个学生的学号及其成绩,然后按成绩从大到小的顺序进行排序,最后按排序结果输出每个学生的名次、学号及其成绩。请将该程序补充完整。 Clear ( ① ) For I=1 To 10 Input “学号” To N(I) Input “成绩” To L(I) Endfor For I=1 To 9 For ( ② ) To 10 If L(I) ( ③ ) ( ④ ) ( ⑤ ) Endif endfor endfor ?“名次”,“学号”,“成绩” For I=1 To 10 ( ⑥ ) endfor Return 16.以下是一个评分统计程序。共有10 个评委打分,统计时,去掉一个最高分和一个最低分,其余8 个分数的平均值即为最后得分。程序最后应显示这个得分及最高分和最低分,显示精度为一位整数,2 位小数。程序如下,将程序补充完整。 Clear ( ① ) ?“输入10 个评委的打分:” For I=1 To 10 Input To X(I) Endfor ( ② ) For I=2 To 10 If MAX If ( ③ ) MIN=X(I) Endif Endif S=S+X(I) Endfor Avg=( ④ ) ?“平均分为:”,( ⑤ ) ?“最高分为:”,( ⑥ ) ?“最低分为:”,( ⑦ ) Return 四、程序设计题 1.试用主﹑子程序调用的方法,编写一个求100 之内所有素数的 程序。 2.编写一个用户自定义函数Sgn( ),当自变量为正整数时,返回1;当自变量为负数时,返回-1;当自变量为零时,返回0。 3.假定表abc.dbf 有三个字段10 条记录,试将abc.dbf 表中的第四条记录和第六条记录的内容互换。 4.设三个表结构和记录如下: 学生表stu.dbf 课程表kc.dbf 记录号 学号 姓名 记录号 课程号 课程名 1 93061 王小燕 1 C804 数据结构 2 93062 李丽 2 C803 数据库 3 93063 詹贵 3 C801 C 语言 4 93064 潘泰 4 C806 操作系统 5 93065 戚沙 5 C808 程序设计 学生选课表xk.dbf 记录号 学号 课程号 成绩 1 93061 C808 61 2 93061 C803 78 3 93062 C803 90 4 93062 C804 58 5 93062 C801 89 6 93063 C804 76 7 93063 C803 65 8 93064 C806 92 9 93064 C808 85 各字段属性规定如下: 学号:C,5;姓名:C,10;课程号:C,4;课程名:C,10;成绩:N,4,1。试编一程序kccx.prg,查找并显示指定课程的学生的学号、姓名、该课程的成绩。给定课程从键盘输入,直接回车时结束查询。例如,当从键盘输入课程名“数据库”时,应显示: 记录号 学号 姓名 成绩 2 93061 王小燕 78 3 93062 李丽 90 7 93063 詹贵 65 5.设已有某单位工资表gz.dbf,包括字段:职工号(C,6), 姓名(C, 6)基本工资(N,6),奖金(N,6),津贴(N,6),房租(N, 6),水电费(N,6),实发工资(N,6)。其中,职工号的前4 位是部门编码(1001~1005),共5 个部门。请编写程序prog.prg,其功能是找出各个部门中实发工资最高的记录,将 它们按部门编码顺序存放在与工资库gz.dbf 具备相同结构的表ggz.dbf 中,并在ggz.dbf 中增加一条空记录,把统计出的该单位的最高工资填入实发工资字段栏。 6.设作者表zz.dbf 有字段:书号、书名、作者名、出版日期;单价表dj.dbf 有字段:书号、单价、数量、出版社。编写程序prog.prg:先建立两表之间的关联,然后根据键盘输入的作者姓名列出该作者出版的左右书名、出版日期、单价、数量。如果没有此作者的书,则显示“表中没有XX 作者的书”(其中XX 应显示为输入的作者名)。 三、程序设计题(每题10分,共20分) 1、编写一个程序,计算1+2+3+„„100的奇数以及偶数和。 2.编写一个程序,让计算机随即产生一个1-999之间的数,然后从键盘输入一个数,如果输入的数比计算机产生的数小,计算机提示“小”的信息,如果所输入的数比计算机产生的数大,则计算机提示“大”的信息,直到猜中计算机所产生的随机数,并报告你所猜的总次数。 3.输出如下数(用两层循环): 1 3 5 7 2 4 6 8 3 5 7 9 4 6 8 10 4.一头公羊500元,一头母羊300元,三头小羊100元,现用10000元钱买100头羊,问能买多少头公羊、母羊和小羊?编程实现之。 5、将输入的20个数中的最大值和最小值输出。 6、从键盘输入一个数,若该数能被3或7整除,则输出该数。 7、在XS库中根据学号查找某一记录,如果该记录存在,则显示该记录的有关信息,否则显示“查无此人”。 ex(x0)2x7(0x5)8、求下列分段函数: 10x2(5x10)3x5(x10)9、键盘输入个数,比较这3个数的大小,并按从大到小的顺序输 出。 10、在CJ库文件中任意查找一位学生,根据其平均分判断该学生的学习情况。分数段100~90、90~75、75~60、60~0,分别用优、良、及格和不及格来表示。 11、编程计算行李托运费的程序,若行李不超过35公斤,每公斤 7 运费0.60元,若超过35公斤,则超过的部分每公斤按1.5元收费。 12、在CJ库文件中分别统计平均分在100~90、90~75、75~60、60~0分数段内的人数。 13、从键盘输入一个字符串,然后按组成字符串字符的倒序输出单个字符,在输出过程中如果遇到空格字符便停止输出。 14、向学生成绩数据库中输入空记录,直到该文件中的记录总数达到100为止。 15、假设有一张中够大的纸,厚度为0.0005CM,试编程计算,当对折多次后,其总厚度超过珠穆朗玛峰的高度(8848M) 16、在学生数据库中,当语文成绩和数学成绩都不低于60分时,显示姓名、“合格”,否则,显示姓名、“不合格”,最后统计并显示合格人数。 17、编写求解一元二次方程AX2+BX+C=0的根的程序,其中D=B2-4AC根据D大于、等于或小于零,分别输出议程的两个根或没有实根的信息。 程序练习二 1、从键盘上接受一位整数并存入内存变量X,正确的操作为( )。 A) WAIT TO X B) ACCEPT TO X C) INPUT TO X D) @1,20 GET X PICT '9' 2、在Visual Foxpro中,用于建立或修改过程文件的命令是( )。 A) MODIFY <文件名> B) MODIFY COMMAND <文件名> C) MODIFY PROCEDURE <文件名> D) 上面B和C都对 3、在下列命令中,不能输入字符型数据的命令是( )。 A) accept B) wait C) input D) @...say... (一)选择题 1 一般说来,VFP6.0系统具有结构化程序设计的( )种基本结构 A) 1 B) 2 C) 3 D) 4 2 SCAN循环语句是( )扫描式循环 A) 数组 B) 数据表 C) 内存变量 D) 程序 3 Visual Foxpro 6.0程序设计的三种基本结构是( )。 A) 顺序,选择,循环 B) 顺序,选择,逻辑 C) 模块,转移,循环 D) 网状,选择,逻辑 4、在 DO WHILE „ ENDDO循环结构中,LOOP命令的作用是( )。 A)退出过程,返回程序开始处 B) 转移到DO WHILE语句行,开始下一个判断和循环 C) 终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D)终止程序执行 5、在Visual FoxPro中,关于过程调用的叙述正确的是( )。 A)当实参的数量少于形参的数量时,多余的形参初值取逻辑假 B)当实参的数量多于形参的数量时,多余的实参被忽略 C)实参与形参的数量必须相等 D)上面A和B都正确 6、在程序中定义局部变量的命令动词是( )。 A) public B) private C) local D) declare 7、如果一个过程不包含RETURN语句,或者RETURN语句中没有指定表达式,那么该过程 A) 没有返回值 B) 返回0 C) 返回.T. D) 返回.F. 8、执行如下程序: STORE \" \" TO ANS DO WHILE .T. CLEAR @3,10 SAY \"1.添加 2.删除 3.修改 4.退出\" @5,15 SAY \"请输入选择:\" GET ANS READ IF TYPE(\"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) 返回命令窗口 D) 退出VFP 9、有程序如下 USE CJ M.ZF=0 SCAN M.ZF=M.ZF+ZF ENDSCAN ?M.ZF RETURN 其中数据库文件CJ.DBF中有2条记录,内容如下 XM ZF 1 李四 500.00 2 张三 600.00 运行该程序的结果应当是( )。 A) 1100.00 B) 1000.00 C) 1600.00 D) 1200.00 10、执行如下程序 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 如果输入值为5,则最后S的显示值是( )。 A) 1 B) 3 C) 5 D) 6 11、有关loop语句和exit语句的叙述正确的是( )。 A) loop和exit语句可以写在循环体的外面 B) loop语句的作用是把控制转到enddo语句 C) exit语名的作用是把控制转到enddo语句 D) loop和exit语句一般写在循环结构里面嵌套的分支结构中 12、有如下程序: INPUT TO A IF A=10 S=0 ENDIF S=1 ?S 假定从键盘输入的A的值一定是数值型,那么上面条件选择程序的执行结果是( )。 A) 0 B) 1 C) 由A的值决定 D) 程 序出错 8 (二)填空题 1、现有学生表xs.dbf,试用scan循环显示学生表中男生的情况 clear ____________ scan if ________ loop endif __________ endscan 2、请写出该程序的运行结果: SET TALK OFF DIMENSION A(6) FOR K=1 TO 6 A(K)=20-2*K ENDFOR K=5 DO WHILE K>=1 A(K)=A(K)-A(K+1) K=K-1 ENDDO ?A(1),A(3),A(5) SET TALK ON 运行结果:____________________ 3、请写出该程序段的执行结果: SET TALK OFF CLEAR FOR J=1 TO 4 ?STR(J,2)+\")\" FOR K=1 TO J ??STR(J*k,4) ENDFOR ENDFOR 运行结果:____________________ 4、请写出该程序段的执行结果: CLEAR t=0 FOR n=1 to 10 P=1 FOR I=1 to n p=p*I ENDFOR T=t+p ENDFOR ?’t=’,t return 运行结果:____________________ 5、请写出该程序段的执行结果: CLEAR store 0 to x,y DO WHILE x<=30 x=x+1 if MOD(x,5)<>0 LOOP ENDIF y=y+x ENDDO ?y 运行结果:____________________ 6、出该程序段的执行结果: CLEAR FOR m=3 to 100 step 2 n=INT(SQRT(m)) FOR i=3 to n IF MOD(m,i)=0 Exit ENDIF ENDFOR IF I>n ??m ENDIF ENDFOR 运行结果:____________________ 9 7、写出下列程序的运行结果: SET TALK ON CLEAR dime s(10) s(1)=1 s(2)=1 ?s(1),s(2) FOR i=3 to 10 s(i)=s(i-1)+s(i-2) ??s(i) ENDFOR SET TALK OFF 运行结果:____________________ 8、写出下列程序的运行结果: ddate=date() cdate=cdow(ddate) cdate=cdate+','+cmonth(ddate) cdate=cdate+space(2) cdate=cdate+ltrim(str(day(ddate),2)) cdate=cdate+',' cdate=cdate+str(year(ddate),4) ? \"Today is \"+cdate (假设当前系统日期为2004年1月1日) 运行结果:____________ 9、写出下列程序的运行结果: I=1 DO WHILE I<10 I=I+2 ENDO ?I 如下程序段的输出结果是____ ____。 9、有一个表文件BHSL.DBF,其内容如下:记录号 编号 数量 1 A1 10 2 A0 85 3 A2 67 4 A10 50 5 A12 65 写出下列程序的运行结果: SET TALK OFF USE BHSL SET ORDER TO TAG 编号 STORE 0 TO S LOCATE FOR 数量>10 DO WHILE .NOT.EOF() ??编号 IF SUBSTR(编号,2,1)=[1] S=S+数量 ENDIF CONTINUE ENDDO ?S USE 运行结果:________________ 10、有一分支程序为: IF S>100 DO P1.PRG ELSE IF S>10 DO P2.PRG ELSE IF S>1 DO P3.PRG ELSE DO P4.PRG ENDIF ENDIF ENDIF 分别写出执行P2,P3,P4子程序的条件表达式: DO P1.PRG 条件为:S>100 DO P2.PRG 条件为:____________ DO P3.PRG 条件为:__________ DO P4.PRG 条件为:____________ 10 因篇幅问题不能全部显示,请点此查看更多更全内容