循环次数已知时,可以用for语句实现循环结构。
for语句有两种格式:递增型和递减型。
(1)递增型for语句格式
for<循环变量>:=<初值>to<终值>do<语句>;
(2)递减型for语句格式 ,
for<循环变量>:=<初值>downto<终值>do<语句>;
其中,“循环变量"为一个有序类型的数据,
在第一种形式中,使用的是保留字to,循环变量则从“初值"开始逐一增加到“终值";
在第二种形式中,使用的是保留字downto,“循环变量"则从“初值"开始逐一递减到“终值",每次执行一次循环体语句。
下面继续改写上述求1~1 O之和的程序代码如下:
var i,s:integer;
begin
s:=0;
for i:=1 to 10 do
s:=s+i;
end;
1.递增型FOR循环。
FOR 循环控制变量:=循环初值 TO 循环终值 DO 循环的语句(或语段)
例: FOR I:=5 TO 10 DO WRITELN (I);
输出的结果为: 5 6 7 8 9 10 即循环一共执行了6次
如果要重复多个语句,一定要用BEGIN-END形式:
例:
FOR I:=1 TO 10 DO
BEGIN
WRITELN (I);
WRITELN (10-I);
END;
2.递减型FOR循环
FOR 循环控制变量:=循环初值 DOWNTO 循环终值 DO 循环语句
递减型FOR循环与递增型FOR循环基本相同,只是循环控制变量每次递减。
3.FOR循环的几点注意内容:
(1)循环控制变量必须是顺序类型的变量。所谓顺序类型的变量,就是指整型,字符型,枚举型,子界型,不允许是实型。
(2)不允许在循环体内再对循环控制变量赋值。
例如:
A:=10;B:=50;
FOR K:=A TO B DO
BEGIN
K:=K+1;{这一句是错误的!!!!!!!!}
WRITELN (K);
END;
(3)当循环初值或循环终值中包含变量时,允许在循环体内改变这些变量的值,但并不改变原定的循环次数。
例:
A:=1;B:=10;
FOR I:=A TO B DO
BEGIN
A:=5;B:=4;
END;
在上面例子中,A,B的值在循环的内部发生了变化,但并不影响循环的次数,依然是10次。
4.多重循环 循环体由PASCAL语句构成,当然也可以包含FOR语句,这就构成了循环的嵌套,形成多重循环。
例如,以下FOR循环输出5行,每行输出10个星号(*)
FOR i:=1 to 5 DO
BEGIN
FOR j:=1 TO 10 DO
Write('*');
END;
FOR 循环控制变量:=循环初值 TO 循环终值 DO 循环的语句(或语段)
FOR 循环控制变量:=循环初值 DOWNTO 循环终值 DO 循环语句
递减型FOR循环与递增型FOR循环基本相同,只是循环控制变量每次递减。
(1)循环控制变量必须是顺序类型的变量。所谓顺序类型的变量,就是指整型,字符型,枚举型,子界型,不允许是实型。
(2)不允许在循环体内再对循环控制变量赋值。
(3)当循环初值或循环终值中包含变量时,允许在循环体内改变这些变量的值,但并不改变原定的循环次数。
4.多重循环 循环体由PASCAL语句构成,当然也可以包含FOR语句,这就构成了循环的嵌套,形成多重循环。
for循环在已知循环次数的情况下使用。常用于累加,累乘,累除的地方。