0.1 — 本教程简介

欢迎!

欢迎来到 Learn C++ 教程!最重要的是,这些教程旨在让学习 C++ 变得轻松。

与许多其他网站和书籍不同,这些教程不假设您有任何先前的编程经验。我们将为您提供所需的一切知识,并提供大量示例。

无论您是对将 C++ 作为爱好还是用于专业发展感兴趣,您都来对地方了!


读者 Syam(来自特立尼达)的推荐

这个网站解释 C++ 概念和教授编程的方式简直太完美了。我读过 Bjarne Stroustrup(C++ 的创建者)的《编程:原则与实践(使用 C++)》一书,但那本书相当令人困惑……这个网站第一次就解释得很清楚,而且他们解释了所有你需要知道的东西。不知何故,他们知道我不知道什么,以及我需要知道什么。这几乎就像我的未来自我回到了过去,来教我将犯的错误。

课程结构

本入门章节中的课程旨在为您提供一些关于 C++ 是什么、它是如何产生的、程序如何工作以及您需要安装哪些软件来创建自己的程序的背景。您甚至将编写您的第一个程序。

后续章节将探讨 C++ 语言的不同部分。在第一章(第 1 章)中,您将对许多基本的 C++ 概念有一个广泛但浅显的概述,这样我们就可以开始编写一些简单的程序。后续章节将深入探讨这些概念,或引入新概念。

每个章节都有一个主题,其下的多数课程通常与该主题相关。对于每个课程或章节,没有建议花费的时间;请以您感到舒适的速度学习材料。

目标

在我们开始之前,让我们回顾一下这些教程的一些重要目标

  • 涵盖通用编程主题以及 C++。传统的教科书在教授给定编程语言的基础知识方面做得很好,但它们通常不涵盖与语言无关的其他编程主题。例如,书籍会省略关于编程风格、常见陷阱、调试、好/坏编程实践和测试的部分。因此,当您读完这本书时,您可能了解如何在一种语言中编程,但您也可能养成不良习惯,这些习惯稍后会给您带来麻烦!这些教程的目标之一是确保所有这些附带主题在适当的部分中被涵盖,在这些部分中讨论它们是自然而然的。当您完成时,您不仅会知道如何用 C++ 编程,还会知道如何不进行 C++ 编程,这可以说同样重要。

  • 提供大量示例。大多数人从跟随示例中学习的知识与从阅读文本中学习的知识一样多或更多。这些教程将努力提供大量清晰、简洁的示例,以展示您正在学习的概念的应用。我们还将尽可能避免两种“邪恶”:省略号(也称为),即为了节省空间而省略示例中必要或不明显的部分;以及未经解释的新概念,即在没有提及它是或如何工作的情况下引入与示例不可分割的新概念。这两种情况都容易导致卡壳。

  • 提供练习程序。许多课程和章节的末尾会包含一些您可以尝试自己回答的练习,以及解决方案。您可以将您的解决方案与我们的解决方案进行比较,看看我们有什么不同之处,或者如果您卡住了,我们是如何解决问题的。然后您可以回去并重新关注您需要更多练习的领域。

  • 最重要的是:享受乐趣。编程可以非常有趣,如果你通常不感到乐趣,你的心态就不适合编程。疲惫或不快乐的程序员会犯错误,而且调试代码通常比一开始就正确编写代码需要更长的时间!通常,你可以通过睡觉、睡个好觉,然后在早上回来解决问题来节省一些时间。

充分利用这些教程

当您学习这些教程时,我们推荐一些实践以最大限度地提高您的学习体验

  • 手动输入示例。这将帮助您了解自己常犯的错误,并熟悉因打字错误而产生的各种诊断信息。输入每一行时,请思考它做了什么,以及它如何对整个程序做出贡献。如果您遇到任何不理解的地方,那就是需要进一步研究的问题。

  • 当您在程序中犯错误或发现错误时,请修复它们。在向他人寻求帮助之前,尝试自己解决问题。学习如何查找和修复错误是成功编程的关键技能。不要忽视学习如何使用调试器(我们将在未来的章节中解释如何使用它)——它是找出程序出错的关键工具。

  • 尝试示例。改变数字和文本以查看会发生什么。修改程序以执行额外的操作(例如,如果一个程序添加两个数字,让它添加三个数字)。尝试找到不同的方法来破坏程序(如果一个程序要求您输入一个数字,尝试输入一个字母并查看会发生什么)。通过修改示例,您将比简单地跟随它们学到更多。

  • 计划花一些时间进行测验。如果您是编程新手,您可能会觉得这些很有挑战性(这是正常的,因为您的大脑正在适应编程思维)。如果第一次没有得到正确答案,请不要气馁。您可能需要尝试几种不同的方法才能找到成功之路。如果您真的卡住了,看看答案也没关系。只要确保在继续之前理解所提供的答案是如何工作的即可。

  • 使用您所学的概念编写自己的小程序。这将巩固您的学习并提高您的记忆力。

常见网站相关问题

问:我如何注册网站?我如何获得登录名?

本网站的所有部分均可匿名访问——因此,无需用户帐户或注册!

问:是否有本网站的 PDF 版本可供离线查看?

不幸的是,没有。这个网站之所以能对所有人免费开放,是因为我们有广告赞助——这种模式在 PDF 格式中根本行不通。欢迎您将本网站的页面转换为 PDF(或任何其他)格式供您私人使用,只要您不进行分发。

问:如果我卡在一个概念上,我该怎么办?

如果你不理解某些东西或者感到卡住

  • 仔细阅读评论。其他读者可能遇到过类似的挑战。
  • 浏览一下接下来的一个或两个课程——你的问题可能会在那里得到解答。
  • 使用搜索引擎查看您的问题(或错误消息)是否已在其他地方得到解决。
  • 请求 AI 为您解释一些内容。请记住,AI 提供的信息可能完全或部分不正确。
  • 在专门用于编程问答的网站(如Stack Overflow)上提问。

如果所有方法都失败了,跳过你不理解的材料,稍后再回来。你可能会发现,有了其他文章提供的额外知识和背景,原本难以理解的东西会变得更容易。

问:如果我忘记了某个词的意思怎么办?

使用我们的网站索引来查找您想了解更多的主题,您会找到指向讨论该主题的课程链接。网站索引也可以通过标题栏中的链接从每个课程访问。

您也可以尝试由 Bjarne Stroustrup(C++ 的创建者)提供的C++ 术语词汇表

问:你们有针对其他编程语言的类似网站吗?

没有。维护这个网站需要大量时间。学习其他语言需要我能克隆自己几次。

问:你们能为这个网站做个深色模式吗?

不容易,但你可以做到!请参见darkreader.org

最后,一个小小的提醒:本网站是免费的,因为它由广告支持。如果您发现自己喜欢这些课程,请考虑禁用您的广告拦截器。

好了,让我们开始吧!

guest
您的电子邮箱地址将不会被显示
发现错误?请在上方留言!
与勘误相关的评论在处理后将被删除,以帮助减少混乱。感谢您帮助使网站对每个人都更好!
来自 https://gravatar.com/ 的头像与您提供的电子邮箱地址相关联。
有回复时通知我:  
2.6K 评论
最新
最早 最多投票
内联反馈
查看所有评论