Programming in C

NB: eBook is only available for a single-user licence (i.e. not for multiple / networked users).

This eBook can be read both online and offline via the Kortext website or App.

This is a Kortext title - click here to find out more


576 pages
23 OCT 2013


Appropriate for all introductory-to-intermediate courses on C programming, including courses covering C programming for games and small-device platforms. Programming in C, Third Edition is a thoroughly revised and updated edition of Steven Kochan's classic C programming tutorial: a book that has helped thousands of students master C over the past twenty years. This edition fully reflects the latest C standard and contains current source code. It has been crafted to help students master C regardless of the platform they intend to use or the applications they intend to create - including small-device and gaming applications, where C's elegance and speed make it especially valuable. Kochan begins with the fundamentals, then covers every facet of C programming: variables, data types, arithmetic expressions, program looping, making decisions, arrays, functions, structures, character strings, pointers, operations on bits, the preprocessors, I/O, and more. Coverage also includes chapters on working with larger programs; debugging programs; and the fundamentals of object-oriented programming. Appendices include a complete language summary, an introduction to the Standard C Library, coverage of compiling and running programs using gcc, common programming mistakes, and more.


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.