for循环初级运用——利用循环求出1+到100的和(C++)

for循环的构成

在编程中,for循环是一种基本的控制结构,用于重复执行一段代码块固定次数或遍历一个可迭代对象(如列表、元组、字典、集合或字符串等)。for循环的构成因编程语言的不同而有所差异,但大多数现代编程语言都支持for循环,并且其结构有相似之处。以下是C++语言中for循环的构成示例:
在 C 和 C++ 中,for 循环通常包括初始化、条件检查和迭代部分

// 遍历一个数组
int arr[4] = {1, 2, 3, 4};
for(int i = 0; i < 4; ++i){ // 从0循环到3(数组下标)
	cout << arr[i] <<" ";
}
// 将会输出 1 2 3 4

// 固定次数的循环
for(int i = 1; i <= 10; ++i){ // 从1循环到10
	cout << i <<" ";
}
// 将会输出 1 2 3 4 5 6 7 8 9 10

尽管不同编程语言中for循环的具体语法可能有所不同,但它们的基本结构通常包括:

  • 初始化部分
    设置循环控制变量(通常是一个计数器)
  • 条件检查
    在每次迭代开始时评估一个条件,如果条件为真,则继续执行循环体;否则,退出循环
  • 迭代部分
  • 在每次迭代结束时更新循环控制变量

此外,许多现代编程语言还提供了其他类型的循环结构(如while循环和do-while循环)以及专门用于遍历集合的语法(如Pythonfor item in iterableC#foreach),不过我们今天只学习C++for循环

for循环的特性

for循环是编程中一种非常基础且强大的控制结构,其特性可以归纳为以下几点:

基本特性

  • 重复性
    for循环允许代码块重复执行,直到满足特定的终止条件
  • 结构化
    for循环通常包含初始化、条件检查和迭代三个主要部分,这些部分共同确保循环的正确执行
  • 灵活性
    for循环可以用于多种场景,包括遍历数组、列表、字符串等可迭代对象,以及执行固定次数的迭代

遍历特性

  • 可迭代对象遍历
    在许多编程语言中,for循环特别适用于遍历可迭代对象,如数组、列表、元组、字典、集合和字符串等
    遍历过程中,循环变量会依次指向可迭代对象中的每个元素

  • 键值对遍历(在支持字典等键值对数据结构的语言中)
    对于字典等包含键值对的数据结构,for 循环可以方便地遍历其中的键、值或键值对。

控制特性

  • 条件控制
    for循环的执行依赖于条件表达式的值。只要条件表达式为真,循环就会继续执行;否则,循环将终止。
  • 迭代控制
    迭代部分负责更新循环控制变量,以确保每次迭代都能正确地访问可迭代对象的下一个元素(或执行下一次迭代)。
  • 提前终止
    在某些情况下,可以使用break语句提前终止for循环。
    也可以使用continue语句跳过当前迭代,直接开始下一次迭代。

嵌套特性

  • 嵌套使用
    for循环可以嵌套在其他for循环或其他类型的循环结构中,以实现更复杂的控制流程。
    嵌套循环时,需要注意循环变量的命名和作用域,以避免冲突和错误。

执行效率

  • 高效性
    for循环通常具有较高的执行效率,特别是在处理大量数据时。
    通过合理的循环设计和优化,可以进一步提高for循环的执行效率。

语言特性差异

语法差异

  • 不同编程语言中 for 循环的语法可能有所不同,但基本结构和原理是相似的。
  • 在学习新的编程语言时,需要了解该语言中 for 循环的具体语法和特性。

功能扩展

  • 一些编程语言可能提供了对for循环的扩展或特殊用法,如Python中的for...else结构或C#中的foreach循环等。

综上所述

  • for循环具有重复性、结构化、灵活性、遍历特性、控制特性、嵌套特性以及高效性等基本特性。这些特性使得for循环成为编程中不可或缺的控制结构之一。

for循环的典型例子

说到循环,很多人都会想起高斯小时候做过的1 + 2 + 3 + …… + 100,这也是for循环最典型的代表,今天我们将以这个例子来学习for循环。

控制循环与整理思路

从一加到一百,就要循环一百次。
同时,求和的变量还要每轮自加自增一,或是说加上目前循环的次数
为了方便,我们可以将循环变量(也就是i)作为每次增加的数
那么,循环变量就要从1自加一到100
之后,求和变量每次增加i就好了
开干

编程实现

首先,写好编程专用头文件和main函数:

#include<bits/stdc++.h>
#define int long long // 宏命令,可省略
using namespace std;

signed main(){ // 因为将int定义为“long long”,mian函数返回值类型要改变
}

然后是求和和循环时间:

int n = 0; // 定义求和变量和初始化(初始化尤为重要,小心)
for(int i = 1; i <= 100; ++i){
	n = n + i; // 不断加上i
}

最后输出验证:

cout << n;

放完整代码:

#include<bits/stdc++.h>
#define int long long // 宏命令,可省略
using namespace std;

signed main(){ // 因为将int定义为“long long”,mian函数返回值类型要改变
	int n = 0; // 定义求和变量和初始化(初始化尤为重要,小心)
	for(int i = 1; i <= 100; ++i){
		n = n + i; // 不断加上i
	}
	cout << n;
}

目标:输出5050
输出

程序解释

开始,n等于零

进入循环,i = 1,判断 i <= 100 为真,进入
此时,i1,(n = n + i) = (n = 0 + 1

第二次循环,i = 2,判断 i <= 100 为真,进入
此时,i2,(n = n + i) = (n = 1 + 2),运算完后 n = 3

第三次循环,i = 3,判断 i <= 100 为真,进入
此时,i3,(n = n + i) = (n = 3 + 3),运算完后 n = 6

第四次循环,i = 4,判断 i <= 100 为真,进入
此时,i4,(n = n + i) = (n = 6 + 4),运算完后 n = 10

第五次循环,i = 5,判断 i <= 100 为真,进入
此时,i2,(n = n + i) = (n = 10 + 5),运算完后 n = 15

……

第一百零一次循环,i = 101,判断 i <= 100 为假,不进入,退出循环

此时,n 等于 5050,输出

看程序输出

每轮输出(n + i = ?)
最后输出最终结果(5050)
这是每轮的加法结果
看到这里,相信你已经掌握了for循环了,再见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心-远-地-自-偏

天生我材必有用,千金散尽还复来

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

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

打赏作者

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

抵扣说明:

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

余额充值