|
|||
Важным является то, что символ «#» используется в препроцессоре и не может выступать в качестве части какой-либо лексемы.Стр 1 из 3Следующая ⇒
Общая характеристика языка C. Введение Язык программирования C принадлежит к группе процедурных языков программирования. Он был разработан сотрудниками компании Bell Labs Кеном Томпсоном и Денисом Ритчи в период с 1969-1973 гг. Разработка этого языка программирования берёт своё начало у языка программирования B, благодаря чему он и получил своё название – C. Стоит отметить, что B был разработан для реализации рекурсивных, машинно-независимых приложений. К таковым относились операционные системы (ОС) и языки программирования. Его важной особенностью и, в то же время, большим недостатком является отсутствие системы типов. Единственный тип данных, который был в нём реализован представляет собой естественный формат машинного словабазовой машины. Это слово могло обрабатываться либо как целое число, либо как адрес памяти в зависимости от контекста. Основной идеей, заложенной в C, являлось то, что разработчики стремились к упрощению процесса компиляции программы, путём использования однопроходного механизма. Т.е. предполагалось, что по завершению компиляции каждой элементарной составляющей программного кода должен соответствовать минимальный набор машинных команд, в то время как использование базовых элементов языка программирования не должно задействовать библиотеку времени исполнения. Так как однопроходной механизм компиляции программы не предполагает возвращения к уже обработанному тексту, использованию любой переменной или функции должно предшествовать её объявление. Стандартная библиотека C обладает небольшим размером. Как следствие всего перечисленного ранее, разработка компиляторов осуществлялась достаточно легко. Поэтому, C является кроссплатформенным языком программирования, а это значит, что программы, которые соответствуют стандарту языка, имеют возможность компиляции под архитектуры компьютеров разных типов. Изначально C был разработан для реализации ОС UNIX, однако возможности языка позволили расширить сферу его применения. Так он нашёл применение в проектах, для которых более свойственным было использование ассемблера, в том числе в ОС и разработке пакетов прикладных программ (ППП). Обосновано это как раз тем, что конструкции языка достаточно близко сопоставляются с машинными инструкциями. Основная цель создания языка программирования C заключалась в попытке сделать написание больших программ более простым, с учётом минимизации количества ошибок в соответствии с правилами процедурного программирования, предполагая то, что компилятор не будет добавлять лишних накладных расходов на итоговый программный код. Последнее считается прерогативой языков программирования высокого уровня. С этой позиции, C имеет следующие особенности: · простая языковая база, которая предполагает размещение разных функциональных возможностей в отдельные библиотеки; · ориентирование на процедурное программирование; · использование препроцессора; · минимизация количества ключевых слов; · наличие системы типов и возможность использования типов данных, определяемых пользователем; · наличие указателей на функции и статических переменных; · использование разных областей видимости; · наличие указателей, функций и статических переменных. Относительно языка B в C отсутствуют: · сопрограммы; · вложенные функции; · возможность прямого возвращения нескольких значений из функции; · средства автоматического управления памятью; · встроенные средства объектно-ориентированного программирования (ООП); · средства функционального программирования. Некоторые отсутствующие возможности можно имитировать с помощью встроенных средств языка программирования, часть из них с помощью добавления сторонних библиотек, а часть реализована в некоторых компилятора в качестве расширения языка. После завершения разработки язык был хорошо принят разработчиками программного обеспечения (ПО), так как он позволял создавать компиляторы под разные платформы, иметь довольно точное представление о том, как работает программный код, и более эффективному исполнению программ в сравнении с аналогичными программами, написанными на других языках программирования высокого уровня. Синтаксис и семантика Алфавит языка программирования C включает в себя: · символы латинского алфавита; Ряд языков программирования предполагает то, что регистр, который используется при составлении идентификаторов и указании ключевых слов, не имеет значения и переменные написанные разным регистром значат одно и то же. В C это утверждение не будет верным. Так, например, идентификаторы myApp и myapp будут иметь разное значение, и, если в программном коде первый идентификатор является объявленной переменной, а второй нет – будет выведено сообщение о синтаксической ошибке. Таким образом, состав используемого алфавита имеет следующий вид: a..z, A..Z. · цифры; · специальные символы. К специальным символам относятся следующие: «,», «;», «.», «+», «-», «*», «/», «\», «^», «=», «&», «~», «!», «>», «<», «(», «)», «{», «}», «[», «]», «%», «|», «’», «”», «?», «:», «_», «#». Важным является то, что символ «#» используется в препроцессоре и не может выступать в качестве части какой-либо лексемы. Из всех допустимых символов формируются лексемы. Лексемами являются константы, знаки операций и идентификаторы. При трансляции из программного кода выделяются лексемы, имеющие максимальную длину и содержащие какие-либо допустимые символы. В том случае, когда в лексеме встречается недопустимый символ, трансляция останавливается и лексический анализатор выдаёт ошибку. Лексемы входят в состав выражений. Выражения, в свою очередь, составляют инструкции и операторы.
|
|||
|