Steve oualline practical c programming

504 923 0
Steve oualline   practical c programming

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đây là quyển sách tiếng anh về lĩnh vực công nghệ thông tin cho sinh viên và những ai có đam mê. Quyển sách này trình về lý thuyết ,phương pháp lập trình cho ngôn ngữ C và C++.

0 Practical C Programming, 3rd Edition By Steve Oualline 3rd Edition August 1997 ISBN: This new edition of "Practical C Programming" teaches users not only the mechanics or programming, but also how to create programs that are easy to read, maintain, and debug. It features more extensive examples and an introduction to graphical development environments. Programs conform to ANSI C. TEAM FLY PRESENTS 1-56592-306-5 1 Table of Contents 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 TEAM FLY PRESENTS 2 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 TEAM FLY PRESENTS 3 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 (&) TEAM FLY PRESENTS 4 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 TEAM FLY PRESENTS 5 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 TEAM FLY PRESENTS 6 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 TEAM FLY PRESENTS 7 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 TEAM FLY PRESENTS 8 Preface This book is devoted to practical C programming. C is currently the premier language for software developers. That's because it's widely distributed and standard. Newer languages are available, such as C++, but these are still evolving. C is still the language of choice for robust, portable programming. This book emphasizes the skills you will need to do real-world programming. It teaches you not only the mechanics of the C language, but the entire life cycle of a C program as well (including the program's conception, design, code, methods, debugging, release, documentation, maintenance, and revision). Good style is emphasized. To create a good program yo u must do more than just type in code. It is an art in which writing and programming skills blend themselves together to form a masterpiece. True art can be created. A well-written program not only functions correctly, but is simple and easy to understand. Comments allow the programmer to include descriptive text inside the program. When clearly written, a commented program is highly prized. A program should be as simple as possible. A programmer should avoid clever tricks. This book stresses simple, practical rules. For example, there are 15 operator precedence rules in C. These can be simplified into two rules: 1. Multiply and divide come before add and subtract. 2. Put parentheses around everything else. Consider two programs. One was written by a clever programmer using all the tricks. The program contains no comments, but it works. The other program is well commented and nicely structured, but it doesn't work. Which program is more useful? In the long run, the broken one. It can be fixed. Although the clever program works now, sooner or later all programs have to be modified. The worst thing that you will ever have to do is to modify a cleverly written program. This handbook is written for people with no previous programming experience or programmers who already know C and want to improve their style and reliability. You should have access to a computer and TEAM FLY PRESENTS 9 know how to use the basic functions such as a text editor and the filesystem. Specific instructions are given for producing and running programs using the UNIX operating system with a generic cc compiler or the Free Software Foundation's gcc compiler. For MS-DOS/Windows users, instructions are included for Borland C++, Turbo C++, and Microsoft Visual C++. (These compilers compile both C and C++ code.) The book also gives examples of using the programming utility make for automated program production. How This Book is Organized You must crawl before you walk. In Part I we teach you how to crawl. These chapters enable you to write very simple programs. We start with the mechanics of programming and programming style. Next, you learn how to use variables and very simple decision and control statements. In Chapter 7, we take you on a complete tour of the software life cycle to show you how real programs are created. Part II describes all of the other simple statements and operators that are used in programming. You'll also learn how to organize these statements into simple functions. In Part III we take our basic declarations and statements and learn how they can be used in the construction of advanced types such as structures, unions, and classes. We'll also introduce the concept of pointers. Finally, a number of miscellaneous features are described Part IV . Chapter by Chapter Chapter 1 gives a brief description of the C language and its use. This chapter includes some background on the history of the language. Chapter 2 explains the basic programming process and gives you enough information to write a very simple program. Chapter 3 discusses programming style. Commenting a program is covered, as well as writing clear and simple code. TEAM FLY PRESENTS [...]... compilers do contain a command-line compiler as well 2.3 Creating a Program Using a Command-Line Compiler In this section, we'll go through the step-by-step process needed to create a program using a command -line compiler Instructions are provided for a generic UNIX compiler (cc), the Free Software Foundation's gcc compiler, Turbo C+ +, Borland C+ +, and Microsoft Visual C+ +.[1] [1] Turbo C+ +, Borland C+ +,... features of GNU C that are incompatible with ANSI C The -pedantic switch causes the compiler to issue a warning for any non-ANSI feature it encounters 2.3.3.3 Borland's Turbo C+ + under MS-DOS Borland International makes a low -cost MS-DOS C+ + compiler called Turbo C+ + This compiler will compile both C and C+ + code We will describe only how to compile C code Turbo C+ + is ideal for learning The command line... offerings is a C compiler called gcc To compile a program using the gcc compiler use the following command line: % gcc -g -Wall -ohello hello .c The additional switch -Wall turns on the warnings The GNU compiler contains several extensions to the basic C language If you want to turn these features off, use the following command line: % gcc -g -Wall -ansi -pedantic -ohello hello .c The switch -ansi turns... will find a section called "Programming Exercises." These sections contain 11 TEAM FLY PRESENTS exercises that might be used in a programming class to test your knowledge of C programming Notes on the Third Edition The C language has evolved since the first edition of Practical C Programming was published Back then, ANSI compilers were rare and compilers that accepted the K& R syntax were common Now the... host here 230 Guest login ok, access restrictions apply ftp> cd /published/oreilly/nutshell /practical_ c3 250 CWD command successful ftp> binary 200 Type set to I ftp> get examples.tar.gz 200 PORT command successful 150 Opening BINARY mode data connection for examples.tar.gz (xxxx bytes) 226 Transfer complete local: exercises remote: exercises xxxx bytes received in xxx seconds (xxx Kbytes/s) ftp> quit... the necessary steps to create a simple program from specification through release Structured programming, fast prototyping, and debugging are also discussed Chapter 8 describes additional control statements Included are while, break, and continue The switch statement is discussed in detail Chapter 9 introduces local variables, functions, and parameters Chapter 10 describes the C preprocessor, which gives... full-featured, profe ssional compiler for MS-DOS/Windows called Borland C+ + Its command line is: C: > bcc -ml -v -N -P -w -ehello hello .c The command-line options are the same for both Turbo C+ + and Borland C+ + 2.3.3.5 Microsoft Visual C+ + Microsoft Visual C+ + is another C+ +/ compiler for MS-DOS/Windows To compile, C use the following command line: C: > cl /AL /Zi /W1 hello .c The /AL option tells the program... consider C+ + the better language because it does things automatically and C doesn't Other people consider C better for precisely the same reason Also, C+ + is a relatively new language that's still changing Much more C code exists than C+ + code, and that C code will need to be maintained and upgraded So C will be with us for a long time to come 20 TEAM FLY PRESENTS 1.1 How Programming Works Communicating... C+ +, and Microsoft Visual C+ + are all C+ + compilers that can also compile C code However, if you are using a Borland or Microsoft compiler, you might want to skip ahead to the section on using the IDE 2.3.1 Step 1 Create a Place for Your Program You can more easily manage things if you create a separate directory for each program that you're working on In this case, we'll create a directory called hello... reflects the industry shift to ANSI compilers All programs and examples have been updated to conform to the ANSI standard In fact, the older K&R syntax is discussed only in Chapter 19 Other changes/additions to the book include: • Additional instructions for more compilers including a generic UNIX compiler, the Free Software Foundations gcc compilers, Borland C+ +, Turbo C+ +, and Microsoft Visual C+ + . Practical C Programming, 3rd Edition By Steve Oualline 3rd Edition August 1997 ISBN: This new edition of " ;Practical C Programming& quot; teaches. Associates, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 1-8 0 0-9 9 8-9 938 (in US or Canada) 1-7 0 7-8 2 9-0 515 (international/local) 1-7 0 7-8 2 9-0 104

Ngày đăng: 19/03/2014, 14:14

Từ khóa liên quan

Mục lục

  • 1.pdf

  • 2.pdf

  • 3.pdf

  • 4.pdf

  • 5.pdf

  • 6.pdf

  • 7.pdf

  • 8.pdf

  • 9.pdf

  • 10.pdf

  • 11.pdf

  • 12.pdf

  • 13.pdf

  • 14.pdf

  • 15.pdf

  • 16.pdf

  • 17.pdf

  • 18.pdf

  • 19.pdf

  • 20.pdf

Tài liệu cùng người dùng

Tài liệu liên quan