- •Конспект лекций Часть 1 Оглавление
- •Часть 1 1
- •Введение
- •1. Этапы и проблемы решения задач с использованием компьютера
- •Алфавит языка
- •Ключевые слова
- •Идентификаторы
- •Знаки операций
- •Константы
- •Комментарии
- •2.3. Структура и основные элементы программы
- •2.4. Трансляция программ и их выполнение
- •3. Стандартные (базовые) типы данных, операции и выражения
- •3.1. Типы данных, переменные и константы Понятие типов данных
- •Классификация простых предопределенных типов данных
- •Переменные, константы
- •3.2. Целочисленные типы данных
- •3.3. Вещественные типы данных
- •3.4. Логический тип данных
- •3.5. Символьный тип данных
- •3.6. Операции и выражения
- •Преобразования типов данных
- •Операция присваивания
- •Арифметические операции
- •Операции отношения
- •Логические операции
- •Поразрядные (битовые) операции
- •Операции составного присваивания
- •Условная операция
- •Операция sizeof
- •Приоритеты рассмотренных операций
- •3.7. Ввод и вывод простых типов данных
- •Вывод текстовых строк
- •Ввод/вывод арифметических типов данных
- •Форматирование ввода / вывода
- •4.1. Идеи структурного программирования
- •Условная инструкция (if)
- •Инструкция множественного выбора (switch)
- •Цикл с предусловием (while)
- •Цикл с постусловием (do while)
- •Итерационный цикл (for)
- •Инструкции перехода
- •5. Приемы программирования циклов
- •5.1. Рекуррентные вычисления
- •5.2. Инвариант цикла
- •6. Массивы
- •6.1. Понятие массива
- •6.2. Объявление массивов Объявление одномерных массивов
- •Объявление многомерных массивов
- •6.3. Ввод-вывод массивов
- •Вывод массивов
- •Ввод массивов
- •6.4. Текстовые строки как массивы символов
- •Определение текстовой строки
- •Ввод текстовых строк с клавиатуры
- •Обработка текстовых строк
- •Массивы текстовых строк
- •7. Разработка программ при работе с массивами
- •Не успел дописать. Некоторые примеры по этому разделу в Приложениях
Операции составного присваивания
Операции этой группы перечислены в следующей таблице:
Операция |
Использование |
Эквивалент |
*= |
a *= b |
a = a * b |
/= |
a /= b |
a = a / b |
%= |
a %= b |
a = a % b |
+= |
a += b |
a = a + b |
-= |
a -= b |
a = a - b |
<<= |
a <<= b |
a = a << b |
>>= |
a >>= b |
a = a >> b |
&= |
a &= b |
a = a & b |
|= |
a |= b |
a = a | b |
^= |
a ^= b |
a = a ^ b |
Общий формат записи выражений с использованием этих операций:
< Переменная > < Операция >= < Выражение >
Эквивалентом этого формата в общем случае является:
< Переменная > = < Переменная > < Операция > < Выражение >
Таким образом, выражение с использованием составного присваивания (столбец "Использование") является укороченной формой записи соответствующего эквивалентного выражения (столбец "Эквивалент").
Условная операция
Единственная в C++ тернарная операция. Формат записи:
< Условие > ? < Выражение 1 > : < Выражение 2 >
| | |
Операнд 1 Операнд 2 Операнд 3
"Условие" - любое выражение, результатом которого является число или логическое значение. Значение "Условия" трактуется как логическое значение (0 - false; любое не равное 0 значение - true). Если значение первого операнда true (не равное 0), то значение этого условного выражения будет равно значению второго операнда (Выражение 1). Если же значение первого операнда false (0), то значение этого условного выражения будет равно значению третьего операнда (Выражение 2).
Например:
// Переменной max присваивается наибольшее из a и b значение
int max = a > b ? a : b;
Условные выражения можно вкладывать друг в друга. Например:
// Переменной max присваивается наибольшее из a, b и c значение
int max = a > b ? (a > c ? a : c) : (b > c ? b : c);
Часто условное выражение используется для вывода на экран одного из значений, в зависимости от некоторого условия. Например:
cout << (a > b ? a : b) << endl; // Выводится наибольшее из a и b
Операция sizeof
Операция sizeof предназначена для определения объема памяти в байтах, требующегося для размещения некоторого объекта или типа данных. Имеет две формы:
sizeof < Выражение >
или
sizeof (< Тип данных >)
Например:
long a = 0;
double d;
cout << sizeof (double) << endl; // Выведено 8
cout << sizeof (5 / 3) << endl; // Выведено 4
cout << sizeof a << endl; // Выведено 4
cout << sizeof (a + 3.14f) << endl; // Выведено 4
cout << sizeof (d = a + 3.14f) << endl; // Выведено 8