- •Этапы создания исполняемой программы
 - •Идентификаторы
 - •Ключевые слова
 - •Комментарии
 - •Структура программы
 - •Вывод данных
 - •Ввод данных
 - •Вопросы для самоконтроля
 - •Тема 1.1(2). Типы данных. Константы и переменные
 - •Основные (стандартные) типы данных
 - •Область действия переменных
 - •1.3.1. Математические операции
 - •1.3.2. Простое присваивание
 - •1.3.3. Составное (сложное) присваивание
 - •1.3.4. Операция приведения (преобразования) типов
 - •1.3.5. Операции отношения
 - •1.3.7. Операция sizeof
 - •1.3.8. Операция "запятая" (,)
 - •1.3.9. Условная операция (?:)
 - •1.3.10. Указатель. Определение адреса переменной
 - •1.3.11. Директива define
 - •1.3.12. Директива include
 - •1.3.13. Примеры программ
 - •1.3.14. Вопросы для самоконтроля
 - •Тема 1.3. Программирование алгоритмов различной структуры
 - •Базовые конструкции структурного программирования
 - •Операторы ветвления
 - •1.4.1. Условный оператор if
 - •If (условие) оператор_1; else оператор_2;
 - •If (условие) оператор_1;
 - •1.4.2. Оператор выбора switch
 - •Операторы цикла
 - •1.4.3. Оператор while
 - •1.4.4. Оператор do...While
 - •1.4.5. Оператор for
 - •1.4.6. Функция exit(), операторы break, continue, return
 - •Стандартные математические функции
 - •Тема 1.4. Ввод-вывод данных
 - •Функции get() и put()
 - •Функция getch()
 - •Функция printf
 - •Функция sprintf()
 - •Тема 1.5. Функции. Локальные и глобальные переменные. Способы передачи данных.
 - •1.5.1. Видимость переменных
 - •1.5.2. Определение функции
 - •1.5.3. Функция main
 - •1.5.4. Вызов функции
 - •1.5.5. Способы передачи данных
 - •1.5.6. Возвращаемые значения функции
 - •1.5.7. Использование прототипов функций
 - •Тема 1.6(1). Массивы и указатели
 - •Объявление массива
 - •Доступ к элементам массива
 - •Многомерные массивы
 - •Указатели
 - •Тема 1.6(2). Структуры и строки
 - •1.6.1. Структуры
 - •1 Способ – по шаблону.
 - •2 Способ – при объявлении (описании) шаблона.
 - •1.6.2. Способы реализации строк
 - •1.6.3. Строковые константы
 - •1.6.4. Указатель на символьную строку
 - •1.6.5. Массив символов
 - •1.6.6. Некоторые функции для работы со строками
 - •1.6.7. Некоторые функции проверки и преобразования символов
 - •Тема 1.7. Работа с памятью
 - •Функция malloc
 - •Функция free
 - •Операция new
 - •Операция delete
 - •Тема 1.10. Динамические структуры
 - •Разновидности динамических структур
 - •Примеры программ (фрагментов программ) для работы с динамическими структурами
 
1.3.3. Составное (сложное) присваивание
При написании программы часто требуется изменить значение переменной. Например, требуется взять текущее значение переменной, прибавить или умножить это значение на какое-то выражение, а затем присвоить это значение той же переменной. Такие операции выполняют операторы составного (сложного) присваивания.
| 
				 Операция  | 
			
				 Пример  | 
			
				 Эквивалент  | 
		
| 
				 + =  | 
			
				 B+ = 500;  | 
			
				 B= b+ 500;  | 
		
| 
				 - =  | 
			
				 С- = 50;  | 
			
				 C = с - 50;  | 
		
| 
				 * =  | 
			
				 D* = 1.2;  | 
			
				 D = d*1.2;  | 
		
| 
				 / =  | 
			
				 F/ = 50;  | 
			
				 f = f/.50;  | 
		
| 
				 % =  | 
			
				 m% = 7;  | 
			
				 M = m%7;  | 
		
1.3.4. Операция приведения (преобразования) типов
В С++ преобразование типов чаще всего выполняется автоматически. Однако если в одном выражении используются беззнаковые переменные с переменными других типов, могут возникнуть проблемы. Точность результата может быть потеряна. Поэтому необходимо произвести временное изменение типов.
Формат:
(тип данных) выражение
где тип данных – это любой допустимый тип;
выражение – это переменная, константа или выражение.
Результатом операции является значение заданного типа.
Пример:
…….
int age; double f,v;
v=(double)age*f;
…….
Переменная age временно преобразуется к типу с плавающей точкой двойной точности и умножается на переменную f.
1.3.5. Операции отношения
| 
				 Операции  | 
			
				 Описание  | 
		
| 
				 = =  | 
			
				 Равно  | 
		
| 
				 >  | 
			
				 Больше  | 
		
| 
				 <  | 
			
				 Меньше  | 
		
| 
				 >=  | 
			
				 Больше или равно  | 
		
| 
				 <=  | 
			
				 Меньше или равно  | 
		
| 
				 !=  | 
			
				 Не равно  | 
		
Замечание 1
Знак = никогда не используется как знак сравнения! Это знак присвоить значение.
Замечание 2
Если выражение принимает ненулевое значение, то оно считается истинным, а если нулевое – ложным.
1.3.6. Операции инкремента (++) и декремента (--)
В языке C++ предусмотрены две уникальные операции: инкремента и декремента, которые увеличивают или уменьшают значение переменной на 1. Операции инкремента и декремента имеют две формы:
- 
префиксную (операция записывается перед операндом); сначала изменяется операнд, а затем его значение становится результатом;
 - 
постфиксную (операция записывается после операнда); значением выражения является исходное значение операнда, после чего он изменяется.
 
| 
				 Оператор  | 
			
				 Пример  | 
			
				 Описание  | 
			
				 Эквивалентное выражение  | 
		
| 
				 + +  | 
			
				 i + +;  | 
			
				 Постфиксная  | 
			
				 i =i+1; или i+=1;  | 
		
| 
				 + +  | 
			
				 + + i;  | 
			
				 Префиксная  | 
			
				 i =i+1; или i+=1;  | 
		
| 
				 - -  | 
			
				 i - -;  | 
			
				 Постфиксная  | 
			
				 i =i-1; или i-=1;  | 
		
| 
				 - -  | 
			
				 - - i;  | 
			
				 Префиксная  | 
			
				 i =i-1; или i-=1;  | 
		
Префиксный и постфиксные операции различаются приоритетом. Префиксные операции имеют самый большой приоритет и выполняются до любой другой операции. Постфиксные операции имеют самый маленький приоритет и выполняются после всех остальных операции.
Пример:
float a, b=2, c=1, d=1;
a = b + c++;
cout << "\n a=" << a <<"\t c= "<< c;
/* Даст результат a=3 c=2.
Используется постфиксный инкремент. Сначала произойдет сложение b и c, результат запишется в а, затем с будет увеличена на 1 */
a = ++d + b;
cout << "\n a=" << a <<"\t d= "<< d;
/* Даст результат a=4 d=2.
Используется префиксный инкремент. Сначала d будет увеличена на 1 (и станет равной 2), затем произойдет сложение d и b, результат запишется в а */
