PRODUCT SUPPORT ANNOUNCEMENT
See the latest about COVID-19 shipping availability and video/Web Edition load errors. Learn more.
C Primer Plus is a conversational-style book aimed at those new to C programming. A friendly and easy-to-use self-study guide, this book will be appropriate for serious students of programming, as well as developers proficient in other languages with a desire to better understand the fundamentals of this core language.
As with all the editions, author Stephen Prata's aim has been to create an introduction to C that is instructive, clear, and helpful. Programming concepts are explained along with details of the C language; the book does not assume that you are a professional programmer. Many short, easily typed examples illustrate just one or two concepts at a time, since learning by doing is one of the most effective ways to master new information. Finally, review questions and programming exercises at the end of each chapter punctuate the most critical information and help readers digest the most difficult concepts. The text has been updated to accommodate the emergence of a new standard for C-C99.
1. Getting Ready.
Whence C? Why C? Whither C? High-Level Computer Languages and Compilers. Using C: Seven Steps. Programming Mechanics. Language Standards. Book Organization. Summary. Review Questions. Programming Exercise.
A Simple Sample of C. The Explanation. The Structure of a Simple Program. Tips on Making Your Programs Readable. Taking Another Step. While You're at It ... Multiple Functions. Debugging. Keywords and Reserved Identifiers. Key Concepts. Summary. Review Questions. Programming Exercises.
A Sample Program. Data Variables and Constants. Data: Data-Type Keywords. C Data Types. Using Data Types. Arguments and Pitfalls. One More Example. Key Concepts. Summary. Review Questions. Programming Exercises.
Introductory Program. Character Strings: An Introduction. Constants and the C Preprocessor. Exploring and Exploiting printf()and scanf(). Usage Tips. Key Concepts. Summary. Review Questions. Programming Exercises.
Introducing Loops. Fundamental Operators. Some Additional Operators. Expressions and Statements. Type Conversions. Function with Arguments. A Sample Program. Key Concepts. Summary. Review Questions. Programming Exercises.
An Initial Example. The while Statement. Which is Bigger: Using Relational Operators and Expressions. In Definite Loops and Counting Loops. The for Loop. More Assignment Operators. The Comma Operator. An Exit-Condition Loop: do while. Which Loop? Nested Loops. Arrays. A Loop Example Using a Function. Key Concepts. Summary. Review Questions. Programming Exercises.
The If Statement. Adding else to the If Statement. Let's Get Logical. A Word-Count Program. The Conditional Operator: ?. Loop Aids: continue and break. Multiple Choice: switch and break. The goto. Statement. Key Concepts. Summary. Review Questions. Programming Exercises.
Single-Character I/O: getchar() and the putchar(). Buffers. Terminating Keyboard Input. Redirection and Files. Creating a Friendlier User Interface. Input Validation. Menu Browsing. Key Concepts. Summary. Review Questions. Programming Exercises.
Reviewing Functions. ANSI C Function Prototyping. Recursion. All C Functions Are Created Equal. Compiling Programs. With Two or more Source Code Files. Finding Addresses: The & Operator. Altering Variables in the Calling Function. Pointers: A First Look. Key concepts. Summary. Review Questions. Programming Exercises.
Arrays. Multidimensional Arrays. Pointers and Arrays. Pointers and Arrays. Functions, Arrays, and Pointers. Pointer Operations. Protecting Array Contents. Pointers and Multidimensional Arrays. Variable-Length Arrays (VLAs). Compund Literals. Key Concepts. Summary. Review Questions. Programming Exercises.
Defining Strings Within a Program. Character String Arrays and Initialization. String Input. String Output. The Do-It-Yourself Option. String Functions. A String Example: Sorting Strings. The ctype.h Character Functions and Strings. Command-Line Arguments. String to Number Conversions. Key Concepts. Summary. Review Questions. Programming Exercises.
Storage Classes. A Random Number Function and a Static Variable. Roll'Em. ANSI C Type Qualifiers. New Places for Old Keywords. Key Concepts. Summary. Review Questions. Programming Exercises.
Communicating with Files. Standard I/O. A Simple-Minded File Condensing Program. File I/O: fprint(), fscan(), fgets(), and fputs(). Adventures in Random Access: fseek() and ftell(). Behind the Scenes with Standard I/O. Other Standard I/O Functions. Key Concepts. Summary. Review Questions. Programming Exercises.
Sample Problem: Creating an Inventory of Books. Setting Up the Structure Declaration. Defining a Structure Variable. Gaining Access to Structure Members. Arrays of Structures. Nested Structures. Pointers to Structures. Telling Functions About Structures. Saving the Structure Contents in a File. Structures: What Next? Unions: A Quick Look. Enumerated Types. Typedef: A Quick Look. Fancy Declarations. Functions and Pointers. Key Concepts. Summary. Review Questions. Programming Exercises.
Binary Numbers. Bits, and Bytes. Other Bases. C's Bitwise Operators. Bit Fields. Key Concepts. Summary. Review Questions. Programming Exercises.
First Steps. Manifest Constants: # define. Using Arguments with #define. Macro or Function? File Inclusion: #include. Other Directives. Inline Functions. The C Library. The Math Library. The General Utilities Library. The Assert Library. Memcpy() and memmove() from the string.h Library. Variable Arguments: stdarg.h. Key Concepts. Summary. Review Questions. Programming Exercises.
Exploring Data Representation. Beyond the Array to the Linked List. Abstract Data Types (ADTs). Getting Queued with an ADT. Simulating with a Queue. The lInked List Versus with Array. Binary Search Trees. Other Directions. Key Concepts. Summary. Review Questions. Programming Exercises.
Chapter 1. Chapter 2. Chapter 3. Chapter 4. Chapter 5. Chapter 6. Chapter 7. Chapter 8. Chapter 9. Chapter 10. Chapter 11. Chapter 12. Chapter 13. Chapter 14. Chapter 15. Chapter 16. Chapter 17.
Section I-Additional Reading. Section II-C Operators. Logical Operators. Sign Operators. Section III-Basic Types and Storage Classes. Summary: Qualifiers. Section IV-Expressions, Statements, and Program Flow. Section V-The Standard ANSI C Library with C99 Additions. Math Library: math.h. Variable Arguments: stdarg.h. Standard I/O Library: stdio.h. General Utilities: stdlib.h. Section VI-Extended Integer Types. Section VII-Expanded Character support. Section VIII-C99 Numeric Computatioal Enhancements. Section IX-Differences Between C and C++.