如果我们要求五个数的和不用循环结构也可以轻松办到,只需声明五个变量给,然后给它们赋值相加即可。但如果我们要求100个数的和甚至1000个数的和就要声明一百或一千个变量吗?显然不太现实。这时我们便可以用循环控制结构了!
循环语句有三种: for循环;while循环;do while循环。其中for循环与while循环皆为当型循环,就是说要先判断后执行,而do while 循环为直到型。当初始条件为真时三者无差别,当初始条件为假时do while要执行一次,前两者一次都不会执行。下边看一下三者的程序异同之处吧:
计算从1加到n的值
for循环:
#include <stdio.h>
main()
{
int i,n,sum;
printf("输入n的值:");
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}
while循环:
#imclude <stdio.h>
main()
{
int i,n,sum;
printf("输入n的值:");
scanf("%d",&n);
sum=0;
i=1;
while(i<=n)
{
sum=sum+i;
i++;
}
printf("sum=%d\n",sum);
}
do while循环:
#include<stdio.h>
main()
{
int i,n,sum;
printf("输入n的值:");
scanf("%d",&n);
sum=0;
i=1;
do
{
sum=sum+i;
i++;
}
printf("sum=%d\n,sum");
}
注意了,for循环的小括弧里只允许有两个分号,分别将循环初始条件,循环结束条件,循环变量增值分开。各部分内部可用逗号分隔。若将以上程序改成累乘注意需改变p的初始值为1而不再是零了。
计算阶乘时数值会比较大由于整形字节数比较少我们可以定义双精度实型来解决如:float .0p “.0”代表小数位数为0,这样便可以充分的利用其位宽。实在不行我们还有数组的方法,之后在介绍吧。
下面的图片将会介绍三种结构的语法形式和一些简单的样例:
|