C Programming Language

C is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations. By design, C provides constructs that map efficiently to typical machine instructions, and therefore it has found lasting use in applications that had formerly been coded in assembly language, including operating systems, as well as various application software for computers ranging from supercomputers to embedded systems.

1. The C Programming Language

#1 Best Seller
The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C’s rich set of operators, economy of expression, improved control flow, and data structures

First appearing in 1975 C has influenced numerous programming languages including: C#, Objective-C, Java, JavaScript, PHP, and Python.
The C Programming Language

2. Make: Electronics: Learning Through Discovery

A fabulous book: well written, well paced, fun, and informative. I also love the sense of humor. It’s very good at disarming the fear. And it’s gorgeous. I’ll be recommending this book highly. – Tom Igoe, author of Physical Computing and Making Things Talk

The first edition of Make: Electronics established a new benchmark for introductory texts. This second edition enhances that learning experience.

Here you will find unique, photographically precise diagrams of breadboarded components, to help you build circuits with speed and precision. A new shopping guide and a simplified range of components, will minimize your investment in parts for the projects. A completely new section on the Arduino shows you how to write properly structured programs instead of just downloading other people’s code. Projects have been reworked to provide additional features, and the book has been restructured to offer a step-by-step learning process that is as clear and visually pleasing on handheld devices as it is on paper. Full color is used throughout.

Make: Electronics: Learning Through Discovery

3. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively—so that your software is correct, efficient, maintainable, and portable. That’s where this practical book comes in. It describes how to write truly great software using C++11 and C++14—i.e. using modern C++.

Topics include:

  • The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions
  • The relationships among std::move, std::forward, rvalue references, and universal references
  • Techniques for writing clear, correct, effective lambda expressions
  • How std::atomic differs from volatile, how each should be used, and how they relate to C++’s concurrency API
  • How best practices in “old” C++ programming (i.e., C++98) require revision for software development in modern C++
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14

4. Introduction to Computing Systems: From Bits and Gates to C and Beyond

Introduction to Computing Systems: From bits & gates to C & beyond, now in its second edition, is designed to give students a better understanding of computing early in their college careers in order to give them a stronger foundation for later courses. The book is in two parts: (a) the underlying structure of a computer, and (b) programming in a high level language and programming methodology.

Introduction to Computing Systems: From Bits and Gates to C and Beyond

5. Programming in C (4th Edition) (Developer’s Library)

Absolutely the best book for anyone starting out programming in C. This is an excellent introductory text with frequent examples and good text.…This is the book I used to learn C–it’s a great book. – Vinit S. Carpenter, Learn C/C++ Today

Programming in C will teach you how to write programs in the C programming language. Whether you’re a novice or experienced programmer, this book will provide you with a clear understanding of this language, which is the foundation for many object-oriented programming languages such as C++, Objective-C, C#, and Java.

Programming in C (4th Edition) (Developer's Library)

6. C Programming Absolute Beginner’s Guide (3rd Edition)

This is today’s best beginner’s guide to writing C programs–and to learning skills you can use with practically any language. Its simple, practical instructions will help you start creating useful, reliable C code, from games to mobile apps. Plus, it’s fully updated for the new C11 standard and today’s free, open source tools! Here’s a small sample of what you’ll learn:

  • Discover free C programming tools for Windows, OS X, or Linux
  • Understand the parts of a C program and how they fit together
  • Generate output and display it on the screen
  • Interact with users and respond to their input
  • Make the most of variables by using assignments and expressions
  • Control programs by testing data and using logical operators
  • Save time and effort by using loops and other techniques
  • Build powerful data-entry routines with simple built-in functions
  • Manipulate text with strings
  • Store information, so it’s easy to access and use
C Programming Absolute Beginner's Guide (3rd Edition)

7. C Programming: A Modern Approach, 2nd Edition

The first edition of C Programming: A Modern Approach was popular with students and faculty alike because of its clarity and comprehensiveness as well as its trademark Q&A sections.

Professor King’s spiral approach made it accessible to a broad range of readers, from beginners to more advanced students. With adoptions at over 225 colleges, the first edition was one of the leading C textbooks of the last ten years. The second edition maintains all the book’s popular features and brings it up to date with coverage of the C99 standard. The new edition also adds a significant number of exercises and longer programming projects, and includes extensive revisions and updates.

C Programming: A Modern Approach, 2nd Edition

8. C How to Program (8th Edition)

C How to Program is a comprehensive introduction to programming in C. Like other texts of the Deitels’ How to Program series, the book serves as a detailed beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C.

The Eighth Edition continues the tradition of the signature Deitel “Live Code” approach–presenting concepts in the context of full-working programs rather than incomplete snips of code. This gives readers a chance to run each program as they study it and see how their learning applies to real world programming scenarios.

C How to Program (8th Edition)