C语言从零开始
这个假期重新回顾了之前这个《C语言从零开始》的系列。当时由于没有整体规划,想到哪儿写到哪儿,导致了里面的文章质量不够统一。于是,我又对里面的部分文章做了些调整,力求整体脉络更加连贯。
后面我会对这些文章重新整理,可能会加入更多的实例制作成更容易上手的一个全新的系列。敬请期待。
这篇的目的是给这个系列做一个清晰的划分,希望后面的读者能够通过这个提纲更好地进行学习。
1. 概述
这篇文章介绍了一些适合C语言入门的教材,看过的网友评价都还不错。唯一有争议的就是谭浩强的那本书,大概因为它是太多人的入门教材的缘故吧。不过我依然认为作为有些瑕疵的经典,这本书还是值得读的。
另外还介绍了一些主流的IDE,在第二讲中介绍了Code::Blocks的使用方法。
最后,给出了C语言的整个知识体系。在我们学习的过程中,心里要有这么个树形结构才行。
这篇文章介绍了Code::Blocks这个IDE的使用方法。推荐这款软件是因为它比较轻量级,安装和使用不需要花太多时间,让初学者把主要精力都放在写代码本身上。
但后来发现大家在安装上还是遇到了一些问题。如今Visual Studio对外提供了免费版,如果不喜欢Code::Blocks可以选择Visual Studo进行练习。
有兴趣的同学可以参考用Visual Studio创建自己的第一个C语言项目这篇文章。后面我们会更多的使用VS2013给大家展示程序的调试过程。
2. 基本语法
C语言的基本语法主要分五个部分:
- 基本字符集
- 数据类型
- 常量与变量
- 运算符和表达式
- 数据类型转换
这些都是组成C语言最基本的语法点,有了这些基础,我们就能通过它们设计出任何一个我们想要的“虚拟世界”。对于这部分的学习重点在于理解,具体的关键字和使用方法可以在练习中通过查资料的方式慢慢记忆。
学习编程过程里任何脱离了上机练习的死记硬背都是不可取的。
3. 交互
计算机程序最大的作用就是通过与用户交互来完成各种功能。对于我们用来做练习的控制台程序而言,在屏幕上打印信息和用户通过键盘输入就是最主要的交互途径。
另外,对于一些倡导不使用IDE开发的程序员而言,打印Debug信息是代码调试的重要方法之一。第八讲就介绍了相关内容。
4. 流程控制
大部分人在学习这部分内容之前都觉得编程并没有什么神奇的,因为让计算机一条一条的按顺序执行我们的命令并不一定比我们自己计算的效率高。看起来的确是这样。
不过,计算机程序的真正魅力其实在于通过简单流程控制的叠加完成无比复杂的计算。比如绘制下面这个图形。后面的三篇内容就介绍了这部分功能。
在学习了这部分之后,你已经可以自己设计一个相对成熟的软件产品了。
5. 数组
计算机的另一个强大的功能就是大量数据的处理,它通常能够很好地处理一组相同类型数据的集合。这个集合就叫数组。
我们一般意义上的一句话实际是一组字符的集合,我们叫做字符数组。
这部分内容通过下面几篇来介绍。
6. 指针
学过C语言的人都会说最难的内容就是指针。可能你还没开始学习C语言就已经听过这个邪恶的名字。其实,指针并没有传说中那么可怕。
为了不继续妖魔化指针,我试图用例子的形式给大家介绍一些指针的本质。于是有了这篇文章:21天C语言代码训练营(第四天)。建议大家先看这里。
这部分的设计有点跳,本来是想用理论和实例两条线来说明这个重点问题,结果从形式上看并不清晰。这部分我后面会再做一次调整。
如果学习了这几篇之后,你依然没有掌握好指针的用法。没关系,后面还会开一个专门针对指针的专题,一定能帮你彻底学懂指针。
敬请期待。
7. 挖坑
这个系列到这里就没有再更新了,给大家挖了个大坑,实在是有些抱歉。停更的原因主要是那段时间项目比较紧,实在没空梳理。这个系列是我入驻简书的第一个系列,反响也不错,正因为如此我对文章质量的要求也比较高。与“代码训练营”那几个系列比,这个系列的文章是最耗精神的,所以后面主要在写一些代码训练营的系列。另外,实例方面的文章获得了不少的打赏,我不得不承认这也是我转移注意力的一个重要原因。
不过,一直以来都有同学发邮件问我一些函数、文件处理甚至数据结构方面的内容,我回答他们的邮件整理出来也够填好这个坑了。请大家不要着急,我后续会另开一个系列把这个坑填上的。
至于一直跟着这个系列学习的同学们,相信你们一定已经在《21天C语言代码训练营》这个系列里学到了后面的知识。
8. 最后
学习计算机语言是枯燥的,同时也是充满乐趣的。即使有一天你会彻底丢弃它,但这个学习的过程会给你留下一份特殊的能力,那就是逻辑思维能力。
最近越来越多的人认为在未来世界里编程会像开车和讲英语一样成为每个人必备的基本技能。如果真是这样,现在就学会了的你就比身边的其他人更容易跨过新时代的门槛。
加油吧!
我是天花板,让我们一起在软件开发中自我迭代。
如有任何问题,欢迎与我联系。