Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Умовний оператор if



Формат оператора:

if (вираз) оператор-1; [else оператор-2;]

Виконання оператора if починається з обчислення значення виразу. Далі виконання здійснюється за наступною схемою:

§ якщо значення виразу - істина (тобто відмінно від 0), то виконується оператор-1;

§ якщо значення виразу хибне (тобто дорівнює 0),то виконується оператор-2;

§ якщо значення виразу хибне та відсутній оператор-2 (у квадратні дужки укладена необов'язкова конструкція), то виконується наступний за if оператор.

Після виконання оператора if значення передається на наступний оператор програми, якщо послідовність виконання операторів програми не буде примусово порушена використанням операторів переходу.

Приклад:

if (i < j) i++;

else { j = i-3; i++; }

Цей приклад ілюструє також і той факт, що на місці оператор-1, так само як і на місці оператор-2 можуть знаходитися складні конструкції.

Допускається використання вкладених операторів if. Оператор if може бути включений у конструкцію if чи в конструкцію else іншого оператора if. Щоб зробити програму більш читабельною, рекомендується групувати оператори і конструкції у вкладених операторах if, використовуючи фігурні дужки. Якщо ж фігурні дужки опущені, то компілятор зв'язує кожне ключове слово else з найбільш близьким if, для якого немає else.

Приклад:

int main ()

{

int t=2, b=7, r=3;

if (t>b)

{

if (b < r) r=b;

}

else r=t;

return (0);

}

В результаті виконання цієї програми r стане рівним 2.

Якщо ж у програмі опустити фігурні дужки, що містяться після оператора if, то програма буде мати наступний вид:

int main ()

{

int t=2,b=7,r=3;

if (a>b)

if (b < c) t=b;

else r=t;

return (0);

}

В цьому випадку r одержить значення рівне 3, тому що ключове слово else відноситься до другого оператора if, що не виконується, оскільки не виконується умова, яка перевіряється в першому операторі if.

Наступний фрагмент ілюструє вкладені оператори if:

char ZNAC;

int x,y,z;

:

if (ZNAC == '-') x = y - z;

else if (ZNAC == '+') x = y + z;

else if (ZNAC == '*') x = y * z;

else if (ZNAC == '/') x = y / z;

else...

Як бачимо, що конструкції з вкладеними операторами, що використовують if, є досить громіздкими і не завжди досить надійними. Іншим способом організації вибору з безлічі різних варіантів є використання спеціального оператора вибору switch.





Дата публикования: 2015-09-17; Прочитано: 269 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...