Оператор-перемикач switch

Синтаксис:

switch(<вираз>)

{

[оголошення чи визначення]

[case<константний вираз>:<оператор>]

[case<константний вираз>:<оператор>]

[default:<оператор>]

}

Обчислюється <вираз>, потім виконується оператор, що йде за умовою case, для якої значення константного виразу збігається зі значенням початкового <виразу>. Наприклад:

switch(c=getch())

{int i,j,k;

case'a':i++; printf("%d\n',i); break;

case'b':j++; break;

default: k++;}

Залежно від значення c виконуються ті оператори, що визначаються умовою case, тобто якщо с=='a', то виконується

i++; printf("%d\n',i); break;

якщо с=='b', то виконується j++; break; інакше виконується k++;

Відсутність оператора break приведе до того, що після вибору якогось оператора за case -умовою виконуватимуться усі оператори, що стоять після нього, у тому числі й зазначені іншими умовами.

Оператор break

Синтаксис: break; Перериває виконання операторів циклу та switch. Як зазначалося раніше, для того, щоб у фрагменті програми з підрозд. 3.5.8 забезпечити виконання лише одного оператора – case або default, необхідно в кінці кожної групи операторів case ставити break. Наприклад:

for(i=0;i<10;i++)

for(j=0;j<20;j++)

{if(j%5==4) break;

}

При виконанні умови j%5==4 відбувається переривання виконання внутрішнього циклу. При цьому зовнішній цикл за i продовжує виконуватись.

Оператор goto

Синтаксис:

goto<мітка>

<мітка>:<оператор>

Передає керування на мітку. Міткою може бути будь-який ідентифікатор. Якщо потрібно вийти з кількох циклів за великого рівня вкладеності (більше 2), єдина можливість – це оператор goto. Можна ввійти за допомогою goto у блок, тіло циклу, оператор switch. Наприклад:

for(i=0;i<100;i++)

for(j=0;j<100;j++)

for(k=0;k<100;k++)

if(error(i,j,k)) goto exit;

exit:;

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

Оператор return

Синтаксис: return<константний вираз> Повертає керування у викличну функцію. Розглянемо функції main():

Main()

{

… …

return 0;}

Функція main() за умовчанням має повертати значення типу int. Тому в тілі цієї функції міститься оператор return. Загалом, будь-яка функція, що має тип результату, відмінний від void, має містити оператор return. Значення, що повертається оператором return, на практиці часто використовується для видачі певної інформації. Наприклад, якщо функція відпрацювала нормально, то можна повернути нуль.

Директиви препроцесору


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: