Shop Khloud Popcorn
Buy used:
$13.46
Used: Very Good | Details
Sold by Bahamut Media
Condition: Used: Very Good
Comment: Shipped within 24 hours. Clean, undamaged book with no damage to pages and minimal wear to the cover. Spine still tight, in very good condition. Remember if you are not happy, you are covered by our 100% money back guarantee.
Access codes and supplements are not guaranteed with used items.
In stock
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

  • Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C) (Zed Shaw's Hard Way Series)

Follow the author

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C) (Zed Shaw's Hard Way Series) 1st Edition

4.2 out of 5 stars (235)

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.

Sponsored

Customers also bought or read

Loading...

From the Publisher

Image
Image
Image
Image
Image
Customer Reviews
4.6 out of 5 stars 769
4.2 out of 5 stars 235
4.6 out of 5 stars 130
4.7 out of 5 stars 208
4.3 out of 5 stars 277
Price $17.90 $13.46 $29.70 $48.13 $30.07
Title C Programming Absolute Beginner's Guide, 3/e Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C) C Programming in One Hour a Day, Sams Teach Yourself, 7/e C Primer Plus, 6/e Programming in C, 4/e
Author(s) Greg Perry, Dean Miller Zed A. Shaw Bradley L. Jones, Peter Aitken, Dean Miller Stephen Prata Stephen G. Kochan
Page Count 352 384 720 1080 600
List Price $29.99 $39.99 $39.99 $59.99 $49.99
Pub Date 08/07/2013 09/04/2015 10/11/2013 11/26/2013 08/18/2014
Binding Paper Paperback with DVD Paper Paper Paper
Print ISBN 0789751984 0321884922 0789751992 0321928423 0321776410
Series Absolute Beginner's Guide Zed Shaw's Hard Way Series Sams Teach Yourself Developer's Library Developer's Library
Brief Description Write powerful C programs. ..without becoming a technical expert! This book is the fastest way to get comfortable with C, one incredibly clear and easy step at a time. You’ll learn all the basics: how to organize programs, store and display data, work with variables, operators, I/O, pointers, arrays, functions, and much more. C programming has never been this simple! Perfect for beginning C programmers eager to advance their skills in any language. Follow it and you will learn the many skills early and junior programmers need to succeed by working through 52 brilliantly crafted exercises with accompanying videos and exercises from Zed Shaw. 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. Filled with carefully explained code, clear syntax examples, and well-crafted exercises, this is the broadest and deepest introductory C tutorial available. It delivers step-by-step, hands-on experience that starts with simple tasks and gradually builds to professional-quality techniques. Each lesson is designed to be completed in hour or less, introducing and clearly explaining essential concepts, providing practical examples, and encouraging you to build simple programs on your own. This book teaches principles of programming, including structured code and top-down design. Many short, practical examples illustrate one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use. Review questions and programming exercises at the end of each chapter bring out the most critical pieces of information and help readers understand and digest the most difficult concepts. A friendly and easy-to-use self-study guide, this book is appropriate for serious students of programming, as well as developers proficient in other languages. Whether you’re a novice or experienced programmer, this book will provide you with a clear understanding of this language, which is the foundation for many object-oriented programming languages such as C++, Objective-C, C#, and Java. This book teaches C by example, with complete C programs used to illustrate each new concept along the way. Stephen Kochan provides step-by-step explanations for all C functions. You will learn both the language fundamentals and good programming practices. Exercises at the end of each chapter make the book ideally suited for classroom use or for self-instruction.

Editorial Reviews

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.

Product details

  • Publisher ‏ : ‎ Addison-Wesley Professional
  • Publication date ‏ : ‎ September 4, 2015
  • Edition ‏ : ‎ 1st
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 384 pages
  • ISBN-10 ‏ : ‎ 0321884922
  • ISBN-13 ‏ : ‎ 978-0321884923
  • Item Weight ‏ : ‎ 1 pounds
  • Dimensions ‏ : ‎ 7 x 0.78 x 9.1 inches
  • Best Sellers Rank: #1,265,196 in Books (See Top 100 in Books)
  • Customer Reviews:
    4.2 out of 5 stars (235)

About the author

Follow authors to get new release updates, plus improved recommendations.
Zed Shaw
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Zed Shaw is an avid guitar player, programmer, and writer whose books teach people all over the world how to write software. His book Learn Python the Hard Way has 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. He is an entertaining and lively writer, who is sure to keep you laughing and make you think.

Sponsored

Customer reviews

4.2 out of 5 stars
235 global ratings
Sponsored

Customers say

Customers appreciate the book's approach, with one noting how it teaches hard concepts in simple steps and provides useful examples and insights. Moreover, the content receives positive feedback, with customers considering it a good beginner's guide. However, the video content and DVD availability receive mixed reviews, with several customers reporting that the video course is missing and the DVD is not included.
AI Generated from the text of customer reviews

Select to learn more

21 customers mention approach, 17 positive, 4 negative
Customers appreciate the approach of the book, which provides useful examples and insights, with one customer noting that it teaches hard concepts in simple steps and emphasizes strong programming skills.
...programming book already after the first few exercises, I love the approach. It explains the things you really should know....Read more
Great book with lots of useful exercises.Read more
...I am a big fan of Zed Shaw's Learn Python the Hard Way. It's a great method that fits well with how I like to learn....Read more
...the 70's and 80's, but amount to software which is far more secure, practical, accurate, and reliable in the present age than what you can achieve...Read more
19 customers mention content, 18 positive, 1 negative
Customers find the content of the book engaging and well-suited for beginners, appreciating the topics covered.
Great book. I learned C over 20 years ago and didn't touch it in 15 years....Read more
This is a great book for beginners or like myself, someone who needed to rekindle that love for C. Outstanding job Zed....Read more
Excellent book!Read more
...; what it is - a one-of-a-kind crash course into one of the most fascinating and storied programming languages in use....Read more
9 customers mention video content, 4 positive, 5 negative
Customers have mixed opinions about the video content of the book, with some reporting that the video course is missing, while one customer finds the videos very good.
...Right? The book has no links to the videos and there is no mention of a website where to watch them anywhere in the book....Read more
...He has a lot of pointers (heh) on writing code. + The videos are very good....Read more
I received my book but there is no DVd included! And there is no video course as well!!! Please help!Read more
...Then there are the videos. The book comes with a DVD and 56 videos that are easily the best part....Read more
6 customers mention no dvd included, 2 positive, 4 negative
Customers have mixed opinions about the DVD included with the book, with some reporting that the DVD is missing, while one customer mentions it comes with lectures related to each exercise.
I just got the book, but NO DVD!!! And no mention of how or where to get the contents of a DVD online!...Read more
...Then there are the videos. The book comes with a DVD and 56 videos that are easily the best part....Read more
I received my book but there is no DVd included! And there is no video course as well!!! Please help!Read more
Ordered this for my husband. It came with NO dvd, even tho it is listed multiple times in the description and is a critical part of this text....Read more
Kindle version incomplete
1 out of 5 stars
Kindle version incomplete
The information in the books is good; but I bought the kindle version and it's incomplete. It ends at Exercise 10.. I want my money back. see attached image. it is 100% at exercise 10. :(
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on January 2, 2018
    Format: PaperbackVerified Purchase
    I attempted to learn C years ago, but the tedious nature of pointers, memory management, and most importantly, the unawareness of the tools needed to competently develop in C (ie. Valgrind) kept me away from it for a long time. But in order to be a competent programmer, you really need to be able to understand C, even if you don't develop in it often. It is the language of all system calls and libraries on any Unix variant (Linux, BSD, Mac) that your "scripting" language links to. Even Windows has essential system calls (Win32 or Win 64) that export an interface to C. C is everywhere. You need to be able to at least read C code, and understand what is going at a basic level, and how higher level, garbage collected languages relate to C. For better or worse, C code will continue to be around a very long time.

    Zed Shaw's course is like having a mentor guide you through not just the language, but the modern C development environment. Included are
    tips on what tools to use, and traps for the naive.

    This book, by no means, should be your only C book. This book is for you if you have modest programming experience in a high level, garbage collected language on a Unix-like system (ie. Python, Perl, Ruby, etc.), and need to learn how to speed up parts of the program by writing in C. Given the audience it is written for, certain things are oversimplified. But that does not mean the book is bad.

    On the contrary, it is likely the best introductory book for new C programmers. If you are a kernel hacker who has dreams that correctly compile, you are likely to be disappointed.

    Some caution about getting a used copy: make sure you get one that has the DVD, as it has info not contained in the text. They supplement each other, and the book isn't nearly as useful without it.

    Other texts worth study (after this) include: 21st Century C: C Tips from the New School and Practical C Programming: Why Does 2+2 = 5986? (Nutshell Handbooks)
    11 people found this helpful
    Report
  • Reviewed in the United States on March 13, 2016
    Format: KindleVerified Purchase
    Here is why I love this book :

    I've been a .NET developer for 5 years with forgotten knowledge about C and C++. Wanting to get back into writing native code, this book has been amazing. Will you learn to program? No!. Is there theory and university lecture babble? No! This book hits you hard with exact knowledge an experienced developer needs to learn extremely quickly how to write solid C code. Leave your IDE behind, open notepad or similar and forget everything you've learned. The book takes you through using command compiling, Make and Gdb. If you have CL experience, it directly translates to Visual Studio and ms compilers as well. Getting started with the compiler might be the hardest part if you've never done it before. . It teaches hard concepts in very simple steps with rock solid and simple examples. The book has accompanying videos, each about 15 minutes long that help solidify what you just learned. After about two days of real focus, I can finally write c like a champ, or at least somebody who has been doing it for a few years professionally. I recommend this book to anyone who has a few years serious development under his/her belt and wants to learn what C coding is. If you haven't written a line of code before, this book will be tough.
    14 people found this helpful
    Report
  • Reviewed in the United States on August 7, 2016
    Format: PaperbackVerified Purchase
    This is a darn good intro to C as well as some of the general programming topics that are typically neglected in an introductory book. Of course the author intends this for someone who has previously learned some language previously, so it's not quite a raw beginner's book. The approach, commensurate with the title, puts a lot of the onus on the reader, but doing so forces you to begin making use of the same resources you're going to use after you've finished the book. "Teaching a man to fish" so to speak. In addition to introducing the C language, the author introduces a number of tools you should become comfortable with and gives you enough information to use the tools without subverting the course into one on any specific tool. This book is much more practical than almost any introductory course I've read.

    If you search around the internet, you'll find a lot of recommendations for this book and some criticism, some of it pretty harsh. Having read at least the most prominent of the critical reviews I will warn you that most of them are clearly based on a review of the author's website, where a 'beta' version of the book exists (more on that in a minute), and they didn't bother to read the explanation of the teaching approach.

    If you've visited the "Learn C The Hard Way" site, you've seen the foundations for this book, but you have not seen this book! The author does himself a disservice by not updating the site, or making clear that the book is substantially better. Then there are the videos. The book comes with a DVD and 56 videos that are easily the best part. The demonstrations can go a little quick, but the explanations and additions are fantastic, and the kind of thing you just won't find elsewhere.

    So a lot of the critiques go something like "OMG, the author tells you to use "Make" but doesn't regurgitate the entire Make manual before telling you to use it!" That's true. But also very beneficial. You can learn a bazillion new tricks in Make later, but the author does give you enough to do what you need to do without burying you in a bunch of nuance that won't matter until you're much, much further down the road.

    This book is also up-to-date. It might not have this month's popular library, but at least it's moved well into the newer C standards rather than dwelling on C89 which is now two standards out of date.

    So, that's all pretty glowing, and as I said starting out, I really like the book. However, it is valid criticism that it could benefit from some more editing. There are references that weren't adjusted transitioning from the beta version on the site. E.g. in the chapter on debug macros, the text says something to the effect that you've already used .h files, when the book hasn't introduced them yet. In another place there's a reminder (for the author) that says something like "add some more explanation about ..." (I don't recall what it was). I didn't find any show stoppers, but it does take some of the polish off the book. A good follow on to this book is "21st Century C" which is in the same vein, but assumes you're a reasonably competent C programmer.

    It's worth noting the cost versus value of this book as well. I found this book to be much better than many books costing 2-4 times as much.

    If I could do half stars, I'd have given "Learn C the Hard Way" 4.5. The more I look at other learning C texts, the more I like it. While it's not perfect I can think of no book I would recommend more to someone with some programming experience, but new (or new-ish) to C.
    13 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Alexander Kornishev
    5.0 out of 5 stars It is excellent book! It will take you on really painful ...
    Reviewed in Canada on October 28, 2016
    Format: PaperbackVerified Purchase
    It is excellent book! It will take you on really painful journey but it will be worth every bit of it. This book will not teach you basics of C, instead it will teach you how real-life programming in C is done. You will spend a lot of time outside of this book looking for resources and finding information. I think it is by design because that's how you will have to do when writing programs on your own. Some readers complained about it, I think it is one of the most useful features of this book: to push you out of comfortable zone and make you work hard. Personally I do not think it should be your 1st book on C, probably more like advanced course after you know basics.
  • Vincent
    5.0 out of 5 stars Apprendre à la maison
    Reviewed in France on August 25, 2018
    Format: PaperbackVerified Purchase
    si vous ne connaissez rien du sujet au début du livre, après avoir lu ce livre vous serez presque incollable.
    Report
  • Zweilindt
    5.0 out of 5 stars Eine Überraschung unter den C-Büchern
    Reviewed in Germany on March 30, 2016
    Format: KindleVerified Purchase
    Die Herangehensweise des Werkes ist äußerst interessant: Es kommt als e-Book (oder Buch) daher - und enthält zusätzlich Videolektionen, die (fast) jedes Kapitel begleiten. Hört man die Stimme des Autoren, so kann man seinen Humor recht gut verstehen, den er im Buch an den Tag legt.

    Die verwendete Lernmethode ist besonders zugänglich für jene Personen, die nicht mehr im Lernbetrieb verhaftet sind - und quasi das Lernen noch einmal erlernen müssen.

    Das Buch vermittelt nicht nur das Erlernen der Programmiersprache C, es vermittelt vielmehr auch, wie man mit C programmiert, sondern wie man Fehler in eigenen Quellcodes erkennt, findet, man lernt C-Quellcode zu bauen und abzureissen. Der Debugger und Make werden hier ebenso angesprochen, wie den Umgang mit Hilfsmitteln wie Debugger, Make.

    Ist man sicher genug, die Grundzüge von C anwenden zu können, geht Zed weiter, er führt dahin, wo die meisten C-Bücher bereits stehenbleiben. Er zeigt auf, wie man Bibliotheken verwendet, automatisiert teste, mit den Bereichen des "undefinierten Verhaltens" umgeht, führt in Algorithmen anhand von doppelt verbundenen Listen, dynamischen Feldern, Sortier- und Suchfunktionen. Es werden sichere Strings behandelt, Hashmaps und -algorithmen, binäre Suchbäume, Stapel und Warteschlangen, Ringpuffer.

    Und wenn wird damit fertig sind, geht es ans Eingemachte, durch Lektionen in Sachen Netzwerkprogrammierung.

    Wer die Mühe auf sich nimmt - und dies alles durchgearbeitet hat, sich die Mühe gemacht hat, jeder einzelnen Übung zu folgen, der wird am Ende des Kurses ein sicheres Standbein in Sachen C erworben haben, einem C, wie es mit den gängigen Compilern möglich ist, nicht dem hypothetischen C11-Standard, der von keinem einzigen Compiler-Bauer umgesetzt worden ist, das zum jetzigen Zeitpunkt schlichtweg nicht existiert und wohl auch niemals existieren wird. Zed weißt darauf auch bereits zu Anfang seines Werkes hin - und zurecht.
  • Cliente Amazon
    5.0 out of 5 stars Ótimo livro vale a pena!
    Reviewed in Brazil on March 4, 2019
    Format: PaperbackVerified Purchase
    Se não sabe NADA de C talvez você precise de um livro texto primeiro. Esse livro ensina C mas não do jeito usual. É como aquele professor carrasco que coloca a matéria e diz pra VOCÊ pesquisar. O trabalho faz você pensar e sair do modo: "só olhando" do livro texto e entrar no modo "ralando". E no meu caso, eu já sabia C, mas aprendi lendo um livro escrito por professor universitário. Nem precisa dizer que o código que o autor escrevia era primário e meio teletubbie. Já o autor deste livro o Zed, é um programador profissional com larga experiencia. Aprendi a fazer projetos maiores, a escrever um código mais seguro, organizado, sólido e profissional. Pra mim o livro foi 10.
  • KB
    5.0 out of 5 stars The Not so Hard way to Learn C
    Reviewed in the United Kingdom on February 9, 2016
    Format: PaperbackVerified Purchase
    Don't be put off by the title. This book encourages the use of basic text editors or the console to create C programs, as opposed to IDE (Internal Development Environments), with all the protections they offer with pre-compilation warnings and tips. This is what makes it "hard". It will result in you missing typos, forgetting to include libraries and the like. But to some extent this will make you a better programmer, because you will have to find the mistakes yourself.

    The book offers a practical approach to learning a language, consisting of a series of tasks which steadily introduce new concepts and methods and increase in difficulty as they are introduced. This allows you to learn best practises which might be lost learning methods and concepts in isolation (not as part of a working program) as you might in other books.

    Despite the use of the word hard, I found this book is far easier to learn C from that other books. Including the much recommended 'The C Programming Language' by Kernighan & Ritchie. I found K&R valuable to gain an understanding of the different aspects of C to apply to programming in C. However, I found 'Learn C the Hard Way' much easier to get in to (K&R's latest edition is from 1988) and came away with valuable best practises and more practical C skills.