Курс «Алгоритмы и структуры данных» Практическая работа №1 Разработка линейных программ. Базовые структуры алгоритмов. автор: Левоева И.В.
ассистент каф. «ИСиТ»
Основные понятия языка С++ Можно выделить четыре основных элемента: - алфавит языка, или его символы – это основные неделимые знаки, с помощью которых пишутся все тексты на языке;
- лексема, или элементарная конструкция – минимальная единица языка, имеющая самостоятельный смысл;
- выражение задаёт правило вычисления некоторого значения;
- оператор задаёт законченное описание некоторого действия.
- Каждый элемент языка определяется синтаксисом и семантикой. Синтаксические определения устанавливают правила построения элементов языка, а семантика определяет их смысл и правила использования.
Алфавит C++ включает: - прописные и строчные латинские буквы и знак подчёркивания;
- арабские цифры от 0 до 9;
- специальные знаки: { } , | [ ] ( ) + – / % * . \ ? < = > ! & # – ;
- пробельные символы: пробел, символы табуляции, символы перехода на новую строку.
Из символов алфавита формируются лексемы языка: - идентификаторы;
- ключевые (зарезервированные) слова;
- знаки операций;
- константы;
- разделители (скобки, точка, запятая, пробельные символы).
Идентификаторы - Идентификатор – это имя программного объекта.
- В идентификаторе могут использоваться латинские буквы, цифры и знак подчёркивания. Прописные и строчные буквы различаются.
- Первым символом идентификатора может быть буква или знак подчёркивания, но не цифра. Пробелы внутри имён не допускаются.
- Длина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на неё ограничения.
- Идентификатор не должен совпадать с ключевыми словами и именами используемых стандартных объектов языка
Ключевые слова - Ключевые слова – это зарезервированные идентификаторы, которые имеют специальное значение для компилятора.
asm
| else
| new
| this
| auto
| enum
| operator
| throw
| bool
| explicit
| private
| true
| break
| expert
| protected
| try
| caзe
| extern
| public
| typedef
| catch
| false
| register
| typeid
| char
| float
| reinterpret_cast
| typename
| class
| for
| return
| union
| const
| friend
| short
| unsigned
| const_cast
| goto
| signed
| using
| continue
| if
| sizeof
| virtual
| default
| inline
| static
| void
| delete
| int
| static_cast
| volatile
| do
| long
| struct
| wchar_t
| double
| mutable
| switch
| while
| dynamic_cast
| namespace
| template
|
| Знаки операций - Знак операции – это один или более символов, определяющих действие над операндами.
- Внутри знака операции пробелы не допускаются.
- Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов.
- Один и тот же знак может интерпретироваться по-разному в зависимости от контекста.
- Все знаки операций за исключением [ ], ( ) и ? : представляют собой отдельные лексемы.
Константы - Константами называют неизменяемые величины.
Различаются: - целые - 8, 0, 199226;
- вещественные - 5.7, 0.35, 1.75;
- символьные - 'А', 'ю', '*', ;
- строковые константы – "Последовательность символов''.
Комментарии - Комментарий может начинаться с двух символов «прямая косая черта» (//) и заканчиваться символом перехода на новую строку.
- Комментарий может заключаться между символами-скобками /* и */.
- Вложенные комментарии не допускаются.
- Комментарии являются обязательной частью программы.
Типы данных С++ - Для описания основных (арифметических) типов данных определены следующие ключевые слова:
- int (целый);
- char (символьный);
- wchar_t (расширенный символьный);
- bool (логический);
- float (вещественный);
- double (вещественный с двойной точностью).
- Первые четыре типа называют целочисленными (целыми), последние два – типами с плавающей точкой.
Переменные и выражения - Переменная – это именованная область памяти, в которой хранятся данные определённого типа.
- У переменной есть имя и значение. Имя переменной должно быть уникальным в своей области действия.
- Имя служит для обращения к области памяти, в которой хранится значение.
- Во время выполнения программы значение переменной можно изменять.
- Перед использованием любая переменная должна быть описана.
- Пример описания целой переменной с именем «а» и вещественной переменной с именем «х» - int а и float х.
- Переменная может быть объявлена многократно, но определена только в одном месте программы, поскольку объявление просто описывает свойства переменной, а определение связывает её с конкретной областью памяти.
Область действия идентификатора - Описание переменной, кроме типа и класса памяти, явно или по умолчанию задаёт её область действия.
- Область действия идентификатора – это часть программы, в которой его можно использовать для доступа к связанной с ним области памяти.
- В зависимости от области действия переменная может быть локальной или глобальной.
- Если переменная определена внутри блока, а блок ограничен фигурными скобками, она называется локальной, область её действия – от точки описания до конца блока, включая все вложенные блоки.
- Если переменная определена вне любого блока, она называется глобальной и областью её действия считается файл, в котором она определена, от точки описания до его конца.
Унарные операции ++
| Увеличение на 1
| --
| Уменьшение на 1
| sizeof
| Размер
|
| Поразрядное отрицание
| !
| Логическое отрицание
| -
| Арифметическое отрицание (унарный минус)
| +
| Унарный плюс
| &
| Взятие адреса
| *
| Разадресация
| new
| Выделение памяти
| delete
| Освобождение памяти
| (type)
| Преобразование типа
| Бинарные и тернарная операции *
| Умножение
| /
| Деление
| %
| Остаток от деления
| +
| Сложение
| –
| Вычитание
| <<
| Сдвиг влево
| >>
| Сдвиг вправо
| <
| Меньше
| <=
| Меньше или равно
| >
| Больше
| >=
| Больше или равно
| ==
| Равно
| !=
| Не равно
| &
| Поразрядная конъюнкция (И)
| ^
| Поразрядное исключающее ИЛИ
| |
| Поразрядная дизъюнкция (ИЛИ)
| &&
| Логическое И
| ||
| Логическое ИЛИ
| ?:
| Условная операция (тернарная)
| =
| Присваивание
| *=
| Умножение с присваиванием
| /=
| Деление с присваиванием
| %=
| Остаток от деления с присваиванием
| +=
| Сложение с присваиванием
| -=
| Вычитание с присваиванием
| <<=
| Сдвиг влево с присваиванием
| >>=
| Сдвиг вправо с присваиванием
| &=
| Поразрядное И с присваиванием
| |=
| Поразрядное ИЛИ с присваиванием
| ^=
| Поразрядное исключающее ИЛИ с присваиванием
| ,
| Последовательное вычисление
| Выражения - Выражения состоят из операндов, знаков операций и скобок и используются для вычисления некоторого значения определённого типа.
- Каждый операнд является, в свою очередь, выражением или одним из его частных случаев – константой или переменной.
- Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки.
- Пример выражения: (t * sin(x) – 1.05e4) / ((2 * k + 2) * (2 * k + 3))
Средства ввода-вывода Разработка линейных программ Разработка линейных программ Спасибо за внимание! |