Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАМУВАННЯ_FULL.docx
Скачиваний:
6
Добавлен:
18.09.2019
Размер:
112.09 Кб
Скачать

30. Оператор if

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

if (вираз) {оператор}: ;

Виконання оператора if починається з обчислення виразу.

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

- Якщо вираз істинний (тобто відмінно від 0), то виконується оператор.

- Якщо вираз помилково, то виконується наступний за if оператор.

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

Приклад: if (i <j) i + +:

Оператор if-else

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

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

Виконання оператора if починається з обчислення виразу.

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

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

- Якщо вираз помилково (тобто дорівнює 0), то виконується оператор-2.

Після виконання оператора 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.

31. Оператор - перемикач switch на мові Сі.

Оператор switch дозволяє вибрати одну з декількох альтернатив. Він записується в наступному вигляді:

switch (вираз)

{Case константа1: варіант 1; break;

. . .

case константа n: варіант n; break;

default: варіант n +1; break;}

Тіло оператора smitch складається з декількох операторів, помічених ключовим словом case з наступним константним-виразом. Слід зазначити, що використання цілого константного вираження є істотним недоліком, властивим розглянутому оператору.

Так як константні вираз обчислюється під час трансляції, воно не може містити змінні або виклики функцій. Звичайно як константного вирази використовуються цілі або символьні константи.

У операторі switch обчислюється цілий вираз в дужках (його називають селектором), і його значення порівнюється з усіма константами.При збігу виконується відповідний варіант (одна або кілька інструкцій). Всі константи в записі оператора повинні бути різними. Варіант з ключовим словом default (інші) реалізується, якщо жоден інший не підійшов (якщо слово default відсутня, а всі результати порівняння негативні, то жоден варіант не виконується). Для припинення подальших перевірок після успішного вибору деякого варіанту використовується оператор break, що забезпечує негайний вихід з оператора switch.

Наприклад:

# Include <stdio.h>

main ()

{

char y;

scanf ("% c", & y);

switch (y)

{

case '1 ':

printf ("Гілка 1 \ n");

break;

case '2 ':

case '3 ':

printf ("Гілка 2 або 3 \ n");

break;

default:

printf ("Гілки 1,2,3 не працюють \ n");

}

}

Оператор scanf вводить змінну y. Її значення в операторі switch порівнюється з усіма константами операторів case. Якщо ввести символ"1", то на екрані з'явиться рядок:

Гілка 1

по оператору break відбудеться вихід з перемикача switch, і програма завершить свою роботу. Якщо ввести символи '2 'або '3', то на екран буде виведено рядок:

Гілка 2 або 3

При введенні будь-якого іншого символу управління перейде до ключового слова default і на екрані з'явиться рядок:

Гілки 1,2,3 не працюють.