while循环和for循环都是先验循环,即先进行条件运算的循环,至少可以执行0次循环。
运用循环结构的时候应该注意的问题:①要确定哪些是被循环的语句,避免在循环内部的语句被放在循环外面,或者在循环外面的语句被放在循环里面,造成程序运行的结果错误。
② 要确定循环结束的条件,否则会造成死循环。
1、while语句的语法:
while (表达式)
{
循环体语句
}
/*while 语句可以在不知道循环次数,但是知道当达到某个条件时,循环结束
的情况下使用
*/
例如:在不知道人数的情况下,输入学生成绩,求平均成绩。
#include <stdio.h>
void main()
{
double score,sum;
int i = 0;
while(score != -1)
{
printf("请输入学生的分数,输入-1表示结束:");
scanf("%lf",&score);
if(score != -1)
{
sum += score;
i++;
}
}
printf("平均分是:%lf\n",sum / i);
}
2、for 语句的语法:
for(表达式1;表达式2;表达式3)
{
循环体语句
}
/*
表达式1:循环变量的初始化
表达式2:循环结束的判断条件
表达式3:循环变量自改变
*/
for循环用于明确知道循环次数
例:求n的阶乘
#include <stdio.h>
void main()
{
int i,n,result;
result = 1;
printf("请输入要计算哪个数的阶乘:");
scanf("%d",&n);
for(i = 1; i <= n; i++)
{
result *= i;
}
printf("%d的阶乘是:%d\n",n,result);
}