c语言中 for循环嵌套的运算流程?

Python014

c语言中 for循环嵌套的运算流程?,第1张

1.

for循环的一般形式为:

for(表达式1

表达式2

表达式3){

语句块

}

2.

它的执行过程如下:

1)

先求解表达式1。

2)

求解表达式2,若其值为真(非0),则执行循环体,否则结束循环。

3)

执行完循环体,再求解表达式3。

4)

重复执行步骤

2)

3),直到循环结束。

注意:表达式1仅在第一次循环时求解,以后都不会再执行,可以认为这是一个初始化语句。

3.

for循环的执行过程可用下图表示:

4.

比如我们用for循环来计算1加到100的值:

#include

int

main(){

int

i,

sum=0

for(i=1

i<=100

i++){

sum+=i

}

printf("%d\n",sum)

return

0

}

运行结果:

5050

代码分析:

1)

执行到

for

语句时,先给

i

赋初值1,判断

i<=100

是否成立;因为此时

i=1,i<=100

成立,所以执行循环体。循环体执行结束后(sum的值为1),再计算

i++。

2)

第二次循环时,i

的值为2,i<=100

成立,继续执行循环体。循环体执行结束后(sum的值为3),再计算

i++。

3)

重复执行步骤

2),直到第101次循环,因为此时

i

的值为101,i<=100

不成立,所以结束循环。

所谓for语句的嵌套就是多层for循环的使用,

举个二维数组赋值的例子,

int

a[3][4]

//定义一个3行4列的二维数组

int

i

//用来控制行

int

j

//用来控制列

int

tmp=1

for(i=0i<3i++)

//该循环就是第一层循环,用来控制行号

{

for(j=0i<4j++)

//该循环就是第二层循环,用来控制列号

{

a[i][j]=tmp++

}

}

//到这里就实现了二维数组的赋值操作

看代码这是输出一个由

*

号组成的等腰三角形.

for(j=1j<=10-ij++)

是控制空格的数量,

第一行9个,

后面的每行少一个.

for(j=1j<=2*i-1j++)

是输出

*

号,

第一行1个,

后面的每行多两个.

第一行

9个空格,

1个

*

:

*

第二行

8个空格,

3个

*

:

***

第三行

7个空格,

5个

*

:

*****

第四行

6个空格,

7个

*

: *******

第五行

5个空格,

9个

*

:

*********