Оператори керування обчислювальним процесом використовуються для організації галуження, циклічного повторення операторів програми, а також передачі управління в необхідне місце програми в залежності від виконання будь-яких умов. Мова С++ підтримує умовні оператори (if, switch) і оператор break.
Оператор галуження if має наступний вигляд:
де 'вираз'-» вираз довільного вигляду що інтерпретується мовою С як логічне, де будь-яке відмінне від нуля значення трактується як True і False у противному випадку. Робота цього оператора полягає в наступному: обчислюється вираз; якщо значення виразу відмінно від нуля, то виконується True-оператор, а після цього наступний за if оператор; якщо значення є нуль, то True-оператор пропускається й управління передається до наступного за if оператора.
Наприклад,
int i=0, j=0;
.............
if (m [j] <0) i++; //i-лічильник від’ємних елементів масиву m.
.............
Розглянутий вище оператор if можна розглядати як приватний випадок оператора if... else, що має вигляд:
Робота цього оператора (if.. else) полягає в наступному: якщо обчислений вираз відмінний від нуля, то виконується True_оператор, а після цього наступний за if.. else оператор; якщо обчислений вираз дорівнює нулю, то виконується False_оператор, а після цього наступний за if.. else оператор.
Наприклад,
int i=0, j=0, k=0;//int i=j=k=0;
.......
if (m [j] <0) i++;// лічильник від’ємних елементів
else
k++;// лічильник додатніх елементів
........
Оператор if.. else можуть бути вкладеними. В цьому випадку оператори True_оператор або False_оператор можуть бути уявлені такою само конструкцією if.. else.
Наприклад,:
int i=0, j=0, k=0, n=0;
................
if (m [j] ==0) n++; //лічильник нульових елементів
else
if (m [j] <0) i++; // лічильник від’ємних елементів
................
Для усунення неоднозначності компілятор С інтерпретує вкладені if таким чином, що гілка else відносить його до найближчого попереднього if.
Оператор switch має наступну форму:
Оператор switch працює таким чином: спочатку обчислюється switch_вираз
(switch_вираз - вираз цілочисельного типу ); обчислений вираз порівнюється зі значеннями констант або константних виразів групи-константний цілочисельний вираз
1.. Константний цілочисельний вираз n; якщо будь-який з константних цілочисельних виразів співпав зі значенням switch_виразу, то виконується відповідний оператор і управління (за наявності оператора break) передається наступному за оператором switch оператору; якщо відповідного збігу не виявлено, то виконується оператор n+1 гілки default (якщо він є) та управління передається наступному після switch оператору.
Відзначимо, що оператор break відноситься до групи операторів безумовної передачі управління. При його виконанні управління передається в тіло охоплюючого блоку (складеного оператора, циклу) або для самого зовнішнього блоку (циклу) на оператор, наступний після блоку. Оператор break може бути використаний і в інших операторах циклу, розглянутих пізніше.
Слідує знати, що за відсутності операторів break в тілі оператора switch і збігу значення switch_вираження з яким-небудь константним цілочисельним виразом виконується прохід наскрізь через всі оператори, що залишалися в тілі оператора switch, включаючи і, оператор гілки default.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.