Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoi_cpp_2013_spring_lecture_02

.pdf
Скачиваний:
7
Добавлен:
20.04.2015
Размер:
161 Кб
Скачать
☆

Ассоциативность операторов

•правоассоциативные

–присваивания

–унарные операторы

•левоассоциативные

пример:

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