循环结构+控制语句

(1)Repeat..until循环是先执行一次循环,只要until表达式为false,程序就继续执行,直到不满足表达式。

 1 var
 2   i: Integer;
 3 begin
 4     i:= 0;
 5     repeat
 6       Inc(i);
 7       i:= i+1;
 8     until (i>10);
 9     Edit1.Text := IntToStr(i);
10 end;

(2)while..do循环是先判断while后的布尔表达式在执行。当条件表达式为true,则执行循环体,false则退出循环。

 1 var
 2   i,j: Integer;
 3 begin
 4     i:= 0;
 5     j:= 0;
 6     while i<= 100 do
 7     begin
 8       j:= j+i;
 9       i:= i+1;
10     end;
11     Edit1.Text:= IntToStr(j);
12 end;

(3)for..to..do循环首先为循环变量赋予一个初值和一个终值,循环变量可以是任意合法标识符,循环一次初值+1,直到不满足条件退出循环。for..down..do反之。

 1 var
 2   i,j,h: Integer;
 3 begin
 4     j:= 0;
 5     for i:= 0 to 100 do
 6     begin
 7       j:= j+i;
 8     end;
 9     Edit1.Text:= IntToStr(j);//结果5050
10     h:= 0;
11     j:= 0;
12     for h:= 100 downto 0 do
13     begin
14       j:= j+h;
15     end;
16     Edit2.Text:= IntToStr(j);//结果5050
17 end;

(1)Break:用于强制跳出循环,当一个循环没有达到循环结束条件并要结束循环时可以使用。结束当前循环体。

(2)Continue:用于结束本次循环,即强制结束本次循环,开始下一次循环。当前循环体依然正常运行。

(3)Exit:主要用于退出当前代码块,如果是在程序块中,则跳到上一层代码块中,如果是主程序,则结束程序运行。Exit之前的程序会执行,之后不会。

(4)Halt:用于强制中止程序的执行,并返回到操作系统。

1 begin
2     if MessageDlg('确定退出系统吗?',mtInformation,[mbyes,mbno],0)= mryes then
3     begin
4       Halt;
5     end;
6 end;

(5)RunError:用于终止程序运行并产生一个运行期错误,错误号的最高值为255.

1 begin
2     RunError(200);
3 end;

(6):Abort:终止程序运行,产生一个特殊的 “无记载异常”(EAbort).此异常与其他异常相同,只是不显示错误信息。想想好像并没有什么用处

(6)goto:可以从程序的一个地方跳到另外一个地方,从结构化的角度来讲,不建议使用。不利于调试管理。

 1 label AA;
 2 var
 3   sum,i: Integer;
 4 begin
 5     sum:= 0;
 6     i:= 0;
 7     AA://标签处,注意标签使用分号
 8     sum:= sum+i;
 9     i:= i+1;
10     if i<= 100 then
11       goto AA;//如果i不满足条件,则将标签直接跳转到使用标签的位置
12         edit1.Text:= IntToStr(sum);
13 end;
原文地址:https://www.cnblogs.com/fansizhe/p/12636538.html