计算机等级考试复习资料2.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机等级考试复习资料2.pdf》由会员分享,可在线阅读,更多相关《计算机等级考试复习资料2.pdf(127页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机等级考试复习资料VFP常用编程命令及常用函数常用编程命令及常用函数注:在语法中如用方括号”括起来的词句,表示可以不用。常用命令假设(if.endif)循环(do while.enddo)分支(do dcasc)返回调用程序(return)开关命令执行状态(set talk on/ofT)赋值(store.to)调用表单(do form)启动事件处理(read events)结束程序(cancel)调用子程序(do)清除事件处理(clear events)常用函数数值转换字符(str()字符转换数值(val()取系统日期(date。)取天日(day。)取月份(month。)取年份(year
2、。)取整(intO)四舍五入(round。)删除标记(delete。)找到记录(found。)记录数(reccount。)记录号(recno()表结尾(eof()消除前导空格(ltrim()表开头(bof()消除后续空格(trim()假设语句根据一逻辑表达式的值,有条件的执行一组命令。语法:IF逻辑表达式THEN程序组1ELSE程序组2ENDIF参数:建 簿走赵太代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。备注:在if.endif之间还可以有if.endif,即该命令是可
3、以嵌套的。then可以有也可以没有,对程序没有影响。else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。i f与endif必须配对使用,即有一个i f必须有一个e n d if,否则程序会出错。举例:例1:假如分数字段的值大于等于9 0,则让等级字段的值为“优”,并显示该记录。程序如下:i f分数=90replace 等级 with优,displayendif例2:在数据库中可以把性别字段设为逻辑型,“真”代表“男”,“假”代表“女”,但显示时不能显示真、假,否则别人看不懂,而应显示男、女,因此我们设一变量x b,根据性别字段的具体值,将x b的值设为男
4、或女,然后在需要的时候显示xb的值即可。程序如卜.:i f性别xb=男 elsexb-endif其中第一句:i f 性别,表示“假如性别为真”的意思,不要写成“i f 性别=.t.”。以上程序也可以写成如下形式,效果相同:if.not.性别x b*elsexb=Wendif即,假如性别不为真的话,xb的值就为女,否则为男。循环语句(do while.enddo)根据条件重复执行组程序。语法:DO WHILE l E xpressi onC omma n dsLO O P E XI T ENDDO参数:l E xpressi on为一逻辑表达式,其值如果是“真,即执行c omma n ds程序组
5、,如果表达的值为 假”,则跳过该段程序组,执行enddo后面的语句。C omma n ds当表达式E xpressi on值为真时所要执行的程序组。L O O P此 为 do while.enddo命令的一个子句,它可以放在c omma n ds程序组中间的任何地方,当程序一旦执行到该子句时,则返回do while重新执行。此子句根据需要可以有,也可以没有。E XI T与 loop一样 是 do while.enddo命令的一个子句,它可以放在c omma n ds程序组中间的任何地方,当程序一旦执行到该子句时,则跳出循环,执行enddo后面的语句。此子句根据需要可以有,也可以没有。备注:程序
6、一旦执行到do w hile语句,如 果 E xpressi on的值为真,则执行c omma n ds程序组,该程序组执行完后,就到enddo语句,enddo会将程序返回do w hile再次验证l E xpressi on是否为真,如仍是,则乂,次执 行c omma n ds,如此循环往复,直 到l E xpressi on为假,或遇上ex it语句。该语句可以嵌套,即循环中还可以有循环。do w hile与enddo必须配对使用,即有一个do w hile必须有一个enddo否则程序会出错。举例:例1:在数据库中不断将记录指针往下移,直到数据库结尾。程序如下:do while.not.e
7、of()skipenddo例2:在上面的例子加入此功能,当遇到性别字段为“女”时,跳出循环。程序如下:do while.not.eoR)i f性别日女exitendifskipenddo例3:不断将记录指针往下移,当遇到数量字段的值大于等于600时退出循环,如遇到值小于400的,将其值乘2,然后再检验一次是否大于6 0 0,如是则退出循环。程序如下:do while 数量 600i f数量 400replace 数量 with 数量*2loopendifskipenddo分支语句(do dcasc)根据不同的条件执行不同的程序组。语法:DO CASECASE逻辑表达式1程序组1CASE逻辑表达
8、式2程序组2CASE逻辑表达式程序组nOTHERWISE程序组01ENDCASE参数:CASE逻辑表达式程序组.当程序执行到do case时,便检验第一个case的逻辑表达式(逻辑表达式/)是否为真,如不为真,接着检验第二个case的逻辑表达式,以此类推直到谡摩表送式。当检测到第一个为真的逻辑表达式时,便执行跟随在其后面的程序组,执行完后跳过后面所有的case,接着执行endcase后面的语句,也就是说即使后面还有为真的逻辑表达式也不执行了。如果所有case后面的逻辑表达式都为假,则执行otherwise后面的程序组(如果有的话,otherwise及其程序组是可以没有的,如果没有则什么都不做,
9、直接执行endcase以后的程序)备注:在do case和endcase之间可以有任意多个case。do case和cndcasc必须配对使用,即 有 个do case必 须 有 个cndcase,否则程序会出错。举例:如果工资在200元以下,增加50%;300元以下,增加30%;500元以下,增加20%;其它增加10%。程序如下:do casecase 工资 v=200replace 工资 with 工资*1.5case 工资v=300replace L 资 with 工资*1.3case 工资v=500replace 一 匚 资 with 工资*1.2otherwisereplace.匚
10、资 with 工资*1.1endcase在这里要注意一个问题,不能把300元 的ease放在200元之前,否 则 个100元的,按理应加5 0%,但当遇到小于300元 的case时,其逻辑表达式为真(小于200元的肯定小于300元),因此就会执行后面的程序,加3 0%,并且执行完后,就不再执行其它的case 了,这样就产生了错误的结果,所以应按从小到大的顺序来排列。赋值语句(store.to)将一个数据赋给一个变量。语法:STORE表达式T O变量名表参数:走赵一式的值即为要赋给变量的数据。变膏名表W为要被赋值的各变量。在这里可以是一个变量,也可以是多个变量,如果有多个变量,其间用,”(逗号)
11、隔开。备注:如果是给个变量赋值,该语句可写成如下形式:变量名=表达式表达式可以是一个数值,也可以是一个算术式。举例:例 1:将 3 赋给ab、xyz、jfz三个变量,程序如F:store 3 to ab,xyz,jfz例 2:将变量g z的值加10()赋给y短z。程序如下:yfgz=gz+100调用表单语句运行一个由表单设计器设计的表单文件。该文件是经编译过的。语法:DO FORM 表单文件名NAME变量名LINKED参数表图文岸名即是要运行的由表单设计器设计的表单文件名称。支鬓名为调用该表单所用的变量名称,做为表单,不能直接用这的名称去调用它,必须将其赋给一个变量,然后用这个变量来调用它。如
12、果您不会在这个表单之外调用它,也可以不要这个变量。在程序中产生的所有变量在程序运行结束后将被释放,即这些变量不再存在,因此也就无法继续调用这些变更,如果为了调试程序需要在程序运行结束后在命令窗口中调用这个表单,必须加上linked子句。举例:在程序中调用xy7表单,并将赋给一个变量lucky,程序如下:do form xy7 name lucky调用子程序语句(do)运行一个VFP程序。当我们要在一个程序中调用另一个程序(子程序)时使用此命令。语法:DO程序名参数:瘗旅名即为被调用的程序名称。备注:如被调用的程序的扩展名是“prg”,调用时可不用带扩展名,否则要带上扩展名。举例:有一个程序,名
13、称为xy7.prg,调用它的程序如下:do xy7返回调用程序语句(return)返回调用本程序(该语句所在程序)的程序。前面讲过调用子程序的语句,从一个程序A 调用另一个程序B 后,系统便开始执行B 程序中的语句,到一定时候往往要从程序B 返|同程序A,便可使用该语句。语法:RETURN备注:程序A 调用程序B,当从B 返回A 后,系统接着执行调用语句(dob)卜.面的一条语句。举例:程序a.prg如下:do while.not.cof()i f 工资 100do bendifskipenddo程序b.prg如下:replace工 资 w ith工资*1.5&将工资增加50%display&
14、显示出该记录,这样可以将所有增加了工资的记录显示出来return首先执行程序a.prg,当程序执行到do b 语句时,便转去执行程序b.prg,在程序b 中执行到return语句时,又返回程序a,并接着执行d o b 的下一条语句endif o启动事件处理语句(read events)启动VFP的事件处理程序。语法:READ EVENTS备注:当该命令执行后,系统即停止继续执行后续的语句,这时我们可以调用之前所启动的菜单、表单等对象,并用这些对象的事件程序去完成相应的任务,直到发出clear events命令,系统才接着执行read events后面的命令语句。可能初学者看了上面的内容还不是很
15、清楚,不要紧,我们在后面课程中会进一步讲解。清除事件处理语句(clear events)终止由read events语句启动的事件处理程序。语法:clear events备注:发出该命令后,系统将继续执行read events之后的语句。开关命令执行状态语句(set talk on/off)确定是否显示VFP命令执行的状态。语法:SET TALK ON|OFF参数:O N显示VFP命令执行的状态。O FF不显示VFP命令执行的状态。备注:使用时,on、o ff二者之中必须选择一个。很多VFP命令执行后,会显示执行后的结果状态,如locate fo r命令执行,如找到记录的会显示被找到的记录号,
16、否则会显示“已到文件尾“,但般我们在程序中是不需要这些显示的,比如找到了记录就直接显示出来,没找到一般用一个对话框来给出更清楚的提示,所以在程序一开始往往要将set talk关闭。结束程序语句(cancel)结束当前正在运行的所有程序,返回VFP或操作系统。语法:cancel备注:数值转换字符函数(str()返回与指定数值表达式对应的字符。语法:str(教弦表送丸 长久小数位数返回值的类型字符型参数:数值表达式:要被转换为字符的数值表达式。长度:转换后字符的长度。该长度等于小数点和小数点右边第个数字所占字符的数目总和。如果指定长度大于所需长度,自动在前面加空格补齐。如果指定长度小于所需长度,返
17、回一串星(*)号,表示数值溢出。如省略长度,则默认长度为10。小数位数:指定返回字符串中的小数位数。如指定位数小于实际位数,则返回值四舍五入。如指定位数大于实际位数,则加0补齐。如省略小数位数,默认为0。在指定了小数位数的情况下,如指定长度(第二个参数)小于总长度,但大于整数长度,则返回对小数部分做了四舍五入的字符。备注:返回后的值看起来还是数的形式,但它的数据类型已经变了,不再是一个数值,也就是不能再用来做加、减、乘、除的算术运算,但可以和字符进行加减。比如:?季度+1就会出错,因为个字符是不能和个数值相加的。写成如下形式就可以了:?季度+str(l,l)结果是:季度1注意,这里一定要指定长
18、度,否则由于默认长度是1 0,就会出现如下结果:季度 1假如不知道数值有几位数怎么办呢?请参见ltrim()函数。字符转换数值函数(val()将数字组成的字符表达式转换成数字值。语法:字符表达中返回值的类型数值型参数:字符表达式:要被转换为数值的字符表达式。该表达式由最多16位的数字组成,若超过16位,则对其圆整。备注:val()函数从左到右返回字符表达式中的数字,直到遇到非数值型字符(忽略前面的空格)时为止。若字符表达式的第一个字符不是数字,也不是正、负号,则返回0。举例:a=123如果按下面的写法,就会出错,因为一个字符不能与一个数值相加:?a+3写成如卜形式便可以了:?val(a)+3结
19、果是126o取系统日期函数(date。)返回由操作系统控制的当前系统日期。语法:date()返回值的类型日期型取年份函数(year。)从指定的日期表达式中返回年份。语法:year(日期表达式)返回值的类型数值型参数:日期走赵工G指定的日期表达式,该函数即是返回其年份值。举例:?year(date()如果当前的系统日期是1999年2月5日,则显示的结果为1999。取月份函数(month。)从指定的日期表达式中返回月份。语法:month(日期表达式)返回值的类型数值型参数:厅购关送式:指定的日期表达式,该函数即是返回其月份值。举例:?month(date()如果当前的系统日期是1999年2月5日,
20、则显示的结果为2。取天日函数(day。)以数值型返回日期表达式是当月的第几天。语法day(日期表达式)返回值的类型数值型参数:日期麦米式:指定的日期表达式,该函数返回该日期是当月的第几天。举例:?day(datc()如果当前的系统日期是1999年2月5日,则显示的结果为5。取整函数(int()返回数值表达式值的整数部分。语法:冰(数值表达式)返回值的类型数值型参数:魏 成 趣 式:指定的数值表达式,该函数返回其整数部分。举例:?int(123.47)结果是123o四舍五入函数(round。)对指定表达式进行四舍五入运算,并把结果返回。语法:round(教澹隆送式,小数位数)返回值的类型数值型参
21、数:数值表达式,指定的数值表达式,该函数返回其四舍五入后的值。小初.数:保留的小数位数。举例:?int(123.457,2)结果是123.46 o删除标记函数(delete。)确定当前记录是否一做删除标记,若一做删除标记,返回真(.),否则返回假(.)。语法:delele(表 切%Z作 出返回值的类型:逻辑型参数:表别名 工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区去检测另一工作区的表的记录是否做了删除标记,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工作区只选一个。记录号函数(recno()返回当前表或指定表中的
22、当前记录号。语法:tecno汽表别名 工作区返回值的类型:数值型参数:表别名 工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区去得到另一工作区的表的当前记录号,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工作区只选一个。记录数函数(reccount。)返回当前表或指定表中的记录数目o语法:reccount(表 掰 Z作国)返回值的类型:数值型参数:发别名工作区、该参数指定所要确定的表的别名或所在工作区,即您可以在个工作区去得到另工作区的表的记录数,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作
23、区,如有该参数的话,别名或工作区只选个。找到记录函数(found。)如果locate continue seek等查找记录的命令成功(即找到了记录),该函数返回“真”(t),否则返回“假”(.)。语法:found(表物名)_77作区|)返回值的类型:逻辑型参数:关切名1 上作便:该参数指定所要确定的表的别名或所在工作区,即您可以在个工作区知道另一个工作区上次查找记录是否找到,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工作区只选一个。举例:locate fb r姓名士庄稼,?found()如找到记录,显示结果为.,否则为.。表结尾函数(eo
24、f()确定记录指针是否在表的结尾处。语法:eof(表别名工作区D返回值的类型:逻辑型参数:表别名 工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区知道另一个工作区表的指针是否在尾部,而另工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工作区只选一个。备*上:这里所说的结尾处,并非是指最后一个记录,而是最后一个记录的后面,即没有记录。举例:go bottomskip?eofO显示结果为t。如果没有sk ip,仅仅走到最后一个记录,返回的将是而必须再往下跳一下才会是“真”结尾。此时如输入命令:display,则没有记录显示。这一点与
25、bof()函数不同。表开头函数(bof()确定记录指针是否在表的开头。语法:bof(表 别 名 作 区)返回值的类型:逻辑型参数:表别符工作区:该参数指定所要确定的表的别名或所在工作区,即您可以在一个工作区知道另一个工作区表的指针是否在开头,而另一工作区的表可用其别名或工作区号来指定。该参数如省略,隐含为当前工作区,如有该参数的话,别名或工作区只选一个。备注:这里所说的开头,并非是指第一个记录,而是第一个记录的前面。举例:go topskip-1?bof()显示结果为t。如果没有Skip-1,仅仅走到第一个记录,返回的将是而必须再往上跳一下才会是“真”开头。但与eof()函数不同,此时如输入命
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机等级考试 复习资料
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内