Welcome to Beginning C: Fifth EdiTIon. With this book you can become a competent C programmer using the latest
version of the C language. In many ways, C is an ideal language with which to learn programming. It’s very compact,
so there isn’t a lot of syntax to learn before you can write real applicaTIons. In spite of its conciseness, it’s extremely
powerful and is used by professionals in many diferent areas. he power of C is such that it can be applied at all levels,
from developing device drivers and operaTIng system components to creaTIng large-scale applications. A relatively
new area for C is in application development for mobile phones.
C compilers are available for virtually every kind of computer, so when you’ve learned C, you’ll be equipped
to program in just about any context. Once you know C, you have an excellent base from which you can build an
understanding of the object-oriented C++.My objective in this book is to minimize what I think are the three main hurdles the aspiring programmer must
face: coming to grips with the jargon that pervades every programming language, understanding how to use the
language elements (as opposed to merely knowing what they are), and appreciating how the language is applied in a
practical context.Jargon is an invaluable and virtually indispensable means of communication for the expert professional as well
as the competent amateur, so it can’t be avoided. My approach is to ensure that you understand the jargon and get
comfortable using it in context. In this way, you’ll be able to more efectively use the documentation that comes
along with the typical programming product and also feel comfortable reading and learning from the literature that
surrounds most programming languages.Comprehending the syntax and efects of the language elements is obviously an essential part of learning C,
but appreciating how the language features work and how they are used is equally important. Rather than just using
code fragments, I provide you with practical working examples in each chapter that show how the language features can be applied to speciic problems. hese examples provide a basis for you to experiment and see the efects of changing the code.Your understanding of programming in context needs to go beyond the mechanics of applying individual
language elements. To help you gain this understanding, I conclude most chapters with a more complex program
that applies what you’ve learned in the chapter. hese programs will help you gain the competence and conidence
to develop your own applications and provide you with insight into how you can apply language elements in
combination and on a larger scale. Most important, they’ll give you an idea of what’s involved in designing real
programs and managing real code.It’s important to realize a few things that are true for learning any programming language. First, there is quite a
lot to learn, but this means you’ll gain a greater sense of satisfaction when you’ve mastered it. Second, it’s great fun,
so you really will enjoy it. hird, you can only learn programming by doing it, and this book helps you along the way.
Finally, it’s certain you will make a lot of mistakes and get frustrated from time to time during the learning process.
When you think you are completely stuck, you just need to be persistent. You will eventually experience that eureka
moment and realize it wasn’t as diicult as you thought.