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

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

相关推荐
白山编程大哥15 小时前
适合初学者练习的 C/C++ 开源项目推荐
c语言·c++·开源
小灰灰搞电子16 小时前
C 语言 <stdlib.h> 头文件详解
c语言·stdlib.h
Navigator_Z16 小时前
LeetCode //C - 1276. Number of Burgers with No Waste of Ingredients
c语言·算法·leetcode
wuminyu17 小时前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++
番茄灭世神18 小时前
PN学堂GD32教程第11篇——I2C与EEPROM
c语言·stm32·单片机·嵌入式·gd32
阿钱真强道19 小时前
27 嵌入式操作系统 | C 网关:串口 ⇄ UDP 转发(先用 UDP 当上位机替身)
c语言·单片机·网关·udp·uloop
老王爱玩车20 小时前
深入理解指针6
c语言·开发语言·学习
苏辰澈20 小时前
C++自己的族谱规则:继承详解上
c语言·c++·visualstudio
Logic1011 天前
C语言/数据结构字符串题解:按字符类型重排(数字→字母→符号)——三趟扫描稳定分区
c语言·数据结构·字符串·时间复杂度·计数排序·算法题·ascii
Logic1011 天前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质