1.goto 语句以及用 goto语句构成循环
goto语句为无条件转向语句,他的一般形式为:
goto语句标号;
语句标号用标识符表示,它的定名规则与变量名相同,即由字母、数字和下划线组成,其第一个字符必须为字母或下划线,不能为数字,不能用整数来做标号。
goto语句与if语句一起构成循环语句。
其中的 i =1,称为循环变量初始化; i <= 100;称为循环的执行条件; ++i,称为是循环趋于结束的语句。
2. while 语句
while 语句用来实现“当型”循环结构,其一般形式如下:
while(表达式) 语句
当表达式为非0时,执行while语句中的内嵌语句,其特点时:先判断表达式,再执行语句。
注:while语句中也应该有循环变量初始化、循环的执行条件和使循环趋于结束的语句。
循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现如果不加花括号,则 while语句的范围只到while后面第一个分号处。
while(表达式)后面不可以加“;”,加了封号程序会陷入死循环。
3.do......while语句
do......while语句的一般表达式为:
do
循环体语句
while(表达式); 其特点为:先执行循环体,再判断循环条件是否成立。
注:do......while语句中,while(表达式)后面的“;”绝对不能少。,
do......while语句中也应该有循环变量初始化、循环的执行条件和使循环趋于结束的语句。
4.for语句
for语句的一般表达式为:
for(表达式1;表达式2;表达式3)语句
它的执行过程如下:
(1)先求解表达式1。
(2)求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步。
(3)求解表达式3。
(4)转回上面第(2)步骤继续执行。
(5)循环结束,执行for语句下面的一个语句。
说明:
(1)for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。注意,省略表达式1时,其后的分号不能省略。
(2)如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。
(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。
(4)可以省略表达式1和表达式3,只有表达式2,即只给循环条件。
(5)三个表达式都可省略;相当于无终止的执行循环体。
(6)表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。 表达式1和表达式3可以是一个简单的表达式,也可以是遵号表达式,即包含一个以上的简单表达式,中间用逗号间隔。
(7)表达式一般是关系表达式(如i<=100)或逻辑表达式(如a<b&&x<y),但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。
(8)for(表达式1;表达式2;表达式3)后面不能加分号。
求水仙花数
5.循环的嵌套
6.几种循环的比较
(1)4种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用 goto 型循环。
(2)在while循环和do…while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i十十,或i-i+1等)。for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for 循环都能实现。
(3)用while和do…while循环时,循环变量初始化的操作应在while和do…while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。
(4)while循环、do…while 循环和 for 循环,可以用 break语句跳出循环,用 continue语句结束本次循环(break语句和continue语句见6.8节)。而对用goto语句和if语句构成的循环,不能用 break语句和continue 语句进行控制。
7.break语句和continue 语句
1.break语句
break语句可以用来从循环体内跳出循环体,即提前结束循环。
break 语句不可以用于循环语句和switch语句之外的其它任何语句中。
2.continue语句
一般形式为 :
continue ;
其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
continue语句和break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。