There are lots of introductory C books, but this is the first one
that has the no-nonsense, practical approach that has made Nutshell
C programming is more than just getting the syntax right. Style and
debugging also play a tremendous part in creating programs that run
well and are easy to maintain. This book teaches you not only the
mechanics of programming, but also describes how to create programs
that are easy to read, debug, and update.
Practical rules are stressed. For example, there are fifteen
precedence rules in C (&& comes before comes before ?:).
The practical programmer reduces these to two:
* Multiplication and division come before addition and
Contrary to popular belief, most programmers do not spend most of
their time creating code. Most of their time is spent modifying
someone else's code. This books shows you how to avoid the
all-too-common obfuscated uses of C (and also to recognize these
uses when you encounter them in existing programs) and thereby to
leave code that the programmer responsible for maintenance does not
have to struggle with. Electronic Archaeology, the art of going
through someone else's code, is described.
This third edition introduces popular Integrated Development
Environments on Windows systems, as well as UNIX programming
utilities, and features a large statistics-generating program to
pull together the concepts and features in the language.
Steve Oualline lives in Southern California, where he works as a software engineer for a major phone company. In his free time he is a real engineer on the Poway Midland Railroad. Steve has written almost a dozen books on programming and Linux software. His web site is http://www.oualline.com
Preface. How This Book is Organized. Chapter by Chapter. Notes on the Third Edition. Font Conventions. Obtaining Source Code. Comments and Questions. Acknowledgments. Acknowledgments to the Third Edition. I. Basics 1. What Is C? How Programming Works Brief History of C How C Works How to Learn C. 2. Basics of Program Writing Programs from Conception to Execution Creating a Real Program Creating a Program Using a Command-Line Compiler Creating a Program Using an Integrated Development Environment Getting Help on UNIX Getting Help in an Integrated Development Environment IDE Cookbooks Programming Exercises. 3. Style Common Coding Practices Coding Religion Indentation and Code Format Clarity Simplicity Summary. 4. Basic Declarations and Expressions Elements of a Program Basic Program Structure Simple Expressions Variables and Storage Variable Declarations Integers Assignment Statements printf Function Floating Point Floating Point Versus Integer Divide Characters Answers Programming Exercises. 5. Arrays, Qualifiers, and Reading Numbers Arrays Strings Reading Strings Multidimensional Arrays Reading Numbers Initializing Variables Types of Integers Types of Floats Constant Declarations Hexadecimal and Octal Constants Operators for Performing Shortcuts Side Effects ++x or x++ More Side-Effect Problems Answers Programming Exercises. 6. Decision and Control Statements if Statement else Statement How Not to Use strcmp Looping Statements while Statement break Statement continue Statement Assignment Anywhere Side Effect Answer Programming Exercises. 7. Programming Process Setting Up Specification Code Design Prototype Makefile Testing Debugging Maintenance Revisions Electronic Archaeology Marking Up the Program Using the Debugger Text Editor as a Browser Add Comments Programming Exercises. II. Simple Programming. 8. More Control Statements for Statement switch Statement switch, break, and continue Answers Programming Exercises. 9. Variable Scope and Functions Scope and Class Functions Functions with No Parameters Structured Programming Recursion Answers Programming Exercises. 10. C Preprocessor define Statement Conditional Compilation include Files Parameterized Macros Advanced Features Summary Answers Programming Exercises. 11. Bit Operations Bit Operators The and Operator (&) Bitwise or () The Bitwise Exclusive or (^) The Ones Complement Operator (Not) (~) The Left- and Right-Shift Operators (<<, >>) Setting, Clearing, and Testing Bits Bitmapped Graphics Answers Programming Exercises. 12. Advanced Types Structures Unions typedef enum Type Casting Bit Fields or Packed Structures Arrays of Structures Summary Programming Exercises. 13. Simple Pointers Pointers as Function Arguments const Pointers Pointers and Arrays How Not to Use Pointers Using Pointers to Split a String Pointers and Structures Command-Line Arguments Programming Exercises Answers. 14. File Input/Output Conversion Routines Binary and ASCII Files The End-of-Line Puzzle Binary I/O Buffering Problems Unbuffered I/O Designing File Formats Answers Programming Exercises. 15. Debugging and Optimization Debugging Interactive Debuggers Debugging a Binary Search Runtime Errors The Confessional Method of Debugging Optimization Answers Programming Exercises. 16. Floating Point Floating-Point Format Floating Addition/Subtraction Multiplication Division Overflow and Underflow Roundoff Error Accuracy Minimizing Roundoff Error Determining Accuracy Precision and Speed Power Series Programming Exercises. III. Advanced Programming Concepts 17. Advanced Pointers Pointers and Structures free Function Linked List Structure Pointer Operator Ordered Linked Lists Double-Linked Lists Trees Printing a Tree Rest of Program Data Structures for a Chess Program Answers Programming Exercises. 18. Modular Programming Modules Public and Private The extern Modifier Headers The Body of the Module A Program to Use Infinite Arrays The Makefile for Multiple Files Using the Infinite Array Dividing a Task into Modules Module Division Example: Text Editor Compiler Spreadsheet Module Design Guidelines Programming Exercises. 19. Ancient Compilers K&R-Style Functions Library Changes Missing Features Free/Malloc Changes lint Answers. 20. Portability Problems Modularity Word Size Byte Order Problem Alignment Problem NULL Pointer Problem Filename Problems File Types Summary Answers. 21. C's Dustier Corners do/while goto The ?: Construct The , Operator volatile Qualifier Answer. 22. Putting It All Together Requirements Specification Code Design Coding Functional Description Expandability Testing Revisions A Final Warning Program Files Programming Exercises. 23. Programming Adages General Design Declarations switch Statement Preprocessor Style Compiling Final Note Answer IV. Other Language Features A. ASCII Table B. Ranges and Parameter Passing Conversions C. Operator Precedence Rules D. A Program to Compute a Sine Using a Power Series Glossary Index
Ein Marktplatz-Angebot für "Practical C Programming" für EUR 27,55
gebraucht; wie neu
PayPal, Banküberweisung, Selbstabholung und Barzahlung