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循环语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • OpenCV mask的作用及如何制作掩模mask

    OpenCV mask的作用及如何制作掩模mask

    mask 不是马斯克,是掩膜,可以用来遮盖非感兴趣区,突出感兴趣区,使得图像处理只专注于ROI部分,OpenCV中的很多函数用到mask,mask是什么?怎么制作一个mask?本文给大家分享OpenCV mask的作用及如何制作掩模mask,感兴趣的朋友一起看看吧
    2023-02-02
  • C++获取当前进程IAT的方法

    C++获取当前进程IAT的方法

    这篇文章主要介绍了C++获取当前进程IAT的方法,实例讲述了IAT(导入地址表)的获取方法,在Windows应用程序开发中有着非常实用的应用价值,需要的朋友可以参考下
    2014-10-10
  • C++学习之异常机制详解

    C++学习之异常机制详解

    C++中的异常处理机制可以帮助我们处理程序在运行时可能会遇到的异常情况,比如内存分配错误、文件打开失败等。本文就和大家详细讲讲C++中异常机制的具体使用吧
    2023-04-04
  • C语言扫雷详细代码分步实现流程

    C语言扫雷详细代码分步实现流程

    扫雷是电脑上很经典的游戏,特意去网上玩了一会,几次调试之后,发现这个比三子棋要复杂一些,尤其是空白展开算法上和堵截玩家有的一拼,与实际游戏差别较大,不能使用光标,下面来详解每一步分析
    2022-02-02
  • 深入探讨linux下进程的最大线程数、进程最大数、进程打开的文件数

    深入探讨linux下进程的最大线程数、进程最大数、进程打开的文件数

    本篇文章是对linux下进程的最大线程数、进程最大数、进程打开的文件数进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • c语言 字符串转大写的简单实例

    c语言 字符串转大写的简单实例

    这篇文章主要介绍了c语言 字符串转大写的简单实例,有需要的朋友可以参考一下
    2013-12-12
  • C++/Php/Python 语言执行shell命令的方法(推荐)

    C++/Php/Python 语言执行shell命令的方法(推荐)

    下面小编就为大家带来一篇C++/Php/Python 语言执行shell命令的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • C语言深入探究栈的原理

    C语言深入探究栈的原理

    一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则
    2021-11-11
  • C++模板类的用法实例

    C++模板类的用法实例

    这篇文章主要介绍了C++模板类的用法实例,以实例形式详细讲述了模板类的接口、成员、内联函数等概念及用法,需要的朋友可以参考下
    2014-10-10
  • 详谈c++11 final与override说明符

    详谈c++11 final与override说明符

    下面小编就为大家带来一篇详谈c++11 final与override说明符。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论