在C语言中,有三大结构:顺序、选择、循环。这些结构可以用于处理生活中各种各样的复杂问题。选择结构通常是用if语句或者switch语句实现,可参考前面的博客:
C语言(7)------------>if语句CSDN
C语言(10)------------->switch语句CSDN
对于循环结构,我们通常可以使用for循环去实现。那么for循环又有什么独特和优秀的部分呢?
一、for循环的语法
C语言的规定:for循环的语法是:
for(表达式1;表达式2;表达式3)
控制语句;//当需要控制的语句比较多时使用大括号即可
表达式1用于处理初始化
表达式2用于判断循环是否可以继续进行
表达式3用于初始化的调整
控制语句指的是我们所需要实现的功能。
例如,我们要打印十个你好,可以使用for循环实现:
参考代码:
#include <stdio.h>
int main()
{
int a = 0;
for (a = 1; a <= 10; a++)
printf("你好\n");
return 0;
}
在VS2019中的运行结果:
二、for循环和while循环的区别
之前的博客中我们提及到了while循环的用法,为什么有了while循环还要有for循环呢?
不知道while循环用法的可以参考之前的博客: C语言(11)------------->while循环CSDN
我们使用while循环打印十个你好
参考代码如下:
#include <stdio.h>
int main()
{
int a = 1;//初始化
while (a <= 10)//判断条件
{
printf("你好\n");
a++;//调整
}
return 0;
}
在VS2019中的运行结果:
它的具体过程是如何实现的呢?请看流程图:
当代码过多时,while循环并不利于我们的调整。
我们使用for循环实现这个功能:
代码:
#include <stdio.h>
int main()
{
int a = 0;
for (a = 1; a <= 10; a++)
printf("你好\n");
return 0;
}
在VS2019中的运行结果:
实现过程:
相比之下,我们可以看到表达式1只执行了一次。
练习:使用for循环打印1-10的数字
参考代码:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i < 11; i++)
{
printf("%d ",i);
}
return 0;
}
在VS2019中的运行结果:
三、使用for循环打印出1-100之间6的倍数之和
思路分析:
第一步:找到1-100中的6的倍数,比如6、12、18.......
第二步:对找到的数字求和
参考代码:
#include <stdio.h>
int main()
{
int i = 0;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if (i % 6 == 0)
{
sum += i;
}
}
printf("sum=%d\n",sum);
return 0;
}
在VS2019中的运行结果:
优化后的:既然是找6的倍数,那我们可以初始化变量为6,然后每一次+6就可以了,只要数值是小于100的就可以了
参考代码:
#include <stdio.h>
int main()
{
int i = 0;
int sum = 0;
for (i = 6; i <= 100; i+=6)
{
sum += i;
}
printf("sum=%d\n",sum);
return 0;
}
在VS2019中的运行结果: