C How to Program, 9th edition
Published by Pearson (June 22, 2021) © 2022
- Paul Deitel Deitel & Associates, Inc.
- Harvey Deitel
eTextbook
- Anytime, anywhere learning with the Pearson+ app
- Easy-to-use search, navigation and notebook
- Simpler studying with flashcards
- Hardcover, paperback or looseleaf edition
- Affordable rental option for select titles
- Free shipping on looseleafs and traditional textbooks
For courses in C programming.
A user-friendly, code-intensive introduction to C
C How to Program is a thorough, modular introduction to C programming. The Deitel live-code approach presents concepts using 142 full, working programs rather than code snippets. Case studies introduce applications and systems programming. Students can run programs as they read and see how their learning applies to real-world scenarios.
The 9th Edition includes current standards, practices and more hands-on applications. Hundreds of new self-checks let students test their code and understanding of key concepts. New case studies and exercises use real data focusing on security, data science, ethics and more.
Hallmark features of this title
Current real-world applications
- The Deitels' live-code approach lets students run 142 full, working C programs as they learn key concepts.
- A focus on performance issues prepares readers for professional software-development challenges and practices.
- 17 case studies in systems and applications programming offer fun, hands-on opportunities to use C.
- Hundreds of examples, exercises and projects allow students to solve interesting, real-world problems working with real data.
Unique modular organization
- Coverage of C fundamentals emphasizes problem-solving and algorithm development to provide a solid foundation.
- Content is divided into groups of related chapters covering basic to advanced concepts. A chapter dependency chart helps instructors easily plan their syllabi.
New and updated features of this title
Up-to-date content aligns with contemporary standards, trends, operating systems and development tools
- UPDATED: C11/C18 standards throughout the book keep pace with expanded C capabilities. Terminology reflects the most recent C standard to prepare students for a career in programming. Content aligns to the latest ACM/IEEE computing curricula recommendations, which focus on security, data science, ethics, privacy, and performance concepts and using real-world data throughout the curriculum.
- NEW: Over 340 Self-Check exercises with answers help students test and validate their conceptual knowledge and coding ability as they progress through the text.
- NEW/UPDATED: Case studies focus on data science, incorporate open-source libraries and tools, and focus on visualization with gnuplot.
- UPDATED: Examples, exercises, and projects are drawn from an assortment of computer science, data science and other fields to instruct and engage students.
- UPDATED: Coverage of sorting algorithms and analysis of algorithms with Big O is included in a dedicated chapter.
- NEW: Appendix E presents a user-friendly overview of object-oriented programming fundamentals to help introduce students to different programming paradigms.
PART 1: (Introductory) Programming Fundamentals Quickstart
- Introduction to Computers and C: Test-Driving Microsoft Visual Studio, Apple Xcode, GNU gcc, and GNU gcc in a Docker container
- Intro to C Programming: Input, Output, Types, Arithmetic, Decision Making
- Structured Program Development: Algorithmic Development, Problem Solving, if, if/else, while
- Program Control: for, do/while, switch, break, continue, Logical Operators
- Functions: Custom Functions, Simulation, Random-Number Generation, Enumerations, Function Call and Return Mechanism, Recursion, Recursive Factorial, Recursive Fibonacci
PART 2: (Intermediate) Arrays, Pointers, and Strings
- Arrays: One- and Two-Dimensional Arrays, Passing Arrays to Functions, Searching, Sorting
- Pointers: Pointers operators & and •, Pass-By-Value vs. Pass-By-Reference, Array and Pointer Relationship
- Characters and Strings: C Standard Library String- and Character-Processing Functions
PART 3: (Intermediate) Formatted Input/Output, Structures, and File Processing
- Formatted Input/Output: scanf and printf formatting
- Structures, Unions, Bit Manipulation and Enumerations: Creating Custom Types with structs and unions, Bitwise Operators, Named Constants
- File Processing: Streams, Text and Binary Files, CSV Files, Sequential and Random-Access Files
PART 4: (Advanced) Algorithms and Data Structures
- Data Structures: Dynamic Memory Allocation and Deallocation, Lists, Stacks, Queues, Binary Trees
- Computer-Science Thinking: Sorting Algorithms and Big O Insertion Sort, Selection Sort, Merge Sort, Additional Algorithms including Quicksort in the Exercises
PART 5: (Advanced) Preprocessor and Other Topics
- Preprocessor: #include, Conditional Compilation, Macros with Arguments, Assertions
- Other Topics: Variable-Length Argument Lists, Command-line Arguments, Multiple-Source-Pile Programs, extern, exit/atexit, calloc/realloc, goto, Numeric Literal Suffixes, Signal Handling
Appendices
- Operator Precedence Chart
- ASCII Character Set
- Number Systems
- Multithreading/Multicore and other C18/C11/C99 Topics
- Intro to Object-Oriented Programming Concepts
Online Appendices
- F-H. Using the Visual Studio Debugger, Using the GNU gdb Debugger, and Using the Xcode Debugger
Case Studies
System Programming Case Studies
- Systems Software: Building Your Own Computer
- Systems Software: Building Your Own Compiler
- Embedded Systems Programming: Robotics with the Webots Simulator
- Performance with Multithreading and Multicore Systems
Applications Programming Case Studies
- Random-Number Simulation: Building a Casino Game
- Random-Number Simulation: Card Shuffling and Dealing
- Random-Number Simulation: The Tortoise and the Hare Race
- Intro to Data Science: Survey Data Analysis
- Direct-Access File Processing: Transaction-Processing System
- Visualizing a Sorting Algorithm: Merge Sort
- Artificial Intelligence/Data Science: NLP: Who Wrote Shakespeare's Works?
- Artificial Intelligence/Data Science: Machine Learning with the GNU Scientific Library
- Game Programming: SpotOn Game with the raylib Library
- Game Programming: Cannon Game with the raylib Library
- Security and Cryptography: Implementing a Vigenère Cipher
- Visualization with gnuplot: Law of Large Numbers Animation
- Web Services and the Cloud: libcurl and OpenWeatherMap
About our authors
Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is an MIT graduate with 41 years of experience in computing. Paul is one of the world's most experienced programming-languages trainers, having taught professional courses to software developers since 1992. He has delivered hundreds of programming courses to academic, industry, government and military clients internationally, including Cisco, IBM, Siemens, Sun Microsystems (now Oracle), Dell, Fidelity, NASA at the Kennedy Space Center, the National Severe Storm Laboratory, White Sands Missile Range, Rogue Wave Software, Boeing, Nortel Networks, Puma, iRobot, UCLA and many more. He and his coauthor, Dr. Harvey M. Deitel, are among the world's best-selling programming-language textbook, professional book, video and interactive multimedia e-learning authors.
Dr. Harvey M. Deitel, Chairman and Chief Strategy Officer of Deitel & Associates, Inc., has 59 years of experience in computing. Dr. Deitel earned B.S. and M.S. degrees in Electrical Engineering from MIT and a Ph.D. in Mathematics from Boston University; he studied computing in each of these programs before they spun off Computer Science programs. He has extensive college teaching experience, including earning tenure and serving as the Chairman of the Computer Science Department at Boston College before founding Deitel & Associates, Inc., in 1991 with his son, Paul. The Deitels' publications have earned international recognition, with more than 100 translations published in Japanese, German, Russian, Spanish, French, Polish, Italian, Simplified Chinese, Traditional Chinese, Korean, Portuguese, Greek, Urdu and Turkish. Dr. Deitel has delivered 100s of programming courses to academic, corporate, government and military clients.
Need help? Get in touch