This innovative text provides beginning programmers with a concise, accessible introduction to the world of C. Assuming no prior programming experience, the author presents a carefully chosen subset of C powerful enough for solving non-trivial programming problems, yet simple enough so that a novice can steer clear of the pitfalls. Unsurpassed in motivating students' critical thinking and active learning, C For Yourself features computer experiments which serve to clarify presented concepts and to guide readers into making discoveries on their own. Readers are directed in learning many of the subtleties and intricacies of C through hands-on examples. Each section contains interesting pencil and paper exercises to reinforce new knowledge, and programming problems further enlighten students. Chapters cover all the basics of this increasingly important subject, from pointers and arrays to structures, files, and recursion. The author's clear and highly accessible writing style
make this text ideal for beginning students and novice programming enthusiasts. A comprehensive instructor's manual including problem solutions and transparency masters also accompanies the text.
Preface
Chapter 1: The Basics
1.1. Identifiers
1.2. Symbolic Constants
1.3. Variables
1.4. Data Types
1.5. Operators
1.6. Expressions
1.7. Statements
1.8. Program Execution
Chapter 2: Statements: Part I
2.1. Output
2.2. Assignment
2.3. Input
Chapter 3: Statements: Part II
3.1. Selection
3.2. Repetition
Chapter 4: Functions
4.1. Functions: The Basics
4.2. Functions: Input and Output
4.3. Scope
Chapter 5: A Brief Introduction to Pointers
5.1. The Pointer Concept
5.2. Declaration and Assignment of Pointers
5.3. Passing Pointers to Functions
Chapter 6: Arrays
6.1. One Dimensional Arrays
6.2. Arrays and Pointers
6.3. Two Dimensional Arrays
6.4. Strings
Chapter 7: Structs and Linked Lists
7.1. Structs
7.2. Dynamic Memory Allocation
7.3. Linked Lists
Chapter 8: Files
8.1. File Buffers
8.2. File Commands
Chapter 9: Recursion
Chapter 10: Optional Extras
10.1. Additional Data Types
10.2. Shorthand Operator Notation
10.3. Macros
10.4. Compilation Schemes
10.5. Two Unusual Operations
10.6. Passing Parameters to main
10.7. Variable Length Parameter Lists
Appendix A: Discussion of Experiments
Appendix B: Notes on Some Library Functions
Appendix C: Keywords and Symbols
Appendix D: ASCII Code
Appendix E: Precedence Rules
Richard P. HalpernChair, Department of Physics, State University of New York at New Paltz
"Ideal for my introduction to C class because it provides students with a precise and easy understanding of C. My students want to learn C in a simple and straightforward way, and this book provides them with that opportunity."--Art Onwan, University of North Dakota