循环三要素:
循环变量初始化语句、循环的执行条件、有时循环趋于结束的语句。
一、goto语句
(1).与if语句一起构成循环结构
(2).从循环体中跳转到循环体外。
一般情况下不提倡使用。
二、while语句。
1.whlie(表达式)语句
先判断条件,结果为真执行循环体,为假跳出循环。
2.do.....while语句
一般形式为:
do
循环体
while(表达式);
先执行一次循环体然后进行判断,结果为真返回循环体继续执行,为假则跳出循环。
注:while(表达式)语句,表达式后不加分号。因为其先进行判断,所以可能一次也不执行循环体。
do....while语句,表达式后要加分号。因为其先执行循环体,再进行判断,所以至少要进行一个循环,至少执行一次。
三、for语句
一般形式:
for(表达式1;表达式2;表达式3)语句
先求解表达式1,只进行一次。
表达式2为逻辑判断,结果为真则执行循环,一次循环完成之后执行表达式3,为假则跳出循环。
表达式3执行完成之后再次判断表达式2,结果为真则继续进行循环并执行表达式3,结果为假跳出循环。
注:(1)从本质上来看,表达式1为循环体的初始化语句,表达式2为循环的执行条件,表达式3为循环趋于结束使用的语句。
(2)for语句中表达式1可以省略,此时应该在for语句之前对变量进行初始化,省略表达式1的时候后面的分号不能省略。如 for(;i <= 100;i++)
(3)表达式2不能省略,如果省略,即不判断循环条件,循环无终止进行下去,则执行条件始终为真。
(4)表达式3也可以省略,但需要在循环体里面写出保证循环趋于结束的语句,即将表达式3移动到循环体内。
(5)如果表达式1和3同时省略,即只给出循环的执行条件,此时的for语句相当于while语句。
如果三者都省略,此时for(; ;)语句相当于while(1)语句。无终止的执行。
(6)表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号隔开。
例题:
1.输出100以内能被三整除的数
2.输入两个年份,判断两个年份之间的闰年个数
3.输出三位数中的水仙花数。
4.输入一个数,判断是否为回文数。(回文数:倒着读和正着读一样)
四、循环嵌套
一个循环体内包含另一个完整的循环结构,称为循环的嵌套,内嵌的循环中还可以嵌套循环,这激就是多层循环。
三种循环可以互相嵌套,嵌套一般不超过五个。
例如,输出10000以内的回文数
四、break语句与continue语句
用 break语句可以使流程跳出switch结构 ,继续执行switch语句下面的一个语句。还可以用来从循环体内跳出循环体, 即提前结束循环,接着执行循环下面的语句。 又被称为循环断路。
continue语句其作用为结束本次循环, 即跳过循环体中下面尚未执行的语句 ,接着进行下一次是否
执行循环的判定。又被称为循环短路。
对于for循环,遇见continue语句,会直接执行语句3。
对于while语句,则会死循环。
continue语句和break语句的区别是 :continue语句只结束本次循环 ,而不是终止整个循环的执行。而 break语句则是结束整个循环过程 ,不再判断执行循环的条件是否成立。
例如,输出100以内的素数。