logo search
Posobie_Cpp

2.1.2. Конструкция if else if

Комбинируя вместе несколько операторов if else, можно смоделировать конструкцию выбора более чем из двух возможных вариантов:

if(ch==’A’)

up++; // альтернатива 1

else

if(ch==’B’) // альтернатива 2

down++; // подальтернатива 2a

else

down--; // подальтернатива 2b

Если ch не равно ‘A’> программа переходит к else. Второй оператор if else разветвляет эту альтернативу еще на две возможности. Свободное форматирование позволяет расположить эти элементы другим способом, более удобным для чтения:

if(ch==’A’)

up++; // альтернатива 1

else if(ch==’B’)

down++; // альтернатива 2

else

down--; // альтернатива 3

Подобная конструкция выглядит гораздо понятнее и позволяет создавать код для выбора различных альтернатив, при этом вся конструкция продолжает считаться одним оператором!

Различные варианты вложения if else может вызвать затруднение в понимании, какому if соответствует else ? Рассмотрим пример: