C How to Program, 9th edition

  • Paul Deitel, 
  • Harvey Deitel

Your access includes:

  • Search, highlight, and take notes
  • Easily create flashcards
  • Use the app for access anywhere
  • 14-day refund guarantee

$10.99per month

4-month term, pay monthly or pay $43.96

Learn more, spend less

  • Watch and learn

    Videos & animations bring concepts to life

  • Special partners and offers

    Enjoy perks from special partners and offers for students

  • Find it fast

    Quickly navigate your eTextbook with search

  • Stay organized

    Access all your eTextbooks in one place

  • Easily continue access

    Keep learning with auto-renew


C How to Program is a user-friendly, code-intensive, and case-study rich introduction to C programming. The text presents concepts in the context of 142 full-working programs — so you can run each program as you study it and see how your learning applies to real-world programming scenarios.

Published by Pearson (March 23rd 2021) - Copyright © 2022

ISBN-13: 9780137454372

Subject: Programming - Introductory

Category: C

Table of contents

Brief 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


  • 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

Your questions answered

Pearson+ is your one-stop shop, with eTextbooks and study videos designed to help students get better grades in college.

A Pearson eTextbook is an easy‑to‑use digital version of the book. You'll get upgraded study tools, including enhanced search, highlights and notes, flashcards and audio. Plus learn on the go with the Pearson+ app.

Your eTextbook subscription gives you access for 4 months. You can make a one‑time payment for the initial 4‑month term or pay monthly. If you opt for monthly payments, we will charge your payment method each month until your 4‑month term ends. You can turn on auto‑renew in My account at any time to continue your subscription before your 4‑month term ends.

When you purchase an eTextbook subscription, it will last 4 months. You can renew your subscription by selecting Extend subscription on the Manage subscription page in My account before your initial term ends.

If you extend your subscription, we'll automatically charge you every month. If you made a one‑time payment for your initial 4‑month term, you'll now pay monthly. To make sure your learning is uninterrupted, please check your card details.

To avoid the next payment charge, select Cancel subscription on the Manage subscription page in My account before the renewal date. You can subscribe again in the future by purchasing another eTextbook subscription.

Channels is a video platform with thousands of explanations, solutions and practice problems to help you do homework and prep for exams. Videos are personalized to your course, and tutors walk you through solutions. Plus, interactive AI‑powered summaries and a social community help you better understand lessons from class.

Channels is an additional tool to help you with your studies. This means you can use Channels even if your course uses a non‑Pearson textbook.

When you choose a Channels subscription, you're signing up for a 1‑month, 3‑month or 12‑month term and you make an upfront payment for your subscription. By default, these subscriptions auto‑renew at the frequency you select during checkout.

When you purchase a Channels subscription it will last 1 month, 3 months or 12 months, depending on the plan you chose. Your subscription will automatically renew at the end of your term unless you cancel it.

We use your credit card to renew your subscription automatically. To make sure your learning is uninterrupted, please check your card details.