基础C语言7:流程控制之循环执行for语句
一、定义和分类
1、定义
某些代码会被重复执行
2、分类
for语句,while语句,do...while语句,break和continue语句
二、for语句
1、for最简单的用法
格式:
for(表达式1;表达式2;表达式3)
语句A;
举例:for循环执行求1~4的和
#include
int main(void)
{
int i;
int sum=0; //sum一定要初始化,也就是必须要赋值,否则sum里面会是个垃圾值
for(i=1;i
sum=sum+i;
printf("sum=%d\n",sum);
return 0;
}
2、执行的流程
(1)、单个for循环的使用:
for(表达式1;表达式2;表达式3)
语句A;
流程:表达式1先执行,看是否满足2,满足则执行语句A;A执行完继续执行3,然后判断是否满足2,若满足则执行A,A执行完继续执行3,继续判断是否满足2。。。
(2)、多个for循环的嵌套使用:
for(表达式1;表达式2;表达式3) //外层for语句,也叫外循环
{
for(表达式4;表达式5;表达式6) //内层for语句,也叫内循环
}
流程:外循环表达式1先执行,判断是否满足2,满足则执行内循环表达式4,判断是否满足5,满足则执行内循环的语句A和B,AB执行完则执行6,然后判断是否满足5,若满足则执行AB,若不满足则跳到外循环来执行表达式3,然后判断3是否满足2,依次顺序执行
3、范围问题
(1)、for(表达式1;表达式2;表达式3)
语句A;
语句B;
解释:for默认只能控制语句A的执行和不执行,for无法控制语句B的执行和不执行
(2)、for(表达式1;表达式2;表达式3)
{
语句A;
语句B;
}
解释:此时for可以控制语句A和B,for语句想要执行多条语句只能用花括号括起来
4、举例
(1)、求1~100之间奇数之和
#include
int main(void)
{
int i;
int sum=0;
for(i=1;i
sum=sum+i;
printf("i=%d\n",i);
printf("sum=%d\n",sum);
return 0;
}
(2)、求1~10之间能被3整除的所有数之和,for和if嵌套使用
#include
int main(void)
{
int i;
int sum=0;
for(i=3;i
{
if(i%3==0) //i能被3整除,余数为0
sum=sum+i;
}
printf("sum=%d\n",sum);
return 0;
}
(3)、for循环的强制类型转化,求1+1/2+.....+1/10
#include
int main(void)
{
int i;
float sum=0; //所求算式最终求和结果会含有小数,所以sum要定义成浮点型
for(i=1;i
{
sum=sum+1/(float)(i); //这里使用到了类型转化,把整型i转化成浮点型
//sum=sum+(float)(1/i); 这样的写法是错误的
//更简单的写法是:sum=sum+1.0/i;
}
printf("sum=%f\n",sum); //float必须用%f输出,因为开始就将sum定义成了float型
return 0;
}
(4)、多个for循环嵌套使用
#include
int main(void)
{
int i,j;
for(i=0;i
{
for(j=2;j
printf("AAA\n");
}
printf("BBB\n");
return 0;
}
相关文章
ps:欢迎关注凯哥微信公众号:凯哥Java