user-0 提问: 求助，帮我推荐几本C的经典书籍

回复:
user: user-1
content: C语言书目，排名不分先后。好好读书吧。	  2. C程序设计语言 作者 : Brian W.Kernighan/Dennis M.Ritchie  出版社 : 清华大学出版社 评语 : 第1本 《C程序设计语言》 Brian W. Kernighan / Dennis M. Ritchie 这本书又称为 R&K C，还有谁能比C语言之父对C语言更有发言权的呢？推荐看英文版。你会惊讶于在短短不到200页的篇幅内，这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻    	 3. C陷阱与缺陷 作者 : 凯尼格  出版社 : 人民邮电出版社 评语 : 第2本 《C陷阱与缺陷》Andrew Koenig Andrew Koenig的成名作，能帮助初学者减少90%的错误。一些错误（比如赋值符、运算符优先级等）还是不时的会在自己的程序里出现，只是已经打过预防针了，很容易发现。另外作者写了一本《Accelerated C++》，据说是C++的最佳入门书，狠赞！！  	 4. C专家编程 作者 : Peter Van Der Linden  出版社 : 人民邮电出版社 评语 : 第3本 《C专家编程》（LinDen,P.V.D） 一看书名就知道这丫不能拿来入门用的，第一次看的时候够折磨大脑的。作者声称，编程的唯一原因是因为乐趣。相比之前的几本书，这本书还介绍C语言运行的环境，更全面地考察了C语言。深入分析了C语言中一些容易混淆的概念，如复杂的声明和定义、数组和指针、链接和运行时库、内存等。很值得一读。 顺便一提：链接库可参考《深入理解计算机系统》的动态链接库一章，写得更易读  	 5. 编程精粹 作者 : Steve Maguire  出版社 : 人民邮电出版社 评语 : 第4本 《编程精粹：编写高质量C语言代码》 《Writing Solid Code》 Steve Maguire 这是我读到C语言书中最惊叹的一本，尽管写出没有bug的程序不太可能，但按照作者提供的方法，可以离这个目标很近。本书关注的更多是怎么使用C语言开发工业级产品的问题。 这本书源自作者十几年不断的追问自己两个简单的问题： 1）怎样才能自动地查出这个错误？ 2）怎样才能避免这个错误？ “他的另一部名著Debugging the Development Process（中文版《微软  	 6. C Interfaces and Implementations 作者 : David R. Hanson  出版社 : Addison-Wesley Professional 评语 : 第5本 《C Interfaces and Implementations》 David R. Hanson 这本据说为唯一一本能和R&K C并驾齐驱的书，可惜中文版众口一致说太烂，无处可载电子版，影印版跳票多年，原版USD 54.99实在承受不起，囊中羞涩，奈何奈何。想念多年，至今不能一睹芳容，深以为憾。  	 7. C标准库 作者 : P. J. Plauger  出版社 : 人民邮电出版社 评语 : 前面5本差不多够了，另外推荐两本，精力过剩的可以翻翻 第6本 《C标准库》P. J. Plauger 本书介绍C标准库的实现，书中有较为详尽的代码。虽然这本书年代久远，现在的实现肯定和以前也有差别，但是还是很有参考价值，特别是对C标准库的实现有兴趣的人。中文版太贵，英文电子版看得太累，还是以后有地方借的时候再继续看。    K&R的The C  Programming Language  ==================================  《pointers on c》 C与指针 ==================================  c primer plus ==================================  	 8. C语言参考手册 作者 : 哈比森  出版社 : 机械工业出版社 评语 : 第7本 《C语言参考手册》 拿来备查的，C语言的任何细节几乎都能在其中找到借到。书的第一部分介绍C语言语法细节。第二部分介绍运行时库，可以和《C标准库》参考阅读。

user: user-2
content: 嗨翻C语言，公司采购的书，正在看感觉还不错。

user: user-3
content: C Primer Plus 数据结构与算法－C语言描述 Windows程序设计 第五版 MSDN --> API文档

user: user-4
content: 1.C语言程序设计 作者 : 谭浩强  出版社 : 清华大学出版社  评语 : 第0本 《C语言程序设计》谭浩强 我们很少有学C语言的启蒙书不是用这本的。如果你从来没接触过C语言，这本书还是适合作为入门的。尽管大学毕业之后就不再碰这本书，但是还记得当初这本书看了3遍、指针那部分看了至少5遍的那种心情。以后看了其它的书，才对C语言中的一些内容有更深的理解。相信大多数第一次接触C语言的人都有类似的感觉。不要期望一本启蒙的书带给你想要的一切，一切才刚刚开始。   	 2.C程序设计语言 作者 : Brian W.Kernighan/Dennis M.Ritchie  出版社 : 清华大学出版社  评语 : 第1本 《C程序设计语言》 Brian W. Kernighan / Dennis M. Ritchie 这本书又称为 R&K C，还有谁能比C语言之父对C语言更有发言权的呢？推荐看英文版。你会惊讶于在短短不到200页的篇幅内，这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻  	 3. C陷阱与缺陷 作者 : 凯尼格  出版社 : 人民邮电出版社  评语 : 第2本 《C陷阱与缺陷》Andrew Koenig Andrew Koenig的成名作，能帮助初学者减少90%的错误。一些错误（比如赋值符、运算符优先级等）还是不时的会在自己的程序里出现，只是已经打过预防针了，很容易发现。另外作者写了一本《Accelerated C++》，据说是C++的最佳入门书，狠赞！！  	 4. C专家编程 作者 : Peter Van Der Linden  出版社 : 人民邮电出版社  评语 : 第3本 《C专家编程》（LinDen,P.V.D） 一看书名就知道这丫不能拿来入门用的，第一次看的时候够折磨大脑的。作者声称，编程的唯一原因是因为乐趣。相比之前的几本书，这本书还介绍C语言运行的环境，更全面地考察了C语言。深入分析了C语言中一些容易混淆的概念，如复杂的声明和定义、数组和指针、链接和运行时库、内存等。很值得一读。 顺便一提：链接库可参考《深入理解计算机系统》的动态链接库一章，写得更易读  	 5. 编程精粹 作者 : Steve Maguire  出版社 : 人民邮电出版社  评语 : 第4本 《编程精粹：编写高质量C语言代码》 《Writing Solid Code》 Steve Maguire 这是我读到C语言书中最惊叹的一本，尽管写出没有bug的程序不太可能，但按照作者提供的方法，可以离这个目标很近。本书关注的更多是怎么使用C语言开发工业级产品的问题。 这本书源自作者十几年不断的追问自己两个简单的问题： 1）怎样才能自动地查出这个错误？ 2）怎样才能避免这个错误？ “他的另一部名著Debugging the Development Process（中文版《微软  	 6. C Interfaces and Implementations 作者 : David R. Hanson  出版社 : Addison-Wesley Professional  评语 : 第5本 《C Interfaces and Implementations》 David R. Hanson 这本据说为唯一一本能和R&K C并驾齐驱的书，可惜中文版众口一致说太烂，无处可载电子版，影印版跳票多年，原版USD 54.99实在承受不起，囊中羞涩，奈何奈何。想念多年，至今不能一睹芳容，深以为憾。  	 7. C标准库 作者 : P. J. Plauger  出版社 : 人民邮电出版社  评语 : 前面5本差不多够了，另外推荐两本，精力过剩的可以翻翻 第6本 《C标准库》P. J. Plauger 本书介绍C标准库的实现，书中有较为详尽的代码。虽然这本书年代久远，现在的实现肯定和以前也有差别，但是还是很有参考价值，特别是对C标准库的实现有兴趣的人。中文版太贵，英文电子版看得太累，还是以后有地方借的时候再继续看。  	 8. C语言参考手册 作者 : 哈比森  出版社 : 机械工业出版社  评语 : 第7本 《C语言参考手册》 拿来备查的，C语言的任何细节几乎都能在其中找到借到。书的第一部分介绍C语言语法细节。第二部分介绍运行时库，可以和《C标准库》参考阅读。

user: user-5
content: #pragma comment(lib,"user32") #pragma comment(lib,"gdi32") #include <windows.h> LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {     PAINTSTRUCT ps;     HDC hdc;     HFONT hfont,ohfont;     RECT r;     COLORREF oc;      switch(message) {     case WM_CLOSE://按Alt+F4退出         PostQuitMessage(0);         break;     case WM_PAINT:         BeginPaint(hWnd, &ps);         hdc = ps.hdc; // the device context to draw in         GetClientRect(hWnd, &r); // Obtain the window's client rectangle         hfont = CreateFont(240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "华文楷体");         ohfont=SelectObject(hdc,hfont);         oc=SetTextColor(hdc,0x00C080FF);         SetBkMode(hdc, TRANSPARENT);         TextOut(hdc,r.left+r.right/2-720, r.top+r.bottom/2-120,"最短画图程序",12);         SelectObject(hdc,ohfont);         SetTextColor(hdc,oc);         DeleteObject(hfont);         EndPaint(hWnd, &ps);         break;     default:         return DefWindowProc(hWnd, message, wParam, lParam);     }     return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {     MSG msg             = {0};     WNDCLASS wc         = {0};     HBRUSH hbrh;     hbrh=CreateSolidBrush(0x00000000);     wc.lpfnWndProc      = WndProc;     wc.hInstance        = hInstance;     wc.hbrBackground    = hbrh;     wc.lpszClassName    = "minwindowsapp";     wc.hCursor          = LoadCursor(NULL,IDC_ARROW);     if( FAILED(RegisterClass(&wc)) ) return 1;      if(FAILED(CreateWindow(wc.lpszClassName,                         "Minimal Windows Application",                         WS_POPUP|WS_VISIBLE,                         0,                         0,                         GetSystemMetrics(SM_CXSCREEN),                         GetSystemMetrics(SM_CYSCREEN),                         0,                         0,                         hInstance,                         NULL)))         return 2;      while( GetMessage( &msg, NULL, 0, 0 ) > 0 ) {         DispatchMessage( &msg );     }     DeleteObject(hbrh);     return 0; }  查MSDN是Windows程序员必须掌握的技能之一。