C Programming
This book covers the C programming language, its interactions with software design and real life use of the language. It is presented in a series of chapters as an introductory prior to advance courses but can also be used as a reference book. This is an open work; if you find any problems with terms or concepts you can help by contributing to it; your participation is needed and welcomed! You are also welcomed to state any preference, shortcomings, vision for the actual book content, structure or other conceptual matters; see this Wikibook's discussion page for the right forum for participating.
Subject:C programming language
A complete printable version of
C Programming is available.
(attention to its size)
A single page version edit) with all chapters is available (attention to its size).
Preface: About the book [ edit ] [ edit chapters list ] [ edit print version ]
Chapter 1 : C a multi-paradigm language [ edit ] [ edit summary ] [ print chapter ]
- Introducing C
- Programming languages
- Programming paradigms - the versatility of C as a multi-paradigm language, concepts of object-oriented programming (objects and classes, inheritance, polymorphism).
- Comparisons - to other languages, relation to other computer science constructs and idioms.
- with C
- with Java
- with C#
- with Managed C (C /CLI)
- with D
Chapter 2 : Fundamentals for getting started [ edit ] [ edit summary ] [ print chapter ]
- The code - includes list of recognized keywords.
- Compiler
- Preprocessor - includes the standard headers.
- Linker
- Variables and storage - locality, scope and visibility, including source examples.
- Operators - precedence order and composition, , assignment,
sizeof
, new, delete, [] (arrays), * (pointers) and & (references).- Logical operators - the && (and), || (or), and ! (not).
- Conditional operator - the ?:
- Type casting - Automatic, explicit and advanced type casts.
- Flow of control - Conditionals (if, if-else, switch), loop iterations (while, do-while,
for
) andgoto
. - Functions - Introduction (including main), argument passing, returning values, recursive functions, pointers to functions and function overloading.
- Debugging - Finding, fixing, preventing bugs and using debugging tools.
Chapter 3 : Object-Oriented Programming [ edit ] [ edit summary ] [ print chapter ]
- Structures
- Unions
- Classes (Inheritance, Member Functions, Polymorphism and this pointer)
- Operator overloading
- Standard Input/Output streams Library
Chapter 4 : Advanced Features [ edit ] [ edit summary ] [ print chapter ]
- Templates
- Standard Template Library (STL)
- Smart Pointers
- Exception Handling
- Run-Time Type Information (RTTI)
Chapter 5 : Beyond the Standard [ edit ] [ edit summary ] [ print chapter ]
- Resource Acquisition Is Initialization (RAII)
- Garbage Collection (GC)
- Design patterns - Creational, Structural and Behavioral patterns.
- Libraries - APIs vs Frameworks and Static and dynamic libraries.
- Boost library
- Optimizing your programs
- Cross-platform development
- Software internationalization
- Unified Modeling Language (UML)
Appendix A: References Tables
(used on book chapters, print version excludes the Appendix)
• Keywords • Preprocessors Directives • Standard Headers • Data Types • Operators • Standard C Library Functions • ASCII chart
Appendix B: External References
Appendix C: C Programming by examples [ edit ]
(Compilable programs used on book chapters, print version excludes the Appendix)
Appendix D: C Programming - exercises [ edit ]
Supporting exercises for the book content.