netlib.narod.ru | < Назад | Оглавление | Далее > |
Язык Си — это универсальный язык программирования, для которого характерны компактность выражений, современные механизмы управления и структуры данных, богатый набор операторов. Язык Си не является ни языком «очень высокого уровня», ни «большим» языком, и не рассчитан на какую-то конкретную область применения. Но отсутствие ограничений и универсальность языка делают его более удобным и эффективным для решения многих задач, чем языки, предположительно более мощные.
Первоначально Си был создан Деннисом Ритчи как инструментальное средство для написания операционной системы UNIX на компьютере PDP-11 и реализован в рамках этой операционной системы. Операционная система, компилятор языка Си, и почти все прикладные программы системы UNIX (включая и те, которые использовались при подготовке этой книги) написаны на Си. Коммерческие компиляторы с языка Си существуют также на нескольких машинах других типов, среди которых IBM/370, Honeywell 6000 и INTERDATA 8/32. Си не привязан к конкретной аппаратуре или системе, и на нем легко писать программы, которые без каких-либо изменений переносятся на другие машины, где есть Си-компилятор.
Цель этой книги — помочь читателю научиться программировать на Си. Она содержит учебное введение, позволяющее новичкам начать программировать как можно скорее, а также главы, посвященные основным свойствам языка и справочное руководство. В ее основу положены изучение, написание и проработка примеров, а не простое перечисление правил. Почти все примеры представляют собой законченные реальные программы, а не разобщенные фрагменты. Все они были проверены на машине точно в том виде, как приводятся в книге. Помимо демонстрации эффективного использования языка, там, где это было возможно, мы стремились проиллюстрировать полезные алгоритмы и принципы хорошего стиля программирования и их разумного проектирования.
Эта книга не является вводным курсом по программированию. Предполагается, что читатель знаком с такими основными понятиями программирования как «переменная», «присваивание», «цикл», «функция». Тем не менее и новичок в программировании сможет прочесть книгу и изучить язык, хотя для него будет очень полезным общение с более знающими специалистами.
Наш опыт показал, что Си — удобный, выразительный и гибкий язык, пригодный для программирования широкого класса задач. Его легко выучить, и он не теряет своих качеств с ростом опыта программиста. Мы надеемся, что эта книга поможет вам хорошо его освоить.
Вдумчивая критика и предложения многих друзей и коллег помогали нам написать книгу. В частности, Майк Бианки (Mike Bianchi), Джим Блу (Jim Blue), Стью Фелдман (Stu Feldman), Дуг Макилрой (Doug McIlroy), Билл Рум (Bill Roome), Боб Розин (Bob Rosin) и Ларри Рослер (Larry Rosler) внимательно прочли все многочисленные варианты этой книги. Мы в долгу у Ала Ахо (Al Aho), Стива Бьерна (Steve Bourne), Дана Дворака (Dan Dvorak), Чака Хейли (Chuck Haley), Дебби Хейли (Debbie Haley), Марион Харрис (Marion Harris), Рика Холта (Rick Holt), Стива Джонсона (Steve Johnson), Джона Машея (John Mashey), Боба Митца (Bob Mitze), Ральфа Мьюа (Ralph Muha), Питера Нельсона (Peter Nelson), Эллиота Пинсона (Elliot Pinson), Билла Плейджера (Bill Plauger), Джерри Спивака (Jerry Spivack), Кена Томпсона (Ken Thompson) и Питера Вейнбергера (Peter Weinberger) за полезные советы, полученные от них на различных стадиях подготовки рукописи, а также у Майка Леска (Mile Lesk) и Джо Осанны (Joe Ossanna) за помощь при подготовке ее к изданию.
Брайан В. Керниган
Деннис М. Ритчи
netlib.narod.ru | < Назад | Оглавление | Далее > |