请推荐几本关于c语言的有开发实例的书籍
如果你想学windows编程,强烈建议买《Windows程序设计(第五版)》,这本书虽然老了点,但对windows的原理讲解的很透彻,被称为windows编程圣经。作者是微软的专家,自然对微软的技术比较了解。如果你看完这本,将来想学MFC或者windows的其他方面都会很有好处。
如果你想学linux方面的话,你就看看《Unix环境高级编程》,W.Richard Stevens的书本本都是经典,如果你想学网络方面的话,也可以看看他的《UNIX网络编程》
如果是嵌入式方面的,书有很多,但我不太了解,就不介绍了。
————————————————————
理论学习的话,谭浩强的书,只能说是入门...很多东西都解释不到位,特别是C的指针...《C和指针》嘛还是不错的,如果还想提升可以看看《C专家编程》、《C陷阱和缺陷》。
除了语言,最重要的还是数据结构/算法,建议你看看 严蔚敏的《数据结构》,国内考研都看这本。算法的话,可以看看《算法:C语言实现》和《算法导论》。不过不论是算法还是数据结构,都比较虚,这点可能和你的要求相反。
如果你想搞实际的开发的话,最好能够转型,比如C++或者java之类的,C的程序效率高,但开发效率太低,一般都用于偏底层的开发,如驱动什么的(这种东西更加看不到了),图形的软件之类的,现在一般都用其他语言写的。
嗯,我是想把c学的差不多了就深入学面向对象的语言, 你推荐的书籍是否是只要学了C的基础知识就可以开始去学的,不然看不懂? 这些书籍有没有分哪个阶段看的?
这个嘛很难说啦,语法上来说都差不多,都是建立在C语言的基础之上的,一句句读下来就好了。但是,这些都涉及了很多特定平台的相关知识,有很多系统的API、原理等等知识,都是些综合运用,不是简单会基础就一定能看懂的。不过我推荐的这几本书,的确不论是入门还是提高都讲的不错,你有兴趣可以先看下电子版再做决定。
单单会C的基础,的确做不出什么看得见的东西,都是些控制台的东西。C/C++都没有图形标准库,第三方库又有自己的架构,可能不是那么容易学习的。但你深入学习之后,你会觉得图形只不过是个库,不断的调用库里的特定函数就可以了,功能的部分最终还是会回到C/C++的基础上。库的学习,除了要了解原理外,就是查查MSDN,或者linux的man(帮助手册)就好了,里面都有介绍参数的调用啊,使用方法什么的。
如果你想学面向对象语言的话,就不必太深入C了,直接就可以看C++、java、C#之类的了,因为面向过程的语言和面向对象的语言是有本质区别的,特别是C和java、C#等,当然最基础的东西还是一样的。不过你最好去了解一些C特有的东西,比如指针,内存管理什么的。新的语言这些东西很多都不能显示调用了(都丢给系统了),但是这些东西应该是程序员必须要了解的。实际中虽然不会用,但是了解这些的人就知道如何改进自己的程序,使得程序更有效率,一味的丢给垃圾回收什么的只会增加系统负担。
——————————————————
我给你点简单的建议,你想学面向对象的语言的话,有2种路线比较合适。一种是C++的半过程半对象语言,还有是java、C#之类为代表的完全面向对象语言,但学习过程基本是一样的。
基础语法——>库——>语言细节、陷阱——>实际环境开发(最后2点可以交互顺序,但前提是有良好的基础)
C++的话基本就是这样的路线了,java之类的话就略有不同,因为太简单了,特别是有官方的图形库,所以像做出可以看得见的东西就很简单了。简单得说可以这样:
基础语法(类是重点)——>图形库——>多线程——>数据库、web、socket等等
java、C#比较随意点,库什么的没必要单独再花时间学习,只要经常查官方的帮助文档就可以了,一遍查着库,一遍就可以实际开发了。
还有就是最好能看下《设计模式》,看完你就会知道面向对象和面向过程的语言有什么本质的不同了,绝对是面向过程语言学习必看的东西。