的学生记录 use xs
locate for 专业=‖计算机‖ do while !eof( )
if found( ) disp endif continue enddo use
2) scan 循环—库文件扫描循环(p98)
命令格式: scan [<范围>] [for<条件>]
[命令序列 ]
endscan &&见p142 流程图与说明
功能:在scan循环中,当前打开的数据库文件的记录指针自动向下移动,依次对符合条件的记录进行操作,直到文件尾,eof( )的值为.t.为止,注意:scan循环中一般不用skip命令,否则指针移动两次
scan循环: 练习辅导书p130例4-53、p.150 例4-75
例1: 在循环中显示xsk.dbf的记录 ( 方法1 do 循环) (方法2 scan 循环)
use gz use gz do whil ! eof( ) scan disp disp wait ―* * * * *‖ wait ―* * * * *‖
skip endscan enddo use use
例2: 用 scan 循环统计zg.dbf中少数民族人数 use zg n=0
scan for 民族< > ―汉‖ n= n + 1 endscan
? ―少数民族人数为:‖ + str ( n , 3 )
scan循环: 练习p130例4-53、p.150 例4-75
四.控制循环中断与终止的命令: loop,exit(p.98)
命令格式:
do while<条件> 流程图 [命令序列 ] [ loop ]
[命令序列 ] [ exit ] [命令序列] enddo
说明: 程序运行时遇loop命令,不再执行loop后面语句,立即返回本层循环的开始处(do while 语句)判断条件,准备再次进入循环(或退出循环);若遇exit命令,则不执行exit后面语句,
立即无条件退出本层循环(终止循环)。
辅导书p116例4-35 阅读程序,写出程序输出的结果 clea
set talk off m=0
do while .t.
m=m+1 &&在loop前修改变量
if m/4 < >int( m / 4) loop
else &&可以不用else ?? m endif if m>12 exit endif enddo
set talk on
&&执行程序后 结果显示: 4 8 12 16
阅读程序 (p291-9) use gz.dbf
do while recno ( ) < 5 if 姓名 =‖李‖ skip loop endif
?姓名 , 奖金+ 50 skip enddo
五. 多重循环 (p98 循环结构的嵌套)
循环结构的嵌套(多重循环)是指在循环体内又包含一个循环语句(不能交叉),按其所处的位置分别称为外循环和内循环,有各自独立的循环控制变量,二重循环结构如下: do while <条件1>
do while <条件2> … enddo