1、循环的三要素
勿忘写迭代语句
循环返回布尔值,即成立与不成立
2、while循环
这里[迭代语句]表示可以放到循环体的任意地方,一般放在最后
代码演示
#include <stdio.h>
//while语句
//实现输入一个整数,判断它是几位数
int main()
{
int num;
printf("请输入一个整数\n");
scanf("%d",&num);
int len=0; //定义整数长度
while (num)
{
len ++;
num /= 10;//迭代语句
printf("len=%d,num=%d\n",len,num);//具体观察一下循环过程,可省略
}
len = len == 0 ? 1 : len;
//因为输入的数不可能小于1位,因此在这里用三元运算符 ? : (也可以用if else语句)
printf("你输入的是%d位数\n",len);
return 0;
}
3、do while 循环(至少循环1次)
代码演示
#include <stdio.h>
// do while语句
//实现输入一个整数,判断它是几位数
int main()
{
int num;
printf("请输入一个整数\n");
scanf("%d",&num);
int len=0; //定义整数长度
do
{
len ++;
num /= 10;
}
while(num); //do while至少执行循环一遍
printf("你输入的是%d位数\n",len);
return 0;
}
4、for循环
代码演示
#include <stdio.h>
// for 循环
//实现输入一个自然数,然后输出它的阶乘
int main ()
{
int n;
printf("请输入一个自然数\n");
scanf("%d",&n);
if (n<0)
{
printf("你输入的不是自然数,请重新输入一个自然数!\n");
}
else if (n==0)
{
printf("0! == 1");
}
else
{
long long s=1;//定义一个long long整形s用来存放阶乘结果
int i;
for(i=1;i<=n;i++)
//这里也可以写成 for( int i=1;i<=n;i++)
{
s *= i;
}
printf("%d! == %lld\n",n,s);
}
return 0;
}
for循环注意事项
1、for循环中初始化可以放在外部
例:
for( int i=1;i<=n;i++)等同于
int i;
for(i=1;i<=n;i++)
2、for循环中迭代语句可以放在{ }中(跟while用法一样)
例:
for(int j=1; j<10;)
{
printf("%d\n",j);
j++;
}
3、for中三个表达式可以包含多个变量
例:
for (int m=0,n=9;m<10,-1<n;m++,n- -)
4、注意三个表达式之间用分号“;”隔开,而不是逗号