循环结构又叫重复结构,主要用来处理在日常生活中或是在程序中常常遇到的重复处理的问题。C语言是结构化的语言,要用结构化的思想来编程。C语言三大结构:循环结构,选择结构,顺序结构等。
1、用while语句实现循环: 用while语句的一般形式如下: while(表达式) 语句 其中“语句”就是循环体。 【注】:其中循环体只能是一个语句,可以是一个简单语句,也可以是一个复合语句(用花括号括起来的语句)。 “表达式”也称循环条件表达式,是来控制循环体执行的次数。如果表达式为“真”,就执行循环体;为“假”,就不执行循环体。 用while语句可简单的记为:只要当循环条件表达式为“真”,就执行循环体语句。 【注】:while循环的特点是:先判断,后执行! 具体用法,如图所示:
用do…..while语句实现循环: do…..while循环语句的一般形式: do 语句 while(表达式); 其中:语句就是循环体。 do…..while的执行过程是:先执行循环体,再检查判断条件是否成立,若成立,再执行循环体。 【注】:do…..while和while循环语句的区别,一个是至少执行一次,一个是可以一次也不执行。
用for语句实现循环: for语句的一般形式为: for( 表达式1;表达式2;表达式3) 语句 三个表达式的主要作用是: 表达式1:设置初始条件,只执行一次。可以为零个,一个或多个变量设置初值。 表达式2:是循环条件表达式,用来判定是否执行循环。在每次执行循环体前先执行次表达式,决定是否继续执行循环。 表达式3:作为循环的调整,执行完循环体后才执行的。
循环的嵌套: 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环还可以嵌套循环,这就是多层循环。 三种循环可以互相嵌套。
几种循环的比较: 三种循环都可以用来处理同一问题,一般情况下他们可以互相代替。 在while循环和do…..while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含是循环趋于结束的语句(如i++)。 For循环可以在表达式3中包含使趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。 用while和do…while循环时,循环变量初始化的操作应在while和do…while语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。 while循环、do….while循环和for循环,都可以用break语句跳出循环,用continue语句结束本次循环。
改变循环执行的状态: 有时当出现某种情况,需要提早结束正在执行的循环操作。可以用break语句和continue语句来实现提早结束循环。 break语句既可以跳出switch结构,继续执行switch语句下面的一个语句;还可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。 【注】break语句只能用于循环语句和switch语句之中,而不能单独使用。 问题:在全系1000学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。
用continue语句提前结束本次循环: continue语句的一般形式: continue; 其作用为结束本次循环,即跳过循环体下面尚未执行的语句,转到循环体结束点之前,接着判断for语句中的“表达式3”,然后进行下一步是否执行循环的判定。 注意break语句和continue语句的区别。
综合举例: 求100~200之间的素数 如图所示: