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

想学 C 有什么好的书推荐下不+

  •  
  •   charlieexia · 2015-02-05 11:36:23 +08:00 · 3491 次点击
    这是一个创建于 3570 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题 大家推荐下有什么好的书或者教书视频?

    56 条回复    2015-05-14 13:19:56 +08:00
    YouXia
        1
    YouXia  
       2015-02-05 11:47:16 +08:00 via Android   ❤️ 1
    b821025551b
        2
    b821025551b  
       2015-02-05 12:00:14 +08:00   ❤️ 1
    不看一个叫谭浩强的人出的书就行了
    BGLL
        3
    BGLL  
       2015-02-05 12:08:00 +08:00
    全国中国大学(大)都用它:

    厉不厉害...........
    BGLL
        4
    BGLL  
       2015-02-05 12:14:48 +08:00
    全中国大学都不用它:




    根据你对中国教育的适应程度来选择吧。
    crazyxin1988
        5
    crazyxin1988  
       2015-02-05 12:15:06 +08:00
    C和指针
    andyhunter
        6
    andyhunter  
       2015-02-05 12:21:54 +08:00
    学C只需要一本书

    The C programming language
    xiandao7997
        7
    xiandao7997  
       2015-02-05 12:26:16 +08:00   ❤️ 1
    纯小白用 4 楼,进阶用 1 楼和 5 楼.
    bigtan
        8
    bigtan  
       2015-02-05 12:28:24 +08:00
    @BGLL 如果就是这本书,遇到一个好的选修课老师,然后对编程的热爱一发不可收拾。
    chuan
        9
    chuan  
       2015-02-05 12:48:07 +08:00   ❤️ 1
    C专家编程
    Dannytmp
        10
    Dannytmp  
       2015-02-05 13:06:05 +08:00
    千万不要谭浩强,只需K&R C一本足矣,其余就看文档,谷哥一下你就知道
    Jolin1677
        11
    Jolin1677  
       2015-02-05 13:09:10 +08:00
    @Dannytmp +1
    K&R C看完, 基本的语法还有使用都掌握了, 至于接下来语法方面的进阶可以去看 <C和指针>,
    winooxx
        12
    winooxx  
       2015-02-05 13:11:31 +08:00 via Android
    C Premier
    Dongdong36
        13
    Dongdong36  
       2015-02-05 13:12:44 +08:00
    http://tieba.github.io/cpl/index.html#books

    C语言吧资源里推荐的,可以参考下
    oimotis
        14
    oimotis  
       2015-02-05 13:27:43 +08:00
    怎么能少了这个网址: http://coolshell.cn/articles/4102.html 超经典实用!
    gandblack
        15
    gandblack  
       2015-02-05 14:16:27 +08:00
    @Dongdong36 贴吧搞笑的吧,Bjarne Stroustrup的《C++程序设计语言》放在入门书籍里
    Dongdong36
        16
    Dongdong36  
       2015-02-05 14:21:06 +08:00
    @gandblack 不清楚了...当年学C语言的时候喜欢逛贴吧,C++浅尝辄止了...
    mahone3297
        17
    mahone3297  
       2015-02-05 14:22:15 +08:00
    就看1l推荐的。。。
    init
        18
    init  
       2015-02-05 14:27:36 +08:00
    记得前些天有个帖子说的是程序员赚多少钱
    其中第一题是这样的
    1:c语言之父是谁?
    我果断选了谭!浩!强!
    nicai000
        19
    nicai000  
       2015-02-05 14:32:36 +08:00
    TCPL
    Linux C编程一站式学习
    C Traps and Pitfalls
    Expert C Programming

    这四本 妥妥的
    adow
        20
    adow  
       2015-02-05 14:46:03 +08:00
    C程序设计语言
    C 语言专家编程
    kobe1941
        21
    kobe1941  
       2015-02-05 15:36:10 +08:00
    入门可以选霍顿的《c入门经典》
    http://book.douban.com/subject/3043693/
    通俗易懂,好上手。但是这本只够入门,深入的话参考楼上
    Oucreate
        22
    Oucreate  
       2015-02-05 15:41:18 +08:00 via iPhone
    最近在看《C Primer Plus (第六版) 中文预览版》-人邮社,附录D里用近20页讲解了科幻电影里的程序如何构造,神乎极了!大家一定没看过!^_^
    noe132
        23
    noe132  
       2015-02-05 16:21:26 +08:00
    C primer这本不错~
    besto
        24
    besto  
       2015-02-05 17:42:37 +08:00
    @nicai000 这条路最好,建议在看完3之后回去把1的题目都做一遍。

    @noe132 只有C primer plus. C++ 有 primer 和primer plus.

    另外我推荐一本书(C大学教程)和一条学习线:
    C大学教程 先看完
    TCPL 看完,习题暂时别慌
    C专家编程,当故事看完即可
    C缺陷和陷阱,认真看完
    TCPL习题,尽量搞定
    C专家编程,理解。


    此外C和指针选读。还有一本C语言解惑(http://book.douban.com/subject/2075755/)适当看一看。
    caomaocao
        25
    caomaocao  
       2015-02-05 19:21:17 +08:00
    C专家变成 C和指针
    chenai
        26
    chenai  
       2015-02-05 19:29:49 +08:00
    《编译原理》
    Juwan
        27
    Juwan  
       2015-02-05 21:01:55 +08:00
    #include <stdio.h>

    int main(void)
    {
    printf("主动手, 负看书\n");
    return ;
    }
    ChanneW
        28
    ChanneW  
       2015-02-05 21:22:32 +08:00
    不需要看书,来给我打工就好了。
    lingo233
        29
    lingo233  
       2015-02-05 21:24:52 +08:00
    int main(void){
    printf("This book\n");
    return 0;
    }
    NiverR
        30
    NiverR  
       2015-02-05 21:32:47 +08:00
    @BGLL 高中Doge表示只看过C Primer Plus。。
    kingcos
        31
    kingcos  
       2015-02-05 21:37:35 +08:00
    @BGLL 我们学校到我们这一届居然不用了。。。但是!!但是!!TMD用学校老师写的,错误真。。。多。。。
    算了,我还是看我的C primer plus吧。。。
    vzch
        32
    vzch  
       2015-02-05 21:43:02 +08:00   ❤️ 1
    TCPL 某个第二版翻译很糟糕,变量都能翻译的稀奇古怪,排版也有点小问题。
    feiyunruyue
        33
    feiyunruyue  
       2015-02-05 22:36:07 +08:00
    @vzch 在哪都能看到轮子叔

    推荐《C专家编程》,里面的小故事很有意思。
    qq446015875
        34
    qq446015875  
       2015-02-05 22:39:19 +08:00
    @chuan 嗯,这本书挺有意思,我在学编程之前就看过,当然那时候只看故事
    tonynothing
        35
    tonynothing  
       2015-02-05 22:42:00 +08:00
    认真看TCPL
    scusjs
        36
    scusjs  
       2015-02-05 22:47:32 +08:00
    我只是进来看看多少推荐谭浩强的。。
    onemoo
        38
    onemoo  
       2015-02-05 22:54:35 +08:00   ❤️ 4
    看了上面这么多回复,LZ脑子都乱了吧?
    LZ下次再问这种问题,最好先说明自己的计算机基础,比如会哪种语言?曾有过哪些语言的使用经验?这样有助于大家帮你推荐适合的书。

    C语言是个较为“底层”的语言,理解它要涉及到计算机方方面面的很多知识。
    如果你是在校生,并且要学习这门语言,那就跟着老师走,不明白的去找“明白人”问问。被带入门后再去看更深入的东西。
    如果你是自学,并且对计算机基础不甚了解,那么在没有旁人指导的情况下学习C较为困难。

    首先,《The C programming language》是经典权威,但不推荐给入门者看。它的目标人群是那些了解计算机,会编程,只是想学C语言的人。新人看它多半会云里雾里。 另外,它的第二版也是10多年前出版的了,虽然不能说过时,但也没跟上C语言的演进。

    对于纯新手自学,推荐《C Primer Plus》。有中文版,你尽量看最新版本。这本书一开始帮你普及计算机基础知识,对于学好C是很有帮助的。所以我才说它适合自学。

    上面还有人提到《Linux C编程一站式学习》,我只能说这本书是奇葩,注意我用的是褒义! 在这本书中作者讲到了计算机的原理、组成、汇编......各种方面都有涉及,虽然并不精讲,但个人觉得对入门C语言是很有帮助的。我觉得这倒是难得的国人写的好书。 只不过它要求你有Linux使用基础,所以你看上面那本就可以了。

    还有一些你从书名上就能看出是进阶的书,待你入门C后再看吧。
    yangyanggnu
        39
    yangyanggnu  
       2015-02-05 22:55:12 +08:00 via iPhone
    刚好有部分书要处理 看看有无合适的 http://v2ex.com/t/167471
    standin000
        40
    standin000  
       2015-02-05 23:00:11 +08:00
    @YouXia 同顶这本书!
    ll0xff
        41
    ll0xff  
       2015-02-05 23:04:53 +08:00
    C和指针
    ll0xff
        42
    ll0xff  
       2015-02-05 23:07:44 +08:00
    入门的时候看《Linux C编程一站式学习》,书名起得有问题,重点不在linux上。
    geeti
        43
    geeti  
       2015-02-05 23:10:37 +08:00
    千万别用谭浩强
    kevinyoung
        44
    kevinyoung  
       2015-02-05 23:13:47 +08:00   ❤️ 2
    不知道为什么没人提到Learn C The Hard Way, Learn Python The Hard Way作者出品,但比Python版要深入的多,虽然还在beta阶段并且似乎没有更新已久,但也有40+的练习,我一个一个敲下来,无数次感动到哭。C语言入门最好的教材绝对是这个。

    地址: http://c.learncodethehardway.org/book/
    gdgoldlion
        45
    gdgoldlion  
       2015-02-05 23:28:47 +08:00
    谭浩强,不推荐,他的时代已经过去了,现在再也不是那个C语言资料匮乏的时代了
    K&R C,不推荐,这本书在语言教学方面的能力很弱,他的作用差不多属于C语言上手手册+计算机文献

    除了这两本一定不行以外,上面的朋友推荐了不少好书

    我要说的是,第一本书,大概控制在300页左右,超过500,600页的书就不用看了,基本上属于查字典

    另外,你要搞清楚,你学c语言的目的是什么,如果要经常使用的话,所有语法点都要看,如果只是作为学习c++的过渡,那么有不少知识点是不用怎么看的(内存管理,位域,联合,指针与数组等等)
    gdgoldlion
        46
    gdgoldlion  
       2015-02-05 23:30:49 +08:00
    日本人写的那本书也不推荐,水平不比谭浩强好多少。把语言教学搞成说文解字+绕口令。
    cover
        47
    cover  
       2015-02-06 00:20:56 +08:00 via iPhone
    学什么c语言啊 php才是最好的语言!
    ps 入门的话就用 c primer plus吧
    Shazoo
        48
    Shazoo  
       2015-02-06 09:22:59 +08:00
    叹气。只需要3本。

    1. C语言编程 The C programming language
    2. C和指针
    3. C专家编程
    zjuster
        49
    zjuster  
       2015-02-06 10:35:01 +08:00
    肯定会有人推荐 The C Programming Language(C语言编程),这本书也确实很棒。但是没有编程基础的人会很难看下去,不适合新手。还不如看谭浩强的书——当然《C语言编程》这本书一定要读,学C必读,只是不要上来就看。

    MOOC在线教育的课程很多,知名社区的都可以看看,网易云课堂有字幕的。
    chevalier
        50
    chevalier  
       2015-02-06 10:41:56 +08:00
    C Prime Plus
    不解释
    laduary
        51
    laduary  
       2015-02-06 10:55:05 +08:00
    C primer plus 第五版 中文版
    适合C语言入门~
    zhengxiexie2
        52
    zhengxiexie2  
       2015-02-06 11:07:43 +08:00
    先看《C程序设计语言》,再看《C专家编程》,配合斯坦福大学的《编程范式》课程学习,效果更好。
    hooluupog
        53
    hooluupog  
       2015-02-06 13:10:14 +08:00
    一本国内的(随便哪个大学的本科生教材都行,配合一个简单的c开发环境,单文件编译运行的,不需要构建工程),很快上手操作。选那种不太厚的,实际上国内的教材普遍薄。

    一本国外的,练内功。
    国外的教材一般入门不怎么友好,因为老外的思维都比较宏观,发散。
    falcon05
        54
    falcon05  
       2015-02-06 23:24:57 +08:00 via iPhone
    用C做个项目,遇到问题查书和谷歌,这是学语言最快的方法
    Tianqi
        55
    Tianqi  
       2015-02-07 01:22:37 +08:00
    同建议K&R,语法不用太深究,等你学了底层(汇编,计算机架构)的时候语法就会特别清晰了。
    C语言只是一个起点,将来还会学包含更多范式的现代语言(假设LZ是个小白),建议随便搞搞就行了==。
    1314258
        56
    1314258  
       2015-05-14 13:19:56 +08:00
    @Oucreate 5月28才上市。哥哥你怎么看到的,介绍。我也想看啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1031 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:52 · PVG 04:52 · LAX 12:52 · JFK 15:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.