C++语言中for语句循环和作用类型

简介: C++语言中for语句循环和作用类型

在C++语言中,for 循环是一种基本的控制结构,用于重复执行一组语句固定的次数或者迭代一个序列的元素。for 循环有三种类型:传统 for 循环、范围 for 循环(C++11 起支持)和计数 for 循环。

传统 for 循环

传统 for 循环由三部分组成:初始化表达式、条件表达式和迭代表达式。它的一般形式如下:

image.png

初始化表达式:在循环开始前执行,通常用于初始化一个或多个循环控制变量。

条件表达式:在每次循环迭代前评估,如果为真,则执行循环体。

迭代表达式:在循环体执行后执行,通常用于更新循环控制变量。

例如,以下代码片段用传统 for 循环打印从1到10的数字:

image.png

范围 for 循环

范围 for 循环简化了传统 for 循环,特别是当迭代一个序列(如数组或容器的元素)时。它的形式如下:

image.png

这里的“类型 变量名”会依次取序列中的每个元素的类型和值。

例如,以下代码片段用范围 for 循环打印一个整数数组的所有元素:

image.png

计数 for 循环

计数 for 循环是传统 for 循环的一种特殊形式,其中迭代表达式就是递增(或递减)循环控制变量。它通常用于已知需要执行固定次数迭代的情况。

image.png 上述循环会执行5次迭代,因为循环控制变量 i 从0开始,到4结束。

在C++中使用 for 循环时,需要注意以下几点:

确保条件表达式最终会变为 false,否则可能会导致无限循环。

如果循环体内包含可能修改循环控制变量的代码,需要格外小心,避免产生未预期的循环行为。

在编写循环时,应尽量考虑循环的效率,避免不必要的计算或操作。

for 循环在C++编程中应用极其广泛,无论是处理数组、容器,还是执行重复的任务,都是非常重要的工具。正确理解和使用 for 循环,能够有效提高程序的执行效率和代码的可读性。

以下为完整的for循环

image.png

 

相关文章
|
12天前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
29 2
|
27天前
|
编译器 C++ 运维
开发与运维函数问题之函数的返回类型如何解决
开发与运维函数问题之函数的返回类型如何解决
25 6
|
26天前
|
前端开发 编译器 程序员
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
|
5天前
|
设计模式 安全 IDE
C++从静态类型到单例模式
C++从静态类型到单例模式
10 0
|
1月前
|
安全 编译器 C++
C++一分钟之-模板元编程实例:类型 traits
【7月更文挑战第15天】C++的模板元编程利用编译时计算提升性能,类型traits是其中的关键,用于查询和修改类型信息。文章探讨了如何使用和避免过度复杂化、误用模板特化及依赖特定编译器的问题。示例展示了`is_same`类型trait的实现,用于检查类型相等。通过`add_pointer`和`remove_reference`等traits,可以构建更复杂的类型转换逻辑。类型traits增强了代码效率和安全性,是深入C++编程的必备工具。
42 11
|
30天前
|
C++
C++一分钟之-类型别名与using声明
【7月更文挑战第20天】在C++中,类型别名和`using`声明提升代码清晰度与管理。类型别名简化复杂类型,如`using ComplexType = std::vector<std::shared_ptr<int>>;`,需注意命名清晰与适度使用。`using`声明引入命名空间成员,避免`using namespace std;`全局污染,宜局部与具体引入,如`using math::pi;`。恰当应用增强代码质量,规避常见陷阱。
43 5
|
1月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
1月前
|
C++ 开发者
C++一分钟之-概念(concepts):C++20的类型约束
【7月更文挑战第4天】C++20引入了Concepts,提升模板编程的类型约束和可读性。概念定义了模板参数需遵循的规则。常见问题包括过度约束、约束不完整和重载决议复杂性。避免问题的关键在于适度约束、全面覆盖约束条件和理解重载决议。示例展示了如何用Concepts限制模板函数接受的类型。概念将增强模板的安全性和灵活性,但需谨慎使用以防止错误。随着C++的发展,Concepts将成为必备工具。
54 2
|
29天前
|
编译器 C++
C++从遗忘到入门问题之C++中的浮点数类型问题如何解决
C++从遗忘到入门问题之C++中的浮点数类型问题如何解决
|
1月前
|
C++ 开发者
C++一分钟之-概念(concepts):C++20的类型约束
【7月更文挑战第6天】C++20引入了Concepts,提升模板编程的精确性和可读性。概念允许设定模板参数的编译时约束。常见问题包括过度约束、不完整约束及重载决议复杂性。要避免这些问题,需适度约束、全面覆盖约束条件并理解重载决议。示例展示了如何定义和使用`Incrementable`概念约束函数模板。概念是C++模板编程的强大力量,但也需谨慎使用以优化效率和代码质量。
50 0