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

Published by Pearson (May 27, 2022) © 2022

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

eTextbook

£43.99

  • Create notes, highlights and flashcards
  • Intuitive search, video, quizzes and interactive features
  • Translate text on-screen into over 100 languages
  • Audiobook for on-the-go learning
  • AI-powered support*
  • 3 months free access to language learning support with Mondly

*Available for some titles

£66.99

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

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.

Pearson MyLab® Programming is not included. Students, if Pearson MyLab® Programming is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN. Pearson MyLab Programming should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information.

A user -friendly, code-intensive introduction to C programming

  • The Deitel signature l ive- c od e approach allows students to run full programs as they learn key concepts.
    • UPDATED - The 9th Edition features 142 complete , working , real-world C programs . Each code example is followed with one or more sample executions.
    • UPDATED - All code examples and code selections were checked using the clang-tidy static code analysis tool.
  • NEW - Over 340 integrated Self-Check exercises with answers help students test and validate their understanding as they read.
    • Fill-in-the-blank, true/false, and discussion Self Checks focus on concepts and terminology.
    • Code-based Self Checks give students a chance to try out and reinforce programming techniques.
  • A focus on performance issues prepares readers for professional software-development challenges and practices.
  • UPDATED - Students are encouraged to think like developers by familiarizing themselves with popular open-source software and tools like Docker, GitHub, and StackOverflow.

Offers h undreds of real-world examples, exercises, and projects for hands-on practice

  • UPDATED - Seventeen case studies in systems programming and applications programming give students fun, hands-on opportunities to use C as it’s intended to be used. New and enhanced case studies:
    • Focus on data science — including simulations with random-number generation, survey data analysis, natural language processing, and artificial intelligence (machine-learning with simple linear regression).
    • Incorporate free open-source libraries and tools
    • Focus on visualization with gnuplot
  • UPDATED - Over 400 examples, exercises, and projects (EEPs) allow students to solve interesting, real-world problems working with real-world data.EEPs are drawn from an assortment of computer science, data science, and other fields to instruct and engage students.

Covers fundamental to advanced concepts in a flexible, modular format

  • Rich coverage of C fundamentals emphasizes problem-solving and algorithm development to gives novice programmers a solid foundation in programming principles.
  • Intermediate and advanced topics are included for use in higher-level courses or for further self-study.
  • The modular presentation covers fundamental to advanced concepts in groups of related chapters. Instructors can easily adapt the content to a variety of courses and audiences.
    • NEW - A one-page color Table of Contents chart on the inside front cover makes it easy to see the book’s modular architecture and lists all 17 case studies.

Up-to-date content aligns with contemporary standards, trends, operating systems , and development tools

  • UPDATED - The book adheres to the C1 1/C18 standards to keep pace with expanded C capabilities. Terminology throughout has been updated to reflect the most recent C standard to help students prepare for programming as a career.
  • UPDATED - All program code is compatible with Windows, macOS, and Linux operating systems and has been tested using the latest versions of the Visual C++, XCode, and GNU gcc compilers.
  • UPDATED - Updated content aligns to the latest ACM/IEEE computing curricula recommendations, which call for covering security, data science, ethics, privacy, and performance concepts and using real-world data throughout the curriculum.
    • UPDATED - Enhanced and updated coverage of secure C programming includes additional SEI CERT C Coding Standards. All security-related issues are called out with an icon in the text.
    • UPDATED - Additional exercises ask students to use the Internet to research ethics and privacy issues in computing.
    • UPDATED - Performance icons identify areas in the text that discuss performance-related issues. The case study on multithreading and multicore performance has been enhanced.
    • NEW - Common errors and good software engineering practices are called out with new margin icons.
  • NEW - A new tutorial helps MacOS and Windows users compile and run programs using gcc in the cross-platform GNU Compiler Collection Docker container.
  • UPDATED - Expanded coverage of sorting algorithms and analysis of algorithms with Big O is included in a dedicated chapter (Chapter 13).
  • NEW - Appendix E presents a user-friendly overview of object-oriented programming fundamentals to help introduce students to different programming paradigms.

This title is also available digitally as a standalone Pearson eText, or via MyLab, which includes the Pearson eText MyLab® empowers you to reach every student. This flexible digital platform combines unrivaled content, online assessments, and customizable features so you can personalize learning and improve results, one student at a time. With MyLab Programming, students work through hundreds of short, auto-graded coding exercises and receive immediate and helpful feedback based on their work. Learn more about MyLab Programming.

Pearson eText is an easy-to-use digital textbook available within MyLab that lets students read, highlight, take notes, and review key vocabulary all in one place. If you’re not using MyLab, students can purchase Pearson eText on their own or you can assign it as a course to schedule readings, view student usage analytics, and share your own notes with students. Learn more about Pearson eText.

Teach your course your way

  • T he Exercise Editor allows you to create new programming exercises. In addition to assigning the hundreds of programming exercises already available, you can create and assign programming exercises to customize your course.
  • Dynamic grading and assessment let you effortlessly track student performance. Your students' submissions are automatically graded, both saving you time, and offering students immediate learning opportunities. A dynamic roster tracks their performance and maintains a record of submissions. The color-coded gradebook gives you a quick glance of your classes' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS.
  • The Plagiarism Detection Tool alerts instructors of potential plagiarism issues by checking:
    • Students’ average submission rate.
    • Students’ average number of attempts until correct.
    • Students’ average copy/paste rate.

Deliver trusted content

  • Hundreds of short, auto-graded coding exercises are mapped to Pearson’s Introduction to Programming textbooks by industry-leading authors. The exercises help students master programming fundamentals (syntax, flow of control), allowing instructors to focus on higher-level concepts (problem solving).
  • VideoNotes are step-by-step video tutorials specifically designed to enhance the programming concepts presented in the text so students can view the entire problem-solving process outside of the classroom — when they need help the most.
  • Pearson eText is an easy-to-use digital textbook available within MyLab that lets students read, highlight, take notes, and review key vocabulary all in one place. Seamlessly integrated videos and media engage students and give them access to helpful learning tools. The mobile app lets students learn on the go, online or offline. Learn more about Pearson eText.

Empower learner s

  • Immediate, personalized feedback is provided as students practice programming. The error-specific messages include both the feedback from the compiler and plain English interpretations of likely causes for the student’s incorrect answer. Feedback for many exercises includes test case tables that show a student’s output against expected output.

A user -friendly, code-intensive introduction to C programming

  • The Deitel signature l ive- c od e approach allows students to run full programs as they learn key concepts.
    • The 9th Edition features 142 complete , working , real-world C programs . Each code example is followed with one or more sample executions.
    • All code examples and code selections were checked using the clang-tidy static code analysis tool.
  • Over 340 integrated Self-Check exercises with answers help students test and validate their understanding as they read.
    • Fill-in-the-blank, true/false, and discussion Self Checks focus on concepts and terminology.
    • Code-based Self Checks give students a chance to try out and reinforce programming techniques.
  • Students are encouraged to think like developers by familiarizing themselves with popular open-source software and tools like Docker, GitHub, and StackOverflow.

Offers h undreds of real-world examples, exercises, and projects for hands-on practice

  • Seventeen case studies in systems programming and applications programming give students fun, hands-on opportunities to use C as it’s intended to be used. New and enhanced case studies:
    • Focus on data science — including simulations with random-number generation, survey data analysis, natural language processing, and artificial intelligence (machine-learning with simple linear regression).
    • Incorporate free open-source libraries and tools
    • Focus on visualization with gnuplot
  • Over 400 examples, exercises, and projects (EEPs) allow students to solve interesting, real-world problems working with real-world data.EEPs are drawn from an assortment of computer science, data science, and other fields to instruct and engage students.

Covers fundamental to advanced concepts in a flexible, modular format

  • A one-page color Table of Contents chart on the inside front cover makes it easy to see the book’s modular architecture and lists all 17 case studies.

Up-to-date content aligns with contemporary standards, trends, operating systems , and development tools

  • The book adheres to the C1 1/C18 standards to keep pace with expanded C capabilities. Terminology throughout has been updated to reflect the most recent C standard to help students prepare for programming as a career.
  • All program code is compatible with Windows, macOS, and Linux operating systems and has been tested using the latest versions of the Visual C++, XCode, and GNU gcc compilers.
  • Updated content aligns to the latest ACM/IEEE computing curricula recommendations, which call for covering security, data science, ethics, privacy, and performance concepts and using real-world data throughout the curriculum.
    • Enhanced and updated coverage of secure C programming includes additional SEI CERT C Coding Standards. All security-related issues are called out with an icon in the text.
    • Additional exercises ask students to use the Internet to research ethics and privacy issues in computing.
    • Performance icons identify areas in the text that discuss performance-related issues. The case study on multithreading and multicore performance has been enhanced.
    • Common errors and good software engineering practices are called out with new margin icons.
  • A new tutorial helps MacOS and Windows users compile and run programs using gcc in the cross-platform GNU Compiler Collection Docker container.
  • Expanded coverage of sorting algorithms and analysis of algorithms with Big O is included in a dedicated chapter (Chapter 13).
  • Appendix E presents a user-friendly overview of object-oriented programming fundamentals to help introduce students to different programming paradigms.

This title is also available digitally as a standalone Pearson eText, or via MyLab, which includes the Pearson eText
MyLab® empowers you to reach every student. This flexible digital platform combines unrivaled content, online assessments, and customizable features so you can personalize learning and improve results, one student at a time. With MyLab Programming, students work through hundreds of short, auto-graded coding exercises and receive immediate and helpful feedback based on their work. Learn more about MyLab Programming.

Pearson eText is an easy-to-use digital textbook available within MyLab that lets students read, highlight, take notes, and review key vocabulary all in one place. If you’re not using MyLab, students can purchase Pearson eText on their own or you can assign it as a course to schedule readings, view student usage analytics, and share your own notes with students. Learn more about Pearson eText.

Teach your course your way

  • T he Exercise Editor allows you to create new programming exercises. In addition to assigning the hundreds of programming exercises already available, you can create and assign programming exercises to customize your course.
  • Dynamic grading and assessment let you effortlessly track student performance. Your students' submissions are automatically graded, both saving you time, and offering students immediate learning opportunities. A dynamic roster tracks their performance and maintains a record of submissions. The color-coded gradebook gives you a quick glance of your classes' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS.
  • The Plagiarism Detection Tool alerts instructors of potential plagiarism issues by checking:
    • Students’ average submission rate.
    • Students’ average number of attempts until correct.
    • Students’ average copy/paste rate.

Deliver trusted content

  • Hundreds of short, auto-graded coding exercises are mapped to Pearson’s Introduction to Programming textbooks by industry-leading authors. The exercises help students master programming fundamentals (syntax, flow of control), allowing instructors to focus on higher-level concepts (problem solving).
  • VideoNotes are step-by-step video tutorials specifically designed to enhance the programming concepts presented in the text so students can view the entire problem-solving process outside of the classroom — when they need help the most.
  • Pearson eText is an easy-to-use digital textbook available within MyLab that lets students read, highlight, take notes, and review key vocabulary all in one place. Seamlessly integrated videos and media engage students and give them access to helpful learning tools. The mobile app lets students learn on the go, online or offline. Learn more about Pearson eText.

Empower learner s

  • Immediate, personalized feedback is provided as students practice programming. The error-specific messages include both the feedback from the compiler and plain English interpretations of likely causes for the student’s incorrect answer. Feedback for many exercises includes test case tables that show a student’s output against expected output.

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

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

Pearson eText

Extend learning beyond the classroom. Pearson eText is an easy-to-use digital textbook. It lets students customise how they study and learn with enhanced search and the ability to create flashcards, highlight and add notes all in one place. The mobile app lets students learn wherever life takes them, offline or online.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â