C语言编程艺术

一个人,如果不耕作,就必须写作。
–Martin A. Hansen

招募
如果你的C学得非常好,写作也不成问题,并且对此书感兴趣,欢迎你加入它的写作!你可以选择写任何你擅长的一部分。书的当前进度可以在下面看到,我的联系方式也可以在下面找到。欢迎你的加入!

当前进度

第零章《计算机编程是一门艺术》:初步完成,有待完善
第一章《过去,现在,未来》:初步完成,有待完善
第二章《关于C的思考》:初步完善,提供下载
第三章《解读C语言标准(上)》:初步完善,提供下载
第四章《解读C语言标准(下)》:正在撰写
第五章《三步曲──编译,链接,运行》:正在撰写
第六章《应用之美》:正在撰写
第七章《文化及其它》:正在撰写
附录

下载

第二章下载
第三章下载

错误报告

如果你在里面发现任何错误,请及时给我指出,我会更改!如果你对书的内容有什么好的意见和建议,也欢迎指出!我的邮箱是xiyou!wangcong()yahoo!com!cn。

感谢

杨文博:提出了很好的建议
董溥:提出很多建议
金明洁:指出第二章中的一个错误
孔建军:指出第三章中的一个错误
黄璞:指正第2章中的一个错误

(注:我保证,这里提到的人也将会出现在书的前言中的“致谢”一节中!)

24 comments

  1. naturm says:

    有意思,我曾想成为一名伟大的程序员,但现在移情别恋了

    [Reply]

  2. tcpdump says:

    找到了志同道合之人~~~~

    [Reply]

  3. sharp says:

    还在继续吗?想看下文。。。

    [Reply]

    王 聪 reply on June 24, 2008 2:22 am:

    恩,不过进度很慢啊~!呵呵~

    [Reply]

  4. crazyfranc says:

    慢功出精品!不要着急写,兄弟们都相信你;)

    [Reply]

  5. 堕落的黑猫 says:

    很不错啊,非常期待,加油!

    [Reply]

  6. Jyfish says:

    期待第一部

    [Reply]

  7. Anders says:

    可以看出作者对C很感兴趣,同时视野也很开阔!看起来这本书定位是对C相当熟悉的人群,或者说是C的fans. 我看了第2章的部分,很多部分写得很好,但是似乎牵扯的知识点过多,有些感觉发散.如果作者C的故事很多, 建议能以故事的形式展现话题,这样比较引人入胜.

    [Reply]

  8. annixhong says:

    个人觉得博主是个很愤青的理想主义者呢.呵呵.非常佩服博主无比坚定的内心!我缺少的正是博主的这种精神!

    [Reply]

  9. elpmis says:

    挺有意思,博主加油啊!

    [Reply]

  10. Kermit Mei says:

    加油,很期待早日看到你的书!

    [Reply]

  11. aflyfly says:

    第二章中的“:C++中替代realloc的是什么?”
    我想placement new应该是可以胜任的。

    #include
    #include

    using namespace std;

    class PlacementnewTest
    {
    public:
    int m_int;
    public:
    explicit PlacementnewTest(int a) : m_int(a)
    {

    }
    };

    int _tmain(int argc, char* argv[])
    {
    PlacementnewTest *tt = new PlacementnewTest(45);
    PlacementnewTest *aa = new(tt) PlacementnewTest(54);
    cout <m_int << ":"<m_int<<endl;
    return 0;
    }
    // 输出:
    54:54

    [Reply]

  12. wildpointer says:

    第二章中的“大尾”和“小尾”可否用“大端”“小端”替换,我觉得“大端”“小端”是更通用的翻译。

    [Reply]

  13. lihexuan says:

    雁过留痕~~博主写的文章是治疗系的~

    [Reply]

  14. sgxiao says:

    1. 用最少的C代码来验证你的机器是高字节优先还是低字节优先。
    #include
    #include
    int main(X)
    {exit(0 > puts((*(char *)&X == (char)X)?”Little endian”:”Big endian”));}

    ====================================

    在下愚昧,没看明白上面的
    int main(X)

    是什么意思,求解。

    [Reply]

  15. SUN says:

    good , 希望博主继续坚持……,I’m waiting……

    [Reply]

  16. Sunner says:

    很帅的书啊!期待出版

    [Reply]

  17. zianed says:

    很早就知道学校有这么个牛人存在,一直未曾跟上。
    今天终于找到了。
    我也是08的,学数学的,搞Java Oracle Solaris的
    崇拜用C的大师,

    望多交流

    twitter:@zianedhou

    [Reply]

  18. thankgod says:

    Linux操作系统中判断大小端的,个人觉得很赞~
    static union { char c[4]; unsigned long l; } endian_test = { { ‘l’, ‘?’, ‘?’, ‘b’ } };
    #define ENDIANNESS ((char)endian_test.l)

    [Reply]

  19. 非零 says:

    研究很深入,大学课本是完全看不到的。只有一点点教材上的C和汇编的基础,基本看不懂。这书应该是专门面向C程序员的吧。

    [Reply]

  20. rooftop says:

    期待

    [Reply]

Leave a Reply

葡驻京办ICP备07006283号