欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

读书和书籍选择问题的讨论:C语言篇

程序员文章站 2022-04-02 16:25:31
...

前言

    在前面的文章里我提到,要学习某项技术其中相关学习材料的选择非常重要。如果选择错误的材料则损失的不仅仅是钱财。这里,我就针对一些比较好的学习材料做一个收集和整理。希望能够给学习相关技术的人提供一点帮助。这篇文章主要针对C语言学习的相关材料。

基础篇

C programming language(2nd)

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    这本书的作者是大名鼎鼎的C语言之父Dennis Ritchie和Brian Kernighan的作品,绝对的权威。只是出书的年代比较早,是1988年的。当年C语言还没有一个完整的国际标准。所以书中的代码写法和独特的风格被人们称为K&R C。C语言真是一个精巧的语言,在这本书里通过区区几十面的内容就把其中的核心内容给涵盖了。这本书作为入门学习来说很快,但是后面的习题还是有相当的难度的。由于年代的原因,新标准的内容在这里没有得到介绍。不管是初学者还是有经验的人,都值得细细品读。

 

C Programming: A Modern Approach, 2nd Edition

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

     这本书涵盖的内容相对要新一些,里面包含了对新的C99标准内容的讨论。相对来说这本书要厚一点,里面的内容讲的比较详细。后面也有很丰富的习题。大部分难度都不大,作为初学者来说,可以起到很好的锻炼效果。书中每一个小节中都有一系列的问答部分,这里对于一些细节的问题讨论很细致,列出了很多容易忽略或者容易出错的问题。

C Primer Plus (5th Edition) 

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    也是讲的非常细致而且浅显易懂的书,作为专门的学习书籍效果不错。书比较厚,有900多面。里面涵盖的内容非常全面也非常细致,都按部就班的来讲,不怕你看不懂。

    这些材料对语言的基本要素介绍,语法、语义、典型用法和结构等都做了一个详尽的介绍。有了这么多好的学习材料,入门学习基本上不用考虑其他的了。

提高篇

 C Traps and Pitfalls

    读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    贝尔实验室的牛人作品,列举了C语言编程的一些常见的问题。入门之后再来看其中的内容其实都比较轻松。看这书的时候可以不必正襟危坐,完全可以在一个休闲的时间,翻开看看。里面一个个生动的小问题,在不经意间就让人心领神会。有点像是一份饭后的甜点,美味可口。

Expert C Programming: Deep C Secrets

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    想起当年在学校一个人住的时候,一个人坐在笨重的台式机旁边,一边翻读着这本书一边细细的品味里面的细节。这本书可以说是专家级的。对一些问题和细节的分析非常深入。好书如酒,醇香四溢。 

 

Pointers on C

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    C语言里面最精彩的地方莫过于指针,这本书对这个最重要而且最麻烦的地方做了深入全面的介绍。当年和一个朋友讨论的时候,他还专门买了这本书和我讲他学习的体会。

C Interfaces and Implementations: Techniques for Creating Reusable Software 

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书   

    一般来说,当自己刚学完前面的入门篇材料时会有点手痒痒的,总想写出个什么大点的东西来。可是原来的书上讲的问题和示例都是规模比较小。而且在实际的工程中该怎么写代码,该怎么组织头文件,怎么编译和链接代码,这些东西都值得深究。如果想写出真正实用的代码,就好好看看这本书吧。强烈推荐。

 

    还有两本书也比较有意思,这里就不再详细的讨论。一个是C Programming FAQs: Frequently Asked Questions,书上列出了关于C常见的一些问题。配套的网站上还有相关问题的更新。另外一个是The C Puzzle Book。每年国际上会举行一个C语言混乱代码大赛。看谁把代码写得混乱的同时还能实现很牛的功能。如果谁想看看这些比较欢乐的东西,可以参考一下这个。

参考篇

 C: A Reference Manual (5th Edition) 

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书 

    C语言本身的功能比较精简,如果要实现很多复杂的功能,对一些标准库的使用肯定就必不可少。这是关于C语言标准库和各种语法的参考书。写代码的时候要查找哪些库,要用哪些特性,这里都有详细的介绍。

 

The Standard C Library

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    我们在学习某种语言的时候,除了要学会基本语言用法,也要学会怎么灵活运用它。这本书是讲C语言的标准库是怎么设计和实现的。要学好语言就要学习优秀的代码。这里关于C标准库的代码就是一个优秀的学习参考。

    我们实际上用C语言做开发会受到一个平台的影响。典型的针对Windows平台和Unix平台,他们都有各自平台特定的API。针对这两个平台也都有一些优秀的书籍值得深入学习。

Windows平台

Programming Windows Fifth Edition

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    当年在一家公司实习,一个哥们抱着这本厚厚的书每天都在认真的啃。Windows底层的hook,消息循环机制这些东西在这里都有详细的介绍。这些是在Windows平台用C语言开发需要理解的基础。

 

Windows via C/C++

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    大牛Jeffery Richter的作品。可惜当年培训课程听课的人太多,一直没抢注上他讲的C#系列课程。在Windows平台玩C/C++,这本书是深入讲解的经典。

 

Unix平台

    Unix平台的经典书籍更是丰富。最数得上的应该是Richard Stevens的系列作品了。

Advanced Programming in the UNIX Environment (3rd Edition)

Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition)

UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition

    关于他的这一系列书,可以说是Unix上面编程的必备。原来作者打算出个Unix网络编程的3卷集的。可惜没出完就英年早逝了。天妒英才啊!后面这几本书是一些专家在他原来的基础上修订和增补的新版本。

The Linux Programming Interface: A Linux and UNIX System Programming Handbook

读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书

    近几年难得一见的好书。比较厚有1500多面。把它研究透了你刷怪的威力该有多恐怖,只能说谁用谁知道啊。

    在这方面,还有几本很优秀的书。比如说Advanced UNIX Programming (2nd Edition)UNIX Systems Programming: Communication, Concurrency and Threads还有Understanding UNIX/LINUX Programming: A Guide to Theory and Practice

    其中 Advanced UNIX Programming这本书讲的内容和前面的APUE差不多,可以有选择的购买。里面的内容依然讲的很精彩。UNIX System Programming这本书在线程和并发方面讲解的很深入,可以作为补充的材料作为参考。而Understanding UNIX/LINUX Programming这本书可以作为学习Unix环境下面C语言编程的入门教材。它本身是哈佛大学的教材,国内也出了中译版。

后记

    有人说C语言就像是一把快刀,它很小巧很快。用的好,它会像小李飞刀一样的犀利,如果不小心也会割伤你的手。这是自己当年学习C语言的时候看过的或者参考过的一些材料。还有很多好的书由于所知有限就没有一一列出来了。目前这些书基本上在国内都有翻译版或者影印版的。不一定要每一本书都看,根据自己的需要去适当的选择吧。好东西都在这儿了,总不至于要我来喂你吧?我可没那么好心:)

  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 10.1 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 14.1 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 10.7 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 16.3 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 11.5 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 22.2 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 20 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 18 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 16.8 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 23.4 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 15 KB
  • 读书和书籍选择问题的讨论:C语言篇
            
    
    博客分类: c语言观点读书
  • 大小: 17.4 KB