首页 百科知识 分支结构程序设计

分支结构程序设计

时间:2022-10-21 百科知识 版权反馈
【摘要】:②ELSE子句是可选项。当ELSE子句缺省时,如果<条件表达式>条件不成立,那么该命令将不执行任何语句,直接执行ENDIF后面的命令。ENDIF语句最多只能判断两种情况,即二分支。ENDIF语句块,即在命令组1处或命令组2处再插入IF…ENDIF语句,这种方法虽然可行,但结构不是很清晰。

7.2.3 分支结构程序设计

条件分支根据条件的测试结果执行不同的操作,VFP中有两条命令实现条件分支:

IF…ELSE…ENDIF

DO CASE…ENDCASE

一、IF…ELSE…ENDIF语句

命令格式:

IF条件表达式

命令组1

ENDIF

IF条件表达式

命令组1

ELSE

命令组2

ENDIF

命令功能:

该语句指定当条件表达式结果为.T.或.F.时,程序执行语句的顺序。若含有ELSE子句,则条件表达式结果为.T.时,执行命令组1,否则执行命令组2;若不含有ELSE子句,则条件表达式结果为.T.时,执行命令组1,否则执行ENDIF后面的语句。

命令说明:

①<条件表达式>参数是一个关系表达式或逻辑表达式。

②ELSE子句是可选项。当ELSE子句缺省时,如果<条件表达式>条件不成立,那么该命令将不执行任何语句,直接执行ENDIF后面的命令。

③IF和ENDIF必须配对使用。

④IF…ELSE…ENDIF语句可以嵌套使用。也就是说,在IF语句中又包含了另外的IF语句。

IF…ENDIF的流程图如图7-1所示,IF…ELSE…ENDIF的流程图如图7-2所示。

img224

图7-1 IF…ENDIF语句流程图

img225

图7-2 IF…ELSE…ENDIF语句流程图

例如,判定cj表中的学生某门课的成绩是否及格的程序段:

IF cj>=60

  ?"该门成绩及格"

ELSE

  ?"该门成绩不及格"

ENDIF

再如,根据变量X的正负符号情况决定变量Y的值为1还是-1:

IF X>0

  Y=1

ELSE

  Y=-1

ENDIF

IF…ELSE…ENDIF语句最多只能判断两种情况,即二分支。若要判断多于两种可能的情况,有两种方法可以实现:一是在IF…ELSE…ENDIF语句中嵌套IF…ELSE…ENDIF语句块,即在命令组1处或命令组2处再插入IF…ELSE…ENDIF语句,这种方法虽然可行,但结构不是很清晰。第二种方法就是使用下面的DO CASE…ENDCASE语句结构。

二、DO CASE…ENDCASE语句

命令格式:

DO CASE

CASE条件表达式1

  命令组1

[CASE条件表达式2

  命令组2

CASE条件表达式n

  命令组n]

[OTHERWISE

  其他命令组]

ENDCASE

命令功能:

该命令用于依次判断给定的条件表达式是否成立,如果条件表达式1成立,那么执行命令组1,然后执行ENDCASE后面的其它语句;如果条件表达式1不成立,条件表达式2成立,那么执行命令组2,然后执行ENDCASE后面的其它语句;依此类推,直到判断条件表达式n;如果条件表达式1至条件表达式n均不成立,并且存在OTHERWISE子句,那么将无条件地执行语句序列n+1。

命令说明:

①<条件表达式>是一个关系表达式或逻辑表达式。

②DO CASE与第一个CASE之间不能有任何语句。

③DO CASE和ENDCASE必须配对使用。

④DO CASE…ENDCASE语句可以嵌套使用。

DO CASE…ENDCASE语句流程图如图7-3所示。

img226

图7-3 DO CASE…ENDCASE语句流程图

例如,对cj表中的学生成绩进行分类的程序段:

DO CASE

CASE cj>=60 AND cj<70

  ?“该门成绩及格”

CASE cj>=70 AND cj<85

  ?“该门成绩良好”

CASE cj>=85

  ?“该门成绩优秀”

ENDCASE

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈