Основные понятия языка программирования. Структура ЯВУ

Содержание

Слайд 2

Структура ЯВУ [http://kufas.ru]

Структура ЯВУ

[http://kufas.ru]

Слайд 3

Алфавит Алфавит – набор символов, допустимых для записи программ. Алфавит языка

Алфавит

Алфавит – набор символов, допустимых для записи программ.
Алфавит языка Си включает

(5.2.1)
латинские буквы (A-Z, a-z);
цифры (0-9);
29 графических символов (! " # % & ' ( ) * + , - и т.д.);
пробел, горизонтальная табуляция, вертикальная табуляция, символ перехода на новую страницу.
Слайд 4

Лексемы Из символов алфавита образуются лексемы. Лексема (токен) – это минимальная

Лексемы

Из символов алфавита образуются лексемы. Лексема (токен) – это минимальная смысловая

единица языка.
К лексемам в языке Си относятся (6.4)
идентификаторы;
ключевые слова;
константы;
строковые литералы;
пунктуаторы (punctuators).
Слайд 5

Идентификаторы Идентификатор (имя) – строка символом, используемая для идентификации некоторой сущности

Идентификаторы

Идентификатор (имя) – строка символом, используемая для идентификации некоторой сущности в

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

Ключевые слова Ключевое слово – это идентификатор, смысл которого зафиксирован правилами

Ключевые слова

Ключевое слово – это идентификатор, смысл которого зафиксирован правилами языка

программирования и который используется для распознавания предложений в программе.
Ключевое слово называется зарезервированным, если синтаксис запрещает его использование в качестве идентификатора, определяемого программистом.
Во многих языках содержатся предопределенные имена, которые занимают некоторое среднее положение между зарезервированными словами и именами, определяемыми пользователем (см. слайд 5).
Слайд 7

Ключевые слова языка Си (c99)

Ключевые слова языка Си (c99)

Слайд 8

Константы Константа (постоянная величина) - это величина, значение которой остается неизменным

Константы

Константа (постоянная величина) - это величина, значение которой остается неизменным во

время выполнения программы.
Различают целые, вещественные, символьные и строковые константы.
Слайд 9

Пунктуаторы Пунктуатор – символ, который имеет независимое синтаксическое и семантическое значение.

Пунктуаторы

Пунктуатор – символ, который имеет независимое синтаксическое и семантическое значение. В

зависимости от контекста он определяет операцию для выполнения.
[ ] ( ) { } . ->
++ -- & * + - ~ !
/ % << >> < > <= >= == != ^ | && ||
? : ; ...
= *= /= %= += -= <<= >>= &= ^= |=
, # ##
<: :> <% %> %: %:%:
Слайд 10

Синтаксис и семантика ЯП Синтаксис языка программирования – набор правил, описывающий

Синтаксис и семантика ЯП

Синтаксис языка программирования – набор правил, описывающий комбинации

символов алфавита, считающиеся правильно структурированной программой или её фрагментом. [wikipedia]
Семантика языка программирования – это правила придания смысла синтаксически правильным программам. Эти правила определяют ту последовательность действий вычислительной машины, которую она должна выполнить, работая по данной программе.
Слайд 11

Операции и выражения Простейшим средством описания действий является выражение. Выражение задает

Операции и выражения

Простейшим средством описания действий является выражение.
Выражение задает действия, которые

вычисляют единственное значение. Состоит из констант, переменных, а также знаков операций и скобок.
Элементы данных, к которым применяется операция, называют операндами.
Слайд 12

Классификация операций В языке Си операции по способу записи подразделяются на по количеству операндов на

Классификация операций

В языке Си операции по способу записи подразделяются на

по количеству

операндов на
Слайд 13

Побочный эффект Каждая операция имеет операнды определенных типов и задает способ

Побочный эффект

Каждая операция имеет операнды определенных типов и задает способ получения

по значениям этих операндов нового значения определенного типа.
Некоторые операции имеют побочный эффект (side effect).
При выполнении этих операций, кроме основного эффекта - вычисления значения - происходят изменения объектов или файлов. Такова, например, операция постфиксного инкремента “i++”.
Слайд 14

Приоритет и ассоциативность Каждая операция имеет определенный приоритет и ассоциативность. Это

Приоритет и ассоциативность

Каждая операция имеет определенный приоритет и ассоциативность. Это позволяет

без лишних скобок однозначно понимать, к какой операции относится операнд, стоящий между двумя соседними операциями.
Правила приоритетов операций при вычислении выражений определяют порядок, в котором выполняются операции, имеющие разные приоритеты.
a + b * c => a + (b * c)
На вопрос о том, какая из операций, имеющих разный приоритет, выполняется первой, отвечают правила ассоциативности.
a - b + c => ((a – b) + c) // левоассоциативные
a = b = c => ((a = (b = c))) // правоассоциативные
Слайд 15

Порядок вычисления подвыражений В языке Си порядок вычисления подвыражений не определен.

Порядок вычисления подвыражений

В языке Си порядок вычисления подвыражений не определен.

x *

y + c * b * (d - a)
Слайд 16

Порядок вычисления подвыражений Существуют две схемы вычисления логических выражений: полная и

Порядок вычисления подвыражений

Существуют две схемы вычисления логических выражений: полная и неполная.
Полная

схема означает, что выражения вычисляются полностью слева направо.
По короткой схеме вычисление логических выражений прерывается, как только станет известным итоговый результат выражений (истина или ложь).
В языке Си используется короткая схема.
Слайд 17

Операторы Вычисления в программах, написанных на императивных языках программирования, выполняются путем

Операторы

Вычисления в программах, написанных на императивных языках программирования, выполняются путем вычисления

выражения и присваивания результирующих значений переменным.
Чтобы сделать вычисления гибкими, необходимо наличие (по крайней мере) средств выбора среди альтернативных путей потока управления и средств для организации повторного выполнения набора действий.
Операторы определяют каким образом управление передается из одной части программы другой.
Слайд 18

Подпрограммы Подпрограмма - именованная часть программы, содержащая описание определённого набора действий.

Подпрограммы

Подпрограмма - именованная часть программы, содержащая описание определённого набора действий. Подпрограмма

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