Ответ 1
Питер ван дер Линден Экспертное программирование C: Deep C Secrets
После "Язык программирования C" Брайана Кернигана и Денниса Ритчи, некоторые из книг, наиболее предпочитаемых новичками, оказываются наиболее эффективными, например, что-либо Herb Schildt или даже O'Reilly Практическое программирование на C, и, похоже, нет такой альтернативы. В противном случае большинство доступных материалов о С++.
Помимо K & R и отличного C: Справочное руководство, которое у меня уже есть, какие другие книги лучше всего использовать для обучения для кода в C, (plain C89, а не С++), не изучая плохие практики на этом пути?
Питер ван дер Линден Экспертное программирование C: Deep C Secrets
C: Справочное руководство от Harbison and Steele
Это не учебник, но он передает лучшую книгу на C (даже на K & R, на мой взгляд). Используется вместе с K & R (или любым другим учебником), вы получите отличную основу в C.
У меня возникло бы желание читать Практика программирования и Программирование Pearls. Оба являются довольно краткими книгами и ориентированы на C
В этом объясняется, почему Шильдт плохой. Еще одна критика здесь.
Найдите SO для ресурсов C.
K & R существенно охватывает все, что вам нужно знать о C, и даже реализует несколько структур данных, которые обычно используются. Если вы используете * nix и хотите узнать, как воспользоваться операционной системой, "Расширенное программирование" в среде UNIX, третий выпуск хорошая справочная/справочная информация по общим вопросам, таким как чтение файла, создание потоков и т.д. Пример кода находится на C.
Я бы сказал, чтобы полностью отказаться от книг. Выбирайте проект, любой проект (хотя и не слишком большой), и реализуйте его в C. Нет никакой замены просто прыгать и делать это. K & R дает достаточно знаний о том, что вы можете начать спотыкаться и получать опыт, который обеспечивает истинное хорошее обучение.
Мне нравится Указатели на C от Kenneth A. Reek. Я не буду делать так, чтобы сказать это лучше, чем K & R, но я определенно нашел его более дружелюбным и более легким для изучения. Я начал с K & R, но на самом деле не получал виски C до тех пор, пока я не взял эту книгу.
Изменить. Я также узнал, что цена этой книги резко возросла с тех пор, как я ее купил. Поэтому, хотя моя рекомендация по-прежнему остается таковой, я не могу рекомендовать ее по текущей запрашиваемой цене. Поэтому, если вы можете найти использованную копию или копию в библиотеке, тогда ее стоит получить, но по ее текущей цене есть и другие книги, которые в основном так же хороши для намного меньшего количества денег.
Expert C Программирование - это книга, которую я считаю достойной, по крайней мере, просмотром, как только вы получили висеть C, хотя я не решаюсь ее рекомендовать. С положительной стороны он содержит множество хороших советов и трюков и некоторые очень полезные советы. На минусовой стороне эти трюки и советы плохо организовываются, зарываются среди не очень полезных советов, и половина книги кажется заполненными хромыми шуточками, азидами и нерелевантными (но иногда забавными) историями. Поэтому я бы взял его из библиотеки, но не заплатил за него деньги.
Но, как вы, несомненно, понимаете, вы никогда не научитесь C, пока не напишете C.
Возьмите свою книгу K & R еще раз, и на этот раз выполните упражнения. Затем сравните свой код с кодом в K & R и посмотрите, имеет ли он подобную элегантность в функциональных интерфейсах и структурах данных. Это не книга, которую можно быстро прочитать и перейти к следующей книге. Он содержит много полезной информации, и упражнения помогут вам реализовать некоторые из них, которые вы, вероятно, пропустили в первом чтении.
Начиная с Ivor Horton (3-е издание) от APress - отличная вступительная книга по программированию на C. Эта книга очень тщательная и не является справочной книгой, но хорошим учебным пособием от начала до конца на всем, что на языке С.
Отличная книга для изучения C: C BY DISSECTION Основы программирования на C Аль Келли и Ира Пол
Очень легко прочитать множество замечательных примеров программирования.
Лучший учебник по C у меня есть C: подход к разработке программного обеспечения Питера А. Дарнелла и Филиппа Марголиса. Хотя он (незаслуженно) не так знаменит, как другие книги, я нашел его очень читаемым и обрабатывает все детали, которые K & R пропускает.
У него есть два недостатка:
Edit: Другая интересная книга - Часто задаваемые вопросы по программированию на С от Steve Summit. Хотя у меня нет этой книги в печати, сопровождаемый веб-сайт помог мне в понимании менее очевидных особенностей C.
Я также мог бы рекомендовать чтение программ на C. К сожалению, я не сделал этого достаточно, чтобы рекомендовать некоторые из них.
Я согласен с McWafflestix, лучший способ изучить любой язык программирования - просто перейти к проекту и найти все, что вам нужно. Вот как я узнал... вокруг 4 языков, я думаю? И он работал последовательно.
Ура!
Есть несколько кратких, но полезных обзоров в (русском зеркале) ACCU, для beginner C и расширенный C.
K & R также не является текущей версией C. ISO или ANSI C.