1. Introduction. 2. Some Fundamentals. Programming. Higher-Level Languages. Operating Systems. Compiling Programs.
Integrated Development Environments. Language Interpreters. 3. Compiling and Running Your First Program. Compiling Your Program. Running Your Program. Understanding Your First Program. Displaying the Values of Variables.
Comments. Exercises. 4. Variables, Data Types, and Arithmetic Expressions. Working with Variables. Understanding Data Types and Constants. Working with Arithmetic Expressions. Combining Operations with Assignment: The Assignment Operators.
Types Complex and Imaginary. Exercises. 5. Program Looping. The for Statement. The while Statement. The do Statement. Exercises.
6. Making Decisions. The if Statement. The switch Statement. Boolean Variables. The Conditional Operator. Exercises. 7.
Working with Arrays. Defining an Array. Initializing Arrays. Character Arrays. Multidimensional Arrays. Variable-Length Arrays. Exercises. 8.
Working with Functions. Defining a Function. Arguments and Local Variables. Returning Function Results. Functions Calling Functions Calling. Top-Down Programming. Functions and Arrays. Global Variables.
Automatic and Static Variables. Recursive Functions. Exercises. 9. Working with Structures. A Structure for Storing the Date. Functions and Structures. Initializing Structures.
Arrays of Structures. Structures Containing Structures. Structures Containing Arrays. Structure Variants.Exercises. 10. Character Strings. Arrays of Characters.
Variable-Length Character Strings. Escape Characters. More on Constant Strings. Character Strings, Structures, and Arrays. Character Operations. Exercises. 11. Pointers.
Defining a Pointer Variable. Using Pointers in Expressions. Working with Pointers and Structures. The Keyword const and Pointers. Pointers and Functions. Pointers and Arrays. Operations on Pointers. Pointers to Functions.
Pointers and Memory Addresses. Exercises. 12. Operations on Bits. Bit Operators. Bit Fields. Exercises. 13.
The Preprocessor. The #define Statement. The #include Statement. Conditional Compilation. Exercises. 14. More on Data Types. Enumerated Data Types.
The typedef Statement. Data Type Conversions. Exercises. 15. Working with Larger Programs. Dividing Your Program into Multiple Files. Communication Between Modules. Other Utilities for Working with Larger.
Programs. 16. Input and Output Operations in C. Character I/O: getchar and putchar. Formatted I/O: printf and scanf. Input and Output Operations with Files. Special Functions for Working with Files. Exercises.
17. Miscellaneous and Advanced Features. Miscellaneous Language Statements. Working with Unions. The Comma Operator. Type Qualifiers. Command-Line Arguments. Dynamic Memory Allocation.
18. Debugging Programs. Debugging with the Preprocessor. Debugging Programs with gdb. 19. Object-Oriented Programming. What Is an Object Anyway? Instances and Methods. Writing a C Program to Work with Fractions.
Defining an Objective-C Class to Work with Fractions. Defining a C++ Class to Work with Fractions. Defining a C# Class to Work with Fractions. Appendix A - C Language Summary. Digraphs and Identifiers. Comments. Constants. Data Types and Declarations.
Expressions. Storage Classes and Scope. Functions. Statements. The Preprocessor. Appendix B: The Standard C Library. Standard Header Files. String Functions.
Memory Functions. Character Functions. I/O Functions. In-Memory Format Conversion Functions. String-to-Number Conversion. Dynamic Memory Allocation Functions. Math Functions. General Utility Functions.
Appendix C: Compiling Programs with gcc. General Command Format. Command-Line Options. Appendix D: Common Programming Mistakes. Appendix E: Resources. Answers to Exercises, Errata, etc. The C Programming Language. C Compilers and Integrated Development Environments.
Miscellaneous. Index.