Margolis / Darnell | C A Software Engineering Approach | Buch | 978-0-387-94675-7 | sack.de

Buch, Englisch, 498 Seiten, Format (B × H): 178 mm x 254 mm, Gewicht: 2010 g

Margolis / Darnell

C A Software Engineering Approach


3rd Auflage 1996
ISBN: 978-0-387-94675-7
Verlag: Springer

Buch, Englisch, 498 Seiten, Format (B × H): 178 mm x 254 mm, Gewicht: 2010 g

ISBN: 978-0-387-94675-7
Verlag: Springer


to Software Engineering For 'tis the sport to have the engineer Hoist with his own petar. Shakespeare, Hamlet In the previous chapter, we introduced same basic information about pro­ gramming and programming languages, particularly C. If this were a book about building bridges, this first chapter might have been an introduction to the tools you would neeci-hammer, saw, drill, etc. Obviously there is a lot more to building a good bridge than simply knowing how to use the tools. Similarly, creating software products requires considerably more skill than simply wielding the programming tools. There is an entire discipline called software engineering that deals with designing, creating, testing, and maintaining large software products. In this chapter we introduce some key software engineering themes, many of which we will revisit through­ out the course of the book. 10 2: Introduction to Software Engineering 2.1 Introduction Though the cost of computer hardware-the silicon chips containing the millions of transistors that form the instruction set and memories-has shown a consistent trend downward over the years, the cost of software has not followed suit. The high cost of software is due largely (and para­ doxically) to the ease and flexibility with which it can be shaped.

Margolis / Darnell C A Software Engineering Approach jetzt bestellen!

Zielgruppe


Professional/practitioner

Weitere Infos & Material


1: Introduction to Programming.- 1.1 High-Level Programming Languages.- 1.2 History of C.- 1.3 ANSI and ISO Standards.- 1.4 Nature of C.- 2: Introduction to Software Engineering.- 2.1 Introduction.- 2.2 Stages of Software Production.- 2.3 Product Specification.- 2.4 Architectural Design.- 2.5 Project Planning.- 2.6 Detailed Design.- 2.7 Coding.- 2.8 Debugging.- 2.9 Testing.- 2.10 Maintenance.- 2.11 The Bridge Metaphor.- 3: C Essentials.- 3.1 Program Development.- 3.2 Functions.- 3.3 Variables and Constants.- 3.4 Names.- 3.5 Expressions.- 3.6 Formatting Source Files.- 3.7 The main() Function.- 3.8 The printf() Function.- 3.9 The scanf() Function.- 3.10 The Preprocessor.- 3.11 Exercises.- 4: Scalar Data Types.- 4.1 Declarations.- 4.2 Different Kinds of Integer Constants.- 4.3 Floating-Point Types.- 4.4 Scientific Notation.- 4.5 Initialization.- 4.6 Mixing Types.- 4.7 Explicit Conversions—Casts.- 4.8 Enumeration Types.- 4.9 The void Data Type.- 4.10 Typedefs.- 4.11 Finding the Address of an Object.- 4.12 Introduction to Pointers.- 4.13 Exercises.- 5: Control Flow.- 5.1 Conditional Branching.- 5.2 The switch Statement.- 5.3 Looping.- 5.4 Nested Loops.- 5.5 A Simple Calculator Program.- 5.6 The break and continue Statements.- 5.7 The goto Statement.- 5.8 Infinite Loops.- 5.9 Exercises.- 6: Operators and Expressions.- 6.1 Precedence and Associativity.- 6.2 Unary Plus and Minus Operators.- 6.3 Binary Arithmetic Operators.- 6.4 Arithmetic Assignment Operators.- 6.5 Increment and Decrement Operators.- 6.6 Comma Operator.- 6.7 Relational Operators.- 6.8 Logical Operators.- 6.9 Bit-Manipulation Operators.- 6.10 Bitwise Assignment Operators.- 6.11 Cast Operator.- 6.12 sizeof Operator.- 6.13 Conditional Operator (?:).- 6.14 Memory Operators.- 6.15 Exercises.- 7: Arrays andPointers.- 7.1 Declaring an Array.- 7.2 How Arrays Are Stored in Memory.- 7.3 Initializing Arrays.- 7.4 Example: Encryption and Decryption.- 7.5 Pointer Arithmetic.- 7.6 Passing Pointers as Function Arguments.- 7.7 Accessing Array Elements Through Pointers.- 7.8 Passing Arrays as Function Arguments.- 7.9 Sorting Algorithms.- 7.10 Strings.- 7.11 Multidimensional Arrays.- 7.12 Arrays of Pointers.- 7.13 Pointers to Pointers.- 7.14 Exercises.- 8: Storage Classes.- 8.1 Fixed vs. Automatic Duration.- 8.2 Scope.- 8.3 Global Variables.- 8.4 The register Specifier.- 8.5 The const Storage-Class Modifier.- 8.6 The volatile Storage-Class Modifier.- 8.7 Summary of Storage Classes.- 8.8 Dynamic Memory Allocation.- 8.9 Exercises.- 9: Structures and Unions.- 9.1 Structures.- 9.2 Linked Lists.- 9.3 Unions.- 9.4 enum Declarations.- 9.5 Exercises.- 10: Functions.- 10.1 Passing Arguments.- 10.2 Declarations and Calls.- 10.3 Pointers to Functions.- 10.4 Recursion.- 10.5 The main() Function.- 10.6 Complex Declarations.- 10.7 Exercises.- 11: The C Preprocessor.- 11.1 Macro Substitution.- 11.2 Conditional Compilation.- 11.3 Include Facility.- 11.4 Line Control.- 11.5 Exercises.- 12: Input and Output.- 12.1 Streams.- 12.2 Buffering.- 12.3 The Header File.- 12.4 Opening and Closing a File.- 12.5 Reading and Writing Data.- 12.6 Selecting an I/O Method.- 12.7 Unbuffered I/O.- 12.8 Random Access.- 12.9 Exercises.- 13: Software Engineering—A Case Study.- 13.1 Style Review.- 13.2 Product Specification.- 13.3 Architectural Design.- 13.4 Project Planning.- 13.5 Detailed Design.- 13.6 Software Tools for Software Production.- 13.7 Documentation.- 13.8 Exercises.- Appendices.- A: The ANSI Runtime Library.- A.1 Function Names.- A.2 Header Files.- A.3 Synopses.- A.4 Functions vs. Macros.- A.5 ErrorHandling.- A.6 Diagnostics.- A.7 Character Handling.- A.8 Setting Locale Parameters.- A.9 Mathematics.- A.10 Nonlocal Jumps.- A.11 Signal Handling.- A.12 Variable Argument Lists.- A.13 I/O Functions.- A.14 General Utilities.- A.15 String-Handling Functions.- A.16 Multibyte Character Functions.- A.17 Date and Time Functions.- B: Implementation Limits.- B.1 Translation Limits.- B.2 Numerical Limits.- C: Differences Between the ANSI and K&R Standards.- C.1 Source Translation Differences.- C.2 Data Type Differences.- C.3 Statement Differences.- C.4 Expression Differences.- C.5 Storage Class and Initialization Differences.- C.6 Preprocessor Differences.- D: Reserved Names.- E: ASCII Codes.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.