前 言
本书设计的初衷是为了帮助目前计算机相关专业的在校生,更好地学习并真正掌握 C 语言这门优秀的编程语言。就像本书的名字一样,只要能够认认真真、踏踏实实地把这本书中的所有内容都学习一遍,并且都能够熟练地掌握,就可以做到不挂科。其实不挂科并不是最终的目的,因为这个目标实在是太小也太容易达到了,目的应该是用 C 语言作为“编程母语”,更方便未来将编程能力平移到任意其他的语言,或者说其他的应用领域。
这本书能够帮助零基础的小白通过丰富的代码实操示例快速地掌握 C 语言的各种语法应用。书中的内容将会以第一人称对话的形式呈现,在本书中,你将会获得一个角色。从现在开始,你的名字叫作“小肆”,在未来使用本书的过程中,这个名字会高频率地出现在代码示例和内容讲解中,让读者学习起来更有代入感。这也和老邪本人制作的课程一样,采用第一人称视角聊天的讲解方式,相信会让你的学习效果事半功倍。
在本书中读者只需要跟着书中的代码示例进行按部就班的学习,就一定能很轻松地掌握 C 语言这个学科内的各种常用知识。本书的特点是利用代码实操示例得到运行效果,再根据运行效果反推语法结构以及相关的一些理论,这也是老邪本人一直以来的教学理念。在技术学习的道路上,一切脱离了实操的理论、原理都是在学习中的绊脚石。只有通过结果推导出来的结论才是能够理解掌握的,只有真正理解掌握了,才能做到举一反三,在使用中做到融会贯通。所以在学习编程的初期,不要着急去了解什么原理、理论之类晦涩难懂的内容,先把注意力放在实操环节。经过一定的积累到了该了解的时候,你就会惊喜地发现自己已经具备了归纳总结能力,并且通过自己的归纳总结得到的都是正确的结论。通过这本书,老邪不仅仅要教会 C 语言,更重要的是教会学习技术的方法。掌握了这种方法,养成了正确的学习习惯之后,未来再去学习任何的一门技术都可以事半功倍,轻松上手!
明确了基本的学习思路之后,接下来就要了解一下老邪针对本书使用的学习方法。老邪在 IT 教培行业从教 17 年。一直强调的都是“一带三” 的学习方法,这个学习方法在之前出版的《码解Java》一书中也做了推荐与介绍,接下来就具体地描述一下这个方法。
“一带三”中的“一”指的是需要自己手写一遍代码。对!你没看错,手写,就是手写,用笔在本上写。学习的本质就是先输入再输出,看了一遍我给你的内容,这就是输入。这么多年来你最熟悉的输出方式就是用笔,而不是用键盘。在学习编程的初期,很多新手小白甚至连键盘的使用都不是很熟练,何况还要频繁地在代码中切换大小写,而且还有各种会经常出现在代码中的标点符号,比如:!@#$%^&*()_+~<><<>>;’’””/ : 等等。前期如果直接使用键盘去敲代码,键盘在很大程度上会牵扯你的注意力,所以我的要求是必须用笔,以手写的方式至少写一遍代码。这样就会最大程度地对代码本身的逻辑和结构有一个初步的认识,并且可以更专注于代码本身的逻辑和结构。不要忽略了物理层面的表现力。人们经常会忘记电脑里面的文件存放的位置、文件的名字等信息,但是我相信你一定能想起来最后一次用笔写的最后两个字是什么?甚至可以记起是写在了纸上还是本上?你是站着、坐着、蹲着、趴着还是撅着写的?你甚至还会想起是写在一张纸的左上角还是右下角?如果你的记性再好一点儿,甚至会想起来用的是钢笔、铅笔还是圆珠笔。没错,这就是物理层面的表现力。这么有助于我们记忆的一种方式,往往被大家所忽略。本书用了这么多篇幅来强调手写的重要性,可以看出本人对于学习中的这个环节是多么地看重。所以如果你想要真正地学会这门技术,就一定要按照我告诉你的方式一步一步去操作。
“一带三”中的“三”,指的是在键盘上敲至少“三遍”。注意我们在使用键盘敲代码的时候,不要在屏幕上打开随书附赠的源码文件。如果照着源码敲代码的话,这种敲代码的方式实际上就是在练打字。想象一下,如果让你用金山打字通随机找一篇陌生的英文文章照着打三遍,能记住多少?80%?50%?还是30%……所以照着敲是最不可取的方法。
第一遍用键盘敲代码的时候应该凭着自己的回忆和理解去敲,当然大概率会有记不住的地方,这个时候你就可以利用之前手写的代码去填充残缺的记忆,完成第一遍代码的编写,最终要能够成功地编译并运行代码。写完第一遍代码之后不要保存,更不要直接删除,接下来你要做的是将代码的每一行根据之前的理解,添加上相应的注释。然后再把代码部分删除,但是要保留下来注释部分。这个时候经过了第一遍的手写,然后又敲了一遍代码,最后又添加了一次注释,相当于已经复习三遍代码了。
接下来就开始手敲第二遍代码,这个时候因为有注释在,所以我们写代码的感觉类似于汉译英了。而且有了之前三遍的复习效果作为加持,这一次完成得相对就会简单很多,也会在一定程度上为自己的学习增加信心。那么这次敲完代码之后,相当于是又复习了一次代码。此时我们可以把所有的内容,包括代码和注释全部删除,又保留一个空白的文件。
最后我们开始手敲第三遍代码,如果这一次你能通过自己的理解和记忆独立完成代码编写。那么你才算是真正地吸收和掌握了这个代码。相反如果这一次你还是不能自己独立完成代码编写,这就说明你对这个代码的理解还不够,而且有些关键的点并没有记住。任何的理解都是建立在能记住的基础上,如果你连记都记不住,还谈什么理解。所以如果你不能独立完成代码编写,那么还要继续多敲几遍,一直到能独立完成为止。
记住我下面要说的话:学习编程也好,学习其他的技术也好,我们的最终目的是学“会”,而不是学“完”,我们要学得扎实,一步一个脚印,而不是为了“快”!所以学习技术最好的捷径就是不走捷径,当你开始寻找捷径的那一刻开始,其实你就已经开始走弯路了。
那么从现在开始整理状态,调整好自己的心态,准备和老邪一起迎接一个新的学习阶段。我们开始吧!
本书提供了配套的代码资源、笔试练习题和读者服务群,可以扫描下方二维码获取资源或进群。
作者
2025年元月