About the Book
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.
Related
Books
Primer Plus Books (Primer
Plus Books)
Table of Contents
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.
Appendix B: Answers to the Review
Questions.
INDEX |