C语言中的for循环语句
今天给大家分享C语言中的for循环语句的基本语法以及基本使用。老样子,首先还是来了解for循环的语法格式
for(表达式1;表达式2;表达式3)
{
语句;
}
上面呢就是for循环的基本语法格式,我来简要介绍一下。
表达式1:设置初始条件,只执行一次,可以为多个变量设置初始值。
表达式2:循环条件表达式,判断是否集训循环。
表达式3:执行循环体后再执行。
这里要注意的是,表达式1只在循环开始时执行一次,而表达式3是循环结束后再执行。表达式2可以省略,省略后默认值为1,则判断为真,for循环就会成为一个死循环。
日常编写代码最常用的格式
for(定义循环变量初始值;循环条件;循环变量增值)
语句;
例如,使用for循环打印1-10的数字
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 0;
for (a = 1; a < 11;a++)
{
printf("%d\n", a);
}
return 0;
}
我来简单解释一下上述代码的执行过程,首先定义整形变量a==0,进入循环,将变量a的初始值定义为1,判断条件为a<11为真,然后输出a,最后a++,那么我们知道变量初始化只执行一次,变量
增值在循环结束后执行,则a==1在最初只执行一次,给a赋值为1后便和循环没有关系了,a==1进入判断条件<11为真,输出a的值1,然后a自增==2,再次判断<11为真,输出a的值为2,a再次自增,如此循环下去,a的值到达11时循环结束。
那么既然a==1只执行一次,a++每次都执行,那么可不可以把a==1放在循环外,a++放在循环体中呢,当然可以。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a = 1;
for (; a < 11;)
{
printf("%d\n", a);
a++;
}
return 0;
}
不过要注意的是,即使将表达式1和表达式3移除,()内的分号也不能去掉。
for循环中的break语句
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i;
for (i = 1; i < 11;i++)
{
if (i==5)
{
break;
}
printf("%d\n", i);
}
return 0;
}
当我们在刚刚实现的代码中加入一个if语句,添加一个break后,执行结果发生了变化。可以看到当执行到i==5时循环结束了,那我们通过这个结果不难知道,break在for循环中的意思为停止。
for循环中的continue
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int i;
for (i = 1; i < 11;i++)
{
if (i==5)
{
continue;
}
printf("%d\n", i);
}
return 0;
}
当我们将上述代码中的break替换为break之后,发现结果又发生了变化,可以看到结果没有输出5,那么我们可以知道continue的意思为跳过当前循环,执行下一次循环。
知道了for循环的基本语法格式,我们来进行一个小练习。
求出1!——n!的和
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int numb, i, n, ret = 1, sum = 0;
scanf("%d", &numb);
for (n = 1; n <= numb; n++)
{
ret = 1;
for (i = 1; i <= n; i++)
{
ret *= i;
}
sum += ret;
}
printf("%d\n", sum);
return 0;
}
我来简单说明一下
//假如numb=3;当n=1,n<3,进入循环,n=1,i=1,i==n,进入内部循环,ret=ret*i=1,i++=2>n,内部循环跳出,sum=ret+sum=1,
//n++=2<=3,进入第二次外部循环,i=1,n=2,i<n,进入内部循环,ret=ret*1=1,i++=2==n,再次循环ret=ret*i=2,i++=3>n,跳出内部循环,sum=ret+sum=1+2,直到n=3,sum=9
那么我们可以看到上面那个代码在外部for语句中嵌套了一个for语句,那我们可以知道foe循环是可以支持嵌套的。
以上就是今天的分享了,那么关于for循环你了解了多少呢。
更多推荐
所有评论(0)