VFP阶段试题四.docx
《VFP阶段试题四.docx》由会员分享,可在线阅读,更多相关《VFP阶段试题四.docx(17页珍藏版)》请在冰豆网上搜索。
![VFP阶段试题四.docx](https://file1.bdocx.com/fileroot1/2023-3/28/e0c538b4-adde-4047-9589-014174cea471/e0c538b4-adde-4047-9589-014174cea4711.gif)
VFP阶段试题四
VFP阶段练习四(程序设计基础)
一.判断
1.VFP程序控制结构有顺序,分支,循环等3种
2.用户在调用过程文件中的过程或函数时必须先使用SetProcTo<过程文件>命令打开过程文件
3.命令文件只能使用ModifyCommand命令创建和编辑
4.主程序和子程序之间的数据传递只能使用参数传递方法
5.VFP命令窗口中创建的内存变量的作用域必然为Public
6.Local类型的变量仅在当前程序及当前程序的子程序中可被访问
7.可以把多个过程或函数放在同一个过程文件中以减少磁盘访问,从而提高执行速度
8.自定义函数可以通过”=函数(参数)”形式和”Do函数With参数”两种形式调用
9.数组既可以按分量依次赋值,也可以按整体赋值
10.若程序中对文件进行覆盖时不显示提示,则应使用命令SetSafetyOn
二.单项选择
1.下列说法中正确的是()
A)VFP程序文件是一个以.EXE为扩展名的文件
B)程序文件中每条命令都以回车键结束
C)程序文件中一行能写多条命令
D)当一行命令需要分行书写时,应在一行末尾键入续行符&&
2.用于建立,修改,运行VFP程序文件的命令依次为()
A)Create,Modify,Do
B)ModifyCommand,ModifyCommand,Run
C)CreateCommand,ModifyCommand,Do
D)ModifyCommand,ModifyCommand,Do
3.执行程序文件的命令是
A)Do<文件名>B)Use<文件名>
C)Begin<文件名>D)Run<文件名>
4.在VFP中,命令文件的扩展名是
A)TxtB)PRG
C)DBFD)FPT
5.在VFP中用于建立和修改过程文件的命令是
A)Modify<文件名>B)ModifyCommand<文件名>
C)ModifyProcedure<文件名>D)B)和C)都对
6.当程序文件被执行时,执行( )命令后,程序将终止运行,并清除所有的私有变量,返回命令窗口
A)CancelB)Do
C)ReturnD)Quit
7.设内存变量pw是数值型,要从键盘输入数据给pw赋值,应使用命令
A)InputtopwB)Waittopw
C)AccepttopwD)以上均可
8.已知有以下命令序列
X=2
StoreX+1ToY
Input“请输入X+Y”ToZ
?
Z
执行时从键盘输入的是x*y,则屏幕上显示的是
A)x*yB)x+y
C)6D)5
9.如果要中止一个正在运行的VFP程序并返回命令窗口,应当按__键
A)F1B)Ctrl+Alt+Del
C)ESCD)Ctrl+Break
10.简单分支语句是
A)Case…EndCaseB)Do…Enddo
C)If…EndifD)Scan…EndScan
11.有如下的IF语句
IFx>0
Y=1
Else
Ifx=0
Y=0
Else
Y=-1
Endif
Endif
在下列命令中,与这个IF语句等效的是
A)Y=IIF(X>0,1,IIF(x=0,-1,0))B)Y=IIF(x=0,0,IIF(x>0,1,-1))
C)Y=IIF(x<0,IIF(x>0,1,0)D)Y=IIF(x>0,IIF(x<0,-1,0),1)
12.在永真条件DoWhile.T.的循环中,为退出循环可以使用
A)LoopB)EXIT
C)CloseD)Quit
13.在”先判断后工作”的循环程序结构中,循环体执行的次数最少可以为
A)0B)1
C)2D)无法确定
14.一个过程文件最多可以包含128个过程,每个过程的第一条语句是
A)ParameterB)Do<过程名>
C)<过程名>D)Procedure<过程名>
15.过程文件的默认扩展名为
A)PrgB)Fox
C)DbtD)Txt
16..以下不是循环结构的语句结构有
A)Scan---EndScanB)DoCase---EndCase
C)Do---EndDoD)For---Next
17.以下关于自定义函数的叙述中正确的是
A)自定义函数的调用应使用Do函数名With参数格式
B)自定义函数的最后结束语句可以是Return和Retry
C)自定义函数的Return语句必须返回一个值,这个值作为函数返回值
D)调用时,自定义函数名后的括号中一定要写形式参数
18.下面___调用不能嵌套
A)子程序B)过程
C)函数D)所有上述
19.下列关于VFP函数的叙述中不正确的是
A)函数分为系统预定义的标准函数和用户自定义的函数两类
B)函数定义中的Return语句用于返回函数结果值
C)函数可以作为一条语句来使用
D)对于不带参数的函数,在调用时,函数名后括号不可缺少
20.下列关于参数传递的说法中错误的是
A)使用函数形式的调用默认参数传递是值传递
B)使用Do命令的调用形式中,若实参是内存变量,则为地址传递
C)使用Do命令的调用中若实参是常量或表达式,则为值传递
D)值传递只能用于过程中,地址传递只能用于子程序中
21.*如果要指定默认的盘和文件夹,应使用()命令进行设置。
A)SETSYSTEM
B)SETDEFAULT
C)SETDELETED
D)SETSAFETY
22.执行下列命令序列,屏幕显示()。
SETTALKOFF
B=6
A=B='7'
?
A
A).F.B)6
C)'7'D)错误提示信息
23.执行下列程序段后,屏幕上显示的结果为:
()
settalkoff
clear
x=”15”
y=”2E3”
z=”ABC”
?
VAL(x)+VAL(y)+VAL(z)
A)2015.00B)15.00
C)17.00D)错误信息.
24.用于声明本程序建立的所有内存变量都是私有变量应使用命令
A)PrivateAllB)PublicAll
C)StorePrivateToAllD)LocalAll
25.用于将一个表的若干行复制到数组a可以使用命令
A)CopyToArrayaB)AppendFromArraya
C)GatherFromaD)ScatterToa
26.已知当前表有10条记录,执行以下命令序列
GoTop
CopytoArrayaFields姓名,学号Next4
则数组a的元素数有__个
A)2B)4
C)6D)8
27.数组元素建立后的初值是____
A)0B)空串
C).T.D).F.
28.在For---EndFor循环结构中,如省略步长则系统默认步长为____
A)0B)-1
C)1D)2
29.在屏幕特定位置输入变量值应使用
A)@x,ySay变量名…ReadB)@x,yGet变量名…Read
C)@x,yRead变量名…GetD)@x,yRead变量名…Say
30.要使用数组更新当前表的当前记录,应使用命令
A)Scatterto<数组名>B)Dimension<数组名>
C)AppendFrom<数组名>D)GatherFrom<数组名>
三.多项选择
1.以下关于循环的叙述中正确的有
A)循环语句的入口语句与出口语句必须成对出现
B)循环处理可以为空,从而构成空循环
C)For,While,Scan三类循环语句各有分工,不能互相转换
D)循环体内语句可以有循环,分支等结构
2.以下关于子程序的叙述中正确的有
A)一个主程序可以调用任意多个子程序
B)一个子程序可调用其它的子程序
C)主程序可调用子程序,子程序则不能调用其它的子程序
D)子程序调用只能使用Do命令
3.以下可关闭过程文件的命令有
A)ReleaseProcedure<过程>B)SetProcedureto
C)CloseProcedureD)Closeall
4.以下关于实参和形参的关系叙述中正确的有
A)实参个数与形参的个数必须相同
B)实参个数可少于形参的个数
C)实参个数可多于形参的个数
D)若实参个数少于形参个数,则缺少的参数值为.F.
5.以下关于参数传递方式的叙述中正确的有
A)按值传递时,子程序中对参数的改变不会影响实参值
B)按地址传递时,子程序中对参数的改变不会影响实参值
C)Do命令中With后实参默认为按地址传递
D)在按函数形式的调用中,地址传递必须对参数使用@运算
6.以下关于三个输入语句的说法中正确的扔
A)Input语句和Accept语句执行时必须以回车结束输入
B)Wait语句和Accept语句只能用于输入字符型数据
C)Wait语句可忽略To子句,而Input和Accept则不能
D)只有Input语句才可以为数值型变量赋值
7.以下关于命令文件的叙述中正确的有
A)命令文件是纯ASCII文件,因而可以用记事本等编辑器编辑
B)命令文件中必须存在Return语句
C)命令文件的扩展名默认为.PRG,但也可以是其它扩展名
D)命令文件的书写一般使用按层缩进以提高可读性
8.下列关于修改程序文件的说法中正确的是
A)从”文件”菜单中选择”打开”命令,弹出”打开”对话框”,选择命令文件
B)从项目管理器中选程序,再单击”打开”按钮
C)使用命令ModifyCommand<文件名>
D)打开记事本,文件保存时扩展名命名为.PRG
9.以下关于Accept命令说法中正确的有
A)Accept命令格式是:
Accept[字符表达式]To<内存变量>
B)该命令只接收字符串,但是用户在输入字符串时,必须要加上定界符
C)如果不输入任何内容直接按回车键,系统就会把空串峓指定的内存变量
D)如果选用<字符表达式>,那么系统就会首先显示该表达式值,作为提示信息
10.Wait,Accept和Input三条输入命令中,必须要以回车键表示输入结束的命令是
A)WaitB)Input
C)AcceptD)Read
11.从键盘上接受一个字母并存入内存变量x,下列语句中正确的有
A)WaittoxB)AcceptTox
C)InputtoxD)@10,10Getx-----Read
12.结构化程序设计的基本的程序结构有
A)选择结构B)循环结构
C)循环结构D)模块结构
13.下列关于多重分支结构DOCase的叙述中错误的有
A)当有多个逻辑表达式的值为真,执行最后的逻辑表达式为真的Case后程序段
B)当有多个逻辑表达式的值为真,仅执行第一个逻辑为真的Case后程序段
C)当有多个逻辑表达式的值为真,将依次执行所有逻辑为真的Case后程序段
D)当有多个逻辑表达式的值为真,将无法执行而出现逻辑错误
14.下列关于参数传递的叙述中正确的有
A)参数接收时与发送的顺序必须相同
B)接收参数的个数不能少于发送参数的个数
C)接收参数的个数必须与发送参数的个数相同
D)接收参数和发送参数都可以是表达式
15.下列关于SCAN循环结构的叙述中错误的有
A)SCAN循环结构中的LOOP语句,可将程序直接指向循环开始语句SCAN,且记录指针重新指向首记录,判断EOF()函数的逻辑真假
B)在使用Scan循环结构时,必须打开某一个数据表
C)SCAN循环结构的循环体必须有SKIP语句以移动记录指针
D)SCAN循环结构,如果省略扫描条件,则直接会退出循环
16.以下结构中可以使用Loop和Exit语句的程序结构
A)Scan---EndScanB)DoWhile---EndDo
C)DoCase---EndCaseD)For---EndFor
17.下列关于For循环结构的叙述中正确的有
A)对于For循环结构,循环的次数是可知的
B)For循环结构中,可以使用Exit和Loop语句改变程序执行逻辑
C)For循环结构中,不能人为地修改循环控制变量,否则会导致循环次数出错
D)For循环结构中可以使用Endfor或Next结束
18.下列关于Loop语句和Exit语句的叙述中正确的有
A)Loop和Exit都必须写在循环体的内部
B)Loop语句的作用是跳到下次循环开始
C)Exit语句的作用是退出循环结构
D)Loop和Exit语句一般写在循环嵌套的分支结构中
19.下列关于嵌套的叙述中正确的有
A)循环体内可以包含分支语句B)循环语句可以嵌套在分支结构中
C)嵌套只能一层D)正确的嵌套中不能交叉
20.下列关于过程调用叙述正确的有
A)使用命令Do调用过程时,过程所在过程文件无需打开
B)用命令”Do过程In<过程文件>”调用过程时可以自动打开过程文件
C)同一时刻只能打开一个过程,打开新的过程旧的过程自动关闭
D)打开过程文件时,其中的主过程自动被调用执行
四.填空
1.程序是能够完成一定任务的___________的有序集合,这组__________被存放在称为__________的文本文件中
2.在VFP中建立或编辑程序文件的命令是__________________,命令文件的扩展名是_____
3.在程序中可以插入注释,以_______或_____开头的代码行为注释行,命令行后也可添加注释,这类注释以符号______开头
4.在文本编辑窗口中编辑完程序后,可以选择”文件”菜单中的”保存”命令将程序保存,也可以按_________键保存程序
5.使用Input命令输入数据,在输入字符串时必须要_________.
6.当有几个Case条件成立,_____________Case条件的对应命令序列被执行
7.在循环体,当执行到___________命令时,就结束循环的本次执行,而转到下次循环开始判断,当执行到__________命令时,就结束循环,执行Enddo后面的语句
8.在所有程序中均可访问的变量的称___________,只能被本程序及其子程序中访问的变量称_____________,只能在本程序中被访问,不能被更高或更低调用层中访问的变量称______________.
五.读程
(一)运行结果
1.SETTALKOFF
CLEAR
STORE0TOB
FORA=0TO10
IFMOD(A,2)=0
B=B+1
ENDIF
ENDFOR
?
A,B
SETTALKON
2.SETTALKON
PUBLICK2
K1="AB"
DOZCX1
?
K1,K2
RETURN
PROCEDUREZCX1
K1="CD"
K2=K1+"200"
RETURN
ENDPROC
3.STORE1TOA1,A3
STORE2TOA2,A4
A4=FAC(A1,A2,A3)
?
A4
FUNCTIONFAC
PARAMETERA,B,C
D=B*B-4*A*C
DOCASE
CASED<0
D=-1
CASED>0
D=1
ENDCASE
RETURND
ENDFUNC
4.SETTALKOFF
CLEAR
S="87654321"
I=1
DOWHILEI<5
?
?
SUBSTR(S,5-I,1)
I=I+1
ENDDO
SETTALKON
5.SETTALKOFF
A=3
B=5
A=A+B
B=A+B
?
A+B,A+B
SETTALKON
6.SETTALKON
PUBLICK2
K1="AB"
DOZCX1
?
K1,K2
RETURN
PROCEDUREZCX1
PRIVATEK1
K1="CD"
K2=K1+"200"
RETURN
ENDPROC
7.有下面程序:
SETTALKOFF
INPUTTOA
IFA=10
B=0
ENDIF
B=1
?
B
SETTALKON
假定从键盘输入的A值一定是数值型的,那么执行以上程序的结果是
8.I=1
dowhileI<=5
?
?
Space(5-I)
j=1
DoWhileJ<=I
?
?
Str(j,1)
j=j+1
Enddoj
?
I=I+1
Enddo
9.ForI=-3to3
?
Space(3+abs(i))
Forj=1to8-abs(i)*2
?
?
Str(I,1)
Endforj
NextI
10.x=’咸鸡蛋’
y=’’
I=Len(x)
DoWhileI>=1
Y=y+SubStr(x,I-1,2)
I=I-2
Enddo
?
y
Return
(二)程序填空
1.下列程序用来求0-100之间的偶数之和,请将它写完整:
STORE0toN,S
DOWHILE.T.
IFN>100
______
Else
S=S+N
ENDIF
___________
ENDDO
2.下面程序的功能是输出如下图形
l00
020
003
SETTALKOFF
CLEAR
DIMENSIONA(3,3)
A=0
FORI=1TO3
A(I,I)=I
ENDFOR
FORI=1TO3
FORJ=1TO3
?
?
______________________
ENDFOR
?
ENDFOR
SETTALKON
3.以下程序的作用是求两个数最小公倍数,请填空:
settalkoff
clear
input"a="toa
input"b="tob
k=a*b
dowhilek>=a
ifmod(k,a)=0________
x=k
endif
__________
enddo
?
“两数的最小公倍数是:
”,____________
settalkon
return
4.下列程序段用来求0~100之间的偶数之和,请将它写完整:
N=0
S=0
DOWHILEN<=100
N=N+1
IFN%2=1
__________
ELSE
S=S+N
ENDIF
ENDDO
5.下列程序是用来求长方形的面积,请将它写完整:
X=3
Y=5
S=AREA(X,Y)
?
S
FUNCTIONAREA
_________________
S1=X*Y
RETURN____________________
6.下列程序用于计算S=1+2+….+100
Clear
____________________
I=1
Dowhile_________________
S=s+I
________________
Enddo
?
”S=”,s
7.下列程序的功能是显示以下由*组成的图形
******
******
******
******
Clear
I=1
DowhileI<5
?
?
Space(i)
____________________
DoWhilej<=6
?
?
’*’
_____________
Enddoj
I=I+1
EnddoI
8.逐个输出Stud表中的所有男生姓名(一行输出5个)
Select0
UseStud
I=1
Dowhile.Not.Eof()
If性别=’女’
______________________
______________________
Endif
?
?
姓名+Space(4)
________________________
if_______________
?
Enif
I=I+1
Enddo
Closedata
9.以下程序是对输入数据求绝对值的程序
Input“输入一个数:
”tox
?
Str(x)+’的绝对值是’+Str(ab(x))
Return
FunctionAb
___________________
Ify>=0
Y=y
Else
__________________
Endif
______________________
10.以下程序用于判断用户输入的年月的天数
Input“输入待查年份:
”toy
Input“输入待查月份:
”tom
DoCase
Case_________________________
D=31
Casem=4orm=6orm=9orm=11
_______________________
Casem=2
IF____________________________________
D=29
Else
D=28
Endif
Endcase
?
Str(y,4)+’年’+Str(m,2)+”月的天数为:
”+Str(d,2)
六.编程
1.编程计算s=1+2+3+……+100
2.已知Fib数列1,1,2,3,5,…具有以下性质:
除第1,2项为1外,其余各项为前两项数据之和.现要求编程对输入的任意k(k>4),求出不大于k的数据项,并指出是第几项
3.已知水仙花数定义如下,每位数字的立方和正好等于该数值本身,编程输出所有3位水仙花数
4.编程输出1到100间的所有素数
5.设m,n为两个自然数,并且n>=m,m,n的值由用户输入编写程序计算组合
6.编程求1~100间的孪生素数对.孪生素数对是指其值相差2的一对素数,如5和7,11和13等
7.利用公式
求π的近似值,要求算到最后一项的绝对值小于10