在现实生活中许多问题需要进行重复处理。例如,计算一个班50个学生每人的平均成绩,在程序中重复写50次相同的程序段显然是不胜其烦的。这个时候可以用循环结构来处理需要重复处理的问题的。所以,循环结构又称为重复结构。
有两种循环:一种是无休止的循环,如的确围绕着太阳旋转,是永无休止的。另一种是有终止的循环,达到一定条件循环就结束了。计算机只处理有条件的循环,算法的特性是有效性和确定性和有穷性,如果程序永远不结束,是不正常的。
要构成一个有效的循环,应有指定的两个条件:(1)需要重复执行的操作,这称为循环体。(2)循环结束的条件,即在什么情况下停止重复的操作。
接下来简单介绍一下三个循环。
1.用while语句实现循环。
while语句一般形式为:
whlie(表达式)语句
看一下利用循环的例子。
求1+2+3+…+100的和。用while循环代码如下:
whlie循环的特点是:先判断表达式,后执行循环体(即内嵌语句)
2.用do…whlie 语句实现循环。
do…while语句一般形式为:
do
循环体语句
whlie(表达式);
求1+2+3+…+100的和。用do…while循环代码如下:
do…whlie语句的特点是先执行循环体,然后判断循环条件是否成立。
3.用for语句实现循环。
for语句的一般形式为:
for(表达式1;表达式2;表达式3;)语句
它的执行过程如下:
(1)先求解表达式1;
(2)先求解表达式2,若其值为真(值为非0),则执行for语句指定的内嵌语句,然后执行下面第(3)步。若为假(值为非0),则结束循环,转到第(5)步;
(3)先求解表达式3;
(4)转回第(2)步继续执行。
(5)循环结束,执行for语句下面的一个语句;
for语句最简单的应用形式也就是最易理解的如下形式:
for(循环变量赋初值;循环条件;循环变量增值)语句
例如:
for(i=1;i<=100;i++)sum=sum+i;
的执行过程和
whlie(i<=100)
{
sum=sum+i;
i++;
}
是完成一样的。显然,用for语句简单,方便。for循环语句功能丰富,使用灵活,方法多变。
4.for循环程序举例
人口增长预测。据2012年末统计,我国人口大约为13.54亿,如果人口的年增长率为1%,请计算到哪一年中国总人口超过15亿。
用for循环语句代码如下:
5.结束循环的语句。
在执行循环语句时,在正常情况下只要满足给定的循环条件,就应该一次一次的重复执行循环体,直到不满足给定的循环条件为止。但是有些情况下,需要提前结束循环。
1.用break语句提前退出循环。
break语句可以用来实现提前结束循环。
break语句一般形式为:
break;
2.用continue语句提前结束本次循环。
continue语句一般形式为:
continue;
其作用为结束本次循环,即跳过循环体中下面没有执行的语句,接着进行下一次是否执行的循环的判断。
6.三种循环的比较。
(1)三种循环都可以用来处理相同问题,一般情况下它们可以互相替代。
(2)在whlie循环和do…whlie循环中,只在whlie后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++或i=i+1等)。
for循环可以在表达式3中包含循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡是用whlie循环能完成的,用for循环都能实现。
(3)用whlie和do…whlie循环时,循环变量初始化的操作应在whlie和do…whlie语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。
(4)whlie循环,do…whlie循环和for循环,都可以用break语句跳出循环,用continue语句结束本次循环。