Операторы ветвления. Условный оператор if. Оператор switch.
Условный оператор if:
используется для разветвления процесса вычисления на 2 направления
if (выражение) оператор 1;
[else оператор 2;]
Оператор switch:
предназначен для разветвления процесса вычисления на несколько направлений
switch ()
{ case константное выражение1: [список операторов]
case константное выражение 2: [список операторов]
…
case константное выражение n: [список операторов]
[default: список операторов] }
- выход из оператора обычно выполняется с помощью операторов break или return
- все константные выражения должны иметь разные значения, но быть одного и того же целочисленного типа.
9)Операторы цикла в С++. Цикл с предусловием. Цикл с постусловием. Цикл с параметром.
Операторы цикла:
- используются для организации многократно повторяющегося вычисления
- любой цикл состоит из:
1)тела цикла
2)начальных установок
3)модификации параметра цикла
4)проверки условия продолжения выполнения цикла
- один проход цикла называется итерацией
- параметры – переменные, изменяющиеся и используемые при проверки условия
- счетчик цикла – целочисленные параметры цикла, изменяющиеся с постоянным шагом на каждой итерации
Цикл с предусловием while:
while (выражение) оператор;
int a=100, sum=0;
while (a!=0) {sum+=a; a--;}
Цикл с постусловием do while:
do оператор while (выражение);
int a=100, sum=0;
do {sum+=a; a--;} while (a!=0);
Цикл с параметром for:
for (инициализация; выражение; модификации) оператор;
- любая часть оператора for может быть опущена, но точки с запятой обязательны
int sum=0;
for (int a=1; a<=100;a++) sum+=a;
Операторы передачи управления. Оператор goto. Оператор break. Оператор continue. Оператор return.
4 оператора, изменяющих естественный порядок выполнения выражения:
goto – безусловный переход
break – выход из цикла
continue – переход к следующей итерации
return - возврат из функции
GOTO:
формат– goto метка;
…..
метка: оператор;
метка – обычный идентификатор
BREAK:
используется внутри операторов цикла для обеспечения перехода в точку программы, находящуюся непосредственно за оператором, внутри которого он находится
CONTINUE:
используется только внутри тела любого цикла. Его действие – пропуск всех операторов, оставшихся до конца тела цикла, и передача управления на начало следующего
RETURN:
завершает выполнение функции и передает управление в точку ее вызова
return [выражение];
если тип void, return должен отсутствовать
Указатели. Инициализация указателей. Операции с указателями. Ссылки.
Указатели служат для хранения адресов областей памяти.
3 вида указателей:
- на объект
- на функцию
- на void
Указатель на объект содержит адрес области памяти, в которой хранятся данные определенного типа.
формат: тип *имя;
Указатель на функцию содержит адрес начала машинного кода какой-либо функции.
формат: тип (*имя) (список типов аргументов);
Указатель на void применяется в случаях, когда конкретный тип объекта, адрес которого требуется хранить, не определен. Указателю на void можно присваивать значение указателя любого типа, а также сравнивать его с любым указателем.
Инициализация указателей:
1) присваивание указателю имени существующего объекта:
- с помощью операции получения адреса(&)
- с помощью значения другого инициализированного указателя
- с помощью имени массива или функции, которые трактуются как адрес
2) присваивание указателю адреса области памяти в общем виде
3) присваивание пустого (нулевого) значения
4) выделение участка динамической памяти и присваивание ее адреса указателю:
- при помощи операции С++ new
- при помощи Си-функции malloc
Допустимые операции с указателями:
- разадресация или косвенное обращение к объекту (*) – предназначена для доступа к величине, адрес которой хранится в указателе. Конструкцию *имя_указателя можно считать именем переменной, на которую ссылается указатель.
- присваивание (=)
- сложение с целой константой
- вычитание 2ух указателей
- сравнение 2ух указателей
- приведение к типу другого указателя или к целому
Арифметические операции:
- инкремент перемещает указатель к следующему элементу массива, декремент- к предыдущему. Значение указателя изменяется на величину sizeof(тип указателя)
- увеличение или уменьшение указателя на константу приводит к изменению его значения на величину этой константы, умноженную на размер типа указателя
- разность двух указателей – это разность их значений, деленная на размер типа указателя
- суммирование 2 указателей не допускается
Ссылка – синоним имени, указанного при инициализации ссылки
формат: тип &имя = инициализатор;
После инициализации ссылке не может быть присвоена другая переменная