Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
C A Software Engineering Approach
Taschenbuch von Philip E. Margolis (u. a.)
Sprache: Englisch

46,95 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

Lieferzeit 4-7 Werktage

Kategorien:
Beschreibung
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.
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.
Zusammenfassung
This highly readable text provides an introductory course on programming in C.The authors emphasize the importance of good programming practice and the use of sound software engineering principles to develop programs which are readable, maintainable, portable, and efficient. "Outstanding textbook for novice C users" Computer Book Reviews
Inhaltsverzeichnis
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.
Details
Erscheinungsjahr: 1996
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: xxviii
498 S.
191 s/w Illustr.
498 p. 191 illus.
ISBN-13: 9780387946757
ISBN-10: 0387946756
Sprache: Englisch
Ausstattung / Beilage: Paperback
Einband: Kartoniert / Broschiert
Autor: Margolis, Philip E.
Darnell, Peter A.
Auflage: 3rd ed. 1996
Hersteller: Springer New York
Springer US, New York, N.Y.
Maße: 254 x 178 x 29 mm
Von/Mit: Philip E. Margolis (u. a.)
Erscheinungsdatum: 29.05.1996
Gewicht: 0,982 kg
Artikel-ID: 102542667
Zusammenfassung
This highly readable text provides an introductory course on programming in C.The authors emphasize the importance of good programming practice and the use of sound software engineering principles to develop programs which are readable, maintainable, portable, and efficient. "Outstanding textbook for novice C users" Computer Book Reviews
Inhaltsverzeichnis
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.
Details
Erscheinungsjahr: 1996
Fachbereich: Programmiersprachen
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: xxviii
498 S.
191 s/w Illustr.
498 p. 191 illus.
ISBN-13: 9780387946757
ISBN-10: 0387946756
Sprache: Englisch
Ausstattung / Beilage: Paperback
Einband: Kartoniert / Broschiert
Autor: Margolis, Philip E.
Darnell, Peter A.
Auflage: 3rd ed. 1996
Hersteller: Springer New York
Springer US, New York, N.Y.
Maße: 254 x 178 x 29 mm
Von/Mit: Philip E. Margolis (u. a.)
Erscheinungsdatum: 29.05.1996
Gewicht: 0,982 kg
Artikel-ID: 102542667
Warnhinweis