TY - BOOK AU - Hanly,Jeri R. AU - Koffman,Elliot B. TI - C program design for engineers SN - 020170871X (pbk.) U1 - 005.133 21 PY - 2001/// CY - Reading, MA PB - Addison-Wesley Longman KW - C (Computer program language) KW - Engineering KW - Data processing N1 - 1. Overview of Computers and Software 1 -- 1.1 Computer Components 3 -- 1.2 Computer Software 11 -- 1.3 Computing for Engineers 18 -- 1.4 Software Development Method 19 -- 1.5 Applying the Software Development Method 21 -- Case Study: Converting Miles to Kilometers 22 -- 2. Overview of C 27 -- 2.1 C Language Elements 28 -- 2.2 Variable Declarations and Data Types 35 -- 2.3 Executable Statements 38 -- 2.4 General Form of a C Program 47 -- Case Study: Finding the Area and Circumference of a Metal Disc 50 -- 2.5 Formatting Numbers in Program Output 54 -- 2.6 Interactive Mode, Batch Mode, and Data Files 56 -- 2.7 Common Programming Errors 61 -- 3. Data Types, Operators, and Simple Functions 73 -- 3.1 Representation of Data Types 74 -- 3.2 Arithmetic Expressions 77 -- 3.3 Extending a Problem Solution 89 -- Case Study: Quality Control in Manufacturing Flat Washers 89 -- 3.4 Functions Implementing Additional Operators 94 -- 3.5 Simple User-Defined Functions 100 -- 3.6 Common Programming Errors 106 -- 4. Selection Structures: if and Switch Statements 113 -- 4.1 Control Structures 114 -- 4.2 Conditions 114 -- 4.3 If Statement 125 -- 4.4 If Statements with Compound Statements 129 -- 4.5 Nested if Statements and Multiple-Alternative Decisions 132 -- 4.6 Decision Steps in Algorithms 142 -- Case Study: Computing Compass Bearings 142 -- 4.7 Switch Statement 146 -- 4.8 Common Programming Errors 152 -- 5. Repetition and Loop Statements 163 -- 5.1 Repetition in Programs: Using Loops to Solve Problems 164 -- 5.2 Counting Loops and the while Statement 166 -- 5.3 Computing a Sum or a Product in a Loop 171 -- 5.4 For Statement 177 -- 5.5 Conditional Loops 186 -- 5.6 Loop Design 191 -- 5.7 Nested Control Structures 198 -- 5.8 Do-while Statement and Flag-Controlled Loops 204 -- 5.9 Problem Solving Illustrated 212 -- Case Study: Computing Radiation Levels 212 -- 5.10 How to Debug and Test Programs 215 -- 5.11 Common Programming Errors 219 -- 6. Modular Programming 233 -- 6.1 Functions with Input Arguments 235 -- 6.2 Problem Solving with Top-Down Design 249 -- Case Study: Finding Prime Numbers 249 -- 6.3 Function Output Parameters Implemented with Pointers 255 -- 6.4 Introduction to Scope of Names 265 -- 6.5 Formal Output Parameters as Actual Arguments 267 -- 6.6 Recursive Functions 271 -- Case Study: Bisection Method for Finding Roots 280 -- 6.7 Top-Down Design Illustrated 284 -- Case Study: Performing Arithmetic Operations on Common Fractions 284 -- 6.8 Debugging and Testing a Program System 293 -- 6.9 Common Programming Errors 295 -- 7. Arrays 305 -- 7.1 Declaring and Referencing Arrays 306 -- 7.2 Array Subscripts 309 -- 7.3 Using for Loops for Sequential Access 311 -- 7.4 Using Array Elements as Function Arguments 316 -- 7.5 Array Arguments 318 -- 7.6 Using Character Arrays as Strings 331 -- 7.7 Array Processing Illustrated 342 -- Case Study: Finding Palindromes in Nucleotide Sequences 342 -- 7.8 Dynamic Allocation of Arrays 346 -- 7.9 Common Programming Errors 350 -- 8. Multidimensional Arrays 361 -- 8.1 Declaring and Referencing Multidimensional Arrays 362 -- 8.2 Modeling with Two-Dimensional Arrays 367 -- Case Study: Cellular Telephone System 367 -- 8.3 Vectors and Matrices 376 -- 8.4 Solving Systems of Linear Equations 383 -- 8.5 Common Programming Errors 393 -- 9. Structure Types 405 -- 9.1 User-Defined Structure Types 406 -- 9.2 Structure Type Data as Input and Output Parameters 411 -- 9.3 Functions Whose Result Values Are Structured 417 -- 9.4 Problem Solving with Structure Types 420 -- Case Study: A User-Defined Type for Complex Numbers 421 -- 9.5 Parallel Arrays and Arrays of Structures 428 -- Case Study: Universal Measurement Conversion 430 -- 9.6 Common Programming Errors 439 -- 10. Text and Binary File Processing 449 -- 10.1 Input/Output Files: Review and Further Study 450 -- 10.2 Binary Files 460 -- 10.3 Searching a Database 466 -- Case Study: Metals Database Inquiry 467 -- 10.4 Common Programming Errors 475 -- 11. Programming in the Large 483 -- 11.1 Using Abstraction to Manage Complexity 484 -- 11.2 Personal Libraries: Header Files 487 -- 11.3 Personal Libraries: Implementation Files 491 -- 11.4 Storage Classes 494 -- 11.5 Modifying Functions for Inclusion in a Library 499 -- 11.6 Conditional Compilation 502 -- 11.7 Arguments to Function main 506 -- 11.8 Defining Macros with Parameters 509 -- 11.9 Common Programming Errors 514 -- 12. Introduction to Numerical Methods 525 -- 12.1 Finding Roots of Equations 526 -- 12.2 Fundamental Statistics 535 -- 12.3 Numerical Differentiation 543 -- 12.4 Numerical Integration 549 -- 12.5 Solving First-Order Differential Equations 556 -- 12.6 Commercial Numerical Methods Software 563 -- 12.7 Common Programming Errors 565 -- 13. On to C++ 577 -- 13.1 C++ Control Structures, Input/Output, and Functions 578 -- 13.2 C++ Support for Object-Oriented Programming 585 -- A Character Sets 605 -- B ANSI C Standard Libraries 609 -- C C Operators 629 -- D C Numeric Types 635 -- E Enumerated Types 637 -- F Pointer Arithmetic 639 -- G Dynamic Allocation of Two-Dimensional Arrays 641 -- H ANSI C Reserved Words 645 ER -