Интернет-издание. 2023. — 1422 с.
Перевод издания 2008 года.
Эта книга разработана в качестве основного текста для курса Си на уровне бакалавриата. Предыдущий опыт программирования на языке высокого уровня или ассемблере является полезным, но не обязательным для читателя с компьютерной грамотностью ("начинающий адепт", как сказал один из моих бывших редакторов).
Поскольку книга является самодостаточной и удобной для использования, а также для обучения, она является превосходным сопроводительным текстом для курса по структурам данных, дизайну компилятора, операционным системам, компьютерной графике, встроенным системам или другим курсам, использующим Си для проектной работы.
Благодаря разделам вопросов и ответов, а также акценту на практических проблемах, книга также будет интересна читателям, которые обучаются в классе или изучают Си самостоятельно.
Организация
Книга состоит из четырёх частей:
Основные компоненты Си. Главы 1-10 охватывают достаточно Си, чтобы позволить читателю писать однофайловые программы, используя массивы и функции.
Расширенные возможности Си. Главы 11-20 основаны на материале в предыдущих главах. Темы становятся немного сложнее в этих главах, которые обеспечивают углублённое освещение указателей, строк, препроцессора, структур, объединений, перечислений и низкоуровневых функций Си. Кроме того, две главы (15 и 19) предлагают руководство по разработке программ.
Стандартная библиотека Си. В главах 21-27 основное внимание уделено библиотеке Си - большому набору функций, которые поставляются с каждым компилятором. Эти главы, скорее всего, будут использоваться в качестве справочного материала, хотя частью подходят для лекций.
Справка. Приложение А даёт полный список операторов языка Си. В приложении B описаны основные различия между С99 и С89, а в Приложении С - различия между С89 и K & R Си. Приложение D представляет собой алфавитный список всех функций в стандартных библиотеках С89 и С99 с подробным описанием каждого из них. Приложение E содержит набор символов ASCII. Аннотированная
библиография указывает читателю на другие источники информации.