Reach every student with MyLab Programming with 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.
About the book
A user-friendly, code-intensive introduction to C programming
Offers hundreds of real-world examples, exercises, and projects for hands-on practice
Covers fundamental to advanced concepts in a flexible, modular format
Up-to-date content aligns with contemporary standards, trends, operating systems, and development tools
NEW - Reach every student with MyLab with Pearson eText
Teach your course your way
Deliver trusted content
C How to Program is a user-friendly, code-intensive introduction to C programming with case studies introducing applications and system programming. Like other texts of the Deitels How to Program series, the books 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 full-working programs rather than incomplete snips of code. This gives you a chance to run each program as you study it and see how your learning applies to real-world programming scenarios.
Current standards, contemporary practice, and hands-on learning opportunities are integrated throughout the 9th Edition. Over 340 new integrated Self-Check exercises with answers allow you to test your understanding of important concepts and check your code as you 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.
Personalize learning with MyLab Programming with Pearson eText
This flexible digital platform combines unrivaled content, online assessments, and customizable features to personalize learning and improve results. With MyLab® Programming, you can work through hundreds of short, auto-graded coding exercises and receive immediate and helpful feedback based on your work.
Pearson eText is an easy-to-use digital textbook available within MyLab that lets you read, highlight, take notes, and review key vocabulary all in one place.
NOTE: Before purchasing, check with your instructor to confirm the correct ISBN. Several versions of the MyLab® and Mastering® platforms exist for each title, and registrations are not transferable. To register for and use MyLab or Mastering, you may also need a Course ID, which your instructor will provide.
Used books, rentals, and purchases made outside of Pearson
If purchasing or renting from companies other than Pearson, the access codes for the MyLab platform may not be included, may be incorrect, or may be previously redeemed. Check with the seller before completing your purchase.
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
6. Arrays: One- and Two-Dimensional Arrays, Passing Arrays to Functions, Searching, Sorting
7. Pointers: Pointers operators & and , Pass-By-Value vs. Pass-By-Reference, Array and Pointer Relationship
8. Characters and Strings: C Standard Library String- and Character-Processing Functions
PART 3: (Intermediate) Formatted Input/Output, Structures, and File Processing
9. Formatted Input/Output: scanf and printf formatting
10. Structures, Unions, Bit Manipulation and Enumerations: Creating Custom Types with structs and unions, Bitwise Operators, Named Constants
11. File Processing: Streams, Text and Binary Files, CSV Files, Sequential and Random-Access Files
PART 4: (Advanced) Algorithms and Data Structures
12. Data Structures: Dynamic Memory Allocation and Deallocation, Lists, Stacks, Queues, Binary Trees
13. 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
14. Preprocessor: #include, Conditional Compilation, Macros with Arguments, Assertions
15. 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
Multithreading/Multicore and other C18/C11/C99 Topics
Intro to Object-Oriented Programming Concepts
F-H. Using the Visual Studio Debugger, Using the GNU gdb Debugger, and Using the Xcode Debugger
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