Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
konspect.doc
Скачиваний:
7
Добавлен:
23.09.2019
Размер:
151.55 Кб
Скачать

Язык программирования Си. Лекции. Прасолов А.Н.

3. Правила формального описания синтаксиса языка программирования

Под синтаксисом языка программирования понимают правила построения корректных конструкций данного языка. Синтаксис языка можно описать формально. Для этого удобно использовать расширенную форму Бэкуса-Наура (БНФ), которая состоит из ряда следующих обозначений и правил:

1)символы в кавычках переносятся в конструкцию языка так, как они записаны. Кавычки при этом отбрасываются. 2)имена, записанные слитно русскими и латинскими буквами, обозначают различные конструкции языка. Например, оператор_цикла;

3)квадратные скобки охватывают элементы языка, которые могут повторяться 0 или 1 раз.

4)фигурные скобки охватывают элементы языка, которые могут повторяться 0 или много раз.

5)символ | обозначает или, то есть используется для задания альтернативных значений

6)круглые скобки используются для группировки.

7)многоточие используется для обозначения очевидных пропущенных значений в перечислении;

8)символ = обозначает - слово есть.

5. Идентификаторы языка Си

Идентификаторы или имена служат для обозначения различных объектов программ: переменных (ячеек памяти), адресов, функций, файлов и т.д., иначе говоря - данных и действий над данными.Имена должны начинаться с букв латинского алфавита или знака подчеркивания, далее допускается использовать и арабские цифры:

БНФ:

имя = ( буква | "_" ) { буква | цифра | "_" }

буква = |"A"|"B"|...|"Y"|"Z"|"a"|"b"|...|"y"|"z" цифра = "0"|"1"|...|"9"

4. Основные типы данных языка Си. Правила записи констант различных типов. Беззнаковый тип для целых данных. Символьные строки. В языке Си предопределены несколько имен типов БНФ: имя_типа = "int" | "short" | "long" | "char" |"float" | "double". Целые: int, short, long, char. Вещественные: double, float, long double.

Константы - это объекты данных, которые не меняют своих значений в процессе выполнения программы. Имя константы однозначно определяет и ее тип, и ее значение.

Рассмотрим правила их записи.

БНФ:

целая_константа = ( десятичная | восьмеричная | шестнадцатеричная ) десятичная = ("1"|"2"…|"9") {цифры}

восьмеричная = "0" цифра8 {цифра8}

шестнадцатеричная = "0х" {"0" |"1"|… "A" … "F" }

БНФ:

вещ_константа = цифра {цифра} "." {цифра} [ "e" [ "+" | "-" ] цифра {цифра} ]

Символьной константой является любой символ, заключенный в апострофы: 'A', 'c', 'd'. Значение символьной константы - величина целого типа, равная коду символа из таблицы кодов.

'\n' - символ перевода строки,

'\r' - символ возврата каретки,

'\t' - символ табуляции,

'\b' - символ возврата на шаг,

'\\' - обратная косая черта,

'\"' - кавычки,

'\0' - символ с кодом 0.

БНФ:

имя_беззнакового_типа =

"unsigned "("int"|"long"|"short"|"char" )

Пример:

unsigned int ab, c, d;

Последовательность символов, заключенная в двойные кавычки, представляет собой символьную строку.

6. Понятие функции. Стандартная функция printf.

Под функцией понимают часть программы, которая реализует вполне законченный алгоритм, и может быть вызвана (то есть, запущена) из любого места программы. Функции могут возвращать значения, тогда и вызов может быть использован в любом месте где допустимо использ значений соответств типа.

Функция предназначена для вывода информации на стандартное устройство вывода (stdout), которым обычно является экран дисплея.

БНФ:

"printf" "(" формат { "," аргумент } ")"

Формат - это адрес строки символов, которая выводится в стандартное устройство вывода.

В строке символов могут присутствовать спецификации преобразования данных, каждой из которой должен соответствовать аргумент. спецификации преобразования:

%d - для вывода целых чисел;

%c - для вывода образа символа, соответствующий аргумент должен содержать код символа;

%f - для вывода вещественного числа в виде целой и дробной части;

%e - для вывода вещественного числа в виде мантиссы и порядка;

%g - для вывода вещественного числа в виде %f или %e в зависимости от значения числа;

%u - для вывода беззнакового целого числа в десятичной системе счисления;

%o - для вывода беззнакового целого числа в восмеричной системе счисления;

%x - для вывода беззнакового целого числа в шестнадцатеричной системе счисления;

%s - для вывода на экран символьной строки, соответствующий аргумент должен быть адресом строки (т.е. именем символьного массива или строковой константой).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]