C语言中的for循环语句基本语法及使用

 更新时间:2023年06月29日 09:54:53   作者:钟爱陈奕迅  
这篇文章主要介绍了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循环你了解了多少呢。

到此这篇关于C语言中的for循环语句基本语法及使用的文章就介绍到这了,更多相关C语言for循环语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++内存泄漏及检测工具详解

    C++内存泄漏及检测工具详解

    最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控
    2013-10-10
  • Clion配置opencv开发环境的详细过程

    Clion配置opencv开发环境的详细过程

    这篇文章主要介绍了Clion配置opencv开发环境的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考的下
    2022-04-04
  • opencv利用矩形框选中某一区域并保存为新图片

    opencv利用矩形框选中某一区域并保存为新图片

    这篇文章主要为大家详细介绍了opencv利用矩形框选中某一区域并保存为新图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 基于matlab对比度和结构提取的多模态解剖图像融合实现

    基于matlab对比度和结构提取的多模态解剖图像融合实现

    这篇文章主要介绍了多模态医学图像配准与融合的概念、方法及意义,最后简单介绍了小波变换分析方法。感兴趣的小伙伴可以跟随小编一起学习一下
    2021-11-11
  • C++小知识:C/C++中不要按值传递数组

    C++小知识:C/C++中不要按值传递数组

    今天小编就为大家分享一篇关于C++小知识:C/C++中不要按值传递数组,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • C++实现高并发异步定时器

    C++实现高并发异步定时器

    这篇文章主要为大家详细介绍了如何利用C++实现高并发异步定时器,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • C语言动态规划点杀dp算法LeetCode炒股习题案例解析

    C语言动态规划点杀dp算法LeetCode炒股习题案例解析

    这篇文章主要介绍为了C语言动态规划点杀dp算法,本文以LeetCode炒股习题案例来为大家进行详细解析,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • 深入理解strcpy与memcpy的区别

    深入理解strcpy与memcpy的区别

    本篇文章是对strcpy与memcpy的区别进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言实现合式公式的判断示例

    C语言实现合式公式的判断示例

    这篇文章主要介绍了C语言实现合式公式的判断示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Matlab处理图像后实现简单的人脸检测

    Matlab处理图像后实现简单的人脸检测

    本文主要介绍一下如何使用matlab进行图像处理后实现人脸检测,感兴趣的可以了解一下
    2021-11-11

最新评论