三,3 种循环结构的异同点
1.均为表达式2的值为真(非0)时执行循环体,为假(0值) .均为表达式 的值为真 的值为真( )时执行循环体,为假( 值 时结束循环,循环体可以是单个语句,空语句或复合语句( 时结束循环, 循环体可以是单个语句 , 空语句或复合语句( 顺序 结构,分支结构或另一循环结构 循环嵌套 循环嵌套) 结构,分支结构或另一循环结构—循环嵌套). 2. For循环,while循环是先判断后执行,可能循环体可能一次 循环, 循环是先判断后执行, 循环 循环是先判断后执行 也不执行; 循环是先执行后判断, 也不执行;而do/while循环是先执行后判断,循环体至少执行一次. 循环是先执行后判断 循环体至少执行一次. 3. For循环为记数型循环, 能自动修改循环条件中变量的值 ; 循环为记数型循环,能自动修改循环条件中变量的值; 循环为记数型循环 while或 do/while为条件型循环 , 再循环体中 , 至少有一个语句直 或 为条件型循环, 为条件型循环 再循环体中, 接或间接修改循环条件中的变量的值,以便于循环能正常退出. 接或间接修改循环条件中的变量的值,以便于循环能正常退出.
/* 求 pi 的近似值 while 循环 */ #include "math.h" main () { float s,i,p; s=1; i=3; p=-1; while (fabs(1/i)>=1e-5) { s=s+1/i*p; i=i+2; p=-p;} printf("pi=%f\n",s*4); }
while 循环
表达式2 表达式 ? 真 循环体 假
先求表达式2的值,当结果为非 , 先求表达式 的值,当结果为非0,执行 的值 循环体,再求表达式2的值 重复上述操作, 循环体,再求表达式 的值, 重复上述操作, 的值 直到求得的表达式2的 值为0结束循环 结束循环. 直到求得的表达式 的 值为 结束循环.