После K & R, какую книгу можно использовать для обучения программированию на простом C?

После "Язык программирования C" Брайана Кернигана и Денниса Ритчи, некоторые из книг, наиболее предпочитаемых новичками, оказываются наиболее эффективными, например, что-либо Herb Schildt или даже O'Reilly Практическое программирование на C, и, похоже, нет такой альтернативы. В противном случае большинство доступных материалов о С++.

Помимо K & R и отличного C: Справочное руководство, которое у меня уже есть, какие другие книги лучше всего использовать для обучения для кода в C, (plain C89, а не С++), не изучая плохие практики на этом пути?

Ответ 2

C: Справочное руководство от Harbison and Steele

Это не учебник, но он передает лучшую книгу на C (даже на K & R, на мой взгляд). Используется вместе с K & R (или любым другим учебником), вы получите отличную основу в C.

Ответ 4

В этом объясняется, почему Шильдт плохой. Еще одна критика здесь.

Найдите SO для ресурсов C.

Ответ 5

K & R существенно охватывает все, что вам нужно знать о C, и даже реализует несколько структур данных, которые обычно используются. Если вы используете * nix и хотите узнать, как воспользоваться операционной системой, "Расширенное программирование" в среде UNIX, третий выпуск хорошая справочная/справочная информация по общим вопросам, таким как чтение файла, создание потоков и т.д. Пример кода находится на C.

Ответ 6

Я бы сказал, чтобы полностью отказаться от книг. Выбирайте проект, любой проект (хотя и не слишком большой), и реализуйте его в C. Нет никакой замены просто прыгать и делать это. K & R дает достаточно знаний о том, что вы можете начать спотыкаться и получать опыт, который обеспечивает истинное хорошее обучение.

Ответ 7

Мне нравится Указатели на C от Kenneth A. Reek. Я не буду делать так, чтобы сказать это лучше, чем K & R, но я определенно нашел его более дружелюбным и более легким для изучения. Я начал с K & R, но на самом деле не получал виски C до тех пор, пока я не взял эту книгу.

Изменить. Я также узнал, что цена этой книги резко возросла с тех пор, как я ее купил. Поэтому, хотя моя рекомендация по-прежнему остается таковой, я не могу рекомендовать ее по текущей запрашиваемой цене. Поэтому, если вы можете найти использованную копию или копию в библиотеке, тогда ее стоит получить, но по ее текущей цене есть и другие книги, которые в основном так же хороши для намного меньшего количества денег.

Expert C Программирование - это книга, которую я считаю достойной, по крайней мере, просмотром, как только вы получили висеть C, хотя я не решаюсь ее рекомендовать. С положительной стороны он содержит множество хороших советов и трюков и некоторые очень полезные советы. На минусовой стороне эти трюки и советы плохо организовываются, зарываются среди не очень полезных советов, и половина книги кажется заполненными хромыми шуточками, азидами и нерелевантными (но иногда забавными) историями. Поэтому я бы взял его из библиотеки, но не заплатил за него деньги.

Но, как вы, несомненно, понимаете, вы никогда не научитесь C, пока не напишете C.

Ответ 9

Возьмите свою книгу K & R еще раз, и на этот раз выполните упражнения. Затем сравните свой код с кодом в K & R и посмотрите, имеет ли он подобную элегантность в функциональных интерфейсах и структурах данных. Это не книга, которую можно быстро прочитать и перейти к следующей книге. Он содержит много полезной информации, и упражнения помогут вам реализовать некоторые из них, которые вы, вероятно, пропустили в первом чтении.

Ответ 10

Начиная с Ivor Horton (3-е издание) от APress - отличная вступительная книга по программированию на C. Эта книга очень тщательная и не является справочной книгой, но хорошим учебным пособием от начала до конца на всем, что на языке С.

Начало C by Ivor Horton (3rd Edition)

Ответ 12

Лучший учебник по C у меня есть C: подход к разработке программного обеспечения Питера А. Дарнелла и Филиппа Марголиса. Хотя он (незаслуженно) не так знаменит, как другие книги, я нашел его очень читаемым и обрабатывает все детали, которые K & R пропускает.

У него есть два недостатка:

  • Это с 1996 года, поэтому он не охватывает C99. (Это должно быть хорошо с вами, поскольку вы заинтересованы в C89.)
  • Это довольно дорого.

Edit: Другая интересная книга - Часто задаваемые вопросы по программированию на С от Steve Summit. Хотя у меня нет этой книги в печати, сопровождаемый веб-сайт помог мне в понимании менее очевидных особенностей C.

Ответ 13

Я также мог бы рекомендовать чтение программ на C. К сожалению, я не сделал этого достаточно, чтобы рекомендовать некоторые из них.

Ответ 14

Я согласен с McWafflestix, лучший способ изучить любой язык программирования - просто перейти к проекту и найти все, что вам нужно. Вот как я узнал... вокруг 4 языков, я думаю? И он работал последовательно.

Ура!

Ответ 16

K & R также не является текущей версией C. ISO или ANSI C.