Books

第一章-导言

在这一章中,作者大致地串了一下C语言中的元素,不求深入,但求能大概的写出简单的程序。我们用最宏观的视角来概括的话,C语言所构造的世界和真实世界可以进行类比,真实世界由空间和时间组成,C语言也是如此,或者说任意一门语言都是这样。研究编程语言基本的入手点就是它的数据抽象(空间)以及过程抽象(时间),通过这两点我们能把C语言的基础给穿起来:
首先数据单体为变量和常量,变量需要研究变量的类型有哪些,变量是怎么转换的,变量的作用域是什么范围,使用外部变量的方法,外部变量和内部变量的初始化区别等等;常量的话相对没有太多内容,额外知道符号变量即可。
然后过程单体就是表达式和分支语句以及循环语句(这里我们认为分支和循环语句都是一条语句),表达式其实是最繁琐的,因为我们需要基础一系列运算符的优先级;分支语句需要记住if-else if-else以及switch(虽然第一章还没有讲到,btw,switch的本质是label);循环语句主要就是for循环、while循环、do-while循环,其中for循环对于初始化-增加步长这种逻辑清晰的情形会显得更加紧凑易阅读,while和do-while适合那种循环条件更加复杂的情况,因为更加灵活,至于这两者的取舍主要根据逻辑里面的初始条件进行选择。
接下来说数据抽象:数组、struct、union,本章只简单过了数组,因为我还没有看到后面的章节,只是根据尘封的记忆来说,数组还有很多可以挖掘的,首先是数组和指针的关系,其次全局数组和局部数组的默认值,各种初始化的用法。之后的struct组合数据又涉及到了初始化还有对齐,还有union多种数据共享存储,这些后面再仔细分析。
最后说一下过程抽象,我目前能想到的过程抽象只有函数。这里把分支以及循环语句排除了,虽然二者可以包含多条语句,但是本质上来说二者其实是将{}整体看作一条语句的,非要说抽象可以将{}视为简单的过程组合。另外就是函数了,函数这里比较重要的就是按值传递。
 
WeChat Pay
If you have any questions, please contact me.
WeChat Pay