多重for循环
多重循环就是在循环结构的循环体中又出现循环结构
在实际开发中一般最多用到三层多重循环。 循环层数越多, 运行时间越长, 程序越复杂, 所以一般用两到三层多重循环就可以了!
多层循环为父循环, 内层循环为子循环, 子循环需要全部执行完, 直到跳出循环。
最简单的用法可以用于打印形状
一般形式
for(初始化变量; 循环条件; 变量进步值(i++ i-- --i ++i)) /* 父循环 */
{
for (初始化变量; 循环条件; 变量进步值) /* 子循环 */
{
/* code.... */
for (初始化变量; 循环条件; 变量进步值) /* 孙子循环 */
{
/* code.... */
}
}
}
例子1_打印矩形
/*
* 编写时间: 2018/7/27
* 编写作者: 流光飞霞
* 程序功能: 打印矩形
* 程序版本: V1.00
**/
# include <stdio.h>
int main()
{
int i, j;
for (i=0; i<=5; i++)
{
for (j=0; j<6; j++) /* i<=5; 和 i<6是一样的 */
{
printf("*");
}
printf("\n");
}
return 0;
}
例子2_打印99乘法表
/*
* 编写时间: 2018/7/27
* 编写作者: 流光飞霞
* 程序功能: 打印99乘法表
* 程序版本: V1.00
**/
# include <stdio.h>
int main()
{
int i, j, k;
for (i=1; i<=9; ++i)
{
for (j=i; j<=9; ++j)
{
k = i*j;
printf("%d*%d=%2d ", i, j, k);
}
printf("\n");
}
return 0;
}
%2d是右对齐, ++i和i++结果是一样的, 不过是有区别的!
你们可以去试试 %-2d, %0.2d等等, 多去实验!
自增运算符例子
/*
* 编写时间: 2018/7/27
* 编写作者: 流光飞霞
* 程序功能: 自增自减
* 程序版本: V1.00
**/
# include <stdio.h>
int main()
{
int i, j;
float k, l;
i = j = k = l = 10;
printf("i = %d\n", i);
printf("i++ = %d\n", i++);
printf("i = %d\n", i);
printf("j = %d\n", j);
printf("++j = %d\n", ++j);
printf("j = %d\n", j);
printf("k = %f\n", k);
printf("k-- = %f\n", k--);
printf("k = %f\n", k);
printf("l = %f\n", l);
printf("--l = %f\n", --k);
printf("l = %f\n", l);
return 0;
}
continue
continue语句的作用是结束本次循环开始执行下一次循环!
break语句与continue语句的区别是: break终止循环, continue终止本次循环开始下一次循环
continue例子
/*
* 编写时间: 2018/7/27
* 编写作者: 流光飞霞
* 程序功能: 使用continue
* 程序版本: V1.00
**/
# include <stdio.h>
int main()
{
int i; /* 俯卧撑次数 */
for (i=0; i<=10; i++)
{
printf("我已经做了%d个, 继续坚持\n", i);
if (i%6 == 0)
{
printf("我去写会代码!\n");
}
}
return 0;
}