慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

C 语言及 EasyX 相关教程推荐 银牌收录

一个小球,27 分钟,讲清楚所有的 C 语言语法知识(童老师)

只有 27 分钟,就把 C 语言所有知识点串了一遍,非常精彩。

视频简介:C 语言功能强大、应用广泛。很多同学学了数组、函数、结构体、指针等语法知识后,还是无法真正理解,也不清楚除了做题,这些语法知识有什么用。针对这一问题,童老师将和大家一起,用一个小球将 C 语言的所有语法串起来,了解语法知识在程序开发中的应用价值,掌握更有效的学习方法,体会编程带来的乐趣。

视频地址:https://www.zhihu.com/zvideo/1510583673384173569

不要看的书

《C Primer Plus》、《C++ Primer Plus》这些被称作国外经典的编程入门书籍,不要看!

有很多从没看过这两本书,就因为听说是国外经典教材就开始疯狂推荐。书没有好坏,只有“是否适合”。这两本书,不适合初学者用来入门学习编程。我举例:

以下内容摘自《C Primer Plus (第五版) 中文版》

关于下图,_Bool 类型,和 inttypes.h 头文件,没人用吧。就算要用,也会用 bool。还有,初学者什么都还不懂呢,就要讲 C90 标准、C99 标准么?更何况关于 _Bool 这个绕了一圈的类型,真心没必要刚开始就和初学者提。

关于下图,这句话可以随便去问各大公司从业多年的 C/C++ 码农,你看看谁知道?这都是犄角旮旯的东西了,非要拿出来说,这比茴香豆的“茴”字的四种写法还无聊。

关于下面两张图,分别是 46 页和 66 页,都提到了最大的有符号整形类型、最大的无符号整形类型,可是前后说法却又完全不同。


46 页


66 页

还有,夹带私货。以下摘自《C Primer Plus》(第六版)中文版 267 页,程序清单 9.12 loccheck.c 程序:

这里的函数名用了一个单词:mikado。作为示例,为什么用这么奇怪的命名,而不是写一个 func1 呢?单词 mikado 的意思是“日本天皇”,这个词汇很少有人学过,更别说正确读出来。如果拿这本书讲课,多半情况下连老师都不知道这个东西怎么读。

退一万步讲,这个词大家都认识。但是程序员都知道,函数不应该用“名词”,应该用表示操作的词汇。比如,可以用 getmikado,或者 killmikado,这一看就知道函数是什么功能。就好比程序中会用 getuser、adduesr、deluser 命名函数,而用 user 命名结构体或类。

这是例 9.12。在例 9.11 里面,函数名是 getnights、showprice,例 9.13 里面,函数名是 interchange,这都是非常贴切的命名。这个例 9.12 究竟怎么回事呢?该书的英文版也是这样的写的。无法理解,我只能将这归类为“夹带私货”。

书中类似的无聊东西还有很多,不再一一列举。关键是,不光无聊,还!很!厚!!!这要是国内的书,早都被骂翻好几遍了。这个系列的书绝对不适合用来入门学习编程,就像没有任何人会拿着《新华字典》入门学习语文一样。但作为字典,直接在编译器按一下 F1 就有了,比书上的更方便、更详细,何必还花钱买一本占地方还很重的纸质字典?

添加评论