C is a nonpareil language to learn programming. Being very compact language, there isn't a lot of syntax to learn before you can write real applications. Despite its succinctness and simplicity, it's also an exceedingly powerful language that's still widely used by programming professionals. The power of C is such that it is used for programming at all levels, from device drivers and operating system components to large-scale applications and even for the prestigious programming contests held worldwide. It's apparent that there is a connection between a good programming skills and success in science and engineering education. A sound programming knowledge can help you think logically and effectively, perform outstandingly in programming courses, do better in programming contests the positive impacts are unending. Coming to the context of programming contests, skill in C programming is the most crucial measurement criteria. Our objective in this book is to minimize what we think are the three main hurdles the aspiring programming contestants must face: coming to grips with the terminologies 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.