Правила формального описания синтаксиса языка программирования
Под синтаксисом языка программирования понимают правила построения корректных конструкций данного языка. Синтаксис языка можно описать формально. Для этого удобно использовать расширенную форму Бэкуса-Наура (БНФ), которая состоит из ряда следующих обозначений и правил:
– символы в кавычках переносятся в конструкцию языка так, как они записаны. Кавычки при этом отбрасываются. Например, «while» означает, что в конструкции языка присутствует while;
– имена, записанные слитно русскими и латинскими буквами, обозначают различные конструкции языка. Например, оператор_цикла;
– квадратные скобки охватывают элементы языка, которые могут повторяться 0 или 1 раз. Например, «AB»[«C»] означает, что в конструкции языка может присутствовать или AB или ABC;
– фигурные скобки охватывают элементы языка, которые могут повторяться 0 или много раз. Например, «AB» означает, что в конструкции языка может присутствовать или AB, или ABC, или ABCC и т.д.;
– символ | обозначает или, то есть используется для задания альтернативных значений из списка элементов, разделенных знаком |. Например, «AB»|»C»|»ff» означает, что в конструкции языка может присутствовать или AB или C или ff;
– круглые скобки используются для группировки. Например, «A»(«B»|»C»)»D» означает, что в конструкции языка может присутствовать или ABD или ACD;
– многоточие используется для обозначения очевидных пропущенных значений в перечислении;
– символ = обозначает присвоить. Например, буква = «A»|»B»|»C».
В дальнейшем, синтаксис языка Си будет описываться либо с помощью примеров, либо с помощью расширенной формы Бэкуса-Наура. В последнем случае это будет помечаться аббревиатурой БНФ.
Идентификаторы или имена служат для обозначения различных объектов программ: переменных (ячеек памяти), адресов, функций, файлов и т.д., иначе говоря – данных и действий над данными.
Имена должны начинаться с букв латинского алфавита или знака подчеркивания, далее допускается использовать и арабские цифры:
При этом прописные и строчные буквы считаются разными.
Длина имени в ANSI стандарте языка Си не ограничена. В Турбо Си имя не может быть длиннее 32 символов. Например: a, a1, _a, a_b.
Выбор имен должен производиться так, чтобы имя как можно точнее соответствовало смыслу объекта или действия, которое оно обозначает. Например: speed_of_body, SpeedOfBody, BodySpeed.
Экономия на длине имен – плохой стиль программирования.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Студопедия рекомендует:
Основные этические категории 1. Основные категории этики: добро; зло; долг; ответственность; честь; совесть; достоинство; равенство; справедливость; и.
Модернизация российского образования В декабре 2001 года правительство России утвердило программный документ &ndash.
Понятие,виды и функции социального обеспечения Социальное обеспечение — форма выражения социальной политики государства.
Оборотные средства. Оборотные средства — это средства, используемые предприятием для осуществления своей постоянной деятельности Оборотные средства — это средства, используемые предприятием для осуществления своей постоянной деятельности, оборотные средства.
Подбор манометра и требования к его установке и эксплуатации. Каждый сосуд и самостоятельные полости с разными давлениями должны быть снабжены манометрами прямого действия.
Правила формального описания синтаксиса языка программирования
Под синтаксисом языка программирования понимают правила построения корректных конструкций данного языка. Синтаксис языка можно описать формально. Для этого удобно использовать расширенную форму Бэкуса-Наура (БНФ), которая состоит из ряда следующих обозначений и правил:
- символы в кавычках переносятся в конструкцию языка так, как они записаны. Кавычки при этом отбрасываются. Например, «while» означает, что в конструкции языка присутствует while;
- имена, записанные слитно русскими и латинскими буквами, обозначают различные конструкции языка. Например, оператор_цикла;
- квадратные скобки охватывают элементы языка, которые могут повторяться 0 или 1 раз. Например, «AB»[«C»] означает, что в конструкции языка может присутствовать или AB или ABC;
- фигурные скобки охватывают элементы языка, которые могут повторяться 0 или много раз. Например, «AB» означает, что в конструкции языка может присутствовать или AB, или ABC, или ABCC и т.д.;
- символ | обозначает или, то есть используется для задания альтернативных значений из списка элементов, разделенных знаком |. Например, «AB»|»C»|»ff» означает, что в конструкции языка может присутствовать или AB или C или ff;
- круглые скобки используются для группировки. Например, «A»(«B»|»C»)»D» означает, что в конструкции языка может присутствовать или ABD или ACD;
- многоточие используется для обозначения очевидных пропущенных значений в перечислении;
- символ = обозначает присвоить. Например, буква = «A»|»B»|»C».
Системы счисления. Представление данных в эвм.
- Делим десятичное число А на 2. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа.
- Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток (0 или1) записывается в разряды двоичного числа в направлении от младшего бита к старшему.
- Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a = 1.
- Делим десятичное число А на 16. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит шестнадцатеричного числа.
- Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды шестнадцатеричного числа в направлении от младшего бита к старшему.
- Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 16.
- шестнадцатеричное число переводят в двоичное;
- разбивают его на триады, начиная с младшего бита;
- заменяют триады соответствующими им эквивалентами в восьмеричной системе.
1.2. Правила записи программ на языке с
Программа на языке С должна быть записана в текстовый файл с расширением обычно .с или .cpp. Затем программа компилируется в объектный код и обрабатывается сборщиком, затем преобразуется в исполняемый файл с помощью линковщика. Каждая программа на языке С должна иметь точку входа роль которой выполняет функция main.
Приведем пример простейшей программы на языке С:
Такая программа корректно скомпилируется, успешно запустится и корректно завершится
Для того, чтобы можно было оценить работоспособность программы, можно добавить вывод какого-нибудь сообщения:
/* включить описание функции ввода вывода*/
int main(); //главная функция
int a; //описание переменных
system(“PAUSE”); //задержка экрана
- Комментарии используются 2 видов: многострочный и до конца строки. Комментарии используются исключительно для улучшения наглядности читаемости программы и не рассматриваются компилятором.
- Обычно программа начинается с включения заголовочных файлов(include).
- По правилам языка С любой локальный блок, в том числе и тело функции сначала содержит все локальные переменные, а уже затем исполняемые операторы.
- Строительным элементом программы являются операторы. Операторы выполняются в той последовательности, в которой они записаны.
- Язык С чувствителен к регистру.
- На следующей строке будет написано:
1.3 Правила формального описания синтаксиса языка программирования
Под синтаксисом языка программирования понимают свод правил построения корректных конструкций данного языка. Для формального описания синтаксиса часто используют расширенную форму Бекуса – Науэра.
Выделяют следующие правила:
- Символы в кавычках переносятся в конструкции языка так, как они записаны. Кавычки при этом отбрасываются
- Фигурные скобки могут охватывать элементы, которые повторяются 0, 1 или более раз
- Вертикальная черта используется в качестве альтернативных значений из списка
- Круглые скобки используются для группировки
- Многоточие используется для пропуска понятных значений элементов
1.4. Идентификаторы языка С
Идентификаторы или имена служат для обозначения различных объектов программы: переменных, функций, файлов. Имена должны обязательно начинаться с букв латинского алфавита или знака подчеркивание. Далее допускаются цифры
буква=(“А”|”a”|”B”|”b”|…|”Z”|”z”)
арабская_цифра есть “0”|”1”|…|”9”|
1.5 Понятие о типах данных
Тип данных определяет структуру объекта, множество его разрешенных значений и множество операций, которые можно над ним выполнять. Объекты различных типов требуют различного объема памяти для их хранения и различных команд процессора для выполнения действий над ними.
1.5.1 Классификация типов данных
- встроенные
- элементарные
- числовые (
- целые (знаковые и беззнаковые)
- вещественные (одинарной точности, двойной точности, расширенной точностью)
- массивы
- структуры
- текстовые типы
1.5.2 Основные типы данных языка C
В языке С представлены несколько оперделенных типов
пред_тип = “int”|”shot”|”long”|”char”|”float”|”double”
- char – 1 байт – 256 различных значений (-128 до 127)
- shot – 2 байта – (-2 15 до 2 16 )
- int – 4 байта – (-2 млд до 2 млд)
- long – 8 байт – (много))
unsigned (беззнаковый тип) – используется для подчеркивания того, что имеются только положительные числа
беззнаков_тип = “unsigned “имя_целого_типа
- числовые (
- элементарные