酷码STEM实验室设计的编程成长总路线图是Scratch → Python → C/C++。[2021更新]美国西点军校 Suzanne J. Mathews 等编写的最新教科书 Dive into Systems 致力于面向具有计算机科学入门知识并熟悉 Python 的学生介绍计算机系统的底层知识,包括计算机系统、计算机组织、操作系统和并行计算,以及 C 语言和汇编语言。此教材也证实了以上路线图的可行性。
如果要从C/C++直接入门编程,难度会大一些,类似形体训练(少儿舞蹈课)或者弹钢琴,通常是强迫课程+等待学生培养兴趣+悟性发现的过程;否则,比较容易出现“从入门到放弃”的结果。
编程是孩子们应对未来挑战的基本能力之一。编程教学一定要有趣、好玩、能与物理实体相关联,这样才能吸引学生主动参与。Arduino使用C/C++编写程序,因此优选结合此开源硬件学习C/C++。
以下以C++为例说明。如果其他老师告诉你:C语言的基本概念和设计方法相对比较容易理解,初学者应该从它入手,没有问题:开发环境相同,学习相应的关键语法即可。
NOI、NOIP指定的C/C++集成开发环境是Dev-C++和Code::Blocks。
NOI 是National Olympiad in Informatics的缩写,译为“全国青少年信息学奥林匹克竞赛”;NOIP 是National Olympiad in informatics in Provinces的缩写,译为“全国青少年信息学奥林匹克联赛”。NOI、NOIP 都是奥林匹克竞赛的一种,参加者多为高中生,获奖者将被保送到名牌大学或者得到高考加分资格。
Dev-C++是一套用于开发C/C++的自由的集成开发环境,并以GPL作为散布许可。使用MinGW及GDB作为编译系统与调试系统。Dev-C++的IDE是利用Delphi开发的。其实,Dev-C++的更新开发和维护已经停滞(2006年),移植到Linux的项目也被暂停。
Code::Blocks是一个免费、开源、跨平台的整合式开发环境,主要针对开发C/C++程式而设计。自2021年9月1日启用的比赛用标准环境NOI Linux 2.0版(基于Ubuntu 20.04.1)中,Code::Blocks是主要的C/C++集成开发环境。
Linux 下可以不使用 IDE,只使用 GCC 编译器和一个文本编辑器(例如 Gedit)即可,这样对初学者理解C语言程序的生成过程非常有帮助。 如果希望使用 IDE,那么可以选择 CodeLite、Code::Blocks、Anjuta、Eclipse、NetBeans 等。
Linux 是超级计算系统上的主要操作系统,GNU 编译器可以说是当今最常用的 C 编译器,因此,很多的例程推荐使用 GNU C 编译器编译并在 Linux 操作系统上运行。
推荐使用 Apple 官方开发的 Xcode,Visual Studio 也推出了 Mac 版本。
Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows 、 Linux和macOS等操作系统且开放源代码的代码编辑器,它支持测试,并内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于 IntelliSense)、代码片段和代码重构等,该编辑器支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数,同时还在编辑器中内置了扩展程序管理的功能。
int main() { return 0; }
通过编译器将源程序.cpp文件编译成计算机可以识别的二进制格式的.exe目标文件。
执行这个.exe文件就是程序的运行。
虽然我们前面介绍过The C Programming Language(《C程序设计语言》)这本“白皮书”,但强烈不推荐用其入门。
《C语言小白变怪兽》
既适合对计算机一窍不通的小白,也适合有编程基础的读者,还可以用来进阶。
《C语言小白变怪兽》是一套网络教程,发布在C语言中文网,由站长亲自编写,这套教程最大的特点是通俗易懂,深入浅出,既适合小白入门,也适合后期进阶。
书籍链接:http://c.biancheng.net/cpp/u/jiaocheng/
《啊哈C语言》
适合对计算机一窍不通的纯小白,有编程基础的读者请忽略。
这本书语言幽默,生动形象,通俗易懂,给人耳目一新的感觉,但是这本书非常浅显,并不深入,所以适合纯小白入门,找到门以后也就扔了。
这本书着重于语言艺术,针对纯小白下足了功夫,小学生坐在马桶上都能学会编程。说实话,我非常欣赏作者的创意和用心,国内像这样写书的少之又少,入门的书就应该是这个样子。
《明解C语言》
适合对计算机一窍不通的纯小白,有编程基础的读者请忽略。
日本人的作品,最大的特点是插图很多,生动有趣,让人一目了然。
其实真正的《明解C语言》一共有三部,分别是《明解C语言·入门篇》《明解C语言·中级篇》《明解C语言·实践篇》。
《C Primer Plus》
适合有编程基础的读者,对计算机一窍不通的纯小白请忽略。
畅销 30 余年的C语言入门经典书籍,至今无人能撼动它的地位,它是最符合C语言标准的书籍,作为一名C语言程序员,不收藏一本都觉得自己很水。
信息量大,涉及的知识面广,书也比较厚,得有耐心才行。
《C程序设计语言,The C Programming Language》
C语言创始人丹尼斯·里奇(Dennis MacAlistair Ritchie)的著作,和《C Primer Plus》并驾齐驱,很难分出伯仲,这两本书都是一样的优秀,都是C语言程序员必须收藏的。
《C专家编程》
这貌似是一本吐槽C语言的书,基本上介绍了大多数C语言的坑,有不少精髓,在C语言界久负盛名,想进阶的一定要看。
《C陷阱与缺陷》
c语言的“四书五经”之首。和《C专家编程》类似,也是给C语言挑刺的,阐述了很多容易让人误解的语法细节,重在帮助C程序员绕过编程过程中的陷阱和障碍。