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

polevoi_cpp_2013_spring_lecture_02

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

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

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

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

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

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

пример:

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