您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VFP >> 辅导 >> 正文    
  辅导:vfp循环结构 【注册男护士专用博客】          

辅导:vfp循环结构

www.nanhushi.com     佚名   不详 

  循环结构:前面我们学习的顺序结构和选择结构有一个共同点,即程序语句不能重复执行.而在实际应用中,常常需要多次重复执行某些语句.这样的需求适合于用循环语句来处理.在vfp中,提供了3种循环语句:do while循环、for循环及scan循环.
  1.while循环:
  格式:
  do while 条件
  语句序列
  [loop]
  [exit]
  enddo
  说明:
  (1).\"do while 条件\"是循环说明语句,它标志循环的开始,并判断循环条件是否为真值;当条件为真值时,则执行语句序列;否则跳到enddo后面的语句继续执行.
  (2).do while和enddo之间的语句序列也被称作循环体,是需要多次重复执行的语句,由它完成规定的数据处理工作.
  (3).循环语句中的可选项exit,用于退出循环语句,可放在循环体语句的任意位置上.若在循环体中加上该可选项,当执行exit时,跳出循环体去执行enddo后面的语句.通常,exit是在条件语句控制下,当条件得到满足时便跳出循环;否则永远不能执行exit后面的循环体语句.
  (4).可选项loop,是循环短路语句,也可以放在循环体语句的任意位置上.当执行loop时,其后的循环体语句部分不予执行,直接返回到循环起始语句.loop也通常放在条件语句的控制下.
  (5).enddo和do while必须成对出现.
  例:将\"职工档案\"表中所有职称是\"讲师\"的工资加200元,副教授加150元,无职称的加100元.
  首先,我们修改一下\"职工档案\"表的结构,为其增加一个\"工资\"字段:
  在命令窗口依次执行如下命令:
  use 职工档案
  modify structure
  弹出\"表设计器\"窗口,添加一个新字段:工资 N6.1,单击\"确定\",保存更改.
  再执行browse命令,在弹出的browse窗口中为每条记录的\"工资\"填上值,
  新建一个程序文件xiugai.prg,程序文件的内容如下:
  clear
  use 职工档案
  do while .not.eof()
  do case
  case 职称=\"讲师\"
  replace 工资 with 工资+200
  case 职称=\"副教授\"
  replace 工资 with 工资+150
  case 职称=\"无\"
  replace 工资 with 工资+100
  endcase
  skip
  enddo
  use
  return
  程序分析:循环程序由以下4个主要部分构成:
  A.循环的工作部分.它完成循环的主要工作,是循环体的主要部分.这里由do case---endcase组成.
  B.循环的修改部分.它保证循环体在循环过程中,有关的量能按一定的规律变化.这里的循环修改部分是skip语句,用来实现依次操作文件的各条记录.
  C.循环的控制部分.它保证循环体语句按规定的循环次数正常执行.此例中的循环控制部分是.not.eof()逻辑表达式,它表示做完所有记录的操作.
  D.循环的初始部分.它是循环控制初值.本程序中循环控制初值是隐含的,因为打开文件后,记录指针指向首记录,所以操作是从首记录开始的.


  2.for循环:在已知循环次数的情况下,使用for循环比较方便
  格式:
  for 变量=初值 to 变量终值 [step]步长
  语句序列
  [exit]
  [loop]
  endfor|next
  功能:
  在循环控制变量的初值和终值的范围内执行循环语句,每执行一次循环,循环控制变量都要加上增量.当其值在规定范围内时就再次执行循环体语句序列,否则结束循环,执行循环终止语句下面的语句.跳出循环和循环短路语句exit和loop意义同前.
  具体执行步骤:
  (1).给变量赋初值;
  (2).判断变量的值是否小于等于终值;
  (3).若不是,则循环结束;
  (4).若是,则执行语句序列;
  (5).变量=变量+步长(若省略step,则步长=1);
  (6).转(2).
  例:在屏幕上输出乘法口诀表
  程序文件内容如下:
  ?\"九九乘法表\"
  ?
  for i=1 to 9
  for j=1 to i
  ??alltrim(str(i))+\"*\"+alltrim(str(j))+\"=\"+alltrim(str(i*j))+\" \"
  next
  ?
  next
  3.scan循环:
  格式:
  scan [范围][for 条件]
  语句序列
  endscan
  功能:
  对表中指定范围,满足条件的记录执行循环体语句,每执行一次循环,记录指针自动移动到下一条记录.操作表时,使用该语句功能强,效率高.
  例:使用scan语句编程,显示\"职工档案\"表中的女教师的姓名和职称.
  use 职工档案
  scan for .not.性别
  display 姓名,性别
  endscan
  use
  return

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。