- •Программирование и основы алгоритмизации
- •1. Понятие алгоритма
- •1.1. Определение алгоритма
- •1.2. Гост на описание блок-схем
- •1.3. Виды алгоритмов
- •2. Языки программирования
- •2.1. Определение алгоритмического языка
- •2.2. Классификация языков. История развития языков программирования
- •2.3. Выбор языка программирования
- •2.5. Арифметические и логические основы программирования
- •3. Понятие системы программирования
- •3.1. Этапы создания программ
- •3.2. Конструирование программ
- •3.3. Методы, технологии и инструментальные средства производства программных продуктов
- •4.1. Литералы
- •4.2. Встроенные типы данных
- •4.3. Операции
- •Адресные операции
- •Операции преобразования знака
- •Побитовые операции
- •Операция определения размера
- •Операции увеличения и уменьшения значения
- •Операции динамического распределения памяти
- •Операция доступа
- •Аддитивные операции
- •Мультипликативные операции
- •Операции сдвига
- •Поразрядные операции
- •Операции сравнения
- •Логические бинарные операции
- •Операция присваивания
- •Специальные формы операций присваивания
- •Операции выбора компонентов структурированного объекта
- •Операции обращения к компонентам класса
- •Операция управления процессом вычисления значений
- •Операция вызова функции
- •Операция явного преобразования типа
- •Операция индексации
- •4.5. Агрегатные типы данных
- •4.5.1. Массивы
- •4.5.2. Структуры
- •4.5.3. Поля битов
- •4.5.4. Объединения Используются для хранения значений различных типов в одной и той же области памяти, но не одновременно.
- •4.5.5. Перечисления
- •4.5.6. Переименование типов
- •Typedef имя ранее определенного типа имя нового типа1
- •Объявление typedef применяется для создания удобных распознаваемых имен часто встречающихся и для вложенных типов, а также, чтобы сделать программы переносимыми для различных целых типов.
- •4.6. Обработка символьных и строковых переменных
- •4.7. Указатели
- •4.7.1. Инициализация указателей
- •4.7.2. Операции с указателями
- •4.8. Пользовательские процедуры и функции
- •4.8.1. Перегрузка функций
- •4.8.2. Перегрузка операций
- •4.8.3. Шаблоны функций
- •4.8.4. Возврат из функции нескольких значений
- •4.9. Файлы
- •4.10. Директивы препроцессора
- •Библиографический список
Мультипликативные операции
* Операция умножения
Операндами могут быть выражения арифметического типа. Значением выражения является произведение значений. Тип результата выражения любой бинарной операции определяется в зависимости от принятых в C++ процедур преобразования типов данных.
/ Операция деления
Операндами могут быть выражения арифметического типа. Значением выражения является частное от деления значения первого операнда на второй операнд. Тип результата выражения любой бинарной операции определяется в зависимости от принятых в C++ процедур преобразования типов данных.
% Операция получения остатка от деления целочисленных операндов (деление по модулю).
Операндами могут быть выражения арифметического типа. В процессе выполнения операции операнды приводятся к целому типу. При неотрицательных операндах остаток положительный. В противном случае знак остатка определяется в зависимости от реализации. Известно, что для Borland C++
15%6 = 3, (-15)%6 = -3, 15%(-6) = 3, (-15)%(-6) = -3
При ненулевом делителе для целочисленных операндов выполняется соотношение
(a/b) * b+a % b =a
Операции сдвига
Эти операции определены только для целочисленных операндов.
<< Операция левого сдвига.
Операндами могут быть выражения интегрального типа. Значением выражения является битовое представление левого операнда, сдвинутое влево на количество разрядов, равное значению правого операнда. При левом сдвиге на i разрядов первые i разрядов левого операнда теряются, последние i разрядов левого операнда заполняются нулями.
>> Операция правого сдвига.
Операндами могут быть выражения интегрального типа. Значением выражения является битовое представление левого операнда, сдвинутое вправо на количество разрядов, равное значению правого целочисленного операнда. При правом сдвиге на i разрядов первые i разрядов левого операнда заполняются нулями, если левый операнд имеет беззнаковый тип или имеет неотрицательное значение, в противном случае значение определяется реализацией. Последние i разрядов левого операнда теряются.
Поразрядные операции
Поразрядные операции определены только для целочисленных операндов.
& Поразрядная конъюнкция битовых представлений значений
целочисленных операндов
Операндами могут быть выражения интегрального типа. Значение выражения вычисляется путём побитовых преобразований и зависит от значений соответствующих битов левого и правого операнда. Следующая таблица однозначно определяет операцию поразрядной конъюнкции.
Бит левого операнда |
Бит правого операнда |
Результат операции & |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
| Поразрядная дизъюнкция битовых представлений значений целочисленных операндов |
Операндами могут быть выражения интегрального типа. Значение выражения вычисляется путём побитовых преобразований и зависит от значений соответствующих битов левого и правого операнда. Следующая таблица определяет операцию поразрядной дизъюнкции.
Бит левого операнда |
Бит правого операнда |
Результат операции | |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
^ Поразрядная исключающая дизъюнкция битовых представлений значений целочисленных операндов |
Операндами могут быть выражения интегрального типа. Значение выражения вычисляется путём побитовых преобразований и зависит от значений соответствующих битов левого и правого операнда. Следующая таблица определяет операцию поразрядной исключающей дизъюнкции.
Бит левого операнда |
Бит правого операнда |
Результат операции ^ |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |