|
|
Содержание
Описание языка программирования ANSI C: директивы препроцессора, синтаксис языка, структура программы, элементы языка, объявления, выражения, операторы...
Язык программирования общего назначения С широко известен своей эффективностью, компактностью и мобильностью. Благодаря этим своим характеристикам он пригоден практически для любых областей программирования. С показал свою особенную эффективность в системном программировании, т.к. позволяет писать быстрые компактные программы, которые легко адаптируются в других системах. Хорошо написанные программы на С часто работают со скоростью программ на языке ассемблера, но для программиста их обычно легче читать и сопровождать.
С был разработан для сочетания эффективных и мощных средств в относительно небольшом языке. С не содержит встроенных функций для выполнения таких задач, как ввод и вывод, размещение в памяти, манипуляции с экраном и управление процессом. Для выполнения таких задач программисты на С используют "исполнительные библиотеки", наборы заранее определенных функций и макросов. Описания функций исполнительных библиотек включены в отдельную книгу.
Стиль программирования на С и гибкий и компактный. Этот язык достаточно свободный и он не предполагает и не навязывает конкретной модели программирования. Можно как использовать имеющиеся исполнительные программы, так и разрабатывать собственные вариации для конкретных целей. Разработка позволяет изолировать характеристики языка от особенностей процессора в конкретной реализации С, что позволяет писать мобильные коды. Точные определения языка делают его независимым от любой конкретной системы или машины, и в то же время позволяют использовать программы для конкретных систем для того, чтобы воспользоваться преимуществами самых эффективных характеристик конкретной машины.
Среди важных характеристик языка С можно отметить следующие:
Полный набор операторов цикла, условий и перехода для логичного и эффективного управления ходом выполнения программы, способствующий структурному программированию.
Большой набор операторов. Многие из этих операторов соответствуют общим машинным командам и допускают прямую трансляцию в машинные коды. Множество операторов позволяют ясно и с минимальным кодированием создавать другие виды операций.
Несколько размеров целых величин и типы с плавающей точкой обычной и двойной точности. Можно создавать более сложные типы данных, массивы и структуры данных, согласно конкретным требованиям программы.
Объявление указателей на переменные и функции. Пойнтер для элемента соответствует его машинному адресу. Указатели делают программы более эффективными, т.к. позволяют указывать на элемент так, как это делает машина. С обеспечивает арифметику указателей, которая позволяет непосредственно получать доступ и манипулировать адресами памяти.
Предпроцессор С, который обрабатывает текст файла до его компиляции. Можно использовать предпроцессор С для определения констант программы, заменять вызовы функций быстрыми макро-определениями и компилировать части программ в зависимости от заданных условий.
С является гибким языком и оставляет многие решения на усмотрение программиста. Придерживаясь этой философии, С налагает незначительные ограничения на такие вопросы, как преобразование типов. Хотя эти особенности языка и делают процесс программирования более легким, нужно хорошо знать язык для понимания принципов работы программ.
Это руководство организовано следующим образом:
Глава 1, "Введение", знакомит с данным руководством и приводит соглашение о способах записи, принятых в этом издании.
Глава 2, "Элементы С", описывает буквы, числа и символы, которые можно использовать в программах на языке С, и комбинации символов, которые имеют специальные значения для компилятора С.
Глава 3, "Структура программы", рассматривает компоненты и структуру программ на С, и объясняет способ организации исходных файлов С.
Глава 4, "Объявления", объясняет, как задавать в С атрибуты переменных, функций и определяемых пользователем типов. В С имеется ряд заранее определенных типов данных и возможность объявления "агрегированных" типов и указателей. Прототипы функций, как относительно новый объект С, рассматриваются в данной Главе и в Главе 7, "Функции".
Глава 5, "Выражения и Присвоения", рассматривает операнды и операторы, которые формируют в С выражения и присвоения. Кроме того, в этой Главе также рассмотрено преобразование типов и побочные эффекты, которые могут проявиться при вычислении значений выражений.
Глава 6, "Операторы", описывает операторы С, которые управляют процессом выполнения программы.
Глава 7, "Функции", рассматривает функции С. А именно, в данной Главе объясняются прототипы функций, формальные параметры и возвращаемые значения. Показывается, как определять, объявлять и вызывать функции.
Глава 8, "Директивы процессора и Прагмы", рассматривает распознаваемые предпроцессором С инструкции. Это текстовый процессор, который автоматически вызывается перед компиляцией. Кроме того, в этой Главе рассмотрены так называемые "прагмы", специальные инструкции для компилятора, которые можно помещать в исходный файл.