While
while循环的通用形式
while(Expression)
statement
statement 是以分好为结尾的简单语句,也可以是也用花括号括起来的符合语句
Expression 使用的是关系表达式也可以是值
每循环一次叫做一次迭代
————>while————>Expression———成立———>statement ————>while
————>while————>Expression ———不成立——>跳出下一个语句
while终止循环
Expression 表达式中值在变化,最终的值为假,否则循环不终止
还可以使用break,和if语句终止
while:入口条件循环
Expression是一个入口条件,成立才能进入循环体
while(Expression);
while(Expression)
;
两种形式空语句,不需要在循环体中做任何,再次返回循环判定表达式
while:关系运算符和表达式比较大小
while依赖测试表达式比较,这样表达式叫做关系表达式,出现zai在中间的晕耍弄付叫做关系表达式
<
<=
>=
>
!=
==
注意:在浮点数比较重推荐使用fab()函数,方便的比较浮点数,返回的是浮点数的绝对值
表达式成立时值为1,为假时值为0
不等于0 的值都为1关系表达式比算数表达式低,比赋值表示式高
高优先级组< <= > >=
低优先级组 == !=
和大多数的运算符一样,关系运算符也是从左向右
运用的基本案例
不确定循环和计数循环
不确定循环事先不知道循环多少次
例如:关系表达式检查数据已输入
计数循环
初始化计数器
计数器与有限值比较
每次循环递增计数
for循环
3个行为(初始化;测试;更新)
3个表达式分辨以分号分开,第一个表达式是初始化,只在循环使用一次。第二个表达式测试条件,在执行循环之前对表达式求zh值,如果表达式为假循环结束。第三表达式更新,在每次循环结束时求值
for———>初始化——> 求表达式值——成立——>执行循环体语句————>更新
——不成立——>跳出
说明
第一个表达式计数器赋值,第二个表达式计数范围,第三表达式递增计数
除了用数字也ke可以用字符‘
第二个表达式除了迭代次数,也可以测试其他条件如平方,立方
第三表达式可以是几何递增,而不是算数增长
第三表达式任何合法表示式,每次爹地啊都会更新表达式的值
可以省略多个表达式,只要循环里包含结束循环的语句
循环体中的行为可以改变循环的头的值
for是入口条件循环在循环之前决定是否执行,for可能一次都不执行
其他赋值运算符
+=
-=
*=
/=
%=
优先级与等号相等,即比+或者*优先级低
逗号运算符
逗号运算符扩展了for的灵活性,以便循环头中包含更多的表示式
逗号不局限于for语句但这是最用的用法
例:for(count=0,index=2;count<3;count++,index+=2)
执行顺序是从左想右,先执行左侧
count=0,500;
逗号表达式功能,分解成
count=0;
500;
还可以做分隔符
int A,B;
分解成
int A;
int B;
出口条件循环:do while
while循环和for循环都是入口循环,即在循环每次迭代之前检查测试条件,所有有可能不执行循环体
C语言还有ch出口条件循环,每次迭代后在去判断判断循环条件,至少保证循环体循环一次
do
statement
while(expression);
先执行statement再判定循环体,statement至少执行一次
如何选择循环体
首先确定需要入口条件循环,还是出口条件循环,通常入口条件循环使用比较多,原因是
一般原则执行循环之前测试条件,测试条件放在在前面有利于可读性。在许多应用中要求中测试条件不满足直接跳出
选择for循环和while根据自己喜好
初始化
while(测试)
其他语句
更新语句
for(初始化;测试;更新)
其他语句
for,while看起来很像,涉及到初始化更新数据比较适合使用for
嵌套循环
循环常用于列和行显示数据,也就是一个循环处理所有列,另外一个处理所有行