Eric S.Roberts的著作,以前很少注意这些作者,现在开始注意了!为什么要从这本书开始学,我自己也不知道为什么,原因可能有很多吧,但最重要的原因可能是因为受到了些打击,最近不断有朋友给我发资料,全部都是关于C方面的题目,我的C基础,只是停留在大学时候的C技术,甚至很多都忘了,原因就是当时接触面太少,C的数据库编程,图像编程,网络编程等等,一概都没有接触过,就去搞ASP等其他的语言,直到后来在2002年开始搞JAVA,java应该是我最熟知也是最喜欢的语言,因为工作需要所以熟知,因为java的开源,所以喜欢。那么现在又反过来搞c,不免有点本末倒置,我想或许,但也未必尽然,因此下定决心,买了这本关于C方面的基础教材,C的强大有目共睹,C的推广也是不败之笔,相信C++,JAVA等热门的专业语言与C的存在有着非常深刻的关系。既然发现了问题,就尽快解决它。
之前的关于WINDOWS的C的编程的英文版,已经把我搞的头大,因为牵扯的东西太多,而自己又对windows的东西不是非常感冒,虽然也有经常用到,但是只是停留在操作,而没有了解它的细节。所以就以今日作为C的基础日来从头开始学起!当然如果像大学那种学法,自然就是很快能够搞定,所以还是按照作者的意图:
To the Student
Each year, the world of computing gets more and more exciting. Computing hardware is smaller, faster, and cheaper than ever before. The selves of your local computer store are lined with all sorts of application programs that would have been unimaginable a decade ago. Technological innovations like the Internet and the World Wide Web are revolutionizing the way people find information, transact business, and communicate with one another. And through it all, the opportunities available to people who understand computing technology seem to grow without bounds.
The study of computer science often works in a similar way. With each new concept you learn, programming becomes increasingly exciting. You can be more creative, solve hrder problems, and develop more sophisticated programs and tools. If you are reading this book, you probably have completed an introductory computer science course and understand a little about the sense of empowerment that programming conveys. But you have only scrached the surface.
Most introductory courses focus on the mechanics of programming. You learn about the syntax of a particular language and how to write simple programs in that language. The purpose of this book is to expand your horizons by introducing you to the more intellectually challenging aspects of the programming process. Programming is not about memorizing rules or writing the code for simple processes you already understand. Programming is about solving hard problems. Solving hard problems requires a lot of thought and, in most cases, a great deal of work.
You can, however, simplify the process by taking advantage of the strategies and methodologies presented in this book. Many of the concepts you will learn as you study the different parts of this text-from broad strategies like recursion to specific techniques like hashing-will enable you to solve problems that now seem completely beyond your reach. Learning those concepts will certainly be challenging. It may at times be frustrating. If you rise to the challenge and work past the frustrations, your reward at the end will be a deeper understanding of the power of computing that will create still more opportunities on the path ahead.
I wish you a pleasant journey along that road.
Eric Roberts
Department of Computer Science
Stanford University
June 1997
之前的关于WINDOWS的C的编程的英文版,已经把我搞的头大,因为牵扯的东西太多,而自己又对windows的东西不是非常感冒,虽然也有经常用到,但是只是停留在操作,而没有了解它的细节。所以就以今日作为C的基础日来从头开始学起!当然如果像大学那种学法,自然就是很快能够搞定,所以还是按照作者的意图:
To the Student
Each year, the world of computing gets more and more exciting. Computing hardware is smaller, faster, and cheaper than ever before. The selves of your local computer store are lined with all sorts of application programs that would have been unimaginable a decade ago. Technological innovations like the Internet and the World Wide Web are revolutionizing the way people find information, transact business, and communicate with one another. And through it all, the opportunities available to people who understand computing technology seem to grow without bounds.
The study of computer science often works in a similar way. With each new concept you learn, programming becomes increasingly exciting. You can be more creative, solve hrder problems, and develop more sophisticated programs and tools. If you are reading this book, you probably have completed an introductory computer science course and understand a little about the sense of empowerment that programming conveys. But you have only scrached the surface.
Most introductory courses focus on the mechanics of programming. You learn about the syntax of a particular language and how to write simple programs in that language. The purpose of this book is to expand your horizons by introducing you to the more intellectually challenging aspects of the programming process. Programming is not about memorizing rules or writing the code for simple processes you already understand. Programming is about solving hard problems. Solving hard problems requires a lot of thought and, in most cases, a great deal of work.
You can, however, simplify the process by taking advantage of the strategies and methodologies presented in this book. Many of the concepts you will learn as you study the different parts of this text-from broad strategies like recursion to specific techniques like hashing-will enable you to solve problems that now seem completely beyond your reach. Learning those concepts will certainly be challenging. It may at times be frustrating. If you rise to the challenge and work past the frustrations, your reward at the end will be a deeper understanding of the power of computing that will create still more opportunities on the path ahead.
I wish you a pleasant journey along that road.
Eric Roberts
Department of Computer Science
Stanford University
June 1997