乐创C语言讲义尾声 2024-06-21 23:26:35 1.C语言的学习路线熟悉我的朋友都知道我最早在网上做过一系列的单片机视频,但是很多朋友都不知道我之前线下也办过几期培训班,在哪里,我小规模地招收过几个以前做电源类的模拟电路工程师。对于这一类工程师来说,他们有着很深厚的电路沉淀。不过恰恰由于他们自身年龄的问题,学习单片机这条路线上,对他们自身最大的障碍就是学习一个全新的领域,就是C语言编程。学习C语言编程,要分成两个层面的学习。第一个层面是底层语法的学习,这一层面主要是介绍C语言的基本语法。第二层面是学习C语言的编程思想。其实对于绝大多数C语言初学者来说,学习C语言编程主要是学习C语言的语法。这就好比在学习电路一样,当你在弄清楚电阻,电容,基尔霍夫定理之前,你根本无法去独立地设计一个电路。学习C语言也一样,当你在弄清楚C语言基本语法之前,根本无法去谈编程思维,数据结构,算法这些东西。尽管有些读者可能会认为,数据结构和算法这些东西是完全独立于语言层面的东西所存在的。这么说就有点唯心的意思,即意识可以脱离于物质单独存在。所以说,学习C语言,对于我们来说,首先就是要学习C语言的基本语法特性,等到C语言语法特性掌握的非常熟练了,这个时候就可以考虑如何提高自己代码的效率了,而此时再去慢慢地锻炼自己地算法和数据结构的知识。通过我上面的描述,可以概括为两点: 从书本上学习C语言的基本语法,结合自己动手编程,以达到学习完成C语言第一层面的目的; 在实践中不断自我否定,参考别人优秀的代码,以达到学习完成C语言第二层面的目的。 2.我为什么要写这讲义纵观市面上C语言相关的书籍有很多,但是优秀的C语言书籍,还是仅有凤毛麟角的那么基本。这些优秀的书籍主要可以分成三个部分。第一个部分为优秀的教科书籍。这个部分的书,我想整个教育界也就只有那么一本,即谭教授的《C语言程序设计》,几代人的记忆,其发行量一点都不比《黄冈密卷》,《三年高考五年模拟》来的少。这本书在引领很多大学生成为程序猿的同时,也成为了很多计算机系同学手中的《C语言从入门到结束》,记得知乎上面也有一个专门批判这本书的话题。客观地讲,这本书之所以被很多人所诟病,主要是由于它的历史原因,而它存在的目的,也是因为这个历史原因。说到底,这个原因就是计算机教育的应试性和实用性之间的矛盾。我相信那些进化为程序猿的大学生,绝对不是考到了计算机二级而停止去编程,而那些终结的同学,除了这本书之外,也没有去观看其它的任何书籍。我对它的看法是,它是一本非常棒的计算机教科书,但是很难带领你进入C语言程序设计的大门。第二个部分是一些经典的国外书籍,这些书籍非常经典,如《C语言程序设计》《C的缺陷与陷阱》《C专家编程》《C与指针》等。但是这些书本在由于翻译的问题,很难满足我们的阅读习惯。第三部分是国内一些工程师写的书籍,这些书籍写的非常棒,但是销量却很惨淡,究其原因是因为出版即为初版。而且,目前出版系统存在的问题,使得终端书籍售价很高,对于C语言这种投入回报周期很长的技术来说,愿意花高价去购买这些书籍的人非常少。导致了无法这一部分的书籍,很难有二版,三版,无法成为一个良性的循环。介于上述的原因,我开始在我的公众号里面更新C语言讲义。这份讲义,我回顾并总结了做单片机开发需要用到的C语言的绝大多数语法和规则。希望在我以后的嵌入式教学当中,对于基础部分,大家都能有一个稳固的基础。最后,矫情地回顾一下这段编写讲义的经历。在这5个月更新的过程中,每晚七点多到家,吃完晚饭扔下饭碗,就开始C语言讲义的编写和视频的录制,每天结束将近凌晨。面对这样几乎占尽业余时间的付出对比着几乎为零的收入,多少次也想要放弃。但是一想到写这样的一份资料,做这样一份视频,可以帮助更多C语言初学者少走弯路,最终也是坚持下来了。如今,终于顺利将其更新完,鉴于本人水平有限,讲义中有的错误知识,,还劳烦各位不吝指出。后续我会发行纸质版讲义,如有需要,请关注“乐创客”公众号。本书中的内容是针对C语言初学者来编排的,对于本书中没有讲解到的知识,当你有一天渴求它而去寻找其它资料参考的时候,说明你已经开始渐渐入门C语言了。最终,还是感谢各位的支持。接下来一段时间,我将会开始STM32开发板的设计,以及继续更新相关的技术文章和单片机讲义,视频。感谢大家一直以来的知识。本讲义及代码远程仓库:https://gitee.com/huangqilong119/joy-create-clanguage-code.git。 赞 (0) 相关推荐 怎样才能学好编程?懂语法、多写、锻炼思维 不管是何种编程语言,想要学好都需要动手实践,避免天天抱着书本看语法的不合理学习方法.怎样学好编程? 1 学好语法.打牢基础 书,还是要看的.在学习编程语言初期,需要认真学习编程语言的语法和规则,这是编 ... 【原创文字】乐创DIYC语言讲义 实时链接 乐创DIY C语言讲义--0 前言 乐创DIY C语言讲义--1.1节 乐创DIY C语言讲义--1.2节 乐创DIY C语言讲义--1.3节 "关于浮点数详解"乐创DIY C语言 ... 乐创DIYC语言讲义 实时链接 乐创DIY C语言讲义--0 前言 乐创DIY C语言讲义--1.1节 乐创DIY C语言讲义--1.2节 乐创DIY C语言讲义--1.3节 "关于浮点数详解"乐创DIY C语言 ... 【连载】(开始学习C语言的指针)——乐创DIY C语言讲义——6.1节 6.1 函数参数传递的不可逆性 在开始第六章正式讲解前,我们先来回顾一下之前写的函数.第四章中我们有讲到函数是用来实现某一特定功能的代码模块.比如,当我们需要频繁地使用某一段代码来计算三角形面积时, ... 【连载】(关于多维数组的简单谈论)——乐创DIY C语言讲义——5.5节 5.5 多维数组 前面的内容,都是基于一维数组讲述的.然而有些场合,一维数组无法满足我们的使用.比如,存储一个学校学生的考试成绩,那我们在设计这个存储变量类型的时候,需要考虑,假设这个学校有6个年级, ... (数组的排序算法,你要知道的都在这里)——乐创DIY C语言讲义——5.4节 5.4 数组元素的排序 通常情况下,我们对数组的操作远远不止遍历判断大小或者判断奇偶数这么简单.比如,当我们需要求一个数组中所有元素的平均值时,操作很简单,只需要去遍历这个数组,并将其内部所有元素中存 ... 【连载】(数组的排序算法,你要知道的都在这里)——乐创DIY C语言讲义——5.4节 5.4 数组元素的排序 通常情况下,我们对数组的操作远远不止遍历判断大小或者判断奇偶数这么简单.比如,当我们需要求一个数组中所有元素的平均值时,操作很简单,只需要去遍历这个数组,并将其内部所有元素中存 ... 【连载】(一维数组的简单应用)——乐创DIY C语言讲义——5.3节 5.3 一维数组的简单应用 前面我们已经讲述了如何去定义一个一维数组,并且对所定义好的一维数组进行元素的读写和数组的遍历,本小节专门再来讲述一些数组的具体应用,使各位读者可以更好地去掌握一维数组. 首 ... 【连载】(操作一维数组)——乐创DIY C语言讲义——5.2节 5.2 一维数组的操作 一维数组在被定义好之后,就可以在程序中去使用它了,一般一个数组的使用有元素读取,元素赋值,元素遍历等操作.说到底无非就是数组定义及初始化,元素的读写,和数组的读写这几种方式.接 ... 【连载】(初识一维数组)——乐创DIY C语言讲义——5.1节 5.1初识一维数组 前面章节中,我们一起学习了一些简单的数据类型,它们包括浮点类型和整数类型两大类.通过使用关键词可以分别定义不同含义的单个变量.比如,小明这次考试的数学成绩是30分,那么我们可以定义 ...