在for里面写其他循环就可以了。 和写外面一样的。
比如
for(i = 0 i < 10 i ++)//外循环{
//xxxx
for(j =0 j<10 j ++)//内循环
{
//yyyyyy
}
//zzzzz
}
循环的过程是先执行第一个大循环for(i=0i<3i++),此句中先给i赋值0,在判断条件i<3是否成立赋值后的i=0了,所以条件成立,成立则做下面一条语句,就是for(j=0j<4j++),同样这个循环还是先赋值j=0,在进行判断j<4是否成立,成立就再做下一句。此时scanf语句后面已经没有语句了,所以程序就会跳上去到第二个循环中,即for(j=0j<4j++)这句话中,可能你会问为什么不是第一句
(因为在循环嵌套中只有循环体执行完成所以的任务后才执行下面的语句,就是for(j=0j<4j++)
要全部执行完毕才能执行后面的语句。即j<4条件为假时跳出)跳到for(j=0j<4j++)这个循环体以后。就会自动加一,就是执行j++(注:在这个for里面的j=0不再执行),这个赋值过程只在开始时执行。所以j这个循环要执行到条件不满足时停止,即最后j的值要>=4.。
这样j这个循环就结束了。结束后又跳到了第一句。因为第二个for是包含在第一个for里的。只有第一个for里包含的语句全部执行完后第一个for就再一次执行i++,i变成了2,判断条件i<3成立,就再执行下一句,所以下面的for(j=0j<4j++)又要再一次执行。执行完后就在回到第一个for执行。
原理:
i=0,j执行4次,给a[0][0],a[0][1],a[0][2],a[0][3]赋值
i=1,j执行4次,给a[1][0],a[1][1],a[1][2],a[1][3]赋值
i=2,j执行4次,给a[2][0],a[2][1],a[2][2],a[2][3]赋值
i=3跳出.
还有不懂再问
for循环的一般形式为:
for(表达式1表达式2表达式3){
语句块
}
它的执行过程如下:
1) 先求解表达式1。
2) 求解表达式2,若其值为真(非0),则执行循环体,否则结束循环。
3) 执行完循环体,再求解表达式3。
4) 重复执行步骤 2) 和 3),直到循环结束。
注意:表达式1仅在第一次循环时求解,以后都不会再执行,可以认为这是一个初始化语句。
for循环的执行过程可用下图表示:
比如我们用for循环来计算1加到100的值:
#include <stdio.h>
int main(){
int i, sum=0
for(i=1i<=100i++){
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 不成立,所以结束循环。