pc端网站未来,合肥注册公司流程和费用,办公室平面设计图,建设网站的方法for 循环的使用更加灵活#xff0c;在日常的程序开发过程中我们会使用的更多一些。
使用 while 循环来计算1加到100的值#xff0c;代码如下#xff1a;
#include stdio.h
int main(){int i, sum0;i 1; //语句①while(i100 /*语句②*/ ){sumi;i; //语句③}…for 循环的使用更加灵活在日常的程序开发过程中我们会使用的更多一些。
使用 while 循环来计算1加到100的值代码如下
#include stdio.h
int main(){int i, sum0;i 1; //语句①while(i100 /*语句②*/ ){sumi;i; //语句③}printf(%d\n,sum);return 0;
}可以看到语句①②③被放到了不同的地方代码结构较为松散。为了让程序更加紧凑可以使用 for 循环来代替如下所示
#include stdio.h
int main(){int i, sum0;for(i1/*语句①*/; i100/*语句②*/; i/*语句③*/){sumi;}printf(%d\n,sum);return 0;
}在 for 循环中语句①②③被集中到了一起代码结构一目了然。
for 循环的一般形式为
for(表达式1; 表达式2; 表达式3){语句块
}运行过程 1 . 先执行“表达式1”。
2 . 再执行“表达式2”如果它的值为真非0则执行循环体否则结束循环。
3 . 执行完循环体后再执行“表达式3”。
4 . 重复执行步骤 2) 和 3)直到“表达式2”的值为假就结束循环。
上面的步骤中2 . 和 3 . 是一次循环会重复执行for 语句的主要作用就是不断执行步骤 2 . 和 3 .。
“表达式1”仅在第一次循环时执行以后都不会再执行可以认为这是一个初始化语句。“表达式2”一般是一个关系表达式决定了是否还要继续下次循环称为“循环条件”。“表达式3”很多情况下是一个带有自增或自减操作的表达式以使循环条件逐渐变得“不成立”。
for循环的执行过程可用下图表示
我们再来分析一下“计算从1加到100的和”的代码
#include stdio.h
int main(){int i, sum0;for(i1; i100; i){sumi;}printf(%d\n,sum);return 0;
}运行结果
5050程序分析 1 . 执行到 for 语句时先给 i 赋初值1判断 i100 是否成立因为此时 i1i100 成立所以执行循环体。循环体执行结束后sum的值为1再计算 i。
2 . 第二次循环时i 的值为2i100 成立继续执行循环体。循环体执行结束后sum的值为3再计算 i。
3 . 重复执行步骤 2 . 直到第101次循环此时 i 的值为101i100 不成立所以结束循环。
由此我们可以总结出for循环的一般形式
for(初始化语句; 循环条件; 自增或自减){语句块
}C语言for循环中的三个表达式
for 循环中的“表达式1初始化条件”、“表达式2(循环条件)”和“表达式3自增或自减”都是可选项都可以省略但分号;必须保留。
1 . 修改“从1加到100的和”的代码省略“表达式1初始化条件”
int i 1, sum 0;
for( ; i100; i){sumi;
}可以看到将i1移到了 for 循环的外面。
2 . 省略了“表达式2(循环条件)”如果不做其它处理就会成为死循环。例如
for(i1; ; i) sumsumi;
相当于
i1;
while(1){sumsumi;i;
}所谓死循环就是循环条件永远成立循环会一直进行下去永不结束。死循环对程序的危害很大一定要避免。
3 . 省略了“表达式3(自增或自减)”就不会修改“表达式2(循环条件)”中的变量这时可在循环体中加入修改变量的语句。例如
for( i1; i100; ){sumsumi;i;
}
4 . 省略了“表达式1(初始化语句)”和“表达式3(自增或自减)”。例如
for( ; i100 ; ){sumsumi;i;
}
相当于
while(i100){sumsumi;i;
}
5 . 3个表达式可以同时省略。例如
for( ; ; ) 语句相当于
while(1) 语句6 . “表达式1”可以是初始化语句也可以是其他语句。例如
for( sum0; i100; i ) sumsumi;7 . “表达式1”和“表达式3”可以是一个简单表达式也可以是逗号表达式。
for( sum0,i1; i100; i ) sumsumi;或
for( i0,j100; i100; i,j-- ) kij;8 . “表达式2”一般是关系表达式或逻辑表达式但也可是数值或字符只要其值非零就执行循环体。例如
for( i0; (cgetchar())!\n; ic );又如
for( ; (cgetchar())!\n ; )printf(%c,c);感觉不错的话欢迎点赞关注哟