for
while循环较为松散,可以用更紧凑的for循环。
for(表达式1;表达式2;表达式3){
语句块
}
先执行表达式1,再执行表达式2,若为真则执行循环体,否则结束循环,执行完循环体后执行表达式3,重复23,直到表达式2为假时终止循环。
表达式1只执行1次。
也可写为:
for(初始化语句;循环条件;自增或自减){
循环内容
}
求1到100的和
int i;
int sum=0;
for(i=1;i<=100;i++){
sum+=i;
}
printf("%d\n", sum);
表达式1,3也可以是逗号表达式比如:
for(i=0,j=0;i<=100;i++,j–)
表达式2可以是关系表达式也可以是逻辑表达式也可以是数值或字符,只要其值非零都会继续执行循环体。
计算回车前键盘输入了多少个字符:
#include <stdio.h>
int main(){
int c;
int i;
for(i=0;c=getchar()!=’\n’;i+=c);
printf("%d", i);
return 0;
}