V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
station
V2EX  ›  C

在学习 C 语言,请推荐书籍及路线

  •  
  •   station · 2016-10-28 22:36:17 +08:00 · 4122 次点击
    这是一个创建于 2940 天前的主题,其中的信息可能已经有所发展或是发生改变。

    接触过一点 C 及 C++,不过 C++对我而言太过于庞大,决定学 C

    语法了手上有本 TCPL ,读了一部分确实感受到别人所说的这书适合有编程经验的读而不是初学者

    可先跳过数据结构与算法吧

    挑了几本书(怎么样),学习路线&还需要哪些书?

    C 陷阱与缺陷

    C 和指针

    C 专家编程

    C 语言程序设计:现代方法(第 2 版)

    32 条回复    2016-11-02 16:22:24 +08:00
    syv2
        1
    syv2  
       2016-10-28 22:46:38 +08:00 via iPad
    有个日本人写的 c 指针的书很有趣
    Marfal
        2
    Marfal  
       2016-10-28 22:49:42 +08:00
    看 C 和指针,看完了其他书需不需要看你也就知道了
    Mistwave
        3
    Mistwave  
       2016-10-28 22:51:47 +08:00 via iPhone
    c 和指针 看完再说
    rosu
        4
    rosu  
       2016-10-28 22:59:29 +08:00 via Android
    C primer plus + C 陷阱与缺陷,大概就行了。
    fewtime
        5
    fewtime  
       2016-10-28 23:02:15 +08:00
    零基础先看 C Primer Plus ,再看 C 和指针
    angelface
        6
    angelface  
       2016-10-28 23:07:04 +08:00
    单纯从语言的角度来讲, 这几本书足够了。
    muziki
        7
    muziki  
       2016-10-28 23:08:40 +08:00
    C programming : A modern approach
    ======
    其他的什么 primer 之流作为入门学习跟它比起来差得远
    haihan
        8
    haihan  
       2016-10-28 23:10:31 +08:00   ❤️ 1
    《计算机科学丛书: C 程序设计语言》这本书不错。
    c 语言本身并不复杂, 200 页左右足以。
    学语言不要先看大书,要先看小书快速建立知识框架,然后在通过实践、阅读开源代码和文章进行巩固。大书一般用来中期查漏补缺,向大神升华时使用。
    jukka
        9
    jukka  
       2016-10-28 23:41:57 +08:00
    找一个 C 的应用领域的软件开源代码来看。
    带着问题学习可能更有效率。

    比如 nginx 的 0.1 版本之类的。
    waruqi
        10
    waruqi  
       2016-10-28 23:52:41 +08:00   ❤️ 1
    c primer plus 够了,或者可以来我这逛逛 http://tboox.org/cn/,专注做 c 开发的
    jmc891205
        11
    jmc891205  
       2016-10-28 23:58:47 +08:00
    C 和指针+1
    catcn
        12
    catcn  
       2016-10-29 00:36:42 +08:00
    还有这本:
    Computer Systems(Second Edition) : A Programmer's Perspective
    https://book.douban.com/subject/4061882/
    LU35
        13
    LU35  
       2016-10-29 00:59:33 +08:00 via Android
    @syv2 书名是什么嘛,来看看怎么个有趣?
    beatifullive
        14
    beatifullive  
       2016-10-29 03:09:36 +08:00
    @haihan 实践和开源代码,能否给点例子??
    beatifullive
        15
    beatifullive  
       2016-10-29 03:18:52 +08:00
    @waruqi 你这不止一本 c primer plus 吧,跨平台库啊
    syv2
        16
    syv2  
       2016-10-29 07:21:23 +08:00 via iPad
    @LU35 前桥和弥的征服 C 指针,图灵引进的,有试读篇章
    megatron
        17
    megatron  
       2016-10-29 07:45:02 +08:00
    那个《征服 c 指针》原版非常好,但是国内翻译的有很多错误。
    挑选的这几本都是很好的书,估计也不是初学者了。
    对于完全初学者,还有一本好书:是康莉和李宽老师写的《零基础学 c 语言》。
    linux40
        18
    linux40  
       2016-10-29 09:04:12 +08:00 via Android
    你确定你要看这么多 c 语言的书?没什么卵用,一本就够了,然后学别的。
    DiamondY
        19
    DiamondY  
       2016-10-29 09:13:24 +08:00   ❤️ 1
    C primer plus 吧,我入门看的书,觉得不错。
    路线嘛,话说 C 语言大有用武之地的是嵌入式单片机,驱动之类的; Linux 也算,但太庞大了;
    楼主没说学来干嘛,其实学 C 都是用来干底层的。
    testlc
        20
    testlc  
       2016-10-29 09:26:29 +08:00
    c 专家编程,还有那个日本人的 征服 c 指针;这 2 本有点意思。
    visionsmile
        21
    visionsmile  
       2016-10-29 11:14:12 +08:00
    可以看看我写的 [学习 C/C++的一些书籍和工具]( http://imzlp.me/2016/06/12/some-of-the-c-and-cpp-books-and-learning-tools/) :)
    zhicheng
        22
    zhicheng  
       2016-10-29 11:36:45 +08:00
    学 C 语言不写代码,看再多的书也没用。推荐你用 select 写个简单可用的 web server ,即使完全不会 C 语言,实现也不会超过一周的时间。进阶阶段你要记熟所有的 Undefined behavior 。
    deeporist
        23
    deeporist  
       2016-10-29 13:09:34 +08:00
    tcpl 已经看到最后一章 unix 系统编程了 也在想下面看什么 目前觉得最反人类就是复杂声明那一块 比如
    void (*(*f[])())()
    下面是打算看陷阱那本 不过看这里推荐 c 和指针 恐怕这本也要看看了 但是不知道和《深入理解 C 指针》这本比起来哪个更全面一点。。。粗看了一下目录 感觉还是后者在指针上更专精一点的样子
    另外觉得楼主想辅助的话 强烈建议汇编 我学的 masm 基本就是调用函数 和现在高级语言没啥区别 真手动常用算法 也不见得比现有的实现高明到哪去 当然掌握一下 万一以后遇到还没有被大团体实现过的 。。。其实最主要还是靠汇编补足底层实现的细节 殊归同途 不管什么语言 最后都要化为机器码内存栈
    顺便一提 tcpl 的原版居然要三百多块 海淘的话估计便宜点加上运费估计也要上两百。。。。明明这书根本就没多厚啊
    snnn
        24
    snnn  
       2016-10-29 13:46:05 +08:00
    先看 C Primer Plus ,这一本顶其它好几本
    zwpaper
        25
    zwpaper  
       2016-10-29 13:55:11 +08:00 via iPhone
    看 tcpl 有压力,看专家编程和缺陷应该会让你放弃学 c 吧
    mb4555
        26
    mb4555  
       2016-10-29 16:05:45 +08:00
    C 专家编程
    fuxpro
        27
    fuxpro  
       2016-10-29 17:57:28 +08:00
    我建议从实际的项目入手,这样的过程才是最好的,我是这样体会的
    Guaidaodl
        28
    Guaidaodl  
       2016-10-29 19:54:33 +08:00
    The C Program Language 不是给初学者看的吧,在我看过的里面感觉《明解 C 语言》是比较好的。
    holoto
        29
    holoto  
       2016-10-29 20:01:25 +08:00
    K&C
    SlipStupig
        30
    SlipStupig  
       2016-10-29 20:49:03 +08:00
    霍顿 C 语言入门经典, c 语言和指针,然后自己写个简单 web 服务器,就可以入门了
    hailinzeng
        31
    hailinzeng  
       2016-10-29 21:15:20 +08:00
    C 和指针
    C++ Primer
    深入探索 C++对象模型
    UNIX 环境高级编程
    Effective C++
    More Effective C++
    Programming with POSIX Threads
    Linux 多线程服务端编程
    station
        32
    station  
    OP
       2016-11-02 16:22:24 +08:00 via iPhone
    @zwpaper

    看来你理解错了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2763 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:57 · PVG 22:57 · LAX 06:57 · JFK 09:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.