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

Published by Pearson (December 17, 2024) © 2025

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

eTextbook in Pearson+

undefined
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