- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
⒉ 多路选择分支结构 格式:DO CASE CASE 条件表达式1 语句系列1 [ CASE 条件表达式2 语句系列2 … CASE 条件表达式 n 语句系列n ] [ OTHERWISE 语句系列 n+1 ] ENDCASE * ⒉ 多路选择分支结构 功能:依次判断条件表达式I (I=1,2,3,……,n),当值为真时执行对应的 语句系列I;当所有条件表达式 的值均为假时,则执行OTHERWISE下面的 语句系列N+1,如果没有OTHERWISE项,也不会有出错信息,程序会自动执行ENDCASE下面的语句。 【例7.7】统计计算指定学生的平均成绩,并根据该成绩输出对应的评价等级。 * 7.4.3 循环结构 循环结构是指根据问题的需要任意次地重复执行一行或多行语句 。在VFP中有三种循环语句: DO WHILE … ENDDO SCAN … ENDSCAN FOR … ENDFOR * 7.4.3 循环结构 ⒈ DO WHILE…ENDDO 格式: DO WHILE 条件表达式 语句序列 [ EXIT ] [ LOOP ] ENDDO 功能: 当 条件表达式 的值为真时,重复执行语句序列 ,直到 条件表达式 的值为假时结束。 * ⒈ DO WHILE…ENDDO 任选项说明 EXIT--结束当前循环操作,跳到ENDDO后面的语句。 LOOP--跳过LOOP后面的语句,直接回到循环起始语句DO WHILE。 注: 在语句序列中,还可以出现IF语句或CASE语句或WHILE 语句--WHILE语句的嵌套。 * ⒈ DO WHILE…ENDDO ① 循环次数已知的情况 格式: J=初值 DO WHILE J=M 语句序列 J=J+1 ENDDO 功能:已知循环次数为M、循环变量J递增计数。当J=M的值为真时,重复执行DO WHILE…ENDDO之间的语句,直到J=M的值为假(即JM)时结束循环操作。 * 求1+2+3……+10的和值。 程序代码如下: SET TALK Off CLEAR S=0 J=1 DO WHJLE J=10 S=S+J J=J+1 ENDDO ?1+2+3+...+10=, S SET TALK ON * ⒈ DO WHILE…ENDDO ②循环次数不确定的情况 格式: DO WHILE .T. 语句序列 IF 条件表达式 EXIT ENDIF ENDDO 功能:循环条件永远为真,只有满足IF语句的 条件表达式 时,才结束循环。 例子。 * ⒈ DO WHILE…ENDDO ③对表文件记录逐条进行操作 格式1:DO WHILE .NOT. EOF() 语句序列 SKIP ENDDO 格式2:DO WHILE .NOT. BOF() 语句序列 SKIP -1 ENDDO 功能:对当前打开的表文件中的记录自上而下(或自下而上)逐条进行操作。 * 显示输出“学生.dbf”表中有奖学金男生的学号、姓名、奖学金。假设表指针从上到下移动。 SET TALK Off CLEAR USE 学生 DO WHILE !EOF() IF 性别=.T. AND 奖学金0 ? “ “,学号, 姓名, 奖学金 ENDIF SKIP ENDDO USE SET TALK ON * ⒉ SCAN…ENDSCAN 格式:SCAN [ 范围] [ FOR条件表达式 ] 语句序列 [ EXIT ] [ LOOP] ENDSCAN 功能:对当前打开的表文件在指定范围,满足条件的记录中进行自上而下逐个扫描操作,随着记录指针的移动,SCAN循环对指定的每条记录执行相同的 语句系列 操作。 * ⒉ SCAN…ENDSCAN 【例7.12】 显示输出“学生.dbf”表中有奖学金女生的姓名和奖学金。 SET TALK OFF CLE
文档评论(0)