Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Си.doc
Скачиваний:
3
Добавлен:
15.11.2019
Размер:
2.72 Mб
Скачать

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

КАФЕДРА “ИНФОРМАТИКА”

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ Cи

Автор: старший преподаватель Лучников В.А.

Иркутск

2011

Лучников В.А. Программирование на языке Си. Учебное пособие – Иркутск: ИрГУПС, 2011.-154 с.

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

Учебное пособие содержит последовательное изложение основ программирования на примере алгоритмического языка Си, необходимую для практической работы справочную информацию. Пособие снабжено большим количеством примеров, иллюстрирующих основные приемы программирования. Рассматривается структурная и объектно-ориентированная технологии программирования, методы проектирования, отладки и тестирования программ, использование основных структур данных для решения конкретных практических задач. В конце каждой темы приводятся часто встречающиеся ошибки программирования, относящиеся к этой теме. Изложение материала опирается на учебник автора “Программирование на языке высокого уровня”.

Данное учебное пособие является вторым в серии учебных пособий по программированию на алгоритмических языках высокого уровня, написанных автором. Следующими будут выпущены учебники по программированию на языках JavaScript, PHP, необходимые студентам специальностей Института информационных технологий и моделирования.

Предисловие

Универсальный алгоритмический язык Си был разработан в 1972 году 30-летним специалистом по системному программированию, сотрудником фирмы BELL LABORATORIES Деннисом Ритчи, получившим степень бакалавра по прикладной математике в Гарвардском университете.

Название Си (С) – это третья буква английского алфавита. Язык Си стал преемником ранее созданного для внутреннего использования фирмой языка Би (В). Отчасти язык Би основывался на созданном в Кембриджском университете языке BCPL (Basic Combined Programming Language – базовый комбинированный язык программирования), который в свою очередь стал потомком Алгола-60.

Первоначально Си был задуман как средство для написания операционной системы UNIX, но как только эта система получила широкое признание в компьютерном мире, он обрел популярность как так называемый язык среднего уровня. В нем удобство, краткость и мобильность языков высокого уровня сочетаются с возможностью непосредственного доступа к аппаратуре, что традиционно обеспечивалось Ассемблером. Автор сумел избежать катастрофической сложности языков-предшественников, пытавшихся угодить всем и во всем. Однако такой подход не лишил Си его мощи: из ограниченного набора его элементов можно по немногим простым и логичным правилам составлять очень сложные конструкции.

Сила языка Си заключается в способности его создавать сложные программы из простых элементов. Можно сказать, что девизом языка Си стало «Multum in parvo» - многое из немногого. Этому способствовали его особенности:

  • в нем реализованы некоторые операции низкого уровня (операции над битами), напрямую соответствующие машинным командам,

  • его базовые типы данных отражают те же объекты, с которыми приходится иметь дело в программах на Ассемблере – байты, машинные слова, символы, строки,

  • он поддерживает механизм указателей на переменные, массивы, структуры и функции,

  • несмотря на эффективность и мощность своих конструкций, он относительно мал по объему.

Первое описание языка Си было дано Б.Керниганом и Д.Ритчи в ставшей раритетом книге «Язык программирования Си», появившейся в 1978 году. Второе, переработанное и дополненное, издание этой книги вышло в свет в 1988 году [1] (имеется русский перевод).

Стандарт языка Си, соответствующий данному описанию, был утвержден Американским национальным институтом стандартов ANSI в 1989 году. Этому же стандарту соответствует краткий по объему, но насыщенный по содержанию справочник [2].

Язык, написанный одним человеком, обычно отражает опыт автора. Деннис Ритчи – выдающийся системный программист, разрабатывающий языки программирования, операционные системы и текстовые редакторы. Поэтому Си – это язык, созданный программистом для программистов, чего нельзя сказать о других алгоритмических языках: Кобол создан для менеджеров, Бейсик – для школьников, Паскаль – для студентов, Фортран и Алгол – для научных работников и аспирантов, Ада – для военных, Лого – для детей, Пролог – для интеллектуалов, ПЛ/1 – для любителей сложностей, АПЛ – для марсиан. Один Си – это язык для программистов-профессионалов. Однако этот язык не предназначен для первоначального обучения программированию. Поэтому лучше всего изучать язык Си после освоения одного из базовых современных языков программирования – Паскаля.