Preface.
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.
2. Introducing C.
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.
3. Data and C.
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.
4. Character Strings and Formatted Input/Output.
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.
5. Operators, Expressions and Statements.
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.
6. C Control Statements: Looping.
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.
7. C Control Statements: Branching and Jumps.
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.
8. Character Input/Output and Redirection.
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.
9. Functions.
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.
10. Arrays and Pointers.
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.
11. Character Strings and String Functions.
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.
12. Storage Classes, Linkage and Memory Management.
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.
13. File Input/Output.
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.
14. Structures and Other Data Forms.
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.
15. Bit Fiddling.
Binary Numbers. Bits, and Bytes. Other Bases. C's Bitwise
Operators. Bit Fields. Key Concepts. Summary. Review Questions.
Programming Exercises.
16. The C Preprocessor and the C Library.
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.
17. Advanced Data Representation.
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.
Appendix A: Reference Section.
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.
Appendix B: Answers to the Review Questions.
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++.
INDEX
The fourth edition presents the ANSI C standard beginning with a discussion of the fundamentals of C programming and then continues on to illustrate real-world C programming concepts and techniques. C Primer Plus, Fourth Edition contains hundreds of sample programs; challenging, sometimes humorous examples; hints and quizzes. Get the latest information on migrating from C to C++ and find out what has changed with the ratification of the new C ANSI/ISO standard, C99 (formerly, C9x). Learn the mechanics of C programming and how to create useful programs that help readers internalize the language.
Stephen Prata is a professor of physics and astronomy at the College of Marin in Kentfield, California, where, in addition to astronomy and physics, he teaches computer programming and discrete mathematics. He earned his Ph.D. at University of California, Berkeley. He began using computers to model star clusters. Professor Prata is a member of the American Astronomical Society and a former Fulbright Scholar. He has authored over a dozen books, including earlier editions of this book. Other titles published by this author include the C++ Primer Plus and Unix Primer Plus, also best-selling titles in their areas.
Ask a Question About this Product More... |