C How to Program: With Case Studies introducing Applications Programming and Systems Programming, Global Edition, 9th edition

Published by Pearson (17 December 2024) © 2025

  • Paul Deitel Deitel & Associates, Inc.
  • Harvey M. Deitel Deitel & Associates, Inc.

Purchasing Instructions

This form contains two groups of radio buttons, one for Exam Pack purchasing options, and one for standard purchasing options. Only one option can be chosen for purchase. Any option that is selected will deselect any previously selected purchase option.

Online exclusive offer

C How to Program: With Case Studies introducing Applications Programming and Systems Programming, Global Edition -- Pearson eText (OLP) 180 days Subscription+ subscription to Study & Exam Prep

C How to Program: With Case Studies introducing Applications Programming and Systems Programming, Global Edition -- Pearson eText (OLP) 180 days Subscription

In this eTextbook — More ways to learn

  • More flexible. Start learning right away, on any device.
  • More supportive. Get AI explanations and practice questions (select titles).
  • More interactive. Bring learning to life with audio, videos, and diagrams.
  • More memorable. Make concepts stick with highlights, search, notes, and flashcards.
  • More understandable. Translate text into 100+ languages with one tap.
Requires a Course ID, a link from your instructor or an LMS link (Blackboard™, Canvas™, Moodle or D2L®)
Products list

Details

  • A print text
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com

Title overview

For courses in computer programming.

A user-friendly, code-intensive introduction to C programming with case studies introducing applications and system programming

C How to Program is a comprehensive introduction to programming in C. Like other texts of the Deitels’ How to Program series, the book’s modular presentation serves as a detailed, beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C. The signature Deitel live-code approach presents concepts in the context of 142 fully working programs rather than incomplete snips of code. This gives students a chance to run each program as they study it and see how their learning applies to real-world programming scenarios.

Current standards, contemporary practice, and hands-on learning opportunities are integrated throughout the 9th Edition. Over 350 new, integrated Self-Check exercises with answers allow students to test their understanding of important concepts—and check their code—as they read. New and enhanced case studies and exercises use real-world data and focus on the latest ACM/IEEE computing curricula recommendations, highlighting security, data science, ethics, privacy, and performance concepts.

Table of contents

PART 1: (Introductory) Programming Fundamentals Quickstart

  1. Introduction to Computers and C: Test-Driving Microsoft Visual Studio, Apple Xcode, GNU gcc, and GNU gcc in a Docker container
  2. Intro to C Programming: Input, Output, Types, Arithmetic, Decision Making
  3. Structured Program Development: Algorithmic Development, Problem Solving, if, if/else, while
  4. Program Control: for, do/while, switch, break, continue, Logical Operators
  5. 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

  1. Arrays: One- and Two-Dimensional Arrays, Passing Arrays to Functions, Searching, Sorting
  2. Pointers: Pointers operators & and •, Pass-By-Value vs. Pass-By-Reference, Array and Pointer Relationship
  3. Characters and Strings: C Standard Library String- and Character-Processing Functions

PART 3: (Intermediate) Formatted Input/Output, Structures, and File Processing

  1. Formatted Input/Output: scanf and printf formatting
  2. Structures, Unions, Bit Manipulation and Enumerations: Creating Custom Types with structs and unions, Bitwise Operators, Named Constants
  3. File Processing: Streams, Text and Binary Files, CSV Files, Sequential and Random-Access Files

PART 4: (Advanced) Algorithms and Data Structures

  1. Data Structures: Dynamic Memory Allocation and Deallocation, Lists, Stacks, Queues, Binary Trees
  2. 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

  1. Preprocessor: #include, Conditional Compilation, Macros with Arguments, Assertions
  2. 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
  • Numerical Integration
  • 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

Need help?Get in touch