Pearson+

C How to Program, 9th edition

  • Paul Deitel
  • , Harvey Deitel
loading

  • Watch and learn
    Watch and learn

    Videos & animations bring concepts to life

  • Find it fast
    Find it fast

    Quickly navigate your eTextbook with search

  • Stay organized
    Stay organized

    Access all your eTextbooks in one place

  • Easily continue access
    Easily continue access

    Keep learning with auto-renew

C How to Program is a user-friendly, code-intensive introduction to C programming. The modular presentation serves as a detailed beginning 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 Deitel live-code approach presents concepts in the context of 142 full, working programs rather than code snippets. Case studies introduce applications and systems programming. You can run programs as you read and study and see how your learning applies to real-world scenarios.

The 9th Edition includes current standards, practices and more hands-on applications. Hundreds of new self-checks let you test your code and understanding of key concepts. New case studies and exercises use real data focusing on security, data science, ethics and more.

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

ISBN-13: 9780137454372

Subject: Programming - Introductory

Category: C

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
  • 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