Ответ 1
Совсем недавно Джоэл Спольский заявил, что программирование на C имеет решающее значение для всех разработчиков программного обеспечения. В этой статье он ссылается на книгу Kernighan and Ritchie, которая является общепринятой классической книгой C. Однако, изучив программирование на С, используя эту книгу, это что-то вроде перетаскивания для случайного ученика.
Тем не менее, если вы уже знакомы с Java, это не вы.
Тем не менее, это книга, которую стоит прочитать. Если ничего другого, я бы поискал его в библиотеке.
Этот учебник немного устарел (особенно по сравнению с ANSI C), но если вы ищете самую быструю очистку синтаксис, это не страшно.
Учитывая небольшой базовый синтаксис (который вам будет очень хорошо знаком), вы должны перейти прямо к C-библиотекам. То, что большая часть фактической функциональности, которая вам понадобится, будет в любом случае. Я думаю, что вы обнаружите, что большая часть материала, требуемого для "мастеринга" C, действительно будет в тех поддерживающих библиотеках.
Для полноты, если вам нужен настоящий компилятор:
В моей дневной работе моя среда разработки разделена между Linux (Fedora 14) и Windows 7. В обоих случаях я использую gcc по случаю, когда мне нужно написать C-код. В то время как gcc является принятым стандартом для установки Fedora, на стороне Windows вы захотите либо MinGW, либо Cygwin, любой из которых может дать вам gcc.
Если бы я все еще преподавал программирование на С, я бы рекомендовал некоторую комбинацию вышеперечисленного для продвинутых самостоятельных учеников.