C How to Program (3rd Edition)

3.96 avg rating
( 282 ratings by Goodreads )
9780130895721: C How to Program (3rd Edition)
View all copies of this ISBN edition:

For CS1 and other courses covering programming in C. Also appropriate as a supplement for upper-level courses where the instructor uses a book as a reference to the C language. This comprehensive text is aimed at readers with little or no programming experience. Highly practical in approach, it introduces fundamental notions of structured programming and software engineering and gets up to speed quickly. The book covers not only the full C language, but includes a review of library functions and a solid introduction to C++, Java, and object-oriented programming.

"synopsis" may belong to another edition of this title.

From the Inside Flap:


Welcome to ANSI/ISO Standard C, and to C++ and Java™, too! This book is by an old guy and a young guy. The old guy (HMD; Massachusetts Institute of Technology 1967) has been programming and/or teaching programming for 39 years. The young guy (PJD; MIT 1991) has been programming for 18 years and has .caught the teaching and writing "bug." The old guy programs and teaches from experience; the young guy does so from an inexhaustible reserve of energy. The old guy wants clarity; the young guy wants performance. The old guy appreciates elegance and beauty; the young guy wants results. We got together to produce a book we hope you will find informative, interesting and entertaining. Why We Wrote C How to Program:

In most educational environments, C is taught to people who know how to program. Many educators believe that the complexity of C, and a number of other difficulties, make C unworthy for a first programming course—precisely the target course for this book. So why did we write this text?

Dr. Harvey M. Deitel taught introductory programming courses in college environments for two decades with an emphasis on developing clearly written, well-structured programs. Much of what is taught in these courses is the basic principles of structured programming, with an emphasis on the effective use of control structures and functionalization. We have presented this material exactly the way HMD has done in his college courses. Students are highly motivated by the fact that they are learning a language that will be immediately useful to them as they leave the university environment.

Our goal was clear: Produce a C programming textbook for introductory university-level courses in computer programming for students with little or no programming experience, yet offer the deep and rigorous treatment of theory and practice demanded by traditional C courses. To meet these goals, we produced a book larger than other C texts—this because our text also patiently teaches structured programming principles. Hundreds of thousands of students worldwide learned C from the earlier editions of this book.

The book contains a rich collection of examples, exercises and projects drawn from many fields to provide the student with a chance to solve interesting real-world problems. The book also concentrates on the principles of good software engineering and stresses program clarity through use of the structured programming methodology. We teach by example. C How to Program: Third Edition

The material from C How to Program: Third Edition has been meticulously reviewed by many industry and academic experts, including the head of the ANSI C committee. We have considerably polished the material from the second edition, especially the chapter on pointers.

In the second edition of C How to Program, we included a seven-chapter introduction to C++ and Object-Oriented Programming. In the interim, many universities have decided to incorporate an introduction to C++ and Object-Oriented Programming into their C courses. So in this edition, we have expanded our C++ treatment to nine chapters—sufficient text, exercises and laboratories for a one-semester course. We have also added seven chapters on object-oriented programming with Java, including discussions of graphics programming, graphical user interface (GUI) with Java Swing components and multimedia programming.

In 1999, the International Standards Organization approved anew version of C, known as C99; but as of this writing, no C99 compilers were available. Therefore, we were not able to make our code examples compatible with C99. When C99 compilers become available, we will test every program in the textbook and list any discrepancies on our Web site (deitel). We will also post code examples with explanations of the new C99 features on that Web site. Appendix B contains a comprehensive list of C99 resources on the Internet and World Wide Web. For more information on C99—and to purchase a copy of the standards document (ISO/IEC 9899:1999)—visit the Web site of the American National Standards Institute (ANSI), (ansi).

C How to Program: Third Edition Ancillary Package
We have worked hard to produce a textbook and ancillaries that we hope you and your students will find valuable. We would like to thank Borland for providing the products included on the CD-ROM in the back of this textbook; these products enable the reader to compile and run programs in C, C++ and Java. The following ancillary resources are available:

C How to Program: Third Edition's 270 program examples are included on the CD-ROM in the back of the textbook and are also available for download at deitel. This helps instructors prepare lectures faster and helps students master C. When extracting the source code from the ZIP file, you must use a ZIP-file reader such as WinZip (winzip) or PKZIP (pkware) that understands directories. The file should be extracted into a separate directory (e.g., chtp3e_examples). Students should compile and execute each program they study in the text.

A full version of Borland C++ Compiler 5.5 is provided on the textbook's CDROM. This software allows students to edit, compile and debug C and C++ programs from the command line. A 60-day trial version of Borland C++Builder 5 is also included; this product provides a complete integrated C/C++ development environment. A trial version of JBuiLder 3.5 is provided on the textbook's CD-ROM. This software enables students to edit, compile and debug Java programs in an integrated development environment. The Instructor's Manual CD contains answers to most of the exercises in the textbook. The programs are separated into directories by chapter and exercise number. NOTE: Please do not write to us requesting the instructor's CD. Distribution of this CD is limited strictly to college professors teaching from the book. Instructors may obtain the solutions manual only from their Prentice Hall representatives. Companion Web Site (prenhall/deitel) provides instructor and student resources. Instructor resources include textbook appendices (e.g., Appendix A, "Internet and World Wide Web Resources") and a syllabus manager for lesson planning. Student resources include chapter objectives, true/false review questions with answers, chapter highlights, reference materials and a message board. Customizable PowerPoint® Instructor Lecture Notes, including source code and key discussion points for each program and major illustration. These lecture notes are available for instructors and students at no charge at our deitel Web site. Although instructors may modify these notes and use them in class presentations, please be aware that these notes are copyrighted by Prentice Hall and may not be used without the express written permission of Prentice Hall. About this Book

C How to Program contains a rich collection of examples, exercises and projects drawn from many fields to provide the student with a chance to solve interesting real-world problems. The book concentrates on the principles of good software engineering and stresses program clarity. We teach by example.

This book is written by educators who spend most of their time teaching and writing about edge-of-the-practice programming languages. The text places a strong emphasis on pedagogy. For example, virtually every new concept of either C, C++ or Java is presented in the context of a complete, working program immediately followed by a window showing the program's inputs and outputs. Reading these programs is much like entering and running them on a computer. We call this our "live-code approach."

Among the other pedagogical devices in the text are a set of Objectives and an Outline at the beginning of every chapter; Common Programming Errors, Good Programming Practices, Performance Tips, Portability Tips, Software Engineering Observations and Testing and Debugging Tips enumerated in, and summarized at, the end of each chapter; comprehensive bullet-list-style Summary and alphabetized Terminology sections in each chapter; Self-Review Exercises and Answers in each chapter; and the richest collection of Exercises in any C book.

The exercises range from simple recall questions to lengthy programming problems to major projects. Instructors requiring substantial term projects will find many appropriate problems listed in the exercises, especially in the later chapters. We have put a great deal of effort into the exercises to enhance the value of this course for the student.

In writing this book, we have used a variety of C compilers. For the most part, the programs in the text will work on all ANSI/ISO C compiler, including the Borland C++ compiler included with this book.

The C material (Chapters 2-14) follows the ANSI C standard published in 1990. Many features of ANSI C will not work with pre-ANSI C versions and may not work with ISO C99 compilers, when they become available. See the reference manuals for your particular system for more details about the language, or obtain a copy of ANSI/ISO 9899: 1990, "American National Standard for Information Systems—Programming Language C," from the American National Standards Institute, 11 West 42nd Street, New York, New York 10036.

The C++ material is based on the C++ programming language as developed by Accredited Standards Committee X3, Information Technology and its Technical Committee X3J16, Programming Language C++, respectively. The C and C++ languages were approved by the International Standards Organization (ISO). For further details, contact:

X3 Secretariat
1250 Eye Street NW
Washington DC 20005

The serious programmer should read these documents carefully and reference them regularly. These documents are not tutorials. Rather they define their respective languages with the extraordinary level of precision that compiler implementors and "heavy-duty" developers demand.

The Java chapters are based on Sun Microsystems most recent Java release-the Java 2 Platform. Sun provides an implementation of the Java 2 Platform called the Java 2 Software Development Kit (J2SDK), version 1.3 that includes the minimum set of tools you need to write software in Java. For further details on the latest implementation of Java, visit (java.sun).

We have carefully audited our presentation against these documents and documentation. Our book is intended to be used at the introductory and intermediate levels. We have not attempted to cover every feature discussed in these comprehensive documents.

Each chapter begins with a statement of objectives. This tells the student what to expect and gives the student an opportunity, after reading the chapter, to determine if he or she has met these objectives. It is a confidence builder and a source of positive reinforcement.

The learning objectives are followed by a series of quotations. Some are humorous, some are philosophical and some offer interesting insights. Our students enjoy relating the quotations to the chapter material. You may appreciate some of the quotations more after reading the chapters.

The chapter outline helps the student approach the material in top-down fashion. This, too, helps students anticipate what is to come and set a comfortable and effective learning pace.

Each chapter is organized into small sections that address key C, C++ or Java topics.

12,187 Lines of Syntax-Highlighted Code in 270 Example Programs
(with Program Outputs)
We present C, C++ and Java features in the context of complete, working programs; each program is immediately followed by a window containing the outputs produced when the program is run—we call this our "live-code approach." This enables the student to confirm that the programs run as expected. Relating outputs back to the program statements that produce those outputs is an excellent way to learn and to reinforce concepts. Our programs exercise the diverse features of C, C++ and Java. Reading the book carefully is much like entering and running these programs on a computer. The code is "syntax highlighted" with keywords appearing in the second color of the book, comments appearing in a lighter shade of that color and the rest of each program appearing in black. This makes it much easier to read the code-students will especially appreciate the syntax highlighting when they read the many more substantial programs we present.

473 Illustrations/Figures
An abundance of colorized charts and line drawings is included. The discussions of control structures in Chapters 3 and 4 feature carefully drawn flowcharts. (Note: We do not teach the use of flowcharting as a program development tool, but we do use a brief flowchart-oriented presentation to specify the precise operation of C's control structures.) Chapter 12, "Data Structures," uses colorized line drawings to illustrate the creation and maintenance of linked lists, queues, stacks and binary trees. The remainder of the book is abundantly illustrated.

784 Programming Tips
We have included six design elements to help students focus on important aspects of program development, testing and debugging, performance and portability. We highlight hundreds of these tips in the form of Good Programming Practices, Common Programming Errors, Performance Tips, Portability Tips, Software Engineering Observations and Testing and Debugging Tips. These tips and practices represent the best we have been able to glean from almost six decades (combined) of programming and teaching experience. One of our students—a mathematics major—told us recently that she feels this approach is somewhat like the highlighting of axioms, theorems and corollaries in mathematics books; it provides a basis on which to build good software.

163 Good Programming Practices
Good Programming Practices are highlighted in the text. They call the student's attention to techniques that help produce better programs. When we teach introductory courses to nonprogrammers, we state that the "buzzword" of each course is "clarity," and we tell the students that we will highlight (in these Good Programming Practices) techniques for writing programs that are clearer, more understandable and more maintainable. 262 Common Programming Errors
Students learning a language—especially in their first programming course—tend to make certain kinds of errors frequently. Focusing on these Common Programming Errors helps students avoid making the same errors. It also helps reduce long lines outside instructors' offices during office hours! 76 Performance Tips
In our experience, teaching students to write clear and understandable programs is by far the most important goal for a first programming course. But students want to write the programs that run the fastest, use the least memory, require the smallest number of keystrokes, or dazzle in other nifty ways. Students really care about performance. They want to know what they can do to "turbo charge" their programs. So we have include Performance Tips to highlight opportunities for improving program performance. 41 Portability Tips
Software development is a complex and expensive activity. Organizations that develop software must often produce versions customized to a vari...

From the Back Cover:

The complete, authoritative guide to C, with concise introduction to C++ and Java

This Third Edition of the world's most widely used C textbook carefully explains C (535 pages) and presents substantial introductions to C++ (298 pp.) and Java (346 pp.).

Dr. Harvey M. Deitel and Paul J. Deitel are the principals of Deitel & Associates, Inc.. the internationally-recognized corporate training and content-creation organization specializing in C++, Java™, C, Visual Basic®, Internet, World Wide Web, XML, Python, Perl and object technologies. The Deitels are also the authors of the world's #1 C++ and Java textbooks, C++ How to Program, 3/e and Java How to Program, 3/e.

In C How to Program: Third Edition, the Deitels introduce five of today's most popular programming paradigms. Key topics include:

  • Procedural programming (in C)
  • Classes and objects (C++ and Java)
  • Inheritance/polymorphism (C++/Java)
  • Generic programming (C++ templates)
  • Event-driven programming (in Java)

C How to Program helps students build C, C++ and Java applications. It includes:

  • Hundreds of "live-code" programs with screen captures that show exact outputs
  • Extensive self-review exercises (many with answers) accompanying each chapter
  • Hundreds of tips, recommended practices and cautions—all marked with icons

C How to Program is the centerpiece of a complete family of resources for teaching and learning C, C++ and Java, including Web sites (www.deitel.com and www.prenhall.com/deitel) with the book's source-code examples and other information for faculty, students and professionals; optional interactive CD-ROMs (C++ Multimedia Cyber Classroom and Java 2 Multimedia Cyber Classroom) containing thousands of hyperlinks and audio walkthroughs of the hundreds of code examples in C++ How to Program and Java How to Program—and e-mail access to the authors at deitel@deitel.com

For information on worldwide corporate on-site seminars and Web-based training offered by Deitel & Associates, Inc., visit: www.deitel.com

For information on all Deitel publications including How to Program Series books, Multimedia Cyber Classrooms, Multimedia Cyber Classrooms, Complete Training Courses (that include Deitel books and Cyber Classrooms)and Web-Based Training Courses please see the last few pages of this book.

"About this title" may belong to another edition of this title.

Top Search Results from the AbeBooks Marketplace


Deitel, Harvey M., Deitel, Paul J.
Published by Prentice Hall (2000)
ISBN 10: 0130895725 ISBN 13: 9780130895721
New Paperback Quantity Available: 2
Murray Media
(North Miami Beach, FL, U.S.A.)

Book Description Prentice Hall, 2000. Paperback. Condition: New. Never used!. Seller Inventory # P110130895725

More information about this seller | Contact this seller

Buy New
US$ 43.48
Convert currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, rates & speeds


Harvey M. Deitel, Paul J. Deitel
Published by Prentice Hall (2000)
ISBN 10: 0130895725 ISBN 13: 9780130895721
New Paperback Quantity Available: 1

Book Description Prentice Hall, 2000. Paperback. Condition: New. 3. Seller Inventory # DADAX0130895725

More information about this seller | Contact this seller

Buy New
US$ 56.69
Convert currency

Add to Basket

Shipping: US$ 3.99
Within U.S.A.
Destination, rates & speeds


Harvey M. Deitel; Paul J. Deitel
Published by Prentice Hall (2000)
ISBN 10: 0130895725 ISBN 13: 9780130895721
New Softcover Quantity Available: 1
Irish Booksellers
(Portland, ME, U.S.A.)

Book Description Prentice Hall, 2000. Condition: New. book. Seller Inventory # M0130895725

More information about this seller | Contact this seller

Buy New
US$ 65.24
Convert currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, rates & speeds