A Friendly Introduction to the C Programming Language
Slobodan Dmitrović

#Modern
#C
#Absolute_Beginners
#Beginners
Learn the basics of C, the C standard library, and modern C standards. Complete with modern, up-to-date examples and screenshots, this new edition is fully updated and reworked with the latest C23 standards and features.
C is a language that is as popular today as it was decades ago. It can be used to program a microcontroller or to develop an entire operating system. Author Slobodan Dmitrović takes you on a journey through the C programming language, the standard library, and the C standards basics. Each chapter is the right balance of theory and code examples.
Written in a concise and easy-to-follow manner, this book will provide you all the essentials needed to start programming in modern C.
What You Will Learn
Who This Book Is For
Beginner or novice programmers who wish to learn the C programming language. No prior programming experience is required.
Table of Contents
Part I: The C Programming Language
Chapter 1: Introduction
Chapter 2: Our First Program
Chapter 3: Types and Declarations
Chapter 4: Exercises
Chapter 5: Operators
Chapter 6: Expressions
Chapter 7: Statements
Chapter 8: Exercises
Chapter 9: Arrays
Chapter 10: Pointers
Chapter 11: Command-Line Arguments
Chapter 12: Exercises
Chapter 13: Functions
Chapter 14: Exercises
Chapter 15: Structures
Chapter 16: Unions
Chapter 17: Conditional Expression
Chapter 18: Typedef
Chapter 19: Const Qualifier
Chapter 20: Enumerations
Chapter 21: Function Pointers
Chapter 22: Exercises
Chapter 23: Preprocessor
Chapter 24: Exercises
Chapter 25: Dynamic Memory Allocation
Chapter 26: Storage and Scope
Chapter 27: Exercises
Chapter 28: Standard Input and Output
Chapter 29: File Input and Output
Chapter 30: Exercises
Chapter 31: Header and Source Files
Part II: The C Standard Library
Chapter 32: Introduction to C Standard Library
Part Ill: Modern C Standards
Chapter 33: Introduction to C11 Standard
Chapter 34: The C17 Standard
Chapter 35: The Upcoming C23 Standard
Part IV: Dos and Don'ts
Chapter 36: Do Not Use the gets Function
Chapter 37: Initialize Variables Before Using Them
Chapter 38: Do Not Read Out of Bounds
Chapter 39: Do Not Free the Allocated Memory Twice
Chapter 40: Do Not Cast the Result of malloc
Chapter 41: Do Not Overflow a Signed Integer
Chapter 42: Cast a Pointer to void* When Printing Through printf
Chapter 43: Do Not Divide by Zero
Chapter 44: Where to Use Pointers?
Chapter 45: Prefer Functions to Function-Like Macros
Chapter 46: static Global Names
Chapter 47: What to Put in Header Files?
Part V: Appendices
Appendix A: Linkage
Appendix B: Time and Date
Appendix C: Bitwise Operators
Appendix D: Numeric Limits
Appendix E: Summary and Advice
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.









