C语言求1到n的和(附带源码和解析)

在C语言中,使用 for 循环求 1 到 n 的和是一个常见的编程任务。这个任务不仅可以帮助初学者理解循环的基本概念,还能培养他们的逻辑思维能力。

要计算 1 到 n 的和,我们需要创建一个循环,从 1 开始,一直累加到 n。for 循环非常适合这种情况,因为我们知道确切的迭代次数。

下面是实现这个功能的完整 C 程序:

cpp 复制代码
/**
*  系统学习C语言 https://xiecoding.cn/c/
**/
#include <stdio.h>

int main() {
    int n, sum = 0;

    printf("请输入一个正整数 n:");
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        sum += i;
    }

    printf("1 到 %d 的和是:%d\n", n, sum);

    return 0;
}

让我们逐行分析这段代码,以便更好地理解它的工作原理:

首先,我们包含了 stdio.h 头文件,这是因为我们需要使用 printf 和 scanf 函数进行输入输出操作。在 main 函数中,我们声明了两个整型变量:n 用于存储用户输入的数字,sum 用于存储累加的和,初始值设为 0。

接下来,我们使用 printf 函数提示用户输入一个正整数,然后用 scanf 函数读取用户的输入并存储在 n 变量中。这里使用 %d 格式指定符来读取整数。

现在,我们来到了程序的核心部分 ------ for 循环,这个循环的结构如下:

cpp 复制代码
for (初始化; 条件; 更新) {
    循环体
}

在我们的程序中,for 循环的各个部分如下:

  • 初始化:int i = 1 声明并初始化了循环变量 i,从 1 开始。
  • 条件:i <= n 确保循环继续执行,直到 i 大于 n。
  • 更新:i++ 在每次循环结束时将 i 增加 1。
  • 循环体:sum += i 将当前的 i 值加到 sum 上。

这个循环会从 1 开始,依次将每个数加到 sum 上,直到达到 n。例如,如果 n 是 5,循环将执行 5 次,sum 的值将依次变为 1、3、6、10、15。

循环结束后,我们使用 printf 函数输出结果。%d 格式指定符用于打印整数值,我们分别打印了 n 和 sum 的值。

最后,return 0 表示程序正常结束。

让我们看一个具体的例子,假设用户输入 n = 5,程序的输出将会是:

请输入一个正整数 n:5

1 到 5 的和是:15

这个程序虽然简单,但它展示了几个重要的编程概念:变量声明和初始化、用户输入、循环结构、算术运算以及结果输出。通过理解和练习这样的基础程序,初学者可以逐步掌握更复杂的编程技巧。

相关推荐
沪漂的码农40 分钟前
MM32F0144芯片ADC电压采样策略详解
c语言·单片机·嵌入式硬件
oioihoii7 小时前
现代C++:一场静默的革命,告别“C with Classes”
c语言·jvm·c++
万事可爱^11 小时前
GitHub爆火开源项目——RustScan深度拆解
c语言·开发语言·rust·开源·github·rustscan
冉佳驹11 小时前
数据结构 ——— 八大排序算法的思想及其实现
c语言·数据结构·排序算法·归并排序·希尔排序·快速排序·计数排序
异步的告白13 小时前
C语言-数据结构-2-单链表程序-增删改查
c语言·开发语言·数据结构
超级无敌大学霸13 小时前
二分查找和辗转相除法
c语言·算法
云知谷15 小时前
【软件测试】《集成测试全攻略:Mock/Stub 原理 + Postman/JUnit/TestNG 实战》
c语言·开发语言·c++·软件工程·团队开发
小龙报18 小时前
《算法通关指南C++编程篇 --- 初阶函数递归专题》
c语言·开发语言·c++·算法·创业创新·学习方法·visual studio
星轨初途18 小时前
《数据结构二叉树之堆 —— 优先队列与排序的高效实现(2)(下)》
c语言·开发语言·数据结构·经验分享·笔记·性能优化
Shylock_Mister18 小时前
ARM与x86交叉编译实战排错指南
linux·c语言·arm开发