将循环语句的循环体作为循环语句,就可以进行二重、三重循环。这样的循环被称为多重循环,之前我们见到的程序中的循环,结构都比较简单。实际上,在一个循环中还可以嵌套另一个循环,根据嵌套的循环,有了二重循环、三重循环等,他们被称为多重循环。现在我们使用二重循环写一个九九乘法表:

#include<stdio.h>
int main()
{
	int i, j;
	for (i = 1; i <= 9; i++)
	{
		for (j = 1; j <= 9; j++)
			printf("%d*%d=%2d ",i,j, i * j);
		printf("\n");
	}
	return 0;
}

C语言中的多重循环_嵌套

外侧的for循环的作用是使变量i的值从1到9递增。其循环分别对应乘法的第一行、第二行......第九行,即纵方向的循环。内侧的for循环的作用是使变量j的值从1到9递增,这是各行中的行方向的循环。将上面的程序进行下面的改写:

#include<stdio.h>
int main()
{
	int i, j;
	for (i = 1; i <= 9; i++)
	{
		for (j = 1; j <= 9; j++)
		{
			int a = i * j;
			if (a > 40)
				break;
			printf("%d*%d=%2d ", i, j, i * j);
		}
		printf("\n");
	}
	return 0;
}

C语言中的多重循环_循环语句_02

这样一来,就会仅显示40以下的值。之前我们已经在switch语句中执行break语句后,程序就会跳出switch语句,而在循环语句中执行break语句后,程序就会跳出循环。然而在多重语句中执行break语句时,仅仅会跳出内侧的循环语句。