入门指南

C++ 入门:从读懂题目到独立完成练习

快码编程 · 发布于

初学编程,不必一开始就记住很多算法名。先把一件小事说明白,再让计算机按你的步骤完成它。

先看一道具体的小题

任务:输入三个整数,输出它们的和。

输入 2 4 7,输出应为 13。这里要输出的是一个总和,不是把三个数字分别打印出来。

先用自己的话说出三件事:程序会读到什么?我们要做什么处理?最后应当输出什么?这就是“输入—处理—输出”的基本模型。遇到更长的题目,也可以先把故事压缩成这三句话。

第一步:先手算,再写代码

列出几组小数据,能帮助你检查自己有没有读错题。除了 2 4 7,还可以试一试三个数都是零,以及存在负数的情况。例子不是证明,但它能暴露“只想到正数”这样的遗漏。

输入预期输出检查什么
2 4 713普通情况
0 0 00零值
-2 4 -7-5负数

第二步:把处理过程说清楚

设读到的三个数分别是 a、b、c。我们要求的结果就是 a + b + c。这里没有条件选择,也没有重复操作,因此可以直接按照顺序读入、计算、输出。

#include <iostream>
using namespace std;

int main() {
    long long a, b, c;
    cin >> a >> b >> c;
    cout << a + b + c << '\n';
    return 0;
}

这段代码假设三个数和它们的和都在 long long 的表示范围内。类型不是越复杂越好,关键是能够覆盖题目给出的数据范围。

第三步:再把同一个想法推广

如果输入的不再是固定的三个数,而是 n 个数,你会怎样修改?先尝试五个数:每读到一个数,就把它加进已有的总和。重复的是同一件事,这时才有了使用循环的理由。

检查循环是否正确,可以观察一个不变量:读完前 k 个数后,变量 sum 恰好等于这 k 个数的总和。起初没有读入任何数,总和为零;每次加入新读到的数,不变量仍然成立;读完全部数时,sum 就是答案。

推荐的入门顺序

  1. 顺序结构:读入、计算和输出,理解变量与表达式。
  2. 选择结构:当不同条件需要不同处理时,学习分支。
  3. 循环结构:找到重复的操作,明确起点、终点和更新方式。
  4. 数组与字符串:需要保留多个数据时,再学习合适的存储方式。
  5. 函数与简单算法:把重复的处理抽成模块,练习枚举、排序等方法。

每次练习,留下三句话

不要只记录“通过了”。试着写下:我如何把题目转成计算任务?我用什么理由判断方法正确?如果数据或条件改变,原方法还成立吗?这些记录比复制一段答案更有助于下一次独立解题。