for循环语句嵌套及break、continue使用
一、for 循环的嵌套及应用
for循环体内又包含另一个完整的for循环语句称为for循环的嵌套。
例一:利用for循环打印图形(一)
打印出正方形
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行和列
int i;
int j;
//调用外层for循环控制行
for( i = 0; i < 5; i++)
{
//调用内层循环控制列
for( j = 0; j < 5; j++)
{
//打印*
printf("*\t");
}
//打印出换行
printf("\n\n\n");
}
system("pause");
return 0;
}
打印矩形
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行和列
int i;
int j;
//调用外层for循环控制行
for( i = 0; i < 5; i++)
{
//调用内层循环控制列
for( j = 0; j < 10; j++)
{
//打印*
printf("*\t");
}
//打印出换行
printf("\n");
}
system("pause");
return 0;
}
打印正三角形
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行和列
int i;
int j;
//调用外层for循环控制行
for( i = 0; i < 5; i++)
{
//调用内层循环控制列
for( j = 0; j <= i; j++)
{
<span style="white-space:pre"> </span>//打印*
printf("* ");
}
//打印出换行
printf("\n");
}
system("pause");
return 0;
}
打印倒三角形
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行和列
int i;
int j;
//调用外层for循环控制行
for( i = 0; i < 5; i++)
{
//调用内层循环控制列
for( j = 0; j < 5-i; j++)
{
//打印*
printf("* ");
}
//打印出换行
printf("\n");
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行和列
int i;
int j;
//调用外层for循环控制行
for( i = 5; i <= 5 && i > 0; i--)
{
//调用内层循环控制列
for( j = 0; j < i; j++)
{
//打印*
printf("* ");
}
//打印出换行
printf("\n");
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义两个变量控制行
int i;
//调用外层for循环控制行
for( i = 0; i < 5; i++)
{
//定义变量控制列
int j;
//调用内层循环控制列
for( j = 0; j <= i; j++)
{
//打印*
printf("* ");
}
//打印出换行
printf("\n");
}
for( i = 4; i <= 4 && i > 0; i--)
{
//调用内层循环控制列
int j;
for( j = 0; j < i; j++)
{
//打印*
printf("* ");
}
//打印出换行
printf("\n");
}
system("pause");
return 0;
}
例二:利用for循环打印图形(二)
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行
int i;
//调用外层for循环控制行
for( i = 1; i <= 5; i++)
{
//定义变量控制行
int j;
//调用内层循环控制列
for( j = 0; j < i; j++)
{
//打印*
printf("%d ",i);
}
//打印出换行
printf("\n");
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行
int i;
//调用外层for循环控制行
for( i = 1; i <= 5; i++)
{
//定义变量控制行
int j;
//调用循环控制空白
for( j = 0; j <= 5-i; j++)
{
//打印空白
printf(" ");
}
//定义变量控制*
int k;
for(k = 0; k < 2*i-1; k++)
{
//打印出*
printf("*");
}
printf("\n");
}
system("pause");
return 0;
}
打印出9*9的乘法表
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量控制行
int i;
//调用外层for循环控制行
for( i = 1; i <= 9; i++)
{
//定义变量控制行
int j;
//调用循环控制列
for( j = 1; j <= i; j++)
{
//打印出i*j的值
printf("%d*%d = %d ",j,i,i*j);
}
printf("\n");
}
system("pause");
return 0;
}
二、break语句
作用:是使流程跳到循环体之外,提前终止循环,接着执行循环体下面的语句,
特点:(1)
break语句只能用于循环语句和switch语句当中,而不能单独使用,
(2)
用在if...else当中不起作用,
(3)break语句用在多层循环当中,只能往外跳一层
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量
int i;
//调用循环
for( i = 1; i <= 10; i++)
{
printf("这是第%d次打印:黑马程序员!\n",i);
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量
int i;
//调用循环
for( i = 1; i <= 10; i++)
{
//定义变量
if(i == 6)
{
//当i等于5时循环不在执行
break;
}
printf("这是第%d次打印:黑马程序员!\n",i);
}
<pre name="code" class="html" style="color: rgb(51, 51, 51); font-size: 14px; line-height: 26px;"><span style="white-space:pre"> </span>printf("这是break的用法!\n");
<span style="white-space:pre"> </span>system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量
int i;
int m;
//调用循环控制行
for(m = 0; m < 5; m++)
{
//调用循环控制列
for( i = 1; i <= 9; i++)
<span style="white-space:pre"> </span>{
//判断i的值
if(i == 5)
{
//如果i的值为5,则跳出这层循环,不再循环列
break;
}
printf("%d",i);
<span style="white-space:pre"> </span>}
printf("\n");
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量
int i;
int m;
//调用循环控制行
for(m = 0; m < 5; m++)
{
if(m == 3)
{
//如果m等于3时跳出循环不在循环列
break;
}
//调用循环控制列
for( i = 1; i <= 9; i++)
{
//判断i的值
if(i == 5)
{
//如果i的值为5,则跳出这层循环,不再循环列
break;
}
printf("%d",i);
}
printf("\n");
}
system("pause");
return 0;
}
三、continue语句
作用:
提前结束本次循环,而接着执行下次循环,用来加速循环,可以提高效率
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量
int i;
//调用循环
for( i = 1; i <= 10; i++)
{
if(i == 5)
{
<span style="white-space:pre"> </span>//i的值是5时结束本次循环,继续执行下一次循环
continue;
}
printf("%d",i);
printf("& ");
}
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定义变量
int i;
//调用循环
for( i = 1; i <= 10; i++)
{
if(i%2 == 0)
{
<span style="white-space:pre"> </span>//i的值是5时结束本次循环,继续执行下一次循环
continue;
}
printf("%d",i);
printf("& ");
}
printf("\n ");
system("pause");
return 0;
}