欢迎!
欢迎学习 C++ 教程!最重要的是,这些教程旨在使学习 C++ 变得容易。
与许多其他网站和书籍不同,这些教程不假定你之前有任何编程经验。随着你的进步,我们将教你所有你需要知道的东西,并在此过程中提供很多例子。
无论你是有兴趣将学习 C++ 作为一种爱好还是专业发展,你都来对地方了!
来自特立尼达的读者 Syam 的推荐:
这个网站解释C++概念和教授编程是多么完美,真是太疯狂了。我读了《编程:使用 C++ 的原理和实践》一书 [作者是 C++ 的创造者 Bjarne Stroustrup],它相当令人困惑。这个网站第一次就说清楚了,他们解释了你需要知道的一切。不知何故,他们知道我不知道的,以及我需要知道的。这几乎就像我未来的自己回到了过去,教我会犯什么错误。
课程结构
本介绍性章节中的课程旨在为你提供有关 C++ 是什么、它是如何产生的、程序如何工作以及需要安装哪些软件来创建自己的程序的一些背景信息。你甚至可以编写自己的第一个程序。
后续章节将探讨 C++ 语言的不同部分。在第一章(第 1 章)中,你将对许多基本的 C++ 概念有一个广泛而肤浅的概述,因此我们可以开始编写一些简单的程序。接下来的章节将深入探讨这些概念,或引入新概念。
每一章都有一个主题,其下的大部分课程通常与该主题有关。没有建议你应该花在每节课或每章上的时间;以你舒适的速度学习材料。
目标
在开始之前,让我们介绍这些教程的几个重要目标:
- 涵盖一般编程主题以及 C++。传统教科书在教授给定编程语言的基础知识方面做得很好,但它们通常不涵盖该语言附带的其他编程主题。例如,书籍将省略有关编程风格、常见陷阱、调试、好/坏编程实践和测试的部分。因此,当你读完这本书时,你可能明白了如何用一种语言编程,但你也可能已经养成了坏习惯,这些坏习惯以后会回来咬你!这些教程的目标之一是确保在讨论它们自然有意义的部分中涵盖所有这些附带主题。当你完成时,你不仅会知道如何用C++编程,你还会知道如何不用C++编程,这可以说同样重要。
- 举了很多例子。大多数人从遵循示例中学到的东西与从阅读文本中学到的东西一样多或更多。这些教程将努力提供大量清晰、简洁的示例,以展示你正在学习的概念的应用。我们还将(尽可能)避免双重弊端:省略号(也称为...),其中为了篇幅而省略了示例的必要或不明显的部分,以及无法解释的新概念,其中引入了与示例无关的新概念,而没有提及它是什么或它是如何工作的。这两种情况都会导致卡住。
- 提供练习程序。许多课程和部分的结尾将包含一些你可以尝试自己回答的练习以及解决方案。你可以将你的解决方案与我们的解决方案进行比较,看看我们做了什么不同的事情,或者,如果你遇到困难,我们是如何解决问题的。然后,你可以返回并重新关注你需要更多工作的领域。
- 最重要的是:玩得开心。编程可以很有趣,如果你通常没有玩得开心,你就没有正确的编程心态。疲惫或不快乐的程序员会犯错误,调试代码往往比一开始就正确编写代码花费的时间要长得多!通常,你可以通过上床睡觉、睡个好觉以及早上回来解决问题来节省一些时间。
充分利用这些教程
在学习这些教程时,我们建议你采取一些做法,以最大限度地提高你的学习体验:
- 手动输入示例并自行编译。不要复制和粘贴它们!这将帮助你了解通常出错的位置,并熟悉编译器警告和错误。不要只是盲目地转录示例程序 - 想想你输入的每一行都做了什么,以及它对整个程序的贡献。如果你遇到任何你不明白的事情,那就是需要进一步调查的事情。
- 当你在程序中犯错误或发现错误时,请修复它们。在向他人寻求帮助之前,先尝试解决自己的问题。学习如何查找和修复错误是成功编程的关键技能。不要忽视学习如何使用调试器(我们将在下一章中解释如何使用调试器) — 它是找出程序出错的关键工具。
- 尝试这些示例。更改数字和文本以查看会发生什么。修改程序以执行其他操作(例如,如果程序添加两个数字,则将其添加三个数字)。尝试找到不同的方法来破坏程序(如果程序要求你输入数字,请尝试输入字母,看看会发生什么)。通过修改示例,你将了解更多信息,而不是简单地遵循它们。
- 计划花一些时间进行测验。如果你是编程新手,你可能会发现这些具有挑战性(这很正常,因为你的大脑已经适应了编程思维方式)。如果你第一次没有得到正确的答案,请不要气馁。在找到成功之路之前,你可能需要尝试几种不同的方法。如果你真的被卡住了,看看答案是可以的。在继续之前,请确保你了解提供的答案是如何工作的。
- 使用你所学的概念编写你自己的短程序。这将加强你的学习并提高你的保留率。
问:如何注册该网站?如何登录?
本网站的所有部分都可以匿名访问 — 因此,不需要用户帐户或注册!
问:本网站是否有 PDF 版本可供离线查看?
不幸的是,没有。该网站能够对所有人免费,因为我们是广告赞助的 — 这种模式根本不适用于 PDF 格式。欢迎你将本网站的页面转换为PDF(或任何其他)格式供你私人使用,只要你不分发它们。
问:如果我被困在一个概念上,我该怎么办?
如果你不明白某些内容或感到卡住:
- 通读评论。其他读者可能也遇到过类似的挑战。
- 浏览本系列的下一两课 - 你的问题可能会在那里得到解答。
- 使用搜索引擎查看你的问题(或错误消息)是否已在其他地方得到解决。
- 让人工智能向你解释一些事情。请记住,人工智能提供的信息可能完全或部分不正确。
- 在专为编程问答而设计的网站上提出你的问题,例如 Stack Overflow。
如果所有其他方法都失败了,请跳过你不理解的材料,稍后再回来。你可能会发现,通过其他文章提供的额外知识和场景,难以理解的事情变得更容易。
问:如果我忘记了某件事的含义,我该怎么办?
使用网站目录。在那里查找你想了解更多的任何主题,你将找到讨论该主题的课程的链接。
问:你们有其他编程语言的类似网站吗?
不。维护这个网站需要很多时间。使用其他语言需要能够克隆自己几次。
问:你能为这个网站做一个暗模式吗?
不容易,但你可以!请参见 darkreader.org。
最后,一个小唠叨:这个网站是免费的,因为它是广告支持的。如果你发现自己喜欢这些课程,请考虑禁用广告拦截器。
好吧,让我们继续吧!