polevoi_cpp_2013_spring_lecture_02
.pdf
Ассоциативность операторов
•правоассоциативные
–присваивания
–унарные операторы
•левоассоциативные
пример:
a = b = c означает a = (b = c)
a + b + c означает (a + b) + c
16.02.2013 |
11 |
Порядок вычислений
•порядок вычислений подвыражений не определен
пример:
c = f(a) + g(b); //< порядок произвольный
int i(1);
v[i] = i++; //< v[1] = 1 или v[1] = 2 или …
16.02.2013 |
12 |
Управление исполнением программы
•выбор (if, else, switch)
•цикл (for, while, do while)
•переход (break, continue)
•функции
16.02.2013 |
13 |
Инструкции выбора
•if (условие) инструкция
•if (условие) инструкция
else
инструкция
• switch (условие)
инструкция
16.02.2013 |
14 |
if-инструкция
if (x) //…
означает
if (0 != x) //…
if (!x) //…
означает
if (0 == x) //…
16.02.2013 |
15 |
if-инструкция (пример)
if (0 == isReady)
{
// основная работа
}
else
{
// обработка дополнительных случаев
}
16.02.2013 |
16 |
switch-инструкция
•значение сопоставляется с набором констант
•можно заменить набором if-инструкций
16.02.2013 |
17 |
switch-инструкция (пример)
switch (val)
{
case 1: fA(); break;
case 2: fB(); break;
default:
onError();
break;
}
16.02.2013 |
18 |
Инструкции циклов
for (инициализирующая_инструкция; условие; выражение)
инструкция
while (условие)
инструкция
do
инструкция while (условие);
16.02.2013 |
19 |
Инструкции перехода
•break
–завершить инструкцию цикла
–завершить switch-инструкцию
•continue
–перейти к следующей итерации цикла
•goto
–не использовать
16.02.2013 |
20 |
