Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
About This eBook
Title Page
Copyright Page
Developer’s Library
Contents at a Glance
Table of Contents
Dedication
About the Author
Acknowledgments
We Want to Hear from You!
Reader Services
Preface
Approach and Goals
1. Getting Ready
Whence C?
Why C?
Whither C?
What Computers Do
High-level Computer Languages and Compilers
Language Standards
Using C: Seven Steps
Programming Mechanics
How This Book Is Organized
Conventions Used in This Book
Summary
Review Questions
Programming Exercise
2. Introducing C
A Simple Example of C
The Example Explained
The Structure of a Simple Program
Tips on Making Your Programs Readable
Taking Another Step in Using C
While You’re at It—Multiple Functions
Introducing 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
Basic C Data Types
Using Data Types
Arguments and Pitfalls
One More Example: Escape Sequences
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()
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
Revisiting the while Loop
The while Statement
Which Is Bigger: Using Relational Operators and Expressions
Indefinite Loops and Counting Loops
The for Loop
More Assignment Operators: +=, -=, *=, /=, %=
The Comma Operator
An Exit-Condition Loop: do while
Which Loop?
Nested Loops
Introducing Arrays
A Loop Example Using a Function Return Value
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 Input Validation
Single-Character I/O: getchar() and 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
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
Functions, Arrays, and Pointers
Pointer Operations
Protecting Array Contents
Pointers and Multidimensional Arrays
Variable-Length Arrays (VLAs)
Compound Literals
Key Concepts
Summary
Review Questions
Programming Exercises
11. Character Strings and String Functions
Representing Strings and String I/O
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
Allocated Memory: malloc() and free()
ANSI C Type Qualifiers
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: fprintf(), fscanf(), 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
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 Number Bases
C’s Bitwise Operators
Bit Fields
Alignment Features (C11)
Key Concepts
Summary
Review Questions
Programming Exercises
16. The C Preprocessor and the C Library
First Steps in Translating a Program
Manifest Constants: #define
Using Arguments with #define
Macro or Function?
File Inclusion: #include
Other Directives
Inline Functions (C99)
_Noreturn Functions (C11)
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 the Array
Binary Search Trees
Other Directions
Key Concepts
Summary
Review Questions
Programming Exercises
Appendixes
A. Answers to the Review Questions
Answers to Review Questions for Chapter 1
Answers to Review Questions for Chapter 2
Answers to Review Questions for Chapter 3
Answers to Review Questions for Chapter 4
Answers to Review Questions for Chapter 5
Answers to Review Questions for Chapter 6
Answers to Review Questions for Chapter 7
Answers to Review Questions for Chapter 8
Answers to Review Questions for Chapter 9
Answers to Review Questions for Chapter 10
Answers to Review Questions for Chapter 11
Answers to Review Questions for Chapter 12
Answers to Review Questions for Chapter 13
Answers to Review Questions for Chapter 14
Answers to Review Questions for Chapter 15
Answers to Review Questions for Chapter 16
Answers to Review Questions for Chapter 17
B. Reference Section
Section I: Additional Reading
Section II: C Operators
Section III: Basic Types and Storage Classes
Section IV: Expressions, Statements, and Program Flow
Section V: The Standard ANSI C Library with C99 and C11 Additions
Section VI: Extended Integer Types
Section VII: Expanded Character Support
Section VIII: C99/C11 Numeric Computational Enhancements
Section IX: Differences Between C and C++
Index
← Prev
Back
Next →
← Prev
Back
Next →