do while循环
do while语句的语法
先执行,再判断
执行流程
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
break和continue在do while循环中
int main()
{
int i = 1;
do
{
if (i == 5)
break;
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
i从1 2 3 4正常打印,当i=5时,break发挥作用跳出循环,所以结果只打印1 2 3 4.
int main()
{
int i = 1;
do
{
if (i == 5)
continue;
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
同while循环一样,1 2 3 4正常打印,当i=5时,continue发挥作用,跳过后面一段代码,但i还是5,小于10,所以又会回到最开始,变成死循环。
do whlie语句的特点
循环至少执行一次,使用的场景有限,所以不是经常使用。
练习
1.计算n的阶乘
int main()
{
int i = 0;
int n = 0;
int ret = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
ret *= i;
}
printf("%d\n", ret);
return 0;
}
2.计算1!+2!+3!+......+10!
int main()
{
int i = 0;
int n = 0;
int ret = 1;
int sum = 0;
for (n = 1; n <= 10; n++)
{
ret = 1;//计算n的阶乘之前,把ret初始为1
for (i = 1; i <= n; i++)
{
ret *= i;
}
sum += ret;
}
printf("%d\n", sum);
return 0;
}