Pub. Date:
Pearson Education
Pub. Date:
Pearson Education
Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C) / Edition 1

Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C) / Edition 1

by Zed ShawZed Shaw

Other Format

Current price is , Original price is $39.99. You

Temporarily Out of Stock Online

Please check back later for updated availability.


You Will Learn C!

Zed Shaw has crafted the perfect course for the beginning C programmer eager to advance their skills in any language. Follow it and you will learn the many skills early and junior programmers need to succeed–just like the hundreds of thousands of programmers Zed has taught to date! You bring discipline, commitment, persistence, and experience with any programming language; the author supplies everything else.

In Learn C the Hard Way, you’ll learn C by working through 52 brilliantly crafted exercises. Watch Zed Shaw’s teaching video and read the exercise. Type his code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn what good, modern C programs look like; how to think more effectively about code; and how to find and fix mistakes far more efficiently. Most importantly, you’ll master rigorous defensive programming techniques, so you can use any language to create software that protects itself from malicious activity and defects.

Through practical projects you’ll apply what you learn to build confidence in your new skills. Shaw teaches the key skills you need to start writing excellent C software, including

  • Setting up a C environment
  • Basic syntax and idioms
  • Compilation, make files, and linkers
  • Operators, variables, and data types
  • Program control
  • Arrays and strings
  • Functions, pointers, and structs
  • Memory allocation
  • I/O and files
  • Libraries
  • Data structures, including linked lists, sort, and search
  • Stacks and queues
  • Debugging, defensive coding, and automated testing
  • Fixing stack overflows, illegal memory access, and more
  • Breaking and hacking your own C code

It’ll Be Hard at First. But Soon, You’ll Just Get It–And That Will Feel Great!

This tutorial will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful programming languages. You’ll be a C programmer.

Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete C video course! If you purchase the digital edition, be sure to read "Where Are the Companion Content Files" at the end of the eBook to learn how to access the videos.

Related collections and offers

Product Details

ISBN-13: 9780321884923
Publisher: Pearson Education
Publication date: 09/04/2015
Series: Zed Shaw's Hard Way Series
Pages: 384
Sales rank: 713,743
Product dimensions: 7.00(w) x 9.00(h) x 0.80(d)

About the Author

Zed Shaw is an avid guitar player, programmer, and writer whose books teach people all over the world how to write software. His books Learn Python the Hard Way and Learn Ruby the Hard Way (both now in their third editions) have been read by millions of people around the world. His software has been used by many large and small companies. His essays are often quoted and read by members of many geek communities. An entertaining and lively writer, he will keep you laughing and make you think.

Table of Contents

  • Exercise 0: The Setup
  • Exercise 1: Dust Off That Compiler
  • Exercise 2: Using Makefiles to Build
  • Exercise 3: Formatted Printing
  • Exercise 4: Using a Debugger
  • Exercise 5: Memorizing C Operators
  • Exercise 6: Memorizing C Syntax
  • Exercise 7: Variables and Types
  • Exercise 8: If, Else-If, Else
  • Exercise 9: While-Loop and Boolean Expressions
  • Exercise 10: Switch Statements
  • Exercise 11: Arrays and Strings
  • Exercise 12: Sizes and Arrays
  • Exercise 13: For-Loops and Arrays of Strings
  • Exercise 14: Writing and Using Functions
  • Exercise 15: Pointers, Dreaded Pointers
  • Exercise 16: Structs and Pointers to Them
  • Exercise 17: Heap and Stack Memory Allocation
  • Exercise 18: Pointers to Functions
  • Exercise 19: Zed’s Awesome Debug Macros
  • Exercise 20: Advanced Debugging Techniques
  • Exercise 21: Advanced Data Types and Flow Control
  • Exercise 22: The Stack, Scope, and Globals
  • Exercise 23: Meet Duff’s Device
  • Exercise 24: Input, Output, Files
  • Exercise 25: Variable Argument Functions
  • Exercise 26: Project logfind
  • Exercise 27: Creative and Defensive Programming
  • Exercise 28: Intermediate Makefiles
  • Exercise 29: Libraries and Linking &

Customer Reviews