vfp程序练习.doc

上传人:豆**** 文档编号:29934621 上传时间:2022-08-02 格式:DOC 页数:13 大小:109KB
返回 下载 相关 举报
vfp程序练习.doc_第1页
第1页 / 共13页
vfp程序练习.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《vfp程序练习.doc》由会员分享,可在线阅读,更多相关《vfp程序练习.doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、程序练习一一、单项选择题1组成Visual FoxPro 应用程序的基本结构是( )。A)顺序结构 分支结构和模块结构 B)顺序结构 分支结构和循环结构C)逻辑结构 物理结构和程序结构 D)分支结构 重复结构和模块结构2在Visual FoxPro 中,命令文件的扩展名是( )。A)TXT B)PRG C)DBF D)FMT3用于声明某变量为全局变量的命令是( )。A)With B)Private C)Public D)Parameters4能接受一位整数并存放到内存变量Y 中的正确命令是( )。A)Wait To Y B)Accept To Y C)Input To Y D)? Y5Visu

2、al FoxPro 中的Do Case Endcase 语句属于( )。A)顺序结构 B)循环结构 C)分支结构 D)模块结构6在“先判断再工作”的循环程序结构中,循环体执行的次数最少可以是( )。A)0 B)1 C)2 D)不确定7若将过程或函数放在过程文件中,可以在应用程序中使用( )命令打开过程文件。A)Set Procedure To 文件名B)Set Function To 文件名C)Set Program To 文件名 D)Set Routine To 文件名8在Visual FoxPro 程序中,注释行使用的符号是( )A)/ B)* C) D) 9Visual FoxPro 循

3、环结构设计中,在指定范围内扫描表文件,查找满足条件的记录并执行循环体中的操作命令, 应使用的循环语句是( )。A)For B)While C)Scan D)以上都可以10假设有如下程序:ClearUse GzDo While !Eof( )If 基本工资=800SkipLoopEndifDisplaySkipEnddoUseReturn该程序实现的功能是( )A)显示所有基本工资大于800 元的职工信息B)显示所有基本工资低于800 元的职工信息C)显示第一条基本工资大于800 元的职工信息D)显示第一条基本工资低于800 元的职工信息11执行下列程序:Store 0 To X, YDo Wh

4、ile X=1A( K )= A( K )- A( K+1 )K=K-1Enddo?A( 2 ) , A( 4 ) , A( 6 )Set Talk OnReturnA)12 15 18 B)18 12 15 C)18 15 12 D)15 18 1214Loop 语句不能出现在仅有( )语句的程序段中A)Do Enddo B)If Endif C)For Endfor D)Scan Endscan15程序如下:S=0I=1Do While Izf=0Do While .Not. Eof( )m-zf=m-zf+zfSkipEnddo?m-zfReturnA)800.00 B)500.00 C

5、)300.00 D)200.0017有如下Visual FoxPro 程序:*主程序zcx.prg *子程序 zcx1.prgClear k1=k1+500k1=25 Return?k1Do zcx1?k1Return用命令Do zcx 运行程序后, 屏幕显示的结果为( )。A)25 B)25 C)25 D)25500 525 25500 2518设表文件XSCJ.DBF 中有8000 条记录, 其文件结构是:姓名(C, 8), 成绩(N, 5, 1)。运行以下程序, 屏幕上将显示( )。Use XSCJJ=0Do While .Not. Eof( )J=J+成绩SkipEnddo?平均分:+

6、Str(J/8000, 5, 1)ReturnA)平均分:Xxx.X(X 代表数字) B)数据类型不匹配C)平均分:J/8000 D)字符串溢出19执行如下程序Store “ ” To ansDo While .T.Clear? “1.添加 2.删除 3.修改 4.退出”Accept “请输入选择: ” To ansIf Val(ans)=3 .And. Val(ans)0Prog=“Prog”+Ans+“.Prg”Do &ProgEndifQuitEnddoReturn如果在屏幕上显示 “请输入选择: ” 时, 输入4, 则系统将A)调用子程序PROG4.PRG B)调用子程序&PROG.P

7、RGC)返回Visual Foxpro 主窗口 D)返回操作系统状态20有如下Visual Foxpro 程序:*主程序:Z.PRG *子程序:Z1.PRGClear X2=X2+1Store 10 To X1, X2, X3 Do Z2X1=X1+1 X1=X1+1Do Z1 Return?X1+X2+X3 *子程序:Z2.PrgReturn X3=X3+1Return To Master执行命令Do Z 后, 屏幕显示的结果为( )A)33 B)32 C)31 D)3021下列程序的运行结果是( )。Store 0 To M, NDo While M10? “Ok1”Case X20? “

8、Ok2”Othewise? “Ok3”EndcaseA)“OK1” B)OK1 C)OK2 D)OK324设某程序中有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 主程序

9、25执行下列程序:ClearStore 1 To I, A, BDo While I11ExitEndifEnddo? “S=”+Str(S, 2)Return2写出下列程序运行结果。ClearStore 1 To S, I, JDo While I1S=S+J+IJ=J-5EnddoI=I+5Enddo? “S=”, SReturn3写出下列程序运行结果。ClearM=1Do While M4N=1?MDo While N=MTt=N+M?TtN=N+1Enddo?M=M+1EnddoReturn4有如下ABC.PRG 和XYZ.PRG 两个程序, 写出执行命令Do ABC 后的结果。*AB

10、C.PRGStore 10 To a, b, cDo xyz With a, a+b, 10?a, b, c?i, m, nReturn*XYZ.PRGPara x, y, zPublic i, mStore 5 To i, m, ni=x+yX=y+zy=m+n?x, y, zReturn5写出下列程序的运行结果。Store 0 To A, B, C, D, NDo While .T.N=N+5Do CaseCase N=100B=B+1ExitCase N=80C=C+1OtherD=D+1Endcasen=n+5Enddo?A, B, C, D, NReturn6有如下TEST.PRG

11、和SUB.PRG 两个程序, 写出执行命令Do ABC 后的结果。* TEST.PRGPublic aa=1c=3b=5Do SUB? “返回主程序:a, b, c, d=”, a, b, c, dReturn*SUB.PRGPrivate ca=a+161d=2c=4b=6? “过程中a, b, c, d=”, a, b, c, dReturn7阅读下列程序, 并给出运行结果。ClearStor 0 To X, Y, S1, S2, S3Do While X15X=X+1Do CaseCase Int(X/2)=X/2S1=S1+X/2Case Mod(X, 3)=0S2=S2+X/3Cas

12、e Int(X/2)X/2S3=S3+1EndcaseEnddo?S1, S2, S3Return8阅读下列程序, 并写出运行结果。ClearStore 1 To XStore 30 To YDo While X=YIf Int(X/2)X/2X=1+X2Y=Y+1ElseX=X+1EndifEnddo?X?YReturn9有下列两个程序,写出执行命令Do PROG1 后的运行结果。*PROG1.PRGX=“同学们”Y=“你们好!”?X+YDo SUBPRO?X, Y, ZReturn* SUBPRO.PRGPrivate XPublic ZX=100Y=200Z=300?X+Y+ZRetur

13、n10有以下3 个程序,写出执行命令Do TEST 后运行的结果。*TEST.PRGa=5b=6c=7Do SUBI?a1, b1, c1=, a, b, cDo SUB2 With a+b, c, 10?a2, b2, c2=, a, b, cReturn* *SUB1.PRGPrivate b, ca=21b=22c=23Return*SUB2.PRGParameter x, y, z?x, y, z=, x, y, zx=31y=32z=33Return11阅读下面两个程序,写出执行Do MAIN 命令后的运行结果。*MAIN.PRGX1=1X2=3Do P1 With X1, X2?

14、“X1=”+Str(X1, 1), “X2=”+Str(X2, 1)X1=2X2=4Do P1 With X1, X1+X2? “X1=”+Str(X1, 1), “X2=”+Str(X2, 1)Return*P1.PrgPara W1, W2W1=W1*2W2=W2*2Return12写出下面程序的运行结果。Dimension Y(3, 4)For I=1 To 3For J=I+1 To 4Y(I, J)=I+JEndforEndfor? Y(2+1), Y(2+2), Y(2+3)? Y(3, 2), Y(3, 3), Y(3, 4)Return13写出下面程序的运行结果。ClearDi

15、me X(3, 4)Store 1 To I, KDo While I=3J=1Do While J=4X(I, J)=K? X(I, J)K=K+5J=J+1EnddoI=I+1EnddoReturn14有如下两个程序,写出执行Do MAIN 命令的运行结果。*MAIN.PRGClear MemoryDime X(4, 3)I=1Do While I=3X(I+J)=X(I, J)EndifJ=J-1Return三、程序填空题1STD 好友表中含有字段:姓名(C,8),课程名(C,6),成绩(N,3,0),下面一段程序用于显示所有成绩及格的学生信息。ClearUse stdDo While

16、( )If 成绩=60? “姓名:”+姓名, “课程:”+课程名, “成绩:”+Str(成绩, 3, 0)Endif( )EnddoUseReturn2下面的程序功能是按姓名提供学生成绩的查询,请填空:Use stdAccept “请输入待查学生姓名:” To xmDo While .Not. Eof( )If ( )? “姓名:”+姓名, “成绩:”+Str(成绩, 3, 0)EndifSkipEnddoReturn3下面程序用于逐个显示teacher.Dbf 中职称为教授的数据记录,请填空。ClearUse TeacherDo While .F. Eof( )If 职称”教授”Skip(

17、)EndifDisplayWait “按任意键继续!”SkipEnddoUseReturn4有学生表STUDENT.DBF,其中编号(N,2,0)字段的值从1 开始连续排列。以下程序欲按编号的1,9,17,25.的规律抽取学生参加比赛,并在屏幕上显示参赛学生的编号,请填空。ClearUse StudentDo While .Not. Eof( )If Mod( )?编号EndifSkipEnddoUseClearReturn5计算机等级考试的查分程序如下,请填空。Use Student Index StAccept “请出入准考证号:” To NumSeek ( )If Found( )?姓名

18、,“成绩:”+Str(成绩, 3, 0)Else? “没有此考生!”EndifUseReturn6阅读下列判断一个自然数是否为质数的程序,并将程序填写完整。Input “请输入一个大于1 的自然数:” To NK=0 & K值为0 表示输入的数是质数,为1 表示不是质数J=2Do While JNIf Mod(N, J)( )( )LoopElseK=1ExitEndifEnddoIf K=0?( )+“是质数”Else? “No!”EndifReturn7设共有5 个表文件STD1.DBFSTD5.DBF,下面程序的功能是删除每个表文件的末记录,请填空。n=1Do Whlie N商品名Rep

19、lace 数量 With B-数量, 总金额 With 单价*数量Select 2( )EnddoClose DatabaseReturn9设有图书表TSH,包括字段(总编号、分类号、书名、作者、出版单位、单价);读者表DZH(借书证号、姓名、性别、单位、职称、地址);借阅表JY(借书证号、总编号、借阅日期、备注)。下面程序的功能是打印已借书读者的借书证号、姓名、单位以及借阅图书的书名、单价、借阅日期,请阅读程序并填空。Select 1Use dzhIndex On 借书证号 To dshhSelect 2Use tshIndex On 总编号 To shhSelect 3Use jySet

20、Relation To 借书证号 Into A( )List ( ) To PrintClose AllReturn10已知成绩表CHJ.DBF 含有学号、平时成绩、考试成绩、等级等字段,前三个字段已存有某班学生的数据。其中,平时成绩和考试成绩均填入了百分制成绩。请以平时成绩占20%、考试成绩占80%的比例确定等级并填入等级字段。等级评定办法是:90 分以上为优,7589为良,6074 为及格,60 分以下为不及格。Use chjDo While( )Zhcj=平时成绩*0.2+考试成绩*0.8Do CaseCase ( )dj=“优”Case ( )dj=“良”Case ( )dj=“及格”

21、Otherwise( )EndcaseReplace 等级 ( )( )EnddoListUseReturn11下面程序从键盘输入10 个数,然后找出其中的最大值与最小值,最大值存放在变量MAX 中,最小值存放在变量MIN 中,请完善程序。Input To XMAX=XMIN=XI=1Do While ( )Input To XIf ( )MAX=XEndifIf ( )MIN=XEndifI=I+1Enddo?MAX, MINReturn12完善以下程序,使它成为对任意一个表都可以追加、删除记录的通用程序。Accept “请输入文件名:” To nameUse ( )? “1. 追加记录”?

22、 “2. 删除记录”Wait “请选择(12):” To MIf ( )Append BlankEditElseInput “输入要删除的记录号:” To N( )DeletePackEndifUseReturn13设有表文件“职工.DBF”(有字段:职工编号、姓名、民族)和“工资.DBF”(有字段:职工编号、工资),要在它们之间建立逻辑连接,然后为每个少数民族职工的工资增加200 元,最后显示全体职工的职工编号、姓名和工资,请对如下程序填空。Select 1Use 职工( ) To zgbhSelect 2Use 工资Set Relation To ( )Replace 工资 With( )

23、 For ( )List 职工编号,( ),工资Set Relation ToClosed DataReturn14设有“课程表.DBF”的内容如下:Record# 编号 课程名称 任课教师 学时数 类别1 0001 计算机基础 李小军 30 必修2 0003 数据库技术 刘燕玲 46 必修3 0005 离散数学 周兰兰 36 必修下面的程序是利用Gather 命令来修改表中的第二条记录,将课程名称改成“程序设计”任课教师改成“陈小华”,类别改成“选修”,其他字段内容不变。请将程序补充完整。Use 课程表Dimension ( )K(1)=“程序设计”K(2)=“陈小华”K(3)=“选修”(

24、)Gather ( )Close DatabaseReturn15以下程序先输入10 个学生的学号及其成绩,然后按成绩从大到小的顺序进行排序,最后按排序结果输出每个学生的名次、学号及其成绩。请将该程序补充完整。Clear( )For I=1 To 10Input “学号” To N(I)Input “成绩” To L(I)EndforFor I=1 To 9For ( ) To 10If L(I)L(J)B=L(I)L(I)=L(J)L(J)=B( )( )( )Endif endforendfor?“名次”,“学号”,“成绩”For I=1 To 10( )endforReturn16以下是

25、一个评分统计程序。共有10 个评委打分,统计时,去掉一个最高分和一个最低分,其余8 个分数的平均值即为最后得分。程序最后应显示这个得分及最高分和最低分,显示精度为一位整数,2 位小数。程序如下,将程序补充完整。Clear( )?“输入10 个评委的打分:”For I=1 To 10Input To X(I)Endfor( )For I=2 To 10If MAXX(I)MAX=X(I)ElseIf ( )MIN=X(I)EndifEndifS=S+X(I)EndforAvg=( )?“平均分为:”,( )?“最高分为:”,( )?“最低分为:”,( )Return四、程序设计题1试用主子程序调

26、用的方法,编写一个求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 程序设

27、计学生选课表xk.dbf记录号 学号 课程号 成绩1 93061 C808 612 93061 C803 783 93062 C803 904 93062 C804 585 93062 C801 896 93063 C804 767 93063 C803 658 93064 C806 929 93064 C808 85各字段属性规定如下:学号:C,5;姓名:C,10;课程号:C,4;课程名:C,10;成绩:N,4,1。试编一程序kccx.prg,查找并显示指定课程的学生的学号、姓名、该课程的成绩。给定课程从键盘输入,直接回车时结束查询。例如,当从键盘输入课程名“数据库”时,应显示:记录号 学号

28、 姓名 成绩2 93061 王小燕 783 93062 李丽 907 93063 詹贵 655设已有某单位工资表gz.dbf,包括字段:职工号(C,6), 姓名(C, 6)基本工资(N,6),奖金(N,6),津贴(N,6),房租(N, 6),水电费(N,6),实发工资(N,6)。其中,职工号的前4 位是部门编码(10011005),共5 个部门。请编写程序prog.prg,其功能是找出各个部门中实发工资最高的记录,将它们按部门编码顺序存放在与工资库gz.dbf 具备相同结构的表ggz.dbf 中,并在ggz.dbf 中增加一条空记录,把统计出的该单位的最高工资填入实发工资字段栏。6设作者表zz

29、.dbf 有字段:书号、书名、作者名、出版日期;单价表dj.dbf 有字段:书号、单价、数量、出版社。编写程序prog.prg:先建立两表之间的关联,然后根据键盘输入的作者姓名列出该作者出版的左右书名、出版日期、单价、数量。如果没有此作者的书,则显示“表中没有XX 作者的书”(其中XX 应显示为输入的作者名)。三、程序设计题(每题10分,共20分)1、编写一个程序,计算1+2+3+100的奇数以及偶数和。 2编写一个程序,让计算机随即产生一个1-999之间的数,然后从键盘输入一个数,如果输入的数比计算机产生的数小,计算机提示“小”的信息,如果所输入的数比计算机产生的数大,则计算机提示“大”的信

30、息,直到猜中计算机所产生的随机数,并报告你所猜的总次数。3.输出如下数(用两层循环):135724683579468104.一头公羊500元,一头母羊300元,三头小羊100元,现用10000元钱买100头羊,问能买多少头公羊、母羊和小羊?编程实现之。5、将输入的20个数中的最大值和最小值输出。6、从键盘输入一个数,若该数能被3或7整除,则输出该数。7、在XS库中根据学号查找某一记录,如果该记录存在,则显示该记录的有关信息,否则显示“查无此人”。8、求下列分段函数:9、键盘输入个数,比较这3个数的大小,并按从大到小的顺序输出。10、在CJ库文件中任意查找一位学生,根据其平均分判断该学生的学习情

31、况。分数段10090、9075、7560、600,分别用优、良、及格和不及格来表示。11、编程计算行李托运费的程序,若行李不超过35公斤,每公斤运费0.60元,若超过35公斤,则超过的部分每公斤按1.5元收费。12、在CJ库文件中分别统计平均分在10090、9075、7560、600分数段内的人数。13、从键盘输入一个字符串,然后按组成字符串字符的倒序输出单个字符,在输出过程中如果遇到空格字符便停止输出。14、向学生成绩数据库中输入空记录,直到该文件中的记录总数达到100为止。15、假设有一张中够大的纸,厚度为0.0005CM,试编程计算,当对折多次后,其总厚度超过珠穆朗玛峰的高度(8848M

32、)16、在学生数据库中,当语文成绩和数学成绩都不低于60分时,显示姓名、“合格”,否则,显示姓名、“不合格”,最后统计并显示合格人数。17、编写求解一元二次方程AX2+BX+C=0的根的程序,其中D=B2-4AC根据D大于、等于或小于零,分别输出议程的两个根或没有实根的信息。程序练习二1、从键盘上接受一位整数并存入内存变量X,正确的操作为( )。A) WAIT TO X B) ACCEPT TO XC) INPUT TO X D) 1,20 GET X PICT 92、在Visual Foxpro中,用于建立或修改过程文件的命令是( )。A) MODIFY B) MODIFY COMMAND

33、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) 42 SCAN循环语句是( )扫描式循环A) 数组 B) 数据表 C) 内存变量 D) 程序3 Visual Foxpro 6.0程序设计的三种基本结构是( )。A) 顺序,选择,循环 B) 顺序,选择,逻辑C) 模块,转移,循环 D) 网状,选择,逻辑4、在 DO WHILE ENDDO循环结构中,L

34、OOP命令的作用是( )。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语句,或

35、者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.P

36、RGC) 返回命令窗口 D) 退出VFP9、有程序如下 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.0010、执行如下程序 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) 611、有关loop语句和exit语句的叙述正确的是( )。A) loop和exit语句可以写在循环体的外面B) loop语句的作用是把控制转到enddo语句C) exit语名的作用是把控制转到enddo语句D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com