C How to Program, 9/e

How to Program Series
C How to Program, 9/e Cover

C How to Program, Ninth Edition is an innovative, topical, code-intensive, case-study-oriented presentation of C—one of the world’s most popular programming languages. This book is appropriate for introductory- and intermediate-level C programming courses using traditional or “flipped” classrooms.

See the Table of Contents summary diagram, the Preface and the detailed Table of Contents below for more information.

 

 

Click to open Table of Contents Diagram as a PDF in a separate tab

C How to Program, 9/e Table of Contents Diagrame

Features

  • Use with Windows®, macOS® or Linux®

  • Rich coverage of fundamentals: Problem solving, algorithm development, types, control statements, functions, arrays, pointers, strings, formatted I/O, structures, unions, bit manipulation, enumerations, files, data structures, preprocessor and more

  • 20+ rich case studies from computer science, artificial intelligence, data science and other fields

  • 147 complete working programs, real-world examples and data

  • Code tested on GNU™ gcc, Visual C++® and Xcode® compilers

  • 350+ integrated self-check exercises with answers for immediate reinforcement and a brisk learning pace

  • 445 end-of-chapter exercises and projects

  • Enhanced security/data science per ACM™/IEEE™ guidelines

  • Secure C Programming, privacy, ethics in computing

  • Multithreading and multicore performance

  • Searching, sorting, analysis of algorithms with Big

  • Think like a developer: GitHub, forums like StackOverflow, static code analysis tools, virtualization tools

  • Systems programming and applications programming

  • Use free open-source libraries and tools

  • gnuplot visualization, raylib game programming

  • AI: Machine learning, natural language processing

  • C11 standard and includes C18 standard corrections

  • Debugging with GNU gdb, Visual C++® and Xcode®

  • Robotics and 3D graphics with the Webots simulator

  • Internet, web services, mashups and the cloud

  • Build a compiler and a virtual machine with simulation

G

Source Code

h

Preface

View the Preface to learn about the book’s approach and features 

h

Before You Begin

View the Before You Begin section for setup instructions. 

h

Errata

View the list of Errata for C How to Program, 9/e

Comments from Recent Editions Reviewers

“The Deitel book easily provides the clearest and most in-depth approach to standard C programming for students of all abilities. With this book, my students have a tremendous resource that will enable them to succeed not only in my classroom but in the professional workplace for years to come.—William Smith, Tulsa Community College

“The end-of-chapter exercises are worth their weight in gold if you are learning, and especially teaching, C. My favorites—writing a simulator for an invented machine; then writing a compiler for a small language that targets that machine simulator. Teaching some fundamental and interesting computer science makes the book much richer than simply another C textbook.” —Jim Hogg, Program Manager, C/C++ Compiler Team, Microsoft

The new raylib graphics and game-programming case studies and the new Webots 3D robotics simulator case study in this ninth edition are real-world, contemporary, fun and cool.” —Danny Kalev, A Certified System Analyst, C Expert and Former Member of the C++ Standards Committee

The extended examples, along with the supporting text, are the best of any of the C texts I’ve seen. Running the code for the supplied examples in conjunction with reading the text provides students with a laboratory for gaining a thorough understanding of how C works.” —Tom Rethard, University of Texas at Arlington

“I’ve especially liked the strong focus on secure C programming that permeates this ninth edition. It would be hard for anyone not to understand pointers clearly after reading this text!” —José Antonio González Seco, Parliament of Andalusia

“A great introduction to the C programming language and software engineering. It’s fresh and up to date with modern software industry realities. There are quite a few fun, involving exercises that make me want to code.” —Vytautus Leonavicius, Microsoft

An excellent introductory computer science text. While C is a complex language, this book does a good job making this material accessible while providing a strong foundation for further learning. Robert C. Seacord, Secure Coding Manager at SEI/CERT, author of The CERT C Secure Coding Standard and technical expert for the international standardization working group for C

Nearly 50 years after its introduction, C is still as relevant as ever: almost every operating system’s kernel is implemented in C, as are many web servers, compilers, networking protocols and embedded systems. Mastering C can be tricky—unless you pick the right textbook. Be it zero-indexed arrays, pointers, data structures, algorithms, and the C preprocessor, the Deitels have packed these and more in this accessible, up-to-date ninth edition of C How to Program. Source code has been rigorously tested on three IDEs. Each chapter includes integrated Self-Check Q&A, end-of-chapter self-review exercises with solutions, a summary, performance tips, secure coding guidelines and—most importantly—plain English definitions of key concepts. With C How to Program, 9/e, learning C has never been easier!Danny Kalev, A Certified System Analyst, C Expert and Former Member of the C++ Standards Committee

An excellent introduction to C, with many clear examples. Pitfalls of the language are identified and concise programming methods are defined to avoid them.” John Benito, Blue Pilot Consulting, Inc., and Convener of ISO WG14—the working group responsible for the C Programming Language Standard

An already excellent book now becomes superb. This new ninth edition focuses on secure programming and provides extensive coverage of C11 features, including multicore programming. All of this, of course, while maintaining the typical characteristics of the Deitels’ How to Program series—astonishing writing quality, great selection of real-world examples and exercises, and programming tips and best practices that prepare students for industry.” José Antonio González Seco, Parliament of Andalusia

“Covers essential topics that form the foundation of any education in computer science, as well as important practices from software engineering, like approaches to software design and secure programming. A clear introduction to computing in general and to C programming in particular; nice to see context and history given before diving into the language. Up-to-date examples. Great job introducing core concepts. Good use of pseudocode. Good job covering program structure. An excellent pointers chapter; pointers are the most difficult part of learning C and the topic is presented here in an easy-to-understand way. I found the function pointers section easy to read; nice exercises, too (particularly, the Simpletron simulator). Strings chapter really shines with its exercises, especially the larger-scale ones. The Formatted I/O chapter is just right—it does a fine job explaining printf and scanf features. Structs are explained clearly—the playing-card example does a good job illustrating their use. This chapter brings back fond memories of learning data structures in C; it does a great job of covering those lessons in a clear and interesting way; with the exercises at the end, the usefulness of these structures should become readily apparent to the student, and implementing them should be fun practice. A good job highlighting the pitfalls of macros. Great introduction to sorting—the examples do a good job illustrating sort algorithms and make it clear why some are more efficient than others. Other Topics chapter is very interesting to read; many of the topics indicate how code will interact with the world outside the OS—redirections, errors, build systems (make), command line, etc.—which is nice.” Brandon Invergo, GNU/European Bioinformatics Institute

“Teaches a beginning programmer how to write good C programs. Covers all the topics you would expect, explained in an easy, matter-of-fact style, with lots of examples. But it also covers topics you might not expect: recursion, algorithms, Big-O notation, tree traversals and multithreading—in that same style that makes them simple and natural. Another excellent feature is the long list of coding exercises at the end of each chapter.” Jim Hogg, Program Manager, C/C++ Compiler Team, Microsoft Corporation

“This ninth edition includes an intriguing new intro chapter that lists 21st century computing challenges and software-industry trends. Clear presentations of algorithms, structured programming and pseudocode. Excellent coverage of the function-call mechanism and stack frames, enum types, storage class specifiers, scoping rules and recursion. The code listings and the self-check questions and exercises are incredibly useful. A very good introduction to some of the trickiest features of C, i.e., arrays, pointers and pointers to functions. Code examples, including the card-shuffling-and-dealing simulation, exemplify efficient and safe programming with reuse and modularity. Building Your Own Computer is an excellent exercise to demonstrate the power of C programming and along the way, become acquainted with the concepts of machine code. Covers the essential techniques and the standard string- and memory-manipulation functions. Few textbooks dedicate a complete code listing for every standard library string function—this is a key feature of this book. The string exercises are very good, particularly the advanced string manipulation exercises for random sentence generation and style and textual analysis. There are plenty of formatted I/O examples with every format flag and a detailed explanation. Explains C’s derived types: structs, unions and enumerations. Presents bit-fields and their related bitwise operators. Straightforward tutorial of file processing. Very good (and rare among C textbooks) presentation of data structures design and implementation—one of the strongest features of this book. Introduces Big O notation, exemplifying it with real-world examples of sorting algorithms. A detailed guide for the C preprocessor.” Danny Kalev, A Certified System Analyst, C Expert and Former Member of the C++ Standards Committee

“Having reviewed programming books for nearly 20 years, I recognize quality right from page 1. The first sign is the use of standard terminology. And yet, C How to Program offers much more: an emphasis on secure C programming including Annex K (the so-called secure standard library functions), self-testing exercises, a summary of the topics discussed in each chapter and most importantly complete code listings that have been thoroughly tested and distilled. It’s no secret that C intimidates novices. Its raw pointers, zero-based array indexes, unchecked arrays and funky strings are a fertile source of bugs and security loopholes. C How To Program addresses these issues without fear, presenting effective techniques for avoiding them. The main strength of this book is a clear, professional and reader-friendly style. Up-to-date, accurate and covers just about everything a C novice would need to know.Danny Kalev, Certified System Analyst, C Expert and Former Member of the C++ Standards Committee

“A great book for the beginning programmer. Covers material that will be useful in later programming classes and the job market.” —Fred J. Tydeman, Tydeman Consulting, Vice-Chair of J11 (ANSI C)

“Clear explanation of arrays—and especially good exercises. A really good pointers chapter; the exercises are particularly good, especially the Simpletron machine simulator. String exercises are innovative and challenging. Formatted input/output examples are good. Provides the information required for a beginner to perform file I/O, which opens the gateway to building realistic apps. Good data structures chapter that guides the reader carefully thru using pointers and linked lists; the exercises are, again, excellent; I love the very last one on building your own compiler; by working through this example, the reader gets a good feel for the essence of how a compiler works—an exciting topic in computer science. Great examples that show the evolution of each sort. Useful overview of what features arrived with C99 and C11—multithreading will impact readers most.” —Jim Hogg, Program Manager, C/C++ Compiler Team, Microsoft Corporation

“Nice selection of exercises in Structured Program Development—good job.” —Alan Bunning of Purdue University

“I like the structured programming summary with instructions on forming structured programs by using the flowchart building blocks; I also like the questions at the end of the chapter and the Secure C Programming section.” —Susan Mengel, Texas Tech University

“The descriptions of function calls and the call stack will be helpful to beginning programmers learning how functions work—plenty of function exercises.” —Michael Geiger, University of Massachusetts, Lowell

“The examples and end-of-chapter programming projects are valuable. This is the only C book that offers so many detailed C examples—I am pleased to be able to have such a resource to share with my students. I feel confident that this book prepares my students for industry. A great book. I always enjoy lecturing the Arrays chapter; examples are perfect for my CE, EE and CSE students. Chapters 8 and above are used for my Data Structures class. This is the only textbook that covers bitwise operations in such detail.” —Sebnem Onsay, Special Instructor, Oakland University School of Engineering and Computer Science

“Excellent introductory C text. Just the right coverage of arrays. Pointers chapter is well-written and the exercises are rigorous. Excellent discussion of string functions. Fine chapters on formatted input/output and files. I was pleased to see a hint at Big O running time in the binary search example.” —Dr. John F. Doyle, Indiana U. Southeast

“I have been teaching introductory programming courses since 1975, and programming in the C language since 1986. When Deitel, C How to Program, 1/e, came out, we jumped on it—it was clearly the best text on C. The new edition continues a tradition—it’s by far the best student-oriented textbook on programming in the C language! A thorough, careful treatment of the language and the ideas, concepts and techniques of programming! ‘Live code’ is also a big plus, encouraging active participation by the student. A great text!—Richard Albright, Goldey-Beacom College

I like the writing quality. Outlines common beginner mistakes. Nice visualization of binary search. The card shuffling example illustrates an end-to-end solution to the problem with nice pseudocode, great coding and explanation. Card and maze exercises are very involving. —Vytautus Leonavicius, Microsoft Corporation

Gets you ready for the job market, with best practices and development tips. Nice multi-platform explanation [running Visual C++ on Windows, GNU C on Linux and Xcode on macOS]. —Hemanth H.M., Software Engineer at SonicWALL

Control statements chapters are excellent; the number of exercises is amazing. Great coverage of functions. The Data Structures chapter is well written, and the examples and exercises are great; I especially like the section about building a compiler. Sorting algorithms are explained clearly, especially the harder ones like merge sort and quicksort, which become trivial after reading this. Great job! —José Antonio González Seco, Parliament of Andalusia

The live-code approach makes it easy to understand C programming basics. I highly recommend this textbook as both a teaching text and a reference.” — Xiaolong Li, Indiana State University

An exceptional textbook and reference for the C programmer. —Roy Seyfarth, University of Southern Mississippi

An invaluable resource for beginning and seasoned programmers. The explanations of the concepts, techniques and practices are comprehensive, engaging and easy to understand. A must-have book.—Bin Wang, Department of CS and Engineering, Wright State University

Pin It on Pinterest

Share This Page