#include <stdio.h>
int main(){
int i, sum=0;
i = 1; //语句①
while(i<=100 /*语句②*/ ){
sum+=i;
i++; //语句③
}
printf("%d\n",sum);
return 0;
}
可以看到,语句①②③被放到了不同的地方,代码结构较为松散。为了让程序更加紧凑,可以使用 for 循环来代替,如下所示:
#include <stdio.h>
int main(){
int i, sum=0;
for(i=1/*语句①*/; i<=100/*语句②*/; i++/*语句③*/){
sum+=i;
}
printf("%d\n",sum);
return 0;
}
在 for 循环中,语句①②③被集中到了一起,代码结构一目了然。
for(表达式1; 表达式2; 表达式3){
语句块
}
#include <stdio.h>
int main(){
int i, sum=0;
for(i=1; i<=100; i++){
sum+=i;
}
printf("%d\n",sum);
return 0;
}
运行结果:
for(初始化语句; 循环条件; 自增或自减){
语句块
}
;必须保留)。
int i = 1, sum = 0;
for( ; i<=100; i++){
sum+=i;
}
可以看到,将i=1移到了 for 循环的外面。for(i=1; ; i++) sum=sum+i;相当于:
i=1;
while(1){
sum=sum+i;
i++;
}
所谓死循环,就是循环条件永远成立,循环会一直进行下去,永不结束。死循环对程序的危害很大,一定要避免。
for( i=1; i<=100; ){
sum=sum+i;
i++;
}
for( ; i<=100 ; ){
sum=sum+i;
i++;
}
相当于:
while(i<=100){
sum=sum+i;
i++;
}
for( ; ; ) 语句
相当于:while(1) 语句
for( sum=0; i<=100; i++ ) sum=sum+i;
for( sum=0,i=1; i<=100; i++ ) sum=sum+i;或:
for( i=0,j=100; i<=100; i++,j-- ) k=i+j;
for( i=0; (c=getchar())!='\n'; i+=c );又如:
for( ; (c=getchar())!='\n' ; )
printf("%c",c);
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有