Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C лекції / 3.Оператори мови С.docx
Скачиваний:
32
Добавлен:
05.03.2016
Размер:
46.33 Кб
Скачать

3.1 "Складений" оператор

"Складений" оператор – це два або більше операторів. Його також називають "блоком".

      Синтаксис :

{

      [<оператори>]

}

      Дія складеного оператора полягає в обов'язковому послідовному виконанні операторів, які містяться між { та }, за виключенням тих випадків, коли який-небудь оператор явно не передасть управління в інше місце програми.

 

Приклад використання складеного оператора

if (i>0)

{

      printf("i == %%d ",i);

      i--;

}

 

3.2 Оператор переходу goto

      Синтаксис :

goto <мітка>;

/* ... */

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

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

      Оператор, перед яким розташована <мітка>, виконується зразу після виконання оператора goto.

      Якщо оператор з міткою відсутній, то компілятор видасть повідомлення про помилку.

 

Приклад використання goto:

if (errorcode>0)

      goto exit;

 exit :

return errorcode;

 

В свою чергу при появі концепції структурного програмування оператор goto піддався критиці, і його використання стало розглядатися як ознака поганого стилю програмування. Дійсно, надмірно широке використання goto робить структуру програми надмірно заплутаною, тому без особливої необхідності намагайтесь обходитися без оператора goto.

 

3.3 Оператор розриву break

Синтаксис :            break;

Оператор розриву break перериває виконання операторів do, for, while або switch.

В операторі switch він використовується для завершення блоку case.

В операторах циклу - для негайного завершення циклу, що не зв'язане з перевіркою звичайної умови завершення циклу. Коли оператор break зустрічається всередині оператора циклу, то здійснюється негайний вихід з циклу і перехід до виконання оператору, що йде за оператором циклу.

 

Приклад :

main()

{ int i;

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

{

printf("%%d - %%d ",i,i*i*i);

if (i*i*i>=10000) break;

}

return 0;  }

 

3.4 Оператор продовження continue

 

Синтаксис :

continue;

 

Оператор continue передає управління на наступну ітерацію в операторах циклу do, for, while. Він може розміщуватися тільки в тілі цих операторів. В операторах do і while наступна ітерація починається з обчислення виразу умови. Для оператора for наступна ітерація починається з обчислення виразу зміни значення лічильника.

 

Приклад:

while (i-- > 0)

{ x=f(i);

if (x == 1) continue;

else y=x*x;  }

 

В даному прикладі тіло циклу while виконується якщо i більше нуля. Спочатку значення f(i) присвоюється змінній x; потім, якщо x не рівний 1, то y присвоюється значення квадрата числа х, і управління передається на "заголовок" циклу, тобто на обчислення виразу (i-- > 0). Якщо ж х рівний 1, то виконується оператор продовження continue, і виконання продовжується з "заголовку" оператора циклу while, без обчислення квадрата x.

  

3.5 "Порожній" оператор

      Синтаксис :           ;

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

for (i=0;i<10;printf("%%d ",i);) ;