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

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

相关推荐
彷徨而立2 小时前
【C/C++】创建文件夹
c语言·开发语言·c++
程序猿小D4 小时前
第30节 Node.js C/C++ 插件
c语言·c++·后端·node.js·vim
W说编程4 小时前
算法导论第一章:算法基础与排序艺术
c语言·数据结构·算法
慢半拍iii12 小时前
数据结构——D/串
c语言·开发语言·数据结构·c++
whoarethenext13 小时前
使用 C/C++ 和 OpenCV 提取图像的感兴趣区域 (ROI)
c语言·c++·opencv
凌肖战14 小时前
力扣上C语言编程题:最大子数组和(涉及数组)
c语言·算法·leetcode
SY师弟17 小时前
台湾TEMI协会竞赛——1、龙舟机器人组装教学
c语言·单片机·嵌入式硬件·机器人·嵌入式·台湾temi协会
学习噢学个屁17 小时前
基于STM32音频频谱分析设计
c语言·stm32·单片机·嵌入式硬件·音视频
水水沝淼㵘19 小时前
嵌入式开发学习日志(数据库II && 网页制作)Day38
服务器·c语言·网络·数据结构·数据库·学习
Cyrus_柯20 小时前
网络编程(数据库:SQLite)
linux·c语言·数据库·sqlite