找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 9015|回复: 7

《穿越C语言的迷雾》即将于2026年3月出版

[复制链接]

434

主题

332

回帖

3916

积分

管理员

积分
3916
发表于 2024-10-19 08:32:23 | 显示全部楼层 |阅读模式
本书正在出版流程中,2026年3月前后可望面市。
书的名字尚未最终确定,暂定名为《穿越C语言的迷雾》。
请点击下载本书的PDF文件: 穿越C语言的迷雾.pdf (6.84 MB, 下载次数: 761) 。这是初次排版的结果,最终内容和版式以出版后的实体书为准。
请点击下载配书文件包: cfogpkg.7z (2.36 MB, 下载次数: 264) (可能不全,还没有整理好。图书出版后会重新上传正式的文件包)。

2026年1月18日注:书还没有出版,甚至名字还没有最终确定,就收到了第一封热情洋溢的读者来信。我想,对于任何一个作者来说,他都会很开心吧。
第一封读者来信.png
我欢迎任何读者来信,不一定是赞美,也可以是指正、批评、感想、意见、建议。我的邮箱:leechung@126.com。我会挑选若干来信,向它的发送者赠送本书一本(非签名版本,由出版社直接寄出)。截止日期为2026年2月28日。完整的赠送名单在本站公布。


以下是本书的前言:--------------------------------------------------------------------->

欢迎选用这本C语言教材!

从上世纪七十年代发明C语言以来,与之相关的图书多如牛毛、汗牛充栋。既然如此,为什么我还要再写一本,给牛增加负担呢?这事说来话长。

我当初是如何学习C语言的呢?印象中,我看的第一本书有着朴素亲和的封面,上面印着一个大的“C”字,但它解释不清stdio.h是什么东西,以及程序开头的# include是在搞什么名堂。我是一个喜欢刨根问底的人,如果从一开始你就整一些暗盒,我也就没兴趣再学下去了,于是我看了几页就将其束之高阁。

接下来我又翻了一下别的C语言图书,发现它们都是一样的。不过,在我胡乱翻书的过程中,对C语言也有了基本的了解。

所以,我并没有认真读过哪一本C语言图书,而是在有了一些简单的经验和基础后,直接从C标准文档学起的。C标准文档的行文确实晦涩,读起来很费劲,但是它精确,能让你豁然开朗、开心、激动、兴奋。

在那个时候,C标准文档的语言部分大约160页,我读完这一部分用了六个月。什么感觉?感觉很通透。后来我又翻了一些C语言图书,它们都有自己的特色,但也有一些共同的特点,比如说,“表达式有值”是一个极其重要的规则,但这些书都没有提到它,也很少从这个角度来分析程序的行为。相比之下,说不清stdio.h是什么东西也就算不上缺点了。

市面上的C语言图书还有另一个特点,那就是它们具有明显的代际传承。第一批C语言图书诞生于C语言标准化之前,具有明显的局限性,对很多语法现象的语义描述不标准、不规范,且术语的使用非常随意,容易引起误解。时光荏苒,它们的读者又成了作者。所以你会发现,现在市面上的C语言图书,绝大多数的祖宗可以追溯到上世纪八、九十年代的那几本书,尽管腔调不同,但只要一开始讲语法,就原形毕露了。

市面上的C语言图书各有特色,很难说孰优孰劣。如果非要说的话,那就是作为一个看惯了C标准文档的人,总觉得它们的内容和语法表述与我想的不一样,也许就是所谓的“我有我的说法”吧。所以你现在明白我为什么要给牛增加负担的原因了吗?表面上看,C是一门简单的计算机语言,容易上手,简单培训一下就可以笨拙地写一些可以运行的代码,但是这并不意味着C语言真的简单。我的愿望就是写一本书,讲清楚C语言的本质,带领初学者穿越C语言的迷雾。至于我的能力够不够,能不能实现这个目标,就靠实践来检验了。具体来说,本书的特点是:

一,零基础、朴实易懂,循序渐进。考虑到本书的很多读者都是大学新生,对计算机的工作原理、软件和硬件的关系、实际的软件开发流程等等都不太了解,一上来就告诉他们如何编程是不行的,会把他们搞蒙,继而失去兴趣。为此,本书是从计算机原理开始的,这和其它C语言图书是不一样的。大道至简,本书行文质朴,直截了当,易于理解。为了使学习过程自然顺滑,我对本书的内容及其顺序做了精心编排,在讲前面的内容时,尽量不使用后面才出现的概念、术语和知识点。

二,内容正确,符合标准。C语言有自己的国际标准,该标准描述和规定了C语言的编译环境、运行环境和编程语法,而本书所讲授的内容都是与标准保持一致的,不会用错误的概念和内容误导学习者,能够帮助他们掌握这门语言的要点和精髓,让他们能够很快掌握并使用这门语言。

三,厚度适中、重点突出、详略得当、方便教学。C语言的细节还是很多的,这从它的国际标准文档里就可以看出来。C语言的标准文档由语言部分和标准库组成,在它的最新标准里,语言部分就有190页。考虑到标准文档的行文言简意赅,晦涩难懂,你就知道它浓缩了多少知识点。如果把每个知识点都解释得明明白白的,再举两个例子,那本书的厚度将是惊人的,没有一千多页是下不来的,而且最终会变成一本枯燥的手册,这同时也导致初学者不知道哪些是重点,哪些只需要了解就行;另一个问题就是无法拿进课堂,这么厚,别说一个学期,几个学期都不够。对于初学者来说,只需要把重要的知识点学明白,掌握这门语言的本质和精髓就行了。至于更多的细节,只在需要的时候慢慢研究就好了,本书的另一个目标就是为你直接看标准文档打一个良好的基础。

看过其它C语言图书的同学会注意到本书没有使用“变量”一词,而这个词是绝大多数编程书籍的标配。那么,为什么本书不使用它呢?

变量是一个广泛使用但却没有标准定义的概念,它到底是什么,没有人能说清楚。给定以下代码片断:
int a, * p = & a;
a = 0;
* p = 65533;
尽管没人能说清到底啥是变量,但学过C语言的人都知道a是个变量。变量最主要的用途就是保存或者读取值,所以上述代码的第二行是把0保存到变量a。再来看上述代码的第三行,这一行是把65533保存到* p。这个* p是啥?是变量吗?我相信多数人就吱吱唔唔说不清楚了。所以我们需要一个新的概念,它能涵盖所有能被赋值的东西,包括变量。标准化之后的C语言只使用标识符、对象和左值这三个核心概念,而不使用变量。本书依从于标准,也不使用变量这个术语。

本书配套的源码、工具、检测点和习题答案请到我的个人网站www.lizhongc.com下载;我的电子邮件地址是leechung@126.com需要特别注意的是书中有很多检测点,它们用来检查学习效果,很重要,不可等闲视之,也不要随意跳过!祝我亲爱的同学们都能早日掌握C语言!

下面这段文字不是乱码,而是用输入法加密的,因为这是一些心里话,我想把它记在书里,但还不太想让别人知道。

2025 rh 11 eee 25 jjjj j wh tgj s r jjjj bb . h tfj ltui nnh ghd aa pfq tym , ntc xwg xyna lkb . gh tfj gmww hko qq , gmww tfk qq wc jfd qh r ftx pe , vc vc ghd d fcl rt sy , ld o mt gd ue vbn edf me me rr ( gqje xyy ) . gn hx m jf , q bn ghd d xwgk ipg rtol pgcf jfd os hw fcl rt sy —— xwg px wu gjq rqmd jn idri sajd fnw. sg go q yid yynw buk d vcg vcg tmd lp r ,wjg p j wh ih rt sy,sks sks veg veg wu ftjb buk d vbn tmd lp,dmj eg q fg fgh qq gd ue mqj lkd ftx pe cde lk wgcf vvvv r vqaj pynn,rn c yi im lkd fcu.wjg jt jq kr q fg veg lfny syp vcg vcg d rt sy ck h r nyng jf ,q tve rg ntx im e lkd fcu .pykq vcg vcg fuf pygl nnw qi ,tmd wsg wvf yvi !sks sks veg veg ey rn e us dhi ee dc wu nynn jfd nynn qh ,nae gm b pwa ue r lft xfk ,dgkn ytmf wb wu r wfy bm !

0

主题

1

回帖

82

积分

至尊会员

积分
82

至尊会员

发表于 2024-10-22 21:32:21 | 显示全部楼层
忠哥,预计2025年5月吧,你这个写的2005年

434

主题

332

回帖

3916

积分

管理员

积分
3916
 楼主| 发表于 2024-10-22 21:36:04 | 显示全部楼层
0xCC 发表于 2024-10-22 21:32
忠哥,预计2025年5月吧,你这个写的2005年

哈哈,写错了。已经纠正。

0

主题

1

回帖

196

积分

至尊会员

积分
196

至尊会员

发表于 2024-12-7 15:56:35 | 显示全部楼层
喜欢老师的穿越迷雾系列!!!

0

主题

17

回帖

240

积分

至尊会员

积分
240

至尊会员

发表于 5 天前 | 显示全部楼层
终于要出版了,期待。最近正好研究C语言写一个简单的http文件服务,用python写50M,用rust写缩小到1M,最后用C写精简到71kB。真的节约资源啊。

0

主题

2

回帖

20

积分

新手上路

积分
20
发表于 3 天前 | 显示全部楼层
已经破译出李忠老师留下的密码。李忠老师是我的榜样!我也留下一段密码作为致敬。

7169 616e 2077 616e 2063 6920 7a68 7569 2077 656e 2072 656e 2073 6865 6e67 2064 6520 7969 2079 6920 2c0a
7a61 6920 6875 616e 6720 6d69 7520 7975 2078 7520 7775 207a 686f 6e67 2064 6961 6e20 7065 6920 6c69 7520 6c69 0a
6368 6920 6c69 6520 6465 2073 6865 6e67 2068 756f 202c0a
6368 6920 6c69 6520 6465 2063 6875 616e 6720 7a61 6f0a
776f 2073 6869 2063 6865 6e20 6d6f 2064 6520 7869 2078 6920 6675 2073 690a
7475 6920 7368 6920 7368 616e 6720 7368 616e 202c20 7a68 6f75 2065 7220 6675 2073 6869 0a
7a61 6920 6a75 2073 6869 2073 6861 6e67 207a 616f 2063 6875 2064 6169 2078 6965 2064 6520 7a69 206a 69

434

主题

332

回帖

3916

积分

管理员

积分
3916
 楼主| 发表于 3 天前 | 显示全部楼层
chezi 发表于 2026-1-20 12:47
已经破译出李忠老师留下的密码。李忠老师是我的榜样!我也留下一段密码作为致敬。

7169 616e 2077 616e 20 ...

你这个比我那个难多了吧。

0

主题

2

回帖

20

积分

新手上路

积分
20
发表于 3 天前 | 显示全部楼层
站长 发表于 2026-1-20 12:48
你这个比我那个难多了吧。

不不不,我这个贼简单。看着复杂,其实就是小儿科
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2026-1-23 03:02 , Processed in 0.248126 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表