C/C++ for循环的几种用法

c++循环和关系表达式 c++循环和关系表达式for循环递增,递减和组合赋值运算符,复合语句,关系运算符while循环,do while循环,typedef工具,字符输入方法get(),嵌套循环和二维数组 for循环 1.for循环的组成部分 1.for循环为执行重复的操作提供了循序渐进的步骤。for循环的组成部分步骤: 1.设置初始值。 2 执行测试,看看循环是否应当继续进行。 3. 执行循环操作。 4 更新用于测试的值。 2.c++循环设计中的要素:初始化,测试,更新操作。这些操作由括号括起来,其中每个部分都是表达式,由分号隔 阅读详情
AI摘要

本文详细介绍了C++中for循环的三种常见用法:基本for循环、for_each函数遍历以及范围基础for循环。通过实例展示了如何遍历数组和容器,并讨论了在遍历过程中如何修改元素值。对于简单的遍历需求,范围基础for循环更为简洁便捷。

简单的讲一下for循环的三种用法!
用的编译工具是:Visual Studio 2017


一、for (int i = 0; i < N; i++)

这是最简单,也是最常用的方法:

int nums[] = { 3, 4, 2, 9, 15, 267 };
const int N = 6;

for (int i = 0; i < N; i++) {
	cout << nums[i] << " ";
}
cout << endl << endl;

这种方式没什么好讲,重点看下面两种!


二、for_each

需包含头文件:#include < algorithm >

1. for_each(nums, nums + N, vecFunc);

这种方式需要借助一个函数,遍历将数组中的每个值在函数中进行操作。

其中nums是一个数组,N是数组的个数,vecFunc是一个函数

#include <iostream>     // std::cout
#include <algorithm>    // std::for_each
#include <vector>       // std::vector

using namespace std;

// 函数
void vecFunc(int &i) {
	cout << i << endl;
	i = 10;		// 更改数组的值
}


int main() {
	int nums[] = { 3, 4, 2, 9, 15, 267 };
	const int N = 6;

	cout << "for_each - 数组:" << endl;
	for_each(nums, nums + N, vecFunc);	// 注意:N的值不能大于数组的长度,否则会越界
	
	// 数组更改后的数组的值
	for (int i = 0; i < N; i++) {
		cout << nums[i] << " ";
	}
	cout << endl << endl;
	
	return 0;
}

运行截图:
在这里插入图片描述
函数中,设置的参数是传引用,所以我们在对数组的值操作时,也可以更改它的值。

2. for_each (vec.begin(), vec.end(), vecFunc);

当然,for_each也可以适用于容器,使用迭代器的方式遍历,并更改其中的值,当然也需要借助函数,更上面类似。

#include <iostream>     // std::cout
#include <algorithm>    // std::for_each
#include <vector>       // std::vector

using namespace std;

void vecFunc(int &i) {
	cout << i << endl;
	i = 10;
}


int main() {
	vector<int> vec;	// vector容器
	vec.push_back(1);	// 插入值
	vec.push_back(2);

	cout << "for_each - vector:" << endl;
	for_each (vec.begin(), vec.end(), vecFunc);
	// vec.begin():指容器的第一个值;vec.end():指容器的最后一个值的下一个值

	for (int i = 0; i < vec.size(); i++) {
		cout << vec.at(i) << " ";
	}

	return 0;
}

运行截图:
在这里插入图片描述


三、 for (类型 变量 : 数组或容器)

1. for (int var : nums)

其中nums是一个数组
这种方式可以用来遍历数组!

#include <iostream>     // std::cout
#include <algorithm>    // std::for_each
#include <vector>       // std::vector

using namespace std;

int main() {
	int nums[] = { 3, 4, 2, 9, 15, 267 };
	const int N = 6;

	cout << "for - 数组:" << endl;
	//for (int &var : nums) {	// 这里可以使用引用"&"来修改数组中的值
	for (int var : nums) {
		cout << var << endl;
	}

	return 0;
}

运行截图:
在这里插入图片描述

2. for (int var : vec)

其中vec是一个int类型的容器
这种方式可以用来遍历容器,但是不能改变容器中的值。

#include <iostream>     // std::cout
#include <algorithm>    // std::for_each
#include <vector>       // std::vector

using namespace std;

int main() {
	vector<int> vec;
	vec.push_back(1);
	vec.push_back(2);

	cout << "for - vector:" << endl;
	//for (int &var : vec) {	// 这里可以使用引用"&"来修改容器中的值
	for (int var : vec) {
		cout << var << endl;
	}
	cout << endl;

	return 0;
}

运行截图:
在这里插入图片描述


四、全部代码

#include <iostream>     // std::cout
#include <algorithm>    // std::for_each
#include <vector>       // std::vector

using namespace std;

void vecFunc(int &i) {
	cout << i << endl;
	i = 10;
}


int main() {
	vector<int> vec;
	vec.push_back(1);
	vec.push_back(2);

	cout << "for_each - vector:" << endl;
	for_each (vec.begin(), vec.end(), vecFunc);

	for (int i = 0; i < vec.size(); i++) {
		cout << vec.at(i) << " ";
	}


	int nums[] = { 3, 4, 2, 9, 15, 267 };
	const int N = 6;

	cout << "for_each - 数组:" << endl;
	for_each(nums, nums + N, vecFunc);

	for (int i = 0; i < N; i++) {
		cout << nums[i] << " ";
	}
	cout << endl << endl;


	cout << "for - vector:" << endl;
	for (int &var : vec) {
		cout << var << endl;
	}
	cout << endl;

	cout << "for - 数组:" << endl;
	for (int &var : nums) {
		cout << var << endl;
	}

	return 0;
}

五、总结

好了,for几种用法已经讲完了,个人感觉如果只是遍历的话,第三种会比较简便。

C++程序基础(12):C++for循环语句结构 在此之前,我们已经学习了分支语句,这可以帮助我们实现具有判断性的语句。可以表示循环变量与条件的关系,也可以表示其他变量与条件的关系。首先需要定义循环变量初始值,可以为整型,浮点型,字符型等。接下来就是循环条件,即在什么时候循环终止,这其中可以使用。最后是循环变量增值,即对已定义的循环变量进行修改数值。在循环的途中直接跳出循环,以后的循环都不再进行了。在循环的途中直接跳过之后的步骤,进入下一次循环。语句而直接跳出循环,所以最终的输出结果应该为。循环,即有限次循环和无限次循环。一般在循环中常用的循环变量有。 阅读详情

相关推荐

【012】细数C++循环控制:for、while、do-while,看看你掌握了多少?

C++提供了三种循环控制语句:for循环、while循环和do-while循环。它们的主要区别在于条件判断的位置和执行顺序。下面对这三种循环控制语句进行总结:for循环。for循环通常用于已知重复次数的情况下,在for循环中,初始化表达式只会在第一次迭代前执行一次,更新表达式则在每次迭代后执行一次。只有当条件表达式为true时,才会进入待执行的语句块。while循环。

Lion_Long的博客 3655

C++初探 5-1(for循环)

for循环 for循环的组成部分 1. 表达式和语句 2. 非表达式和语句 3. 修改规则 for循环的使用例 - 阶乘的计算与存储 修改循环更新的步长 使用for循环访问字符串 递增运算符(++) 和 递减运算符(--) 副作用和顺序点 前缀格式和后缀格式 递增/递减运算符和指针 组合赋值运算符 复合语句(语句块) 其他语法技巧——逗号运算符 关系表达式 赋值、比较和可能出现的错误 C-风格字符串的比较 比较string类字符串

w_pab的博客 8937

C/C++中for语句循环用法及练习

循环允许您编写一个执行特定次数的循环的重复控制结构。

阿玥的小博客 2474

C++ 入门 - 7 - 循环 —— for语句

2️⃣ 判断控制变量是否满足条件表达式, 如果满足就执行一遍循环体, 否则结束整个 for 语句.3️⃣ 根据增加量表达式来计算出控制变量的新值.好了, 这篇关于 for 循环的博客就结束啦~如果不需要, 控制量初始化表达式可以不写.1️⃣ 执行控制变量的初始化.重复执行 5 次, 将变量。输出一个非负整数,表示这。4️⃣ 再次执行2️⃣., 并将其初始化为 0.个整数中最小值是什么。个非负整数中的最小值。第一行输入一个正整数。算出最小值 minn.

liting优快云1的博客 7285

汇编语言(第4版)王爽 课程设计2 详细实现(一、虚拟模式DOS运行篇)

由于虚拟模式的限制,我们编写的许多逻辑暂时不能被检验,而因为《汇编语言》编写时间较早,其所依赖的运行环境如今只能够依靠虚拟机来搭建。比如实模式DOS,搭建步骤比较繁琐,因此我将其它的部分放在下一篇文章中进行讲解。事实上,我们实现的程序属于《汇编语言》课程设计2中任务程序部分,其中的完整任务还涉及到将该任务程序安装到软盘等操作,这些也都需要在实模式下才能运行,所以统一放到下一篇文章进行实现。

m0_73327328的博客 2822

告别转换超时!手把手教你用Allegro2Altium.bat搞定AD21导入Allegro 17.2文件

本文详细介绍了如何使用Allegro2Altium.bat工具解决AD21导入Allegro 17.2文件时的转换超时问题。通过理解转换机制、准备离线环境、执行完整转换流程及高级技巧,帮助工程师高效完成PCB设计文件转换,提升工作效率。

weixin_30378623的博客 419

C++for循环详解

这个博客主要写了C++for循环的详解,并给出了代码示例。

Declarations的博客 4848

Transformer论文解读

Transformer有多牛逼不用多说,时隔7年我们再来看看论文原文,看看这篇深刻改变世界的文章都说了什么。当然逐字逐句解读已经意义不大,我们只列考点。

xian0710830114的专栏 4402

C++:for循环及新特性

迭代变量for-range-declaration,表示每一次迭代中从for-range-initializer获取的元素的值或索引,可以是基础类型或者自动类型推断。使用auto类型的迭代变量进行遍历集合时,实际上迭代变量只是集合中数据元素的拷贝。使用auto &类型的迭代变量进行遍历时,迭代变量是一个非常量左值引用,它是集合中数据元素的引用,如果对迭代变量进行修改,会直接影响到集合数据元素本身。在auto &的前面加上了const修饰,意味着迭代变量是集合中数据元素的引用,但是它是只读的不能被修改。

weixin_42195999的博客 4167

基于Python实现身份证信息识别

身份证是一种重要的证件,包含了个人的基本信息,如姓名、性别、出生日期、住址等。在实际应用中,有时需要对身份证进行自动化的识别,以提高工作效率和准确性。本文将介绍如何使用Python实现身份证信息的识别,通过图像预处理、OCR技术和解析算法,实现对身份证号码和其他信息的提取和解析。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

把 Client 当成 ABAP 系统的多租户底座:从 sy-mandt 到 CDS_CLIENT 的隔离机制与工程实践

本文深入解析SAP ABAP系统中Client概念的本质与应用。Client不仅是数据表的MANDT字段,更是会话级别的隔离边界,贯穿用户登录、授权和数据访问控制全过程。文章从ABAP SQL的隐式Client处理机制出发,详细介绍了USING CLIENT、USING ALL CLIENTS等安全跨客户端访问方式,并对比了传统CLIENT SPECIFIED的风险。同时阐述了ABAP CDS中@ClientHandling注解的类型与算法选择,包括#AUTOMATED自动拼接和#SESSION_VARIA

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 182

C++中for循环的5种用法

最近在写代码的时候看到一个简易的for循环用法(用了:)感觉很好奇 原来是C++11版本中新增的方法 现将C++中for循环的5中用法记录一下,便于学习 #include <iostream> #include <algorithm> #include <vector> using namespace std; int nArray[] = { 0,...

Gary_ghw的博客 1万+

【深度学习新浪潮】气候预测模型的研发进展一览(2025年版)

模型类型核心优势适用场景不足ARIMA(统计模型)简单高效、可解释性强短期单变量预测非线性、长时依赖建模差随机森林(机器学习)多特征融合、抗噪声中短期多因素预测空间相关性、时序趋势捕捉弱LSTM(深度学习)长时依赖建模、端到端中长期时序预测物理一致性差、数据需求量大物理知情AI物理规律约束、高可靠性极端天气、长期气候变化模型复杂、计算成本高。

专注:太空算力、AI infra、异构调度、大模型成本工程 527

C语言for循环

1、for循环介绍 for循环的一般形式为: for (语句1;表达式;语句2) { 语句块 } 1)for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1。 2)接着判断表达式的条件,如果条件成立,就执行一次循环体中的语句块。 3)语句块执行完后,接下来会执行语句2。 4)重复第2)步和第3),直到表达式的条件不成立才结束for循环。 注意: 1)在for循...

C语言技术网-码农有道 3万+

基于GELAN模块的YOLOv8改进-C2f结构替换与轻量化与高效涨点优化研究

本文详细探讨了在YOLOv8架构中利用YOLOv9的GELAN模块替换C2f结构的改进方法。轻量化版本在资源受限的场景中具有显著的推理效率提升,适用于边缘设备和移动端应用。高效涨点版本则在检测精度上实现了大幅突破,特别适合高精度要求的任务。实验结果显示,GELAN模块相比原C2f模块,在参数量与计算量间取得了更好的平衡,同时提升了检测性能。此外,本文还展示了结构图、训练代码和部署优化方案,为研究者和开发者提供了实践参考。

博客 1434

10、使用Ray Serve实现微服务与模型部署

本文深入介绍了如何使用Ray Serve实现微服务与机器学习模型的高效部署。从基础的部署定义到复杂的模型服务场景,涵盖部署架构、HTTP与Python调用、资源配置、FastAPI集成、金丝雀发布策略及实际应用流程。文章还探讨了模型服务的关键需求如灵活性、批处理、硬件优化和可扩展性,并展示了Ray Serve如何满足这些要求。最后提供了常见问题解决方案与未来发展方向,帮助开发者构建高性能、易维护的模型服务平台。

blue42的博客 173

for循环在c++中的用法_C ++中的循环

c++中的for循环Loops come into picture when we need to execute a particular action in a repeated manner. 当我们需要重复执行特定的动作时,就会出现循环。 C ++中的循环类型 (Types of loops in C++) C++ Loops C ++循环 There are two broad c...

从零开始的教程世界 4901

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

提升C/C++编程效率:深入C/C++ for循环的优化与应用

提升C/C++编程效率:深入for循环的优化与应用

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 5473

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C语言for循环语句的使用方法

作为C语言三大循环语句之一的for循环在C语言中的也占有非常的重要地位。因此了解C语言的for循环语句的工作原理是非常的有必要的。也是必须的。

127.0.0.1的博客 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

c++ for语句 for循环

for语句 for语句或者是for循环是最常见的也是复杂的一种循环。 在熟练掌握其语法后,对于一般类似与打印1到N的数字的程序我们都可以快速的写出。 for 语句的基本用法 #include <iostream> using namespace std; //for语句基本用法 int main() { for (int i = 0; i < 10 ; i++) { cout << "输出数字:" << i << endl; } retu

m0_62870588的博客 1万+

【C/C++】一文带你彻底搞懂C/C++ for循环语句基础用法

本文阐述C/C++的for循环语句基础用法,面向初学者。

JeredYe的博客 3129

c/c++循环语句总结

c/c++循环语句 循环语句可以重复执行大量相同语句,真正发挥了计算机计算的优势,在学习的过程中,循环编程给了我极大的快感和成就感。 基本的知识点: 一、三种循环语句 1、for循环:基本格式:for(初始化;条件;调整) 当循环条件满足时,执行相同的语句,然后进行调整(比如i++,i–)。 2、while循环:基本格式:while(条件){ 循环体 },先判断条件,若满足条件,执行循环体,...

Nerdant 5916

【C/C++】范围for循环

介绍范围for循环

hallo的博客 1920

【C/C++】带你快速掌握 使用—增强for(范围for循环)

增强for循环可以遍历支持迭代器容器类型或数组类型,在`增强for循环`中,我们不需要再通过计算数组长度遍历数组,`增强for循环`会自动根据数组长度将数组中的每一个数据赋值给同类型的`val`,我们只需要输出`val`就遍历了数组 `iterable`不止可以为数组,还可以是迭代的对象(比如支持begin、end操作的容器、string类型等)

努力让自己的能力配得上梦想. 4276

浅谈c/c++中的for循环用法和讲解。

近些天来,我在教一些人c++的的用法的时候,发现很多问题。 其中我推荐的学习方法是用c++ primer plus这本书,然后学习他的标准语法和c11标准,这其中我发现可能是因为新手的原因,他们很难对代码的用法进行理解。还有其中我发现书中也有一些不足的内容,对函数的讲解总感觉有点一知半解的样子。 我的编程学习是从《明解c语言》开始的,那本书对新手的学习相对很多编程书都更加的友好,感觉很奇怪我看了不少书都觉得日本人写的教材很适合新手学习,而美国人写的教材更适合有基础的人学习,当然中国人写的书,只要是上过大学的

m0_51559565的博客 1947

C/C++中Sleep函数的用法(for循环中产生的随机数一样解决方法之一)

有时我们使用for循环去产生随机数组时,发现其生成的随机数都一样,这和我们想要的不一样。通过查阅相关资料后发现,是因为当计算机的性能较快时,for循环运行时间非常短,srand(time(NULL))每次都返回相同的值。 原因:用系统时间做随机种子并不保险,如果应用程序在一个较快的计算机上运行,则该计算机的系统时钟可能没有时间在此构造函数的调用之间进行更改,Random 的不同实例的种子值。 解决方法一:使用Random ra=new Random(); 解决方法二:使用Sleep()函数..

平凡小智 5350
上一篇: Qt vs2017程序打包发布(图文详细步骤)
下一篇: Qt 文件操作
cpp_learners
博客等级 码龄7年 1526粉丝 274原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpp_learners

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值