
Practical C Programming
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Practical C Programming, 3rd Edition
- SPECIAL OFFER: Upgrade this ebook with O'Reilly
- A Note Regarding Supplemental Files
- Preface
- How This Book is Organized
- Chapter by Chapter
- Notes on the Third Edition
- Font Conventions
- Obtaining Source Code
- FTP
- FTPMAIL
- 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
- Wrappers
- Creating a Real Program
- Creating a Program Using a Command-Line Compiler
- Step 1. Create a Place for Your Program
- Step 2. Create the Program
- Step 3. Run the Compiler
- UNIX cc compiler (generic UNIX)
- Free Software Foundation's gcc compiler
- Borland's Turbo C++ under MS-DOS
- Borland C++ under MS-DOS and Windows
- Microsoft Visual C++
- Step 4. Execute the Program
- Creating a Program Using an Integrated Development Environment
- Step 1. Create a Place for Your Program
- Step 2. Enter, Compile, and Run Your Program Using the IDE
- Turbo C++
- Borland C++
- Microsoft Visual C++
- Getting Help on UNIX
- Getting Help in an Integrated Development Environment
- IDE Cookbooks
- Turbo C++
- Borland C++
- Microsoft Visual C++
- 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
- Generic UNIX
- UNIX with the Free Software Foundation's gcc Compiler
- Borland C++
- Turbo C++
- Visual C++
- 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
- #define vs. const
- 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 (&&, &&)
- Right-Shift Details
- 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
- Divide and Conquer
- Debug-Only Code
- Debug Command-Line Switch
- Going Through the Output
- Interactive Debuggers
- Debugging a Binary Search
- Runtime Errors
- The Confessional Method of Debugging
- Optimization
- The Power of Powers of 2
- How to Optimize
- 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
- Makefile for UNIX Generic C
- Makefile for Free Software Foundation's gcc
- Makefile for Turbo C++
- Makefile for Borland C++
- Makefile for Microsoft Visual C++
- Dividing a Task into Modules
- Module Division Example: Text Editor
- Compiler
- Spreadsheet
- Module Design Guidelines
- Programming Exercises
- 19. Ancient Compilers
- K&R-Style Functions
- Function Prototypes
- 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
- Token Module
- Input Module
- How not to design an input module
- A better input module
- Character Type Module
- Statistics Submodules
- Coding
- Functional Description
- ch_type Module
- in_file Module
- token Module
- Line Counter Submodule (lc)
- Brace Counter Submodule (bc)
- Parentheses Counter Submodule (pc)
- Comment Counter Submodule (cc)
- do_file Procedure
- Expandability
- Testing
- Revisions
- A Final Warning
- Program Files
- The in_file.h File
- The in_file.c File
- The ch_type.h File
- The ch_type.c File
- The token.h File
- The token.c File
- The stat.c File
- UNIX Makefile for CC (Generic Unix)
- UNIX Makefile for gcc
- Turbo C++ Makefile
- Borland C++ Makefile
- Microsoft Visual C++ Makefile
- 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
- Ranges
- Automatic Type Conversions to Use When Passing Parameters
- C. Operator Precedence Rules
- Standard Rules
- Practical Subset
- D. A Program to Compute a Sine Using a Power Series
- The sine.c Program
- Glossary
- Index
- About the Author
- Colophon
- SPECIAL OFFER: Upgrade this ebook with O'Reilly
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.