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循环你了解了多少呢。

猜你喜欢

转载自blog.csdn.net/qq_53086187/article/details/124057912