上一篇文章介绍了选择结构,这篇文章我们来分析一下循环结构。
循环结构主要包括for循环、while循环以及do—while循环三种。
PART1:while循环
while循环的语法形式:
while(表达式)
语句;
例如:
int main()
{
int n = 0;
int ret;
scanf("%d", &n);
while (n > 0)
{
ret = n % 10;
printf("%d ", ret);
n =n/ 10;
}
return 0;
}
PART2:for循环
for循环的语法形式:
for(表达式1;表达式2;表达式3)
语句;
表达式1用于循环条件的初始化
表达式2用于循环结束条件的判断
表达式3用于循环变量的调整
例如:计算1~100之间的3的倍数的数字之和
int main()
{
int sum = 0;
for (int i = 3; i < 101; i+=3)
{
if (i % 3 == 0)
sum = sum + i;
}
printf("%d", sum);
return 0;
}
PART3:do—while循环
do—while循环语法形式:
do
语句;
while(表达式);
do—while循环先进入循环体执行语句,后执行while后的判断表达式,表达式如果为真则返回继续下一次的循环,表达式如果为假,则结束循环。
do—while语句中循环体至少执行一次。
例如:
int main()
{
int n = 0;
int sum = 0;
scanf("%d", &n);
do
{
n = n / 10;
sum++;
} while (n > 0);
printf("%d", sum);
return 0;
}
PART4:break语句和continue语句
break语句直接跳出循环,continue跳出本次循环中的continue语句后面的代码。
continue在for循环和while循环中有所差异,下面用代码体现这一点。
①break循环:
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
break;
printf("%d ", i);
i++;
}
return 0;
}
代码执行的结果如上,可以看到当i的值为5时,循环结束,直接跳出循环不执行后面的语句,故打印出的结果为1 2 3 4。
②continue循环:
1.while循环中:
int main()
{
int i = 1;
while (i <= 10)
{
if (i == 5)
continue;
printf("%d ", i);
i++;
}
return 0;
}
代码运行结果如上,i一直为5,程序陷入了死循环。
2.for循环中:
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
if (i == 5)
continue;
printf("%d ",i);
}
return 0;
}
代码的运行结果如上,可以看出当i=5时,自动跳过了本次循环进入下一次循环,所以打印的结果为1 2 3 4 6 7 8 9 10。
本次对于循环结构的总结到此就告一段落了,谢谢大家观看,如有不足欢迎提出,你们的评论是我进步的动力。