从零学C语言

基础C语言7:流程控制之循环执行for语句

2017-02-14  本文已影响40人  凯哥Java

一、定义和分类

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;

}

相关文章

基础C语言(一):C语言编程预备知识

基础C语言(二):数据类型、变量和数据的存储

基础C语言(三):进制、常量

基础C语言4:输入输出函数scanf和printf

基础C语言5:运算符和流程控制

基础C语言六:流程控制之选择执行

ps:欢迎关注凯哥微信公众号:凯哥Java

上一篇 下一篇

猜你喜欢

热点阅读