Modern C for Absolute Beginners: A Friendly Introduction to the C Programming Language

  • 2h 43m
  • Slobodan Dmitrović
  • Apress
  • 2021

Learn the C programming language easily and in a straightforward way. This book teaches the basics of C, the C Standard Library, and modern C standards. No previous programming experience is required.

C is a language that is as popular today as it was decades ago. C covers a wide variety of domains. It can be used to program a microcontroller, or to develop an entire operating system. This book is an effort to introduce the reader to the C programming language in a concise and easy to follow manner.

The author takes you through the C programming language, the Standard Library, and the C standards basics. Each chapter is the right balance of theory and code examples.

After reading and using this book, you'll have the essentials to start programming in modern C.

What You Will Learn

  • The C programming language fundamentals
  • The C Standard Library fundamentals
  • New C Standards features
  • The basics of types, operators, statements, arrays, functions, and structs
  • The basics of pointers, memory allocation, and memory manipulation
  • Take advantage of best practices in C

Who This Book Is For

Beginner or novice programmers who wish to learn the C programming language. No prior programming experience is required.

About the Author

Slobodan Dmitrović is a software consultant, trainer, and entrepreneur. He is the CEO and founder of “Clear Programming Paradigm”, an LLC that provides outsourcing and training services. Slobodan’s ability to summarize complex topics and provide insightful training made him a sought after consultant for the automotive, fintech, and other industries. Slobodan has a strong interest in C, C++, software architecture, training, and R&D.

In this Book

  • Introduction
  • Our First Program
  • Types and Declarations
  • Exercises
  • Operators
  • Expressions
  • Statements
  • Exercises
  • Arrays
  • Pointers
  • Command-Line Arguments
  • Exercises
  • Functions
  • Exercises
  • Structures
  • Unions
  • Conditional Expression
  • Typedef
  • Const Qualifier
  • Enumerations
  • Function Pointers
  • Exercises
  • Preprocessor
  • Exercises
  • Dynamic Memory Allocation
  • Storage and Scope
  • Exercises
  • Standard Input and Output
  • File Input and Output
  • Exercises
  • Header and Source Files
  • Introduction to C Standard Library
  • Introduction to C11 Standard
  • The C17 Standard
  • The Upcoming C2X Standard
  • Do not Use the gets Function
  • Initialize Variables Before Using Them
  • Do not Read Out of Bounds
  • Do not Free the Allocated Memory Twice
  • Do not Cast the Result of Malloc
  • Do not Overflow a Signed Integer
  • Cast a Pointer to void* When Printing Through printf
  • Do not Divide by Zero
  • Where to Use Pointers?
  • Prefer Functions to Function-Like Macros
  • Static Global Names
  • What to Put in Header Files?