В данной книге, задуманной как справочник для программистов, работающих на языке С. подробно описаны все аспекты языка С и его библиотеки стандартных функций. Главный акцент сделан на стандарте ANSI/ISO языка С. Приведено описание как стандарта С89, так и С99. Особое, внимание уделяется учету характеристик трансляторов, среды программирования и операционных систем, использующихся в настоящее время. Уже в самом начаче подробно представлены все средства языка С, такие как ключевые слова, инструкции препроцессора и другие. Вначале описывается главным образом С89. а затем приводится подробное описание новых возможностей языка, введенных стандартом С99. Такая последовательность изложения позволяет облегчить практическое программирование на языке С, так как в настоящее время именно эта версия для большинства программистов представляется как "собственно С", к тому же это самый распространенный в мире язык программирования. Кроме того, эта последовательность изложения облегчает освоение C++, который является надмножеством С89.
В книге много содержательных, нетривиальных примеров. Рассмотрены наиболее важные и распространенные алгоритмы и приложения, необходимые для каждого программиста, а также применение методов искусственного интеллекта и программирование для Windows 2000. Обсуждаются вопросы эффективности, переносимости и отладки программ. А в конце книги возможности языка С иллюстрируются на примере разработки его интерпретатора Это. несомненно, самый лучший способ для осмысления, постижения и понимания чистоты и элегантности языка С.
Герберт Шилдт (Herbert Schildt) - выдающийся автор книг по программированию, общепризнанный авторитет в области программирования на языках С, C++, Java и приложений для Windows. Тираж его книг, переведенных на многие языки мира, составляет более 2,5 миллионов экземпляров. Он является автором многочисленных бестселлеров, среди которых наиболее известны такие издания, как C++: The Complete Reference, Teach Yourself С, Teach Yourself C++, C++ from the Ground Up, Windows 2000 Programming from the Ground Up, Java: The Complete Reference (Полный справочник по Java, изд. "Диалектика"). Г Шилдт имеет степень магистра наук в области вычислительной математики, присвоенную ему Иллинойским университетом (University of Illinois).
Это четвертое издание книги С: The Complete Reference (Полный справочник по С). Со времен третьего издания в области программирования произошло много прогрессивных изменений, в частности, получили широкое распространение Internet и World Wide Web, был изобретен язык Java, а C++ был стандартизирован. Также был создан новый стандарт С, названный С99. Несмотря на то, что Стандарт С99 пока не завоевал всеобщего признания, его создание стало одним из самых выдающихся событий в области программирования за последние пять лет. В условиях стремительного развития компьютерных технологий порой нелегко сразу определить фундаментальные элементы, на которых строится будущее этих технологий. Именно таким основополагающим элементом является язык С. Во всем мире значительная часть текстов программ написана на этом языке. На его основе построен язык C++, а синтаксис языка С является фундаментом языка Java. Если бы язык С был всего лишь отправной точкой для других языков программирования, это был бы интересный, но мертвый язык. К счастью, это не так. Сегодня язык С не менее актуален, чем во время своего создания. Как будет видно из дальнейшего изложения, Стандарт С99 содержит такие новые перспективные конструкции, благодаря которым язык С по праву считается одним из самых прогрессивных в области программирования. Несмотря на большое распространение "потомков" языка С (Java и C++), значение самого С по-прежнему остается первостепенным.
В создании Стандарта С99 участвовали наиболее выдающиеся специалисты по языкам программирования, среди них такие, как Рекс Джашке (Rex Jaeschke), Джим Томас (Jim Thomas), Том МакДональд (Tom MacDonald) и Джон Бенито (John Benito). Как член комиссии по стандартизации я наблюдал процесс создания стандарта и участвовал в дискуссиях по поводу каждого нововведения. В результате ежедневного обмена идеями и мнениями по электронной почте между участниками этого процесса, находящимися практически во всех странах мира, удалось выработать единую концепцию, что и привело в конечном итоге к значительному усовершенствованию языка С.
Надо признать, что, работая над первым изданием этой книги, я не предполагал столь быстрого роста достижений в области программирования, хотя некоторые из них, например, большой успех C++, были предопределены уже с самого начала. Но язык С я считаю одним из лучших среди всех языков программирования. Это изящный, элегантный, логичный и, что особенно важно, мощный язык. Его столь успешное развитие и распространение очень меня радует и вдохновляет.
Эта книга задумана как справочник для всех программистов, работающих на языке С, независимо от уровня их подготовки. Предполагается, что читатель уже имеет некоторое представление об основах языка С и может написать на нем хотя бы простейшую программу. Однако, если читатель только начал изучать С, эта книга послужит отличным дополнением к любому учебнику по С, так как в ней можно будет найти ответы на многие трудные вопросы, возникающие в процессе изучения.
Книга также будет полезна в качестве подробного справочника по основам C++, который, как известно, является объектно-ориентированным расширением языка С, т.е. она пригодится любому программисту, пишущему программы на С или C++.
По сравнению с тремя предыдущими изданиями структура книги в основном осталась неизменной. Большинство изменений определено новыми возможностями языка, появившимися после введения Стандарта С99. Все эти новые возможности подробно описаны в части II книги, в предыдущих изданиях эта информация отсутствует. Часть III, в которой описывается библиотека стандартных функций, в этом издании значительно дополнена, в нее включено описание многих новых библиотечных функций, введенных Стандартом С99. Но, конечно, не изменено полное описание Стандарта С89, который, как известно, очень -важен, ведь именно на его основе создан C++. Кроме того, большинство программистов работают с версией С89, потому что до настоящего времени фактически все еще нет общедоступного компилятора, поддерживающего Стандарт С99.
Книга в целом была значительно переработана с целью ознакомления с новыми характеристиками трансляторов, среды программирования и операционных систем, использующихся в настоящее время.
В книге подробно описаны все аспекты языка С и его библиотеки стандартных функций. Главный акцент сделан на Стандарте ANSI/ISO этого языка. Дано описание как Стандарта С89, так и С99.
Книга состоит из следующих шести частей:
В части I подробно представлены все средства языка С, т.е. его ключевые слова, инструкции препроцессора и другие. В этой части в основном описывается Стандарт С89, а также упоминаются некоторые новые свойства, введенные Стандартом С99.
В части II подробно рассматриваются новые возможности языка, введенные стандартом С99. Есть два аргумента в пользу отдельного описания стандартов С89 и С99. Во-первых, подавляющее большинство программистов используют сегодня С89. Эта версия языка С воспринимается ими как "собственно С". К тому же это самый распространенный в мире язык программирования. Существенно также и то, что С89 является подмножеством C++. Поэтому версия С89 крайне актуальна как сегодня, так и в обозримом будущем. По этим причинам в книге должно быть сделано четкое разграничение между этими версиями языка С. Во-вторых, многие читатели этой книги уже хорошо знакомы с версией С89, и им будет значительно легче найти новый для себя материал, если новые свойства С99 будут изложены в отдельной части книги.
В части III дается описание библиотеки стандартных функций С. Рассматриваются как функции Стандарта С89, так и функции Стандарта С99, причем особо выделены функции, введенные Стандартом С99.
В части IV можно ознакомиться с наиболее важными и распространенными алгоритмами и приложениями, необходимыми для каждого программиста. Здесь рассматриваются методы искусственного интеллекта и их применение, а также программирование для Windows 2000.
В части V вы узнаете много интересного о среде программирования С, здесь обсуждаются вопросы эффективности, переносимости и отладки программ.
В части VI возможности языка С демонстрируются на примере разработки его интерпретатора. Это наиболее увлекательная и даже забавная часть книги. Поэкспериментировать с этим интерпретатором будет истинным наслаждением для любого программиста! Нам кажется, это самый лучший способ для того, чтобы по достоинству оценить чистоту и элегантность языка С.
Эта книга Герберта Шилдта - лишь одна из многих его книг по программированию. Ниже приведены другие книги, представляющие интерес для программистов.
Изучающим программирование под Windows мы рекомендуем следующие книги:
Для изучающих язык С будут интересны такие книги:
Следующие книги будут полезны тем, кто изучает C++:
Изучающим язык Java мы рекомендуем прочесть: Java: The Complete Reference (Полный справочник по Java, изд. "Диалектика").