编程基础系列1.《C语言程序设计》(第2版)

书籍介绍

一.C语言入门、初学者、基础编程系列

1.C 编程:现代方法(第二版)

推荐理由:时至今日,C语言仍然是计算机领域的常用语言之一,但如今的C语言与当初的时代已经大相径庭了。本书的主要目的之一是通过强调标准 C、强调软件工程和不强调“手动优化”的“现代方法”来介绍 C 语言。该版本紧密集成了C99标准,并与C89标准进行了对比,补充了C99的最新特性。本书分为四部分:C语言基本特性、C语言高级特性、C语言标准库和参考资料。每章末尾都有一个“问答”部分,提供与章节内容相关的一系列问答,

本书是本科阶段C语言课程的教材,也非常适合作为其他课程的辅助书。

2.《C语言程序设计》(第2版)谈豪强版

这本书堪称初学者学习的经典。这是一个从零开始学习C语言的入门。但你也必须坚持电脑。如果你只看书而不在电脑上运行它们,你永远学不会。关键是练习!坚持!

然而,这本书也有很多地方受到批评。如果你能读完上面的一篇,再读这一篇,你就会明白很多东西。

3.《程序员修炼之道》

程序员指南由一系列独立的部分组成,涵盖的主题从个人责任、专业发展到用于保持代码灵活、易于调整和重用的各种架构技术。它使用许多有趣的轶事、深思熟虑的例子和有趣的类比,全面地解释了软件开发的许多不同方面的最佳实践和主要缺陷。无论您是初学者、经验丰富的程序员还是软件项目经理,本书都适合您。

4.《C 和指针》

看到书名就很担心翻译的英文水平。不是真的,翻译得很好。只能说标题党。看封面,不难理解作者使用指针的意思。此外,这本书不仅仅是关于指针的。书名最好用《C语言指南》,

这是对C语言的全面介绍。当然,入门的深度和高度远高于国内教材。所以,如果能直接从这本书开始学习,起点会比较高。当然,如果你能看懂,就说明你很有天赋。

总的来说,本书的部分内容比较适合有C基础的人。比如ADT、递归、指针和数组的部分,书中描述的思想在国内教材中是缺乏的。读完本书,你可以对C语言有一个正确的认识。

5.《C入门加》(入门首选)

C prime Plus这本书看了两遍,练习题基本都是自己做的。题目没有太多的主动算法能力(毕竟不是算法书),但每一个细节都很清楚。初学者很容易找到信心。学完cprimer plus后,可以看上面谭叔的书找错。

6.高质量编程指南(必读)

大一第一学期,偶然看到这本书的第一版,引发了我对软件工程的思考,让我很早就意识到代码规范的重要性,为我的学习打下了坚实的基础。未来的学习。非常感谢这本书,虽然内容很简单,但是在我迷茫的时候确实给了我很多启发。

7.《C/C++深度探索》

很早就看过的书,很好,姚明的其他C标准:标准和实现也很好。原创大作~~语言的扩展变成了C++,我们知道C语言是编程语言,而C++是对象语言,所以C++比C更接近人类语言,所以第四代语言是人类语言,也就是说人也是按照程序来做事的,也是程序化的动物或者程序化的生物。人类基于世界的某一部分所创造的语言,与世界不一致或始终与世界一致,所以有扩展性,但基本词只有这么多,不能表达一切,所以词汇必须扩展到所有声音。,这就是音乐之美,是现代语言的终极发展。

8. 从问题到程序(最佳大学教科书)

不仅适合初学者,也适合迟到的人。不得不夸一下老邱的参考,还简单的提到了CS中的很多概念:

说到字数,顺便介绍了有限状态机;副作用、前置条件、后置条件、编程语言中的短路评估。练习题也很好,高斯消元,3n+1问题,约瑟夫环,实现一个简单的“虚拟机”和“汇编器”也有很多单步执行的开放题。

严谨的风格,强调程序的健壮性、安全性和测试。从头到尾都强调越界访问。后来还实现了通用的整数输入校验功能和通用的错误信息处理功能。错误处理将详细讨论。代码简洁,命名约定。很久以前讲过函数,“强调通过函数抽象来构建清晰结构的重要性”。提供大量模式、示例和建议,教初学者设计和权衡。内容不依赖于任何具体的 C 实现,讨论 IDE 的优缺点。

非常适合作为第一门C语言。

二.内核/驱动系列

1.《Linux C 编程一站式学习》作者已经发表在 GitHub 上,大家可以直接去看看

本书的内容涵盖的范围很广:C的基本语法、简单的数据结构、C与汇编的联系、计算机系统结构、操作系统、正则表达式、TCP/IP,无所不包。这样一来,似乎一切都还过得去,一切都不精确。实际上并非如此。作者的内容穿插得很好,每个方面最重要的东西都用非常简单的方式说明。所以,其实这是一本入门书,当然也适合各方面了解后总结。读完这本书,你可能会觉得自己知道了一点,但不是全部。没关系。后面的大部分参考文献都是经典。这是一本入门书,但请快速入门。这本书上手速度非常快。几乎一例一例,不多不少,恰到好处。而且示例基本简单,小巧可爱,不知道的地方直接复制代码调试即可。

“我本来就是菜鸟,怎么了?在中国这种破环境下,真正的人都不在乎写书,都是赚钱的。” 事实上,中文写作水平普遍偏低,主要是因为缺少宋金山先生这样的“菜鸟”。本书适合零基础的初学者学习C语言的第一本教材,帮助读者打下坚实的基础。有一定编程经验但知识体系不完整的读者,也可以根据本书的内容进行查漏补缺,从而对程序的工作原理有更深入的了解。本书原为北京亚洲嵌入式教育研究中心为嵌入式Linux系统工程师就业班量身定制的教材之一,也适合作为高等院校程序设计基础课的教材。本书非常全面地介绍了C语言的语法,并且对C99标准做了很多解读,因此也可以作为C语言语法的简明参考书。

2.《Linux内核设计与实现》(第3版)

估计第一次来这里看这本书的人会有些失望。首先c语言程序设计第3版,书很薄,解说不求深入。如果一个人第一次看这本书时有这样的印象,他应该反思一下自己是不是太浮躁了。

其实这本书的定位不高不低,但正因如此,它才是最适合转型期核心学习者的书。正确的阅读顺序应该是:恐龙书或现代OS->LDK->情景分析等详细书籍。

LDK非常适合在系统学习完OS理论后,直接看详细代码,感觉暂时还不够熟练的学习者,可以带你从理论学习阶段进入实践阶段。这样的书,如果太厚,就会有骗钱的嫌疑,如果太深,就会让人觉得作者是故意炫耀自己的知识。LDK刚刚好。

此外,本书后面的参考资料非常值得一读。如果你看完书感觉不错,建议看一下它推荐的参考文献,可能会让你觉得更惊艳。

3.Linux 设备驱动程序(第 3 版)

适合中低水平人群。Linux 设备驱动模型真的很复杂!对于写Linux驱动的人来说,这本书应该是教科书级别的,必读。

4.《深入Linux内核架构》

我认为它是linux内核的杰作。了解市面上“深入了解linux内核”的传说。对于英语阅读能力好的人来说,就不需要看毛德草老师的书了,后者完全可以替代。现在注意比较的逻辑,并没有用这本书来挑逗“深入理解”。毕竟我认为这本书的阅读时间应该有操作系统的概念,然后没有深入研究代码的阶段。所以还在摸索中的你我,不要被这本书的页数吓到。我每晚花3个小时,读完这本书用了将近45天。效果达到了,当然,如果你是学生,我建议花一个学期研究源代码。现在这本书也被我成功推荐给了我们的团队……

三.应用系列

1.《UNIX环境下的高级编程》

一本好书的一大优点是它给了你与作者交流的感觉。技术书籍经常犯两个错误。一是关注度太低,细节堆积如山(比如谭浩强的《C Programming》)。读起来像和尚念经,无法交流。还有就是关注度太高,卖哲学(比如ESR的《UNIX编程艺术》),读起来像听于丹先生的论语,不敢交流。本书的经典之处在于不高不低,不高不低,不高不高,告诉你UNIX系统编程的来龙去脉。有很多地方你可以感觉到,你怀疑的作者在写这本书的时候什么都知道。从怀疑到顿悟的瞬间愉悦,是学习的最大乐趣。所以,我们的口号是:有问题,找APUE。

2.《UNIX网络编程》

大二的时候买了这本书,但是一直没拿起来看,各种耽搁。了解linux下的网络编程,这是一本很棒的书。它讨论了相对底层的网络编程系统调用和几种网络通信模式,例如阻塞、非阻塞和 I/O 多路复用。但是由于与实践有一定的距离,网络编程的重点不在系统调用上,而是设计出适应具体项目的网络模型。W.Richard Stevens 父亲的书,每一本书都可以成为经典。推荐!

四.高能来袭,C语言进阶系列

1.《C 陷阱与缺陷》

这是一本小册子,有让人继续看下去的欲望,不是因为页数少,而是因为本书中几乎所有需要注意的点,作为程序员都有可能遇到,作者讲述的是很有趣,完全没有说教的感觉,例子简单但切中要害。

这本书非常适合作为常规阅读材料,我经常翻过来加深印象。

2.《C专家编程》

一年前我翻阅了这本书,觉得它很棒,但那是因为我没有“主修”C,而且我没有读好。最近一直在认真读这本书,我很惊讶。

它让你深入了解C的使用,最后介绍一些C++。如果你之前没有太多接触过 C++,只知道 C,这本书将为你打开 C++ 的大门。书中还提到了当年那些传奇黑客的一些故事,颇为有趣。

但是读这本书需要一些背景知识。

你必须学习编译的原理。虽然不需要学太多,但至少应该对其中的一些概念有所了解。不然你会感觉到内存分配的部分(其实很多都是给编译器的)。费劲。此外,还需要一些 Unix/Linux 文化背景,比如 Unix 的 C 编程风格,以及 Unix 中的一些命令和工具。

3.《C语言编程》K&R版

拿到这本薄薄的书后,很多人开始怀疑C语言能不能用几百页解释清楚。看完这本书,我觉得答案很清楚,但真的很震撼。什么是好书?一本真正的好书是一本无法剪裁的书。K&R的书就像C语言的设计理念:简单高效

里面的练习建议仔细做,在linux下用vi做,用makefile编译,用shell脚本测试。第 8 章中的问题与 linux 有关。

计算机专业的学生不能只用VC在WINDOWS下编程,而应该全部在linux环境下编程,因为linux本身就是开发者的操作系统

4.《C语言谜题》

本书脱胎于作者在C语言的摇篮——贝尔实验室教授C语言的讲义。它几乎涵盖了C语言难点的所有方面,并且包括了一些其他书籍很少分析的问题。每个谜题背后都有详细的解题分析,让读者清晰掌握C语言的结构和含义,学会应对很多常见的局限和陷阱。这是一本优秀的C语言练习册。

5.《你必须知道的495个C语言问题》

最好手边有一本教科书c语言程序设计第3版,一边翻着看这本书。建议重点看,再重温一遍!很实用的书,比c语言陷阱和c语言谜题还要深刻!!!宽度还可以,但深度不够,适合查漏补漏。

6.《C语言参考手册(原书第5版)》

这是C99确定发布后发布的参考手册。它比 K&R 更接近现在。K&R适合入门,如果不看这本书,恐怕还不算“学过C语言”。

7.《C语言接口与实现》

另外,从我个人的感觉来看,这本书的语言属于那种简洁准确的风格,与原文的语义一致性非常高,基本没有为了炫耀文本而牺牲准确性。新手可以把它当成一本兴趣书来读,老手可以复习一下。可以加深对ADT的理解。

8.深入理解计算机系统(修订版或第3版)

这本书是指导你如何修炼内功,但如果我说出来,我个人认为这本书应该在你学完数据结构和入门之间阅读,因为这本书只是让你深入了解计算机入门的一些其中的概念被视为计算机入门的高端版,目的是介绍操作系统和组成原理的核心课程。如果你期望读完这本书,你就可以在左边写一个应用程序,在右边写一个动态网站,那你就错了。这本书的意义就在于他的英文版的名字,Computer System——A Programmer’s Perspective,一个程序这本书的目的是如何利用计算机的工作流程来优化你写的东西。

10.C语言的科学与艺术

这本书的作者因其对本科教育的杰出贡献而获得了必应奖,这本书反映了他作为一名教师的态度和他通俗易懂但引人入胜的写作风格。

本文使用的例子也与本节内容非常一致,将后面章节不能使用的知识封装成genlib库的形式,隐藏了C的复杂性,避免了初学者。困惑。这样一来,看完这本书,你会发现我们不仅学到了C的知识,而且还潜移默化地把库的编写方法和习惯留在了心里。在本书的很多地方,作者对软件工程的见解和良好的编程风格,比如界面编写等,都起到了积极的作用,为我们奠定了坚实的基础。

需要特别指出的一点是,本书对C语言中比较难的部分进行了透彻的分析:比如指针,C风格的字符串,数组和指针的关系,数组和指针的关系字符串。让初学者更容易理解知识,也让有经验的读者抓住重点,理解更深入。对于这些比较基础的知识,尤其是指针和数组名的区别,文中会多次提醒:内存分配,左值!

初学者在编程中很少接触文件操作,但是文件操作非常重要。无论是初学者还是有一定经验的读者,都应该精通C标准库中的文件函数。本书将介绍该文件。让您有一个系统的认识,对使用这些功能时常犯的错误有先见之明,从而避免初学者在遇到问题和调试时的辛苦工作。

如果非要说这本书的不足之处,我认为是genlib库的代码没有刻成光盘附在书上,会给初学者在电脑上调试带来一些不便。源代码和其他资源,以及本书后面的完整代码。其实换个角度想,这也算是一件好事。国内学生动手能力差,打码的时候要听懂她的意思。哈哈,有点自虐-_-b

最后,无论如何,如果你想学习C,那就看看这本书,她非常棒!(并且不要在意“C 已死”的废话)作为最广泛使用的面向过程的语言之一,它会给你一个必要的经典的计算机编程思维方式!

11.《数据结构与算法分析C语言系列》

因为最近需要复习数据结构和算法,所以在网上搜索了这方面的经典书籍。本书C语言版位居榜首,获得一致好评。正好这本书有Java语言版本,所以就买下来看了。我花了大约一个月的时间把书看了两遍,书中主要的数据结构都是通过敲代码实现的。现在回想一下之前所有的数据结构课程,对比一下谭浩强的学校。该数据结构教程是一个不同的世界。如果有时间,可以在本书的基础上阅读。

这本书确实是最好的数据结构和算法分析的入门教程,但是读这本书还是需要一点数据结构基础的。通过Java语言描述,讨论了主要的数据结构:表、栈、队列、树、散列、优先级队列、不相交集和图;同时讨论了经典的排序算法:插入排序、希尔排序、堆排序、归并排序、快速排序;介绍了五种常用算法:贪心算法、分治算法、动态规划、随机化算法、回溯算法;并讨论了Java Collection中相关数据结构的实现:ArrayList、LinkedList、TreeSet、TreeMap、HashSet、HashMap、PriorityQueue。

12.《Linux编程》

《Linux 编程》是我的 Linux 编程入门书,我用它作为教科书用了整个学期。在阅读和学习这本书的过程中,我有很多问题,而书中也没有相应的答案,直到……直到我看了APUE,带着这些问题去学习APUE,产生了巨大的能量。总之,这本书是推荐的,但这本书只是入门书,站在《Linux编程》的肩膀上,学习APUE,遨游Linux的世界!

13.《现代编译原理》

在阅读了这么多书之后,这是我读过的唯一一本详细讨论如何构建编译器的书。同时,本书内置的编译器,正如作者所说的那样简单,但并不平庸,而且有很多高级功能。它也可以被视为一个优化编译器。

但是,这本书仍然很难学,需要扎实的 C 语言基础。

14.《重构——改进现有代码的设计》

大师Martin Fowler的经历,看完后,有种豁然开朗的感觉,停不下来。重构也是当今敏捷开发中不可缺少的技能,建议所有有设计和项目开发经验的开发者都应该阅读。

15.《老代码识道——从机器码到框架的系统观逆向培养之路》

我们《软件开发环境》老师写的这本书,首先教大家通过反汇编的方式分析、修改、编写底层机器代码,然后在底层重点介绍面向对象特性的实现和体现。

知识点都是低层干货,往往有助于理解高层封装的一些概念的精髓。例如,指针本质上是一个 4 字节的地址,而指针类型只有编译器才能识别,然后体现在控制访问多少字节的 CPU 指令中;

比如函数如何实现调用、参数传递和返回,参数传递包括寄存器值传递、栈值传递、栈传递地址等,跨语言调用函数时调用约定的协调。

总之,如果你理解了这些底层机制,你对高级语言的理解就会清晰很多。

不过最好有一点编译基础的阅读,不然会有点吃力。

另一个特点是全书一直在进行“猜猜看”的思路。关于这本书,我与作者多次交流,我觉得这个想法是他最想传达的。

16.《高级C语言》

这本书应该适合学过C,但又想复习的人。里面有一些基本的语法,但也有很多高级的东西。函数指针和指针函数,指针数组和数组指针,预定义,预编译,调试等等。但是感觉上一章常用的算法都是多余的。如果你想应付面试,读这本书应该没什么问题。您喜欢在笔试中测试很多大小的东西。

17.《实用C语言编程》

一本很老的C语言书,可以说是我的C语言启蒙书。里面的信息,尤其是附录,是我仍然经常阅读的原因。文字很简单,就像书名一样。. 读完这本书比较容易找到工作,所以需要时间去检验出一本好书,而且会在岁月中沉淀下来……一本经过岁月考验的好书,不解释。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论