关于C,看过的一些书

2024-04-08 09:08
文章标签 看过

本文主要是介绍关于C,看过的一些书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


忘了名字的书,
《C语言程序设计》(老谭版)
《高质量程序设计》
《C陷阱与缺陷》
《C专家编程》
《程序员成长计划》
《UNIX环境高级编程》
《深入理解计算机系统》
《代码大全》
《编程精粹》
《重构》(在读)

按照自己的阅读顺序罗列了以上书籍,
基本都全部看完的(重构是正在看,已经看了三分之一)。

第零本,忘记名字的书,当时就是按照书中的代码,敲到VC中,看执行结果。这样做了两个多月(下晚自习后去,大一强制自习)。虽然现在看,当时这样做效率很低。有时候敲代码都会敲错,但这个过程教会了自己如何敲程序,如何找到程序中的错误。同时提高了自己敲代码的速度。
第一本《C语言程序设计》(老谭版)是自己当时为了准备考二级时,看的。后来上C语言课时,也对应学校的教材一起翻翻。对于这本书,应该说就是入门的。据说这个上边,关于一些东西讲的有些问题,但是没有去求证过,不得而知。
第二本书是《高质量程序设计》(林锐博士),据说这本书最后的附录中的测试题,有可能出现在应届生的招聘笔试题中,这个可以确认。当时自己毕业时,参加的一个笔试中,就有从哪些题中选出来的,几乎没有变动。这本书,让自己知道了C还有哪些入门后不知道的东西,印象深的是,变量命名,以及预编译,程序优化等一些技巧。由于这本书是讲c/C++,所以只看了一部分,关于c++部分没有看。
这两本书,都已经送人。

第三本是《C陷阱与缺陷》,阅读时对里边很多地方印象很深,对自己以后程序设计,起到了一些潜移默化的作用。一本薄薄的100多页的书,不到两天就读完了,后来也陆陆续续回头看过一些。

第四本是《C专家编程》,这本书第一次没怎么看懂,,懵懵懂懂。应该说是第一次看的时候,找不出问题。不知道自己哪里不了解,需要了解哪里。以至于就泛泛看看。后来看了《深入理解计算机系统》,又回头将里边关于函数调用,连接等看了看,发现有理解了很多。后来在实际工作中,遇到指针与数组访问时间的困惑,以及指针数组的异同,又在这本书中找到了答案。这本书,适合通读一边后,有困惑的时候回头看看。每一次都会有不一样的收获。

第五本是《程序员成长计划》,在自己刚开始实习的时候通过这本书了解了,Linux下编程的一些知识。对于初入编程的人,有很大的帮助。能教会我们很多平时想不到的用法。能够从应用的角度,理解C的编程思想。这里边了解C的回调函数,函数指针,隔离变化,以及使用面向对象的思想编写C程序,介绍了makefile的一些基础东西。讲的都挺实用的。

第六本是《UNIX环境高级编程》,在看完《程序员成长计划》后,发现对于Linux编程环境还不是很了解,于是看是看这本书。这本书让自己了解到,C程序在类UNIX环境中,执行的过程。从最初加载code到memory,到C程序的内存分布,code,bss,data,以及库在内存中的放置的位置,解决了很长时间困扰的问题。同时了解了很多在UNIX下的系统调用,了解了多线程以及使用。还有就是关于一些标准,对于Linux下编程感觉有必要了解下。

第七本书是《深入理解计算机系统》,这本书让自己对于计算机系统有一个顿悟式的理解。解决了很多以前长期困扰的问题:为什么需要cache;内存溢出为什么可能会导致程序崩溃;函数是如何调用的;malloc了一块内存,在系统是如何保存大小,以及释放时怎么获取大小;为什么需要多核;如何优化多线程下的代码。如果是用C,如果要理解计算机系统组成,这本书是很值得推荐的。
第八本书《代码大全》,这本书是让我们从一个代码写给自己看的成长为一个代码写给大家看的一本书。这本书,以程序构建为主线,实现可读性,降低程序复杂度为目标。展示了如何写出易读代码 ,如何降低复杂度,以让别人更容易阅读,理解,与维护我们的代码。对于步入工作,或者提高程序规范性而言这个本书,是首选。让我们从一个门外汉的角度,看一些专业的编程者,是如何进行他们的工作的。这本书更优秀的一点是,它推荐了很多书,通过阅读这本书,我们就会知道接下来我们将要看什么书。

第九本书是《编程精粹》,这本书就是通过《代码大全》的推荐发现的。有人称这本书是“被遗忘的珍珠”。这本书,确实是一本能够帮助我们提高编程质量的书。借助于作者在Mircosoft时office系列的工作,总结了如何编写高质量程序的经验。很多总结都是很实用的,避免了我们自己再去通过无数的实践去总结,也就变相的帮助了我们节省了很多成本(时间,精力,还有心情)。

第十本是《重构》,这本书也是《代码大全》推荐的。对于这本书,在编程阶段的优势还没有感触很深,但是对于维护代码已经是获益匪浅。通过书中的一些方法,将程序变得更易阅读更易理解,也更易于维护。书中的一些总结,也能帮助我们在编程过程中,逐步改变代码质量。

由于自己是电子方面专业,对于计算机一些书的了解是通过同学介绍的,在初期想看关于C更深入的书,但是无从得知。在网上能找到的就是《C陷阱与缺陷》,《C专家编程》,《C和指针》当时似乎没有加C的就不是应该看得。。
因此,错过了《深入理解计算机系统》,错过了《代码大全》,两本十分优秀的书。直到工作中,才慢慢体会到他们的益出。这两本书,让我明白了什么是程序,如何写程序,深入语言编程,而不是在语言上编程。
从以上罗列的书籍中,发现自己更多的是对于C的工程应用,并没有深入很多人说的算法内容,这里之所以没有提到关于算法的书,因为对于自己专业就有很多理论的东西去琢磨。对于C会先考虑应用与专业的结合。
《代码大全》定义的专业程序员:
第一级:入门级,入门者会利用某语言的基本功能,编写类,子程序,循环和条件语句,会使用语言的许多特性。
第二级:中级,中级的程序员已经度过入门期,能利用多种语言的基本功能,并会得心应手地使用至少一种语言。
第三级:熟练级,熟练级的程序员对语言或环境有着专业技能。
第四级:技术带头人,技术带头人具有第三级的专业才学,并明白编程工作中只有15%用来和计算机交互,其余都是与人打交道的。

当然每一个人,都有自己的成长环境,总会有当时的理解与不理解。在学习中没有弯路与捷径,只有收获的多少。这个过程是一个学会学习的过程。在以后的学习中,也会获益更多。

附:
几篇读书笔记:
http://blog.csdn.net/tietao/article/details/9798877
《编程精粹》思之代码与产品
http://blog.csdn.net/tietao/article/details/9798791
《代码大全》笔记
http://blog.csdn.net/tietao/article/details/8457299
Out-of-Bounds Memory References and Buffer Overflow
http://blog.csdn.net/tietao/article/details/8172411
误解程序运行(从单片机到开始)
http://blog.csdn.net/tietao/article/details/8712973
《大数据时代》之后
http://blog.csdn.net/tietao/article/details/8623401
将要到来的三大技术革命与联系

这篇关于关于C,看过的一些书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/885157

相关文章

一些看过的怕忘记的链接

如何写出漂亮的博文 千万要避免的五种程序注释方式  一个合格的程序员应该读过哪些书

2023年看过的电影和电视剧

2023年看过的电影 2023年12月21日:三大队 评价:感觉结尾不太突出,但是值得一看。 2023年10月02日:志愿军:雄兵出击 评价:感觉还行,场面还不错。但是记不得太多情节。 2023年08月31日:奥本海默 评价:印象中有彩色和黑白不同的时间线。作为传记片,拍的很好。 2023年08月11日:孤注一掷 评价:涉及诈骗,不是很好看。 2023年07月30

深度学习小笔记01-看过的博客

写在前面的话:本来这篇博文我自己归为转载。但是随着CSDN更新,后续的更新需要附带转载链接,这里转载链接很多,于是乎我后来改成原创了,实际上并不是,各个对应的链接是原文或者资料来源。私自归类汇总的行为构成了一次知识侵权,这并不是我本意。 卷积神经网络CNN总结 【重磅】计算机视觉和 CNN 发展十一座里程碑(附论文下载)-来自公众号 卷积神经网络超详细介绍(这篇文章写的很丰富,条理清晰内容广泛

安装elasticsearch踩过的坑,教训写在这里,一起共同努力,希望大家先通读一下再按着步骤操作,看过就知道哪些坑可以掠过

安装elasticsearch踩过的坑,教训写在这里,一起共同努力,希望大家先通读一下再按着步骤操作,看过就知道哪些坑可以掠过 配置外网访问出现启动不了的问题: Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be

之前看过,再分析一次spring aop过程

org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory org.springframework.beans.factory.support.DefaultListableBeanFactory org.springframework.aop.framework.JdkDynamicAopPro

以前看过汉诺塔不过没看懂。。昨天上机问老师勉强看懂了

程序代码: #include<iostream>using namespace std;void move(char getone,char putone){ cout<<getone<<"-->"<<putone<<endl;}void hanoi(int n,char one,char two,char three){ void move(char getone,char pu

靠谱的香港服务器有哪些(看过才后悔)_避坑血泪史

最受欢迎的外贸建站服务器就是香港服务器,可是很多人还不知道如何辨别香港服务器商家是否靠谱。 小编曾经也是建站新手,以前也碰到过很多不靠谱的服务器商家,各种踩坑,可以说都是用钱堆出来的经验。在这里小编给大家总结下,以下几点是很多不靠谱香港服务器商家的通病,希望大家在购买前擦亮眼睛认真看一遍这篇文章: 1、没有增值电信业务经营许可证的商家 IDC证,即云服务牌照,全称增值电信业务经营许可证B2类

ES7:异步神器async-await(我看过讲得最清晰透彻的文章)

背景: 关于异步处理,ES5的回调使我们陷入地狱,ES6的Promise使我们脱离魔障,终于、ES7的async-await带我们走向光明。今天就来学习一下 async-await。 async-await和Promise的关系 经常会看到有了 async-await、promise 还有必要学习吗、async await优于promise的几个特点,接收了这些信息后,就蒙圈了。现在才知道,

“你的离职原因是什么?” 这是我看过最好的回答!

面试时,你遇到过最难回答最尬的问题是什么? 很多人可能会说:HR询问离职原因,铁定算一个。那么HR问这个问题,到底是在考察什么? 首先,作为社会中的“人力资源”,我们在求职时,就像流动的水,而公司就是蓄水池。不同岗位,不同的HR,不同的蓄水池,标准与要求都不一样。既然是要流进蓄水池的水,HR就有义务判断公司能否满足候选人的期待,以避免对方短期内的二次离职。 其次,HR也需要利用这个问题,判断

职场35岁现象:迄今我看过最好的关于职业规划的文章

原文地址:http://blog.csdn.net/say_helloword/article/details/37878275 你所有不曾料想过的问题,都会随着时间的推移而与你不期而遇;你所有曾经潇洒的随遇而安,同样也会随时间流逝而让你承担那些似乎命中已经注定的代价。   在这个世界上,“唯一不可阻挡的是时间,它像一把利刃,无声地切开了坚硬和柔软的一切,恒定地向前推进着,没有任何东西能够