用while语句实现循环
在实际应用中经常遇到需要重复处理的问题
例如:假设某班有50个学生,请统计每位同学期末考试的平均成绩(假设有3门课)。
//输入学生1的三门课成绩,计算平均值后输出
scanf(“%f%f%f”,&s1,&s2,&s3);
aver=(s1+s2+s3)/3;
printf(“aver=%7.2f”,aver);
//输入学生2的三门课成绩,计算平均值后输出
scanf(“%f%f%f”,&s1,&s2,&s3);
aver=(s1+s2+s3)/3;
printf(“aver=%7.2f”,aver);
由于要对50个学生进行相同操作 重复50次
循环会变得简单!!!
#include <stdio.h>
int main( )
{
float s1,s2,s3,aver;
int i=1;
while(i<=50)
{
scanf("%f%f%f",&s1,&s2,&s3);
aver=(s1+s2+s3)/3;
printf("aver=%7.2f",aver);
i++;
}
return 0;
}
例5.2 用while语句实现1+2+…+100累加求和
#include <stdio.h>
int main()
{
int i=1,sum=0;
while (i<=100)
{
sum=sum+i;
i=i+1; //常用 i++; 或 ++i; 替换 //不能丢,否则循环永不结束
}
printf("sum=%d\n",sum);
return 0;
}
用do-while语句实现循环
do-while语句可实现直到型循环结构,其一般形式为:
do
语句
while (表达式);
特点:先执行、后判断
例5.5 用do-while语句实现1+2+…+100累加求和
#include <stdio.h>
int main()
{
int i=1,sum=0;
do
{
sum=sum+i;
i++;
}while(i<=100);
printf("sum=%d\n",sum);
return 0;
}
用for语句实现循环
for(表达式1;表达式2;表达式3)
for(循环变量赋初值;循环条件;循环变量增值)
关于for语句强调以下几点:
①求解完表达式1后,接着求解表达式2,而不是执行循环体。
②三个表达式都可以省略,但是分号不能少。
③当省略表达式2时,C认为表达式2始终为真,会形成死循环可在循环体中增加break语句来结束循环。
④有时表达式1、表达式3也会用到逗号表达式。
例
for(i=1;i<=5;i++) //控制行数
{//输出第i行
for(j=1;j<=10;j++)
printf(“%d”,i);
printf(“\n”);
}
结果如下:
1111111111
2222222222
3333333333
4444444444
5555555555