浅谈C语言中for循环语句的应用
2016-07-05郑英姿
郑英姿
【摘 要】C语言中的循环语句有三种:while,do...while,for;for语句使用最为灵活,它完全可以取代while语句,本文针对简单、嵌套for语句,讲述它的语法格式、执行过程及应用。
【关键词】for语句格式;for语句应用;算法分析;程序
一、引用
在C语言中for循环语句的使用最为灵活,不仅可以用于循环次数确定,而且可以用于循环次数不确定的情况,合理的使用for循环语句可以使程序代码大大简化。如何使用for循环语句来实现循环结构程序设计,解决实际问题,是我们说明的重点。
二、for语句格式
for(表达式1;表达式2;表达式3)循环体语句;
表达式1为循环变量赋初值;表达式2为循环条件;表达式3为修改循环变量。
执行过程:首先计算<表达式1>,然后判断<表达式2>的值,若其值为非零,执行循环体,然后转③,若<表达式2>的值为零,则结束循环,转至④。③求解<表达式3>,转②执行。④执行for语句的下一条语句。
三、for语句的几种形式
1、表达式1可以省略,此时应在for语句之前给循环变量赋初值,并且分号不能省略。2、省略表达式2,则认为循环条件始终为真,程序将陷入死循环。3、表达式3可省略,此时应在循环体内对循环变量进行修改,以保证循环能正常结束。4、三个表达式都省略,此时应在循环体内对循环变量进行修改,用break语句终止循环。5、表达式1、3都可以有一项或多项,若有多项则使用逗号表达式。
四、for语句的应用
1、简单for循环语句的应用
例:猴子吃桃子的问题:有一天,小猴摘下了若干个桃子,当即吃掉了一般,还不过瘾,又多吃了一个;第二天接着吃了剩下的桃子的一半后又多吃了一个;以后每天都吃尚存桃子的一半零一个,到第10天早上要吃时只剩下一个了。问小猴第一天共摘了多少个桃子?
算法分析:已知第10,桃子的个数是1;第i=9;桃子的个数x=(1+1)×2=4;第i=8;桃子的个数x=(4+1)×2=10;.................第i=1;桃子的个数x=(x+1)×2;当i=1~9执行循环体x=(x+1),执行循环体9次,得到第一天的桃子数。
程序如下:
#include"stdio.h"
main()
{
inti,x;
x=1;
for(i=9;i>=1;i--)
{
x=(x+1)*2;
printf("i=%2d,x=%d\n",i,x);
}
}
2、for循环嵌套的应用
在一个循环体内又包含有一个或多个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环即为多重循环。执行过程是外层循环变量改变一次,内层循环完成一次完整的循环。
例:打印九九乘法表。
分析:需要两个循环变量i,j;利用两个for循环语句嵌套实现,i为外层循环变量,j为内层循环的变量,i=1时,j=1,i=2时,j=1~i的值.......
程序如下:
#include
voidmain()
{
inti,j;
for(i=1;i<9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%d",i,j,i*j);
printf("\n");
}
}
3、多重for循环的应用
例:百马百瓦问题。有100匹马,驮100块瓦,大马驮3块,小马驮2块,两个马驹驮1块。问大马、小马、马驹各多少?编程列出所有可能的驮瓦方案。
算法分析:设大马、小马、马驹各有x只、y只、z只,根据题目要求,可以用下列图1方程表示,x的取值范围为1~33,y的取值范围为1~50,z的取值范围为2~98。
程序如下:
#include