Learning C "the hard way" http://c.learncodethehardway.org/book/