C Program Design for Engineers (2nd Edition)
This book presents introductory programming and software development concepts to engineers using a disciplined approach. It provides numerous case studies and programming projects based on real-world examples from a wide range of engineering areas, making the material relevant to what engineers will encounter in their careers; the authors introduce implementations of basic numerical and statistical methods commonly used by engineers. Another feature is the addition of a chapter entitled "On to C++" that prepares readers for a transition to object-oriented programming.  The book focuses on many aspects of software engineering, establishing early the connection between good problem-solving skills and effective software development. A five-phase software development method is presented in Chapter 1 and applied in every subsequent case study throughout. The book presents material in an order that meets the needs of a beginning programmer, rather than by the structure of the C programming language. This approach makes it possible to present fundamental concepts using traditional high-level terminology--output parameter, array, array subscript, string--and makes it easier for readers without a prior assembly-language background to master the many facets of pointer usage.  This book is designed to introduce C programming to engineers in a way that is relevant to their engineering practice.